有没有这样的处理?先去找有没有配置文件,有就直接读入,没有就让用户输入用户名和密码以及IP,然后保存,下次启动直接调用,求教

解决方案 »

  1.   

    可以使用INI文件,或者注册表等
      

  2.   

    Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
    Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPublic Sub WriteToIni(ByVal Key As String, ByVal Value As String, Optional ByVal Section As String = "IniDefSection")
        On Error Resume Next
        Dim buff As String * 128
        buff = Value + Chr(0)
        WritePrivateProfileString Section, Key, buff, GetIniFileName
    End SubPublic Function ReadFromIni(ByVal Key As String, Optional ByVal Section As String = "IniDefSection") As String
        On Error Resume Next
        Dim i As Long
        Dim buff As String * 128
        GetPrivateProfileString Section, Key, "", buff, 128, GetIniFileName
        i = InStr(buff, Chr(0))
        ReadFromIni = Trim(Left(buff, i - 1))
    End Function
    上面是读写INI文件函数
    保存连接参数
    WriteToIni("ServerIP","Database Connection",Server IP or Name)
    WriteToIni("DBName","Database Connection",Database Name)
    WriteToIni("UserID","Database Connection",UserID)
    WriteToIni("Password","Database Connection",Password)if ReadFromIni("ServerIP","Database Connection")="" Or ReadFromIni("DBName","Database Connection")="" Or ReadFromIni("UserID","Database Connection")="" then
    让用户输入用户名和密码以及IP
      

  3.   

    GetIniFileName'是INI文件名称
    这个文件是可以自动生成的,当你读或写的时候
      

  4.   

    可是我测试的时候,没有自动生成INI文件啊?
      

  5.   

    Private Sub Form_Load()If ReadFromIni("ServerIP", "Database Connection") = "" Then
       ServerIP = InputBox("请输入IP地址")
       Call WriteToIni("ServerIP", "Database Connection", ServerIP)
    End IfEnd Sub
    是这样的吗?
      

  6.   

    我把读写INI文件函数放在BAS中
      

  7.   

    在读写函数中你有没把
    GetIniFileName改为文件名如"C:\connection.ini"
      

  8.   

    INI文件是不是要在里面指定的ServerIP还是其他什么?急
      

  9.   

    INI文件是不是要在里面指定的ServerIP还是其他什么?
    不用,通过WriteToIni函数会写进去的
      

  10.   

    [192.168.0.25]
    ServerIP=Database Connection
    写进去的格式是这样的?
      

  11.   

    [sssdsd]
    UserID=Database ConnectionIf ReadFromIni("UserID", "Database Connection") = "" Then
            UserID = InputBox("请输入用户名:")
            Call WriteToIni("UserID", "Database Connection", UserID)
        End If为什么FORM LOAD的时候还是要输入用户名?
      

  12.   

    msgbox ReadFromIni("UserID", "Database Connection")为空
      

  13.   

    不好意思,写反了
    应是
    WriteToIni("ServerIP",Server IP or Name,"Database Connection")
      

  14.   

    WriteToIni("ServerIP","192.168.0.25","Database Connection")