INIWriter --> Automatisches Schreiben von INI Dateien
Übersicht

![]() |
M0rgensternBetreff: INIWriter --> Automatisches Schreiben von INI Dateien |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute.
Ich habe sowas im Codearchiv nicht direkt gefunden und da ichs grade geschrieben habe setze ich es einfach mal rein. Undzwar macht das Programm folgendes: Es schreib INI Dateien. Dabei erweitert es jedoch bestehende Dateien. Das ist ganz praktisch, wenn man INI Dateien hat, die vom Grundaufbau gleich bleiben, wo aber z.B. neue Werte zugewiesen werden. Ich benutze das momentan zum Beispiel für die Tastaturbelegung eines Spiels. Die Nutzung ist ganz einfach: Man ruft die WriteCompleteFile Funktion auf. Der erste Parameter steht für die Sektion, also z.B. [Spieler1]. Der zweite Parameter gibt die Variable, also das Suchwort das links von dem = steht, z.B. Geld. Das = dahinter wird automatisch angefügt, darf also nicht im Parameter übergeben werden. Der dritte Parameter gibt den Wert an, also das was rechts von dem = steht. Der letzte Parameter gibt einfach den Pfad der INI Datei an. Das Programm erstellt auch eine neue Datei, selbst wenn eine mit dem Namen nicht vorhanden sein sollte. Also, hier der Code: BlitzMax: [AUSKLAPPEN] Type TInput 'Type für die ausgelesenen Zeilen Und hier ein kurzes Beispielprogramm: BlitzMax: [AUSKLAPPEN] WriteCompleteFile("Player1", "Points", "100", "Player.ini") Könnt ja was dazu schreiben, wenn ihr mögt. lg, M0rgenstern |
||
- Zuletzt bearbeitet von M0rgenstern am So, März 06, 2011 22:11, insgesamt 2-mal bearbeitet
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
M0rgenstern hat Folgendes geschrieben: Code: [AUSKLAPPEN]
If (Left(Inp.sLine, 1) = "[") Then 'Neue Sektion?
If bHasSection Then 'Wenn die gesuchte Sektion schon gefunden wurde If Not bHasTerm Then 'Aber die gesuchte Variable noch nicht LastPossible = Inp 'Dann ist eine Zeile davor die letzt mögliche Stelle für einen neuen Eintrag EndIf EndIf EndIf Das stimmt nur, wenn die Sektion vor der neuen Sektion die richtige war. Es könnte aber auch z.B. die vorletzte gewesen sein. Deshalb wird dieser Code hier nicht richtig funktionieren: Code: [AUSKLAPPEN] WriteCompleteFile("Player1", "Points", "100", "Player.ini")
WriteCompleteFile("Player1", "Power", "30", "Player.ini") WriteCompleteFile("Player2", "Points", "200", "Player.ini") WriteCompleteFile("Player2", "Power", "50", "Player.ini") WriteCompleteFile("Player3", "Points", "300", "Player.ini") WriteCompleteFile("Player3", "Power", "70", "Player.ini") WriteCompleteFile("Player1", "Games", "10", "Player.ini") edit: So funktionierts: Code: [AUSKLAPPEN] If Not LastPossible Then 'Und wenn die Stelle noch nicht gefunden wurde
ThenLastPossible = Inp 'Dann ist eine Zeile davor die letzt mögliche Stelle für einen neuen Eintrag EndIf |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, hast Recht.
Habs behoben durch eine Zeile. Vielen Dank. Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group