Einstellungen.ini einlesen und verarbiten

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Flori-D

Betreff: Einstellungen.ini einlesen und verarbiten

BeitragSo, Okt 10, 2004 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.Ich möchte eine Datei(Einstellungen.ini) einlesen und die darin vorkommenden einstellungen benutzen.Ich möchte praktisch die Zeile
"runden = 5" einlesen und nur die 5 verwenden.Die .ini Datei sieht so aus:

Code: [AUSKLAPPEN]


[Einstellungen]

runden = 5


die .bb Datei wo ich dann nicht weiter weiß:

Code: [AUSKLAPPEN]


runden = ;hier das eingelesene wo ich nicht weiß wie

Text 200,200, "Es sind noch "+runden+" zu spiele."


Ich könnte gleich ne feste Zahl festlegen aba das is doof.Der Spieler soll selbst bestimmen können(also in einstellungen.ini die werte ändern).

Wie geht das^^?Plz helft mir.

Mfg Flori-D
BB is Macht!

Homepage: www.flori-d.de
 

Edlothiol

BeitragSo, Okt 10, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Showcase von BlitzCoder gibts mehrere Libs genau dafür.

Hubsi

BeitragSo, Okt 10, 2004 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
wert$=ReadLine(handle)
runden=Str(Mid$(wert$,Instr(wert$," ")+1))
Die *.ini sollte dann aber so aussehen:Zitat:
runden= 5
Also das Leerzeichen vor dem = muß weg. Ginge zwar auch anders (beliebig viele Leerzeichen), aber das ist mir jetzt zu stressig Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

simi

BeitragSo, Okt 10, 2004 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Sonst würde ich es so machen:
Code: [AUSKLAPPEN]

Zeile$ = ReadLine(File)
Pos = instr(Zeile,"=")
V$ = Left(Zeile,Pos)
W$ = Right(Zeile,Len(Zeile)-Pos)
Select V$
  Case "Leben"
    Leben = w
   case "Geld"
     Geld = v
   ;.............................................
end select


cu simi

Flori-D

BeitragSo, Okt 10, 2004 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde auf BlitzCoder.de aba keinen showcase Sad
BB is Macht!

Homepage: www.flori-d.de
 

Edlothiol

BeitragSo, Okt 10, 2004 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzCoder.com...
Links auf "Showcase Area" Rolling Eyes

http://www.blitzcoder.com/cgi-...omments=no
Finde ich am besten, ist allerdings recht umfangreich.

Flori-D

BeitragSo, Okt 10, 2004 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups .com ja kann ja mal passieren Embarassed Embarassed Embarassed
BB is Macht!

Homepage: www.flori-d.de

jungle

BeitragSo, Okt 10, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
unter:http://www.blitzbasic.com/Comm...opic=33310
gibt es (meiner meinung nach) eine mächtige *.ini management lösung.
...bedient sich der kernel32.dll

jGL
In der Realität ist die Wirklichkeit ganz anders.

| P3 550Mhz | P90Mhz | AMD 1Ghz | XP 2600@3200Mhz l P2 400Mhz | Dual XP 2000Mhz |
 

David

BeitragSo, Okt 10, 2004 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich hatte da mal was... *such*

Code: [AUSKLAPPEN]

Type INIFile
   Field fileName$
   Field contents$
End Type

Global currentFile.INIFile = New INIFile

;INIOpen-------------------------------------

Function INIOpen( fileName$ )
   currentFile = New INIFile
   
   currentFile\fileName = fileName   
   fileHandle = ReadFile( currentFile\fileName )
   
   ;Falls die Datei existiert einlesen
   If ( fileHandle <> 0 )
      While Not( Eof( fileHandle ) )
         ;Fuer schnelleres arbeiten mit den Daten in einen Buffer schreiben
         currentFile\contents = currentFile\contents + ReadLine$( fileHandle ) + Chr$( $0D ) + Chr$( $0A )
      Wend
   End If
End Function

;INIReadValue---------------------------------

Function INIReadValue$( section$, key$, defaultValue$ = "" )
   section = "[" + Trim$( section ) + "]"
   ;key = Trim$( key )
   Contents$ = currentFile\contents
   val$ = ""

   sectionPos% = Instr( Contents, section )
   
   If ( sectionPos <> 0 )
      keyPos% = Instr( Contents, key, ( sectionPos + Len( section ) ) )   

      If ( keyPos <> 0 And Asc( key ) <> 13 And Asc( key ) <> 10 )   
         ;Pruefen ob es sich wirklich um einen Schluessel handelt
         If ( Mid( Contents, keyPos+Len( key ), 1 ) <> "=" )
            While ( Mid( Contents, keyPos+Len( key ), 1 ) <> "=" And keyPos <> 0 )
               keyPos = Instr( Contents, key, keyPos + 1 )
            Wend
         End If
         
         startPos% = Instr( Contents, "=", ( keyPos + 1 ) )
         
         If ( startPos <> 0 )
            endPos = Instr( Contents, Chr$( $0D ), ( startPos + 1 ) )
            
            val = Trim$( Mid$( currentFile\contents, startPos + 1, endPos - startPos - 1 ) )
            
            Return val
         End If   
      End If
   End If
   
   Return defaultValue
End Function


Genau, vielleicht hilft dir das ja weiter! Smile

grüße
http://bl4ckd0g.funpic.de

Flori-D

BeitragMo, Okt 11, 2004 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx an alle habe nun das Userlib von Bltzcoder.com is klasse.
Aba trotzdem danke an alle die sich mühe gemacht haben^^.


Mfg Flori-D
BB is Macht!

Homepage: www.flori-d.de

theBlade

BeitragMo, Okt 11, 2004 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
*grabrechte-schein zück*

alternativ kann man ja auch zeile für zeile einfach auslesen und dann die zeile in der der wert steht interpretieren (gleichzeichen etc wegdingsen etc). man weiss ja ganz genau wo der wert steht Smile

nicht die schönste lösung, aber eine die funktioniert (solange man in der ini nicht plötzlich was ändert Wink )
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)

UTFSB -> (use the fuckin "suchen"-button)

User posted image <- link -.-

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group