Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

INI File

Status
Not open for further replies.

kadara

Programmer
Mar 2, 2012
26
DE
Hi,
I have an ini file with email addresses:

Code:
[Address]
<TO>whatever01@whatever01.com
<TO>whatever02@whatever02.com
<TO>whatever03@whatever03.com
<CC>whatever04@whatever04.com
<CC>whatever05@whatever05.com

How could I read separate the addresses and the keys (TO or CC)?
 
Finaly I found a solution:

Code:
strAddress = ReadIni("EMail.ini","Address", "TO")
MsgBox strAddress


'******************************************************************************************************************************************************

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( Mid(strLeftString,2) ) = LCase( strKey ) Then
                        	If ReadIni = "" Then 
                        		ReadIni = Trim( Mid( strLine, intEqualPos + 1 ) )
                        	Else
                            	ReadIni = ReadIni & vbCrLf & Trim( Mid( strLine, intEqualPos + 1 ) )
                            End If
                            '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
        WScript.Echo strFilePath & " doesn't exists. Exiting..."
        Wscript.Quit 1
    End If
End Function
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top