Как работать с INI файлами? - VB

Узнай цену своей работы

Формулировка задачи:

Подскажите как в VB записывать и считывать информацию с INI файла?

Решение задачи: «Как работать с INI файлами?»

textual
Листинг программы
Function ReadIni( myFilePath, mySection, myKey )
     ' This function returns a value read from an INI file
     '
     ' Arguments:
     ' myFilePath  [string]  the (path and) file name of the INI file
     ' mySection   [string]  the section in the INI file to be searched
     ' myKey       [string]  the key whose value is to be returned
     '
     ' Returns:
     ' the [string] value for the specified key in the specified section
     '
     ' CAVEAT:     Will return a space if key exists but value is blank
     '
     ' Written by Keith Lacelle
     ' Modified by Denis St-Pierre and Rob van der Woude
 
     Const ForReading   = 1
     Const ForWriting   = 2
     Const ForAppending = 8
 
     Dim intEqualPos
     Dim objFSO, objIniFile
     Dim strFilePath, strKey, strLeftString, strLine, strSection
 
     Set objFSO = CreateObject( "Scripting.FileSystemObject" )
 
     ReadIni     = ""
     strFilePath = Trim( myFilePath )
     strSection  = Trim( mySection )
     strKey      = Trim( myKey )
 
     If objFSO.FileExists( strFilePath ) Then
         Set objIniFile = objFSO.OpenTextFile( strFilePath, ForReading, False )
         Do While objIniFile.AtEndOfStream = False
             strLine = Trim( objIniFile.ReadLine )
 
             ' Check if section is found in the current line
             If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then
                 strLine = Trim( objIniFile.ReadLine )
 
                 ' Parse lines until the next section is reached
                 Do While Left( strLine, 1 ) <> "["
                     ' Find position of equal sign in the line
                     intEqualPos = InStr( 1, strLine, "=", 1 )
                     If intEqualPos > 0 Then
                         strLeftString = Trim( Left( strLine, intEqualPos - 1 ) )
                         ' Check if item is found in the current line
                         If LCase( strLeftString ) = LCase( strKey ) Then
                             ReadIni = Trim( Mid( strLine, intEqualPos + 1 ) )
                             ' In case the item exists but value is blank
                             If ReadIni = "" Then
                                 ReadIni = " "
                             End If
                             ' Abort loop when item is found
                             Exit Do
                         End If
                     End If
 
                     ' Abort if the end of the INI file is reached
                     If objIniFile.AtEndOfStream Then Exit Do
 
                     ' Continue with next line
                     strLine = Trim( objIniFile.ReadLine )
                 Loop
             Exit Do
             End If
         Loop
         objIniFile.Close
     Else
         msgbox strFilePath & " doesn't exists. Exiting..."
         exit function
     End If
 End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5