INI Modul. (*ini Dateien parsen und schreiben)
Übersicht

![]() |
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


Powered by phpBB © 2001 - 2006, phpBB Group