' ' Login.nsb ' by Marcus M. Darden 9/29/1999 ' ' This script opens dialogs that facilitate logins. ' LoginDlg: Simple dialog with Username and Password fields ' RemoteLoginDlg: Similar to LoginDlg with third field for RemoteHost ' Note: Password fields mask text with asterisks (*). ' Note: Maximum Username length is 10 characters OPTION EXPLICIT DIM RemoteHost, UserName, Password, LoginDlg, RemoteLoginDlg TestLogin_Show bLogin.SetFocus SUB bLogin_Click : Login : END SUB SUB bRemoteLogin_Click : RemoteLogin : END SUB SUB FileExit_Click : BYE : END SUB FUNCTION Login IF ISEMPTY(LoginDlg) THEN CreateLogin LoginDlg.SetCaption "tUserName", "anonymous" LoginDlg.SetCaption "tPassword", "" IF LoginDlg.DoModal THEN UserName = LoginDlg.GetCaption("tUserName") Password = LoginDlg.GetCaption("tPassword") IF UserName <> "" THEN _ MSGBOX "Username: " & UserName & vbCRLF & "Password: '" & Password & "'", vbOK, "Login Test" END IF bLogin.SetFocus END FUNCTION 'Login FUNCTION RemoteLogin IF ISEMPTY(RemoteLoginDlg) THEN CreateRemoteLogin RemoteLoginDlg.SetCaption "tRemoteHost", "localhost" RemoteLoginDlg.SetCaption "tUserName", "anonymous" RemoteLoginDlg.SetCaption "tPassword", "" IF RemoteLoginDlg.DoModal THEN RemoteHost = RemoteLoginDlg.GetCaption("tRemoteHost") UserName = RemoteLoginDlg.GetCaption("tUserName") Password = RemoteLoginDlg.GetCaption("tPassword") IF LEN(RemoteHost) > 0 AND LEN(UserName) > 0 THEN _ MSGBOX "Remote Host: " & RemoteHost & vbCRLF _ & "Username: " & UserName & vbCRLF _ & "Password: '" & Password & "'", vbOK, "Remote Login Test" END IF bRemoteLogin.SetFocus END FUNCTION 'RemoteLogin SUB CreateLogin IF NOT ISEMPTY(LoginDlg) THEN EXIT SUB WAITCURSOR TRUE ADDOBJECT "NSBasic.DialogX.1", "LoginDlg_", 0, 0, 0, 0 SET LoginDlg = LoginDlg_ LoginDlg.Title = "Login" LoginDlg.Height = 45 LoginDlg.Width = 115 LoginDlg.AddObject "Label", "lUserName", 5, 7, 35, 14 LoginDlg.SetCaption "lUserName", "&Username" LoginDlg.AddObject "TextBox", "tUserName", 40, 5, 70, 14 LoginDlg.SetMaxLength "tUserName", 10 LoginDlg.AddObject "Label", "lPassword", 5, 27, 35, 14 LoginDlg.SetCaption "lPassword", "&Password" LoginDlg.AddObject "TextBox", "tPassword", 40, 25, 70, 14 LoginDlg.SetPassword "tPassword", TRUE WAITCURSOR FALSE END SUB 'CreateLogin SUB CreateRemoteLogin IF NOT ISEMPTY(RemoteLoginDlg) THEN EXIT SUB WAITCURSOR TRUE ADDOBJECT "NSBasic.DialogX.1", "RemoteLoginDlg_", 0, 0, 0, 0 SET RemoteLoginDlg = RemoteLoginDlg_ RemoteLoginDlg.Title = "Remote Login" RemoteLoginDlg.Height = 65 RemoteLoginDlg.Width = 125 RemoteLoginDlg.AddObject "Label", "lRemoteHost", 5, 7, 45, 14 RemoteLoginDlg.SetCaption "lRemoteHost", "Remote &Host" RemoteLoginDlg.AddObject "TextBox", "tRemoteHost", 50, 5, 70, 14 RemoteLoginDlg.AddObject "Label", "lUserName", 5, 27, 35, 14 RemoteLoginDlg.SetCaption "lUserName", "&Username" RemoteLoginDlg.AddObject "TextBox", "tUserName", 50, 25, 70, 14 RemoteLoginDlg.SetMaxLength "tUserName", 10 RemoteLoginDlg.AddObject "Label", "lPassword", 5, 47, 35, 14 RemoteLoginDlg.SetCaption "lPassword", "&Password" RemoteLoginDlg.AddObject "TextBox", "tPassword", 50, 45, 70, 14 RemoteLoginDlg.SetPassword "tPassword", TRUE WAITCURSOR FALSE END SUB 'CreateRemoteLogin '*** Begin Generated Code *** DIM TestLogin SUB TestLogin_Load IF NOT ISEMPTY(TestLogin) THEN EXIT SUB REDIM TestLogin(2) ADDOBJECT "CommandButton", "bLogin", 3, 3, 126, 22 SET TestLogin(1) = bLogin TestLogin(1).Caption = "&Login" TestLogin(1).BackColor = &H00C0C0C0& '--------- ADDOBJECT "CommandButton", "bRemoteLogin", 3, 28, 126, 22 SET TestLogin(2) = bRemoteLogin TestLogin(2).Caption = "&Remote Login" TestLogin(2).BackColor = &H00C0C0C0& END SUB 'TestLogin_Load SUB TestLogin_Show DIM i ON ERROR RESUME NEXT TestLogin_ShowMenu IF ISEMPTY(TestLogin) THEN TestLogin_Load FOR i = 1 TO UBOUND(TestLogin) TestLogin(i).Show NEXT TestLogin(0) = TRUE END SUB 'TestLogin_Show SUB TestLogin_Hide DIM i IF ISEMPTY(TestLogin) THEN Err.Raise 44000, , "Form not loaded" : EXIT SUB ON ERROR RESUME NEXT FOR i = 1 TO UBOUND(TestLogin) TestLogin(i).Hide NEXT TestLogin(0) = FALSE END SUB 'TestLogin_Hide SUB TestLogin_ShowMenu SETMENU "TitleBar", ARRAY("&File") SETMENU "&File", ARRAY("E&xit||FileExit") END SUB 'TestLogin_ShowMenu '*** End Generated Code ***