📄 frmlogin.frm
字号:
frmNew.Show 1
Set frmNew = Nothing
'*****************************************************************
End Sub
Private Sub cmdYes_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
Call SetStatusText(cmdYes)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{Tab}"
End If
End Sub
Private Sub Form_Load()
Dim REGDatabaseSelected As LoginUsedDatabase
Dim REGLanguageSelected As LoginUsedLanguage
Dim REGRememberUser As Integer
Dim REGRememberPassword As Integer
Dim strLoginPassword As String
Dim strLoginUserName As String
Dim strDSN As String
Dim strUserName As String
Dim strPassword As String
Dim strOther As String
Dim sBuffer As String
Dim lSize As Long
Screen.MousePointer = 11
'***************************************************************************************
'根据用户软件需求,可以在此预设
'是否需要菜单显示
Me.mnuLanguage.Visible = True
Me.mnuDatabase.Visible = True
Me.mnuOption.Visible = True
'设置默认的语言.0代表英文,1代表中文
REGLanguageSelected = Val(GetSetting(App.Title, "Setting", "LanguageUsed", 1))
LanguageUsed = REGLanguageSelected
'设置默认的数据库
REGDatabaseSelected = Val(GetSetting(App.Title, "Setting", "DatabaseSelected", 1000))
If REGDatabaseSelected = 1000 Then
DatabaseUsed = OtherDatabase '在这里设置默认的数据库
Else
DatabaseUsed = REGDatabaseSelected
End If
'是否需要记住用户名或口令.0代表不需要记住,1代表需要记住
REGRememberUser = Val(GetSetting(App.Title, "Setting", "RememberUserName", 1))
REGRememberPassword = Val(GetSetting(App.Title, "Setting", "RememberPassword", 0))
'***************************************************************************************
If REGDatabaseSelected = 1000 Then
Call ShowControlsSelected(DatabaseUsed, False)
Call FormResize(False)
Else
Call ShowControlsSelected(DatabaseUsed, True)
Call FormResize(True)
End If
Call ClearAllContext
Call FetchAllDSNs
strDSN = GetSetting(App.Title, "Setting", "DSN", "")
strOther = GetSetting(App.Title, "Setting", "Other", "")
strUserName = GetSetting(App.Title, "Setting", "UserName", "")
strPassword = GetSetting(App.Title, "Setting", "Password", "")
strLoginUserName = GetSetting(App.Title, "Setting", "LoginUserName", "")
strLoginPassword = GetSetting(App.Title, "Setting", "LoginPassword", "")
If REGRememberUser = 1 Then
If strLoginUserName = vbNullString Then
sBuffer = Space$(255)
lSize = Len(sBuffer)
Call GetUserName(sBuffer, lSize)
If lSize > 0 Then
txtUserName.Text = Left$(sBuffer, lSize)
Else
txtUserName.Text = vbNullString
End If
Else
txtUserName = strLoginUserName
End If
mnuRememberUser.Checked = True
Else
txtUserName = vbNullString
mnuRememberUser.Checked = False
End If
If REGRememberPassword = 1 Then
txtPassword = strLoginPassword
mnuRememberPassword.Checked = True
Else
txtPassword = vbNullString
mnuRememberPassword.Checked = False
End If
Screen.MousePointer = 11
Select Case DatabaseUsed
Case AccessDatabase
Me.txtAccessFile = strDSN
Me.txtAccessUser = strUserName
Me.txtAccessPassword = strPassword
Case SQLServerDatabase
Me.cboSQLServer.Text = strDSN
Me.txtSQLUser = strUserName
Me.txtSQLPassword = strPassword
Me.cboSQLDatabase.Text = strOther
Case OracleDatabase
Me.cboOracleServer.Text = strDSN
Me.txtOracleUser = strUserName
Me.txtOraclePassword = strPassword
Case FoxproDatabase
Me.txtFoxproFile = strDSN
Me.cboFoxproSequence.Text = strOther
Case OtherDatabase
Me.cboDSNList.Text = strDSN
Me.txtDSNUserName = strUserName
Me.txtDSNPassword = strPassword
Me.cboDSNDatabase.Text = strOther
End Select
Call SetCaption
Screen.MousePointer = 0
End Sub
Private Sub Form_Resize()
If Me.WindowState = 1 Or Me.WindowState = 2 Then Exit Sub
If FormChangeSize = True Then Exit Sub
If Me.Width <> FormWidth Then
Me.Width = FormWidth
End If
If Me.Height <> FormHeight Then
Me.Height = FormHeight
End If
End Sub
Private Sub mnuAccess_Click()
On Error Resume Next
Call ShowControlsSelected(AccessDatabase, False)
Call FormResize(False)
If LanguageUsed = Chinese Then
ShowText "Access 数据库登录"
Else
ShowText "Access database login"
End If
Call SetCaption
End Sub
Private Sub mnuChinese_Click()
On Error Resume Next
LanguageUsed = Chinese
Call SetCaption
mnuChinese.Checked = True
mnuEnglish.Checked = False
SaveSetting App.Title, "Setting", "LanguageUsed", Chinese
ShowText "程序将以简体中文显示"
End Sub
Private Sub mnuEnglish_Click()
On Error Resume Next
LanguageUsed = English
Call SetCaption
mnuChinese.Checked = False
mnuEnglish.Checked = True
SaveSetting App.Title, "Setting", "LanguageUsed", English
ShowText "English display"
End Sub
Private Sub mnuFoxpro_Click()
On Error Resume Next
Call ShowControlsSelected(FoxproDatabase, False)
Call FormResize(False)
If LanguageUsed = Chinese Then
ShowText "Foxpro 数据库登录"
Else
ShowText "Foxpro database login"
End If
Call SetCaption
End Sub
Private Sub mnuOracle_Click()
On Error Resume Next
Call ShowControlsSelected(OracleDatabase, False)
Call FormResize(False)
If LanguageUsed = Chinese Then
ShowText "Oracle 数据库登录"
Else
ShowText "Oracle database login"
End If
Call SetCaption
End Sub
Private Sub mnuOther_Click()
On Error Resume Next
Call ShowControlsSelected(OtherDatabase, False)
Call FormResize(False)
If LanguageUsed = Chinese Then
ShowText "ODBC 连接的数据库登录"
Else
ShowText "ODBC connection database login"
End If
Call SetCaption
End Sub
Private Sub mnuRememberPassword_Click()
If mnuRememberPassword.Checked = False Then
mnuRememberPassword.Checked = True
Exit Sub
Else
mnuRememberPassword.Checked = False
End If
End Sub
Private Sub mnuRememberUser_Click()
If mnuRememberUser.Checked = False Then
mnuRememberUser.Checked = True
Exit Sub
Else
mnuRememberUser.Checked = False
End If
End Sub
Private Sub mnuSQLServer_Click()
On Error Resume Next
Call ShowControlsSelected(SQLServerDatabase, False)
Call FormResize(False)
If LanguageUsed = Chinese Then
ShowText "SQL Server 数据库登录"
Else
ShowText "SQL Server database login"
End If
Call SetCaption
End Sub
Private Sub SetStatusText(ByVal ctl As Control)
If LanguageUsed = Chinese Then
Select Case ctl.Name
Case Me.txtAccessFile.Name
ShowText "数据库文件: 请输入 *.mdb 文件的路径及名称", ctl
Case Me.txtAccessUser.Name
ShowText "数据库用户: 请输入数据库拥有者的姓名", ctl
Case Me.txtAccessPassword.Name
ShowText "数据库口令: 请输入数据库拥有者的密码", ctl
Case Me.cboSQLServer.Name
ShowText "服务器名: 请输入登录服务器名称", ctl
Case Me.txtSQLUser.Name
ShowText "登录用户: 请输入数据库拥有者姓名", ctl
Case Me.txtSQLPassword.Name
ShowText "登录口令: 请输入数据库拥有者密码", ctl
Case Me.cboSQLDatabase.Name
ShowText "数据库名: 请输入当前服务器下的数据库名", ctl
Case Me.cboOracleServer.Name
ShowText "服务器名: 请输入登录服务器名称", ctl
Case Me.txtOracleUser.Name
ShowText "登录用户: 请输入数据库拥有者的姓名", ctl
Case Me.txtOraclePassword.Name
ShowText "登录口令: 请输入数据库拥有者的密码", ctl
Case Me.txtFoxproFile.Name
ShowText "数据库文件: 请输入 *.dfb 文件路径及名称", ctl
Case Me.cboFoxproSequence.Name
ShowText "排序序列: 请输入 Collating Sequence", ctl
Case Me.cboDSNList.Name
ShowText "数据源: 请输入 ODBC 连接的 DSN", ctl
Case Me.txtDSNUserName.Name
ShowText "登录用户: 请输入数据库拥有者的姓名", ctl
Case Me.txtDSNPassword.Name
ShowText "登录口令: 请输入数据库拥有者的密码", ctl
Case Me.cboDSNDatabase.Name
ShowText "数据库名: 请输入当前服务器下的数据库名", ctl
Case Me.txtUserName.Name
ShowText "登录用户: 请输入登录者的姓名", ctl
Case Me.txtPassword.Name
ShowText "登录口令: 请输入登录者的密码", ctl
Case Me.cmdLogin.Name
ShowText "确定: 单击开始数据库连接", ctl
Case Me.cmdYes.Name
ShowText "登录: 单击开始验证用户身份", ctl
Case Me.cmdCancel.Name
ShowText "退出: 单击退出当前程序", ctl
Case Me.cmdExit.Name
ShowText "退出: 单击退出当前程序", ctl
End Select
Else
Select Case ctl.Name
Case Me.txtAccessFile.Name
ShowText "DB File: Please input *.mdb file path and name", ctl
Case Me.txtAccessUser.Name
ShowText "DB User: Please input database user name", ctl
Case Me.txtAccessPassword.Name
ShowText "DB Password: Please input database password", ctl
Case Me.cboSQLServer.Name
ShowText "Server: Please input server name", ctl
Case Me.txtSQLUser.Name
ShowText "User: Please input database user name", ctl
Case Me.txtSQLPassword.Name
ShowText "Password: Please input database password", ctl
Case Me.cboSQLDatabase.Name
ShowText "DB Name: Please input database name on the server", ctl
Case Me.cboOracleServer.Name
ShowText "Server: Please input server name", ctl
Case Me.txtOracleUser.Name
ShowText "User: Please input database user name", ctl
Case Me.txtOraclePassword.Name
ShowText "Password: Please input database password", ctl
Case Me.txtFoxproFile.Name
ShowText "DB File: Please input *.dfb file path and name", ctl
Case Me.cboFoxproSequence.Name
ShowText "Sequence: Please input Collating Sequence", ctl
Case Me.cboDSNList.Name
ShowText "DSN: Please input data source name in the ODBC", ctl
Case Me.txtDSNUserName.Name
ShowText "User: Please input database user name", ctl
Case Me.txtDSNPassword.Name
ShowText "Password: Please input database password", ctl
Case Me.cboDSNDatabase.Name
ShowText "DB Name: Please input database name on the server", ctl
Case Me.txtUserName.Name
ShowText "User: Please input login user name", ctl
Case Me.txtPassword.Name
ShowText "Password: Please input login password", ctl
Case Me.cmdLogin.Name
ShowText "OK: Click it to start connecting database", ctl
Case Me.cmdYes.Name
ShowText "Login: Click it to start verifing user", ctl
Case Me.cmdCancel.Name
ShowText "Exit: Click it to exit the application", ctl
Case Me.cmdExit.Name
ShowText "Exit: Click it to exit the application", ctl
End Select
End If
End Sub
Private Sub ShowText(ByVal strText As String, Optional ctl As Control = Nothing)
Me.StatusBar1.Panels(1).Text = Trim(strText)
If Not ctl Is Nothing Then
ctl.ToolTipText = Trim(strText)
End If
End Sub
Private Sub txtAccessFile_GotFocus()
Call SetStatusText(txtAccessFile)
End Sub
Private Sub txtAccessPassword_GotFocus()
Call SetStatusText(txtAccessPassword)
End Sub
Private Sub txtAccessUser_GotFocus()
Call SetStatusText(txtAccessUser)
End Sub
Private Sub txtDSNPassword_GotFocus()
Call SetStatusText(txtDSNPassword)
End Sub
Private Sub txtDSNUserName_GotFocus()
Call SetStatusText(txtDSNUserName)
End Sub
Private Sub txtFoxproFile_GotFocus()
Call SetStatusText(txtFoxproFile)
End Sub
Private Sub txtOraclePassword_GotFocus()
Call SetStatusText(txtOraclePassword)
End Sub
Private Sub txtOracleUser_GotFocus()
Call SetStatusText(txtOracleUser)
End Sub
Private Sub txtPassword_GotFocus()
Call SetStatusText(txtPassword)
End Sub
Private Sub txtSQLPassword_GotFocus()
Call SetStatusText(txtSQLPassword)
End Sub
Private Sub txtSQLUser_GotFocus()
Call SetStatusText(txtSQLUser)
End Sub
Private Sub txtUserName_GotFocus()
Call SetStatusText(txtUserName)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -