- Option Compare Text
-
- Public Function RetrieveKey(ByVal FileName As String, ByVal KeyName As String, ByVal VarName As String) As String
- Dim sResult As String
- Dim sCurrentLine As String
- Dim KeyFound As Boolean
- Dim EndOfKey As Boolean
- Dim VarFound As Boolean
- Dim i As Integer
-
- KeyFound = False
-
-
- ' SI LE FICHIER N'EXISTE PAS ON QUITTE SANS RIEN RETOURNER
- ' ON EFFECTUE LA RECHERCHE PARMI TOUS LES FICHIERS
- If Dir(FileName, 7) = "" Then
- RetrieveKey = vbNullString
- Exit Function
- End If
-
- Open FileName For Input As #1
-
- ' *******************
- ' RECHERCHE DE LA CLE
-
- Do While (Not EOF(1)) And KeyFound = False
-
- Line Input #1, sCurrentLine
- If sCurrentLine = "[" & KeyName & "]" Then
- KeyFound = True
- End If
-
- Loop
-
- ' SI PAS DE CLE TROUVEE ALORS ON QUITTE ET ON NE RENVOIE RIEN
- If Not KeyFound Then
- RetrieveKey = vbNullString
- Close #1
- Exit Function
- End If
-
- ' ************************
- ' RECHERCHE DE LA VARIABLE
- EndOfKey = False
- VarFound = False
-
- Do While (Not EndOfKey) And (Not VarFound)
- Line Input #1, sCurrentLine
-
- ' CONDITIONS D'ARRET
- If EOF(1) Then EndOfKey = True 'SI FIN DE FICHIER
- If Mid(sCurrentLine, 1, 1) = "[" Then EndOfKey = True 'SI NOUVELLE CLE
-
- ' RECHERCHE DES BORNES DE LA VARIABLE
- i = 1
- Do While Mid(sCurrentLine, i, 1) <> "="
- i = i + 1
- Loop
-
- If Mid(sCurrentLine, 1, i - 1) = VarName Then
- VarFound = True
- End If
-
- Loop
-
-
-
-
- ' SI FIN DE CLE ET TOUJOURS PAS DE VARIABLE TROUVEE
- If EndOfKey And (Not VarFound) Then
- RetrieveKey = vbNullString
- Close #1
- Exit Function
- End If
-
-
- sResult = Mid(sCurrentLine, i + 1, (Len(sCurrentLine) - i))
-
- Close #1
- RetrieveKey = sResult
- End Function
-
Option Compare Text
Public Function RetrieveKey(ByVal FileName As String, ByVal KeyName As String, ByVal VarName As String) As String
Dim sResult As String
Dim sCurrentLine As String
Dim KeyFound As Boolean
Dim EndOfKey As Boolean
Dim VarFound As Boolean
Dim i As Integer
KeyFound = False
' SI LE FICHIER N'EXISTE PAS ON QUITTE SANS RIEN RETOURNER
' ON EFFECTUE LA RECHERCHE PARMI TOUS LES FICHIERS
If Dir(FileName, 7) = "" Then
RetrieveKey = vbNullString
Exit Function
End If
Open FileName For Input As #1
' *******************
' RECHERCHE DE LA CLE
Do While (Not EOF(1)) And KeyFound = False
Line Input #1, sCurrentLine
If sCurrentLine = "[" & KeyName & "]" Then
KeyFound = True
End If
Loop
' SI PAS DE CLE TROUVEE ALORS ON QUITTE ET ON NE RENVOIE RIEN
If Not KeyFound Then
RetrieveKey = vbNullString
Close #1
Exit Function
End If
' ************************
' RECHERCHE DE LA VARIABLE
EndOfKey = False
VarFound = False
Do While (Not EndOfKey) And (Not VarFound)
Line Input #1, sCurrentLine
' CONDITIONS D'ARRET
If EOF(1) Then EndOfKey = True 'SI FIN DE FICHIER
If Mid(sCurrentLine, 1, 1) = "[" Then EndOfKey = True 'SI NOUVELLE CLE
' RECHERCHE DES BORNES DE LA VARIABLE
i = 1
Do While Mid(sCurrentLine, i, 1) <> "="
i = i + 1
Loop
If Mid(sCurrentLine, 1, i - 1) = VarName Then
VarFound = True
End If
Loop
' SI FIN DE CLE ET TOUJOURS PAS DE VARIABLE TROUVEE
If EndOfKey And (Not VarFound) Then
RetrieveKey = vbNullString
Close #1
Exit Function
End If
sResult = Mid(sCurrentLine, i + 1, (Len(sCurrentLine) - i))
Close #1
RetrieveKey = sResult
End Function