INI-Parser
Übersicht

![]() |
MVBBetreff: INI-Parser |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Ich habe mal ein kleines Modul geschrieben, um INI-Dateien zu parsen. Es ist sehr einfach zu benutzen. Download Beispiel: settings.ini Code: [AUSKLAPPEN] #Grafik Einstellungen [Graphics] #Bildschirm Auflösung Width=800 Height=600 #Farbtiefe Depth=32 #Grafiktreiber OpenGL/DirectX Driver=OpenGL #Sonstiges [Other] Difficulty=3 Playername=Jakob Code: [AUSKLAPPEN] Import mvb.iniparser Local File:TStream = OpenINI("settings.ini") 'Daten auslesen Print "Width: " + GetINIValue(File, "Graphics", "Width") Print "Height: " + GetINIValue(File, "Graphics", "Height") Print "Depth: " + GetINIValue(File, "Graphics", "Depth") Print "Driver: " + GetINIValue(File, "Graphics", "Driver") Print "Difficulty: " + GetINIValue(File, "Other", "Difficulty") Print "Playername: " + GetINIValue(File, "Other", "Playername") 'Daten ändern SetINIValue File, "Graphics", "Width", "1280" SetINIValue File, "Graphics", "Height", "1024" 'Daten hinzufügen SetINIValue File, "Save", "Level", "9" Selbsterklärend ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
![]() |
Justus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool! Das vereinfacht vieles und ist wohl in sehr viele Arten von Spielen zu gebrauchen. | ||
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke!
Ich selber brauche das andauernd. Hab mir bisher immer für jedes Projekt eine neue verbugte Funktion für sowas geschrieben. P.S. Sagt bitte bescheid, wenn ihr noch Bugs finden solltet! ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Neue Version 1.01 ist da. Der INI-Parser kann jetzt auch Strings mit Leerzeichen parsen. Code: [AUSKLAPPEN] [gruppe] Variable = Mein toller String mit vielen Leerzeichen Gleicher Downloadlink. ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
Akta |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ![]() Gute Arbeit^^ Aber mein erster Post im Board und mein zweiter Tag mit BlitzBasic (BlitzMax) und schon was zu meckern *g* Da du in der Funktion GetINIValue() bei nicht-finden des gesuchten Eintrages einfach False zurückgibst, ist es nicht möglich in einer Datei sowas zu haben: [Sektion] variable=0 Denn False ist gleich 0 in BlitzMax (habe ich mit Print False getestet). Kenne die Sprache noch nicht so gut, aber kann man da nicht EOF zurückgeben oder etwas ähnliches? Denn -1 etc. geht nicht, da man das ja auch als Wert benutzen können sollte aber vielleicht gibt es ja in BlitzBasic eine Konstante für EOF. |
||
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK. Habe es geändert. Danke. (wieder gleicher Downloadlink) ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
Akta |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Super! Grad anschaun:-) | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gute Idee mit dem Modul.
Doch hätte ich einige Verbesserungsvorschläge: - Ich würde einen Type einführen für eine Inifile und die Funktionen als Methoden machen, Grund siehe übernächster Punkt - Auch würde ich einen Eintragstyp machen, der ein "Name" und "Value" feld hat. - Ich würde beim laden der Datei gleich alles durchparsen und in entsprechend strukturierte TMaps packen. Dadurch wäre speziell das finden von Keys bei grösseren Ini Dateien um einiges schneller. Ansonsten vor allem danke für das Opensource. Dadurch kann man es einem eigenen Modhost zuweisen (packe alle module die ich herunterlade jeweils in privat. ... rein, so als eine Art Gegenpol zu pub) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Was du mit dem zweiten Punkt meinst verstehe ich leider nicht. ![]() Ansonsten ist zu sagen, dass ich es wahrscheinlich so lassen werde, wie es ist. Es soll so einfach wie möglich gehalten werden. Ist halt eher für kleinere INI-Dateien gedacht. Aber guck mal hier. Das könnte sein, was du suchst. Ansonsten hat glaube ich auch d-bug noch ein INI-Modul geschrieben. ![]() //EDIT: Und ausserdem spart es Arbeitsspeicher. Auch wenn das wohl kaum der Rede wert ist ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
- Zuletzt bearbeitet von MVB am Fr, Apr 07, 2006 14:53, insgesamt 2-mal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah so ok.
Gut ist es auf jeden Fall für Leute, die etwas einfach zu bedienendes für kleine Files wollen ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Akta |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also für Leute wie mich ![]() |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach Kacke ey, du hast so coole Module und dann sind alle down -.- | ||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
Justus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe mir mal erlaubt, das Modul in der Version 1.01 hochzuladen - in MVBs Sinne, hoffe ich ![]() Download [29KB] |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
Spitze! Danke! | ||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Module sind jetzt wieder normal downloadbar. Trotzdem danke an Justus. Wusste ja gar nicht, dass die so beliebt sind. ![]() |
||
aquamonit.de|BlitzMax|MaxGUI |
BadDeath |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann den bitte nochmal jemand hochladen oder eine alternative nennen?
am besten ne funktion für bb3d oder so danke! mfg, baddeath |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oben ist doch der Link. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
romanski1985 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich finde dieses modul wirklich spitze, ich kann es oft gebrauchen. leider scheint es nur etwas buggy zu sein wenn es ums speichern geht. ich arbeite auf mac. manchmal lässt er bestimmte speichersätze einfach aus ich konnte es nur lösen indem ich ab und zu etwas anderes zwischendurch speichere:
Code: [AUSKLAPPEN] SetINIValue FileSave, "", "", "" man hat zwar später hässliche zeichen in der ini datei in etwa so: [] aber dafür speichert er es dann wenigstens den rest ab. habt ihr ähnliche erfahrung gemacht? gibt es dafür eine lösung? |
||
ruby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
Ich würde mir das Modul auch gerne herunterladen, nur leider funktioniert der Link nicht mehr (ist ja nach den paar Jahren nicht anders zu erwarten ![]() Danke schonmal im Vorraus ![]() MfG Ruby |
||
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würd dir einfach XML-Files empfehlen. Da gibt es ein Modul von Brucey im englischen Forum. | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group