Hi. ich habe eine ini datei die folgedermassen aussieht. wie werde ich das am besten aus ? [Devices] Device1=SIEMENSS65 Device2=SIEMENSS55 Device3=SIEMENSC55 Device4=SIEMENSYYY Device5=SIEMENSXXX ... sollte ich eine Liste von allen einträgen von Devices nehmen und nur die einträge mit Device + Zahl rausfiltern oder sollte ich besser alle zahlen durchmachen, bin keine werte mehr kommen ? Wie wird das normal gemacht ? MfG
Da Windows bei jedem Zugriff über die Funktionen GetPrivateProfile... die INI-Datei parst, empfehle ich Dir die erste Methode. Hierfür gibt es schöne Funktionen im Windows API: GetPrivateProfileSection( ... )
wenn du die Ini-Datei selbst im Griff hast: ich würde als Alternative die Konfigdaten in eine xml Datei schreiben. Der wesentliche Vorteil ist das du die strukturierter und hierarchisch ablegen kannst. Es gibt fertige API's um xml zu Lesen und zu Schreiben. Auch Funktionen zum Auflisten und Suchen sind da schon drin. Wenn du unter Windows arbeitest: es ein XML-Notepad, damit kann man die Struktur seiner Daten sehr einfach modellieren, findest du z.B. hier: http://www.snapfiles.com/get/xmlnotepad.html Um mit der API klarzukommen einfach ein XMLDoc Objekt erzeugen, ein xml file laden und im Debugger die Nodes aufklappen, dann kommt recht schnell damit klar. Schnickschnack wie Styles und Schemas brauchst du dafür nicht.
Sind die ersten beiden Parameter von GetPrivateProfileString NULL, so liefert die Funktion eine Liste nullterminierter Strings, die die [Abschnitte] der Ini-Datei aufzählen. Ist nur der zweite Parameter NULL, so wird eine Liste nullterminierter Strings geliefert, die die Namen aller Parameter in einem Abschnitt enthält. Im Beispiel von Olliver wäre der erste Parameter also "Devices", und die Liste bestünde aus "Device1\x00Device2\x00Device3\x00 ... \x00\x00". So muss man nur noch die Liste iterieren und fertig.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.