INI Modul. (*ini Dateien parsen und schreiben)
Übersicht
BlitzMax, BlitzMax NG
Codearchiv & Module|
|
ComNikBetreff: INI Modul. (*ini Dateien parsen und schreiben) |
Antworten mit Zitat |
|---|---|---|
|
Hallo wiieeeeder mal ein neues INI Modul/ein neuer INI Parser etc... Aber warum sollte ich ihn euch vorenthalten? Wenn ihn jemand haben will... 1.Beschreibung: Dieses Ini Modul enthält Funktionen um INI Dateien auszulesen sowie jene zu schreiben. Dokumentation ist enthalten. Man kann: INI Dateien öffnen, Felder hinzufügen, Keys hinzufügen, Key-Value ändern, Key-Value auslesen. Nach der benutzung von AddField(), AddKey() oder SetKeyValue() (und nur DANACH) sollte (MUSS) die Funktion SaveIni() aufgerufen werden, sonst bleibt die datei unverändert! 2.Funktionsweise( Die ini Datei wird mit OpenIni() geöffnet und dann komplett in ein (dynamisches)Array gelesen. Auf der Suche nach dem richtigen Field (z.B: [Beispiel]) wird das array durchsucht, die zeile wird nur ausgelesen wenn das erste Zeichen = "[" ist. Davor werden natürlich alle leerzeichen gelöscht. Erst dann werden alle zeilen bis zum nächsten "[" ausgelesen. Etc... Das ganze läuft wie ich finde ziemlich schnell. Dieser Test wird auf meinem rechner durchschnittlich in 13 Millisekunden ausgeführt. Code: [AUSKLAPPEN] Import comnik.inimod SuperStrict Local start:Int = MilliSecs() Local test:TIni = OpenIni("test.ini") Type TGegner Field x:Float Field y:Float Field id:Int End Type Local i:Int Local gegner_list:TList = CreateList() Local gegner:TGegner For i=0 To 100 gegner = New TGegner gegner.x = Rand(0,800) gegner.y = Rand(0,600) gegner.id = i ListAddLast(gegner_list,gegner) Next For gegner = EachIn gegner_list AddField(test,gegner.id) AddKey(test,gegner.id,"x",gegner.x) AddKey(test,gegner.id,"y",gegner.y) Next For gegner = EachIn gegner_list If Rand(0,5) = 3 Then SetKeyValue(test,gegner.id,"x","geändert!") If Rand(0,5) = 2 Then Print(GetValue(test,gegner.id,"x")) Next SaveIni(test) Print((MilliSecs()-start)) Ich find das ganz gut, teilt mir wenn ihr wollt eure zeiten mit. DOWNLOAD: https://www.blitzforum.de/upload/file.php?id=6133 Anmerkung: NEUE VERSION! Change Log: - GetInt() liefert keinen String sondern eine int zurück - GetFloat() Danke für eure Aufmerksamkeit. |
||
| WIP: Vorx.Engine | ||
|
|
BladeRunnerModerator |
Antworten mit Zitat |
|---|---|---|
|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. |
||
|
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
||
|
|
ComNik |
Antworten mit Zitat |
|---|---|---|
|
Danke Schön! mann erstes modul und direkt ins falsche forum -.- |
||
| WIP: Vorx.Engine | ||
Übersicht
BlitzMax, BlitzMax NG
Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group
