| |
Visual-Basic EinsteigerRe: Frage zu *INI-Dateien bearbeiten und verwalten* | | | Autor: Manfred X | Datum: 18.02.15 10:05 |
| Eine INI-Datei ist keine Datenbank.
Dort kann man beliebige Spalten (Keys) aus den Datensätzen (Sektions) direkt abfragen.
| |
Frage zu *INI-Dateien bearbeiten und verwalten* | | | Autor: woerny | Datum: 18.02.15 09:22 |
| Hallo @ all,
wahrscheinlich ganz einfach, aber ich bekomms nicht hin.
Im http://www.vbarchiv.net/workshop/details.php?id=21wird ziemlich ausführlich der Umgang mit einer ini beschrieben.
Ich bekomme es nicht hin dass in *X*-Sektionen ein bestimmter Key (aus mehreren Sektion) zurück gegeben wird.
Konkret:
Wie muß ich vorgehen, wenn ich *alle* nur alle email Adressen einlesen möchte?
[Anwender1]
User=Dieter
eMail=info@vbarchiv.de
[Anwender2]
User=Ralph
eMail=ralp@vbarchiv.de
Ich hoffte das die API GetPrivateProfileSection mir dies zurückkgeben würde .... habe es aber nicht hinbekommen.
Könnt Ihr mir bitte weiterhelfen
(Ich setze das ganze in VBA - Excel 2010 einsetzen)
Gruß
woerny
| |
Re: Frage zu *INI-Dateien bearbeiten und verwalten* | | | Autor: Manfred X | Datum: 18.02.15 09:29 |
| Ich vermute, Du ermittelst zunächst alle Abschnitte der INI,
durchläufst eine Schleife über die Abschnitte und besorgst
jeweils den Wert des Schlüssels "eMail".
Klappt das nicht?
| |
Re: Frage zu *INI-Dateien bearbeiten und verwalten* | | | Autor: woerny | Datum: 18.02.15 09:41 |
| Hallo Manfred,
doch so mach ich es
Ich dachte nur, es gibt eine "besser" Lösung.
'# -1- #####################################################
' alle Abschnitte (Sektionen) ermitteln
' alle Werte die sich in "[" -befinden- "]"
'##########################################################
Public Sub Init_Sections(ByVal INIFile As String)
Dim strSections As String
Dim Section() As String
Dim i As Integer
' vbNullString übergeben, um alle gespeicherten Abschnittsnamen zu ermitteln
strSections = GetIniString(vbNullString, "", "", INIFile, 32767)
' Sind überhaupt Abschnitte vorhanden?
' strSections = Left$(strSections, lResult)
If strSections <> "" Then
' Rückgabestring "splitten"
Section = Split(strSections, Chr$(0))
' Alle Abschnitte
For i = 0 To UBound(Section) - 1
Debug.Print "[" & Section(i) & "]"
Next i
Else 'nein keine vorhanden - ggf: Hinweis ausgeben!
End If
End Sub ...
'# -2- #####################################################
' alle Schlüsselwörter INNERHALB einer sektionen) ermitteln
' alle Werte die sich unterhalb "[" -befinden- "]"
'##########################################################
Public Function Init_Keys(ByVal strSection As String, ByVal INIFile As String) _
As Boolean
Dim strKeys As String
Dim Key() As String
Dim i As Integer
If pF_AktivUser = "" Then pF_AktivUser = Environ("Username")
' vbNullString übergeben, um alle gespeicherten
' Keys zu ermitteln
strKeys = GetIniString(strSection, vbNullString, "", INIFile, 32767)
' Sind überhaupt Einträge vorhanden?
If strKeys <> "" Then
' Rückgabestring "splitten"
Key = Split(strKeys, Chr$(0))
' Alle Einträge der ListBox hinzufügen
For i = 0 To UBound(Key) - 1
Debug.Print "Schlüssel " & Key(i)
Debug.Print "Wert " & GetIniString(strSection, Key(i), "", INIFile)
' If UCase(pF_AktivUser) = UCase(Key(i)) = True Then
' Init_Keys = True
' Exit Function
' Else
' Stop
' End If
Next i
End If
End Function Gruß
Woerny
| |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|