INI-Parser

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

MVB

Betreff: INI-Parser

BeitragDi, Feb 28, 2006 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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
Wink
aquamonit.de|BlitzMax|MaxGUI

Justus

BeitragDi, Feb 28, 2006 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool! Das vereinfacht vieles und ist wohl in sehr viele Arten von Spielen zu gebrauchen.

MVB

BeitragDi, Feb 28, 2006 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
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!
Wink
aquamonit.de|BlitzMax|MaxGUI

MVB

BeitragSo, März 05, 2006 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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.
Wink
aquamonit.de|BlitzMax|MaxGUI
 

Akta

BeitragDo, Apr 06, 2006 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Smile

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

BeitragFr, Apr 07, 2006 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
OK. Habe es geändert. Danke. (wieder gleicher Downloadlink) Wink
aquamonit.de|BlitzMax|MaxGUI
 

Akta

BeitragFr, Apr 07, 2006 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Super! Grad anschaun:-)
 

Dreamora

BeitragFr, Apr 07, 2006 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Apr 07, 2006 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Was du mit dem zweiten Punkt meinst verstehe ich leider nicht. Rolling Eyes //EDIT: Jetzt versteh ich glaub ich doch.

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. Wink

//EDIT: Und ausserdem spart es Arbeitsspeicher. Auch wenn das wohl kaum der Rede wert ist Wink
aquamonit.de|BlitzMax|MaxGUI
  • Zuletzt bearbeitet von MVB am Fr, Apr 07, 2006 14:53, insgesamt 2-mal bearbeitet
 

Dreamora

BeitragFr, Apr 07, 2006 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah so ok.
Gut ist es auf jeden Fall für Leute, die etwas einfach zu bedienendes für kleine Files wollen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Akta

BeitragFr, Apr 07, 2006 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Also für Leute wie mich Wink

Wild-Storm

BeitragMo, Apr 02, 2007 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 02, 2007 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir mal erlaubt, das Modul in der Version 1.01 hochzuladen - in MVBs Sinne, hoffe ich Wink Viel Spaß damit.

Download [29KB]

Wild-Storm

BeitragMo, Apr 02, 2007 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Spitze! Danke!
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875

MVB

BeitragMo, Apr 02, 2007 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Module sind jetzt wieder normal downloadbar. Trotzdem danke an Justus. Wusste ja gar nicht, dass die so beliebt sind. Smile
aquamonit.de|BlitzMax|MaxGUI
 

BadDeath

BeitragMi, Feb 13, 2008 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
kann den bitte nochmal jemand hochladen oder eine alternative nennen?
am besten ne funktion für bb3d oder so


danke! mfg, baddeath

Blitzcoder

Newsposter

BeitragMi, Feb 13, 2008 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Nov 22, 2009 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 09, 2010 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Rolling Eyes )... Vielleicht hat ja jemand noch das Modul und kann es hochladen?
Danke schonmal im Vorraus Smile

MfG
Ruby

Firstdeathmaker

BeitragDi, März 09, 2010 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group