ini-file lesen

Anfängerfragen zum Programmieren mit PureBasic.
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

ini-file lesen

Beitrag von HoDam »

Zum Teil habe ich hinter den Einträgen Kommentare die mit einem Semikolon abgetrennt sind.
Das Problem: Beim Auslesen wir die ganze Zeile hinter dem "=" ausgelesen.
Möchte aber nur, falls ein Kommentar vorhanden ist , nur zwischen "=" und ";" gelesen wird. Ausserdem müssen die Leerzeichen zwischen dem letzten Charakter und dem Semikolon gelöscht werden.

Ich benutze die Libary die mit folgenden Befehlen arbeitet:
OpenPreferences()
PreferenceGroup()
ReadPreferenceString()
Ich hatte mich dafür entschieden, da ich hier im Vorfeld die Sektion (Preferencegroup) definieren kann und sie nicht jedesmal mit eingeben muss)

Hatt jemand eine Idee?

Dankeschön
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mit Stringfield sollte das zu lösen sein:

Code: Alles auswählen

Ergebnis$ = Trim(StringField(ReadPreferenceString(Keyword$,StandardWert$), 1, ";"))
ungetestet
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

Dankeschön, funktioniert
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

da war ich etwas vorschnell.

Die Funktion Trimfunktioniert, wenn da wirklich Leerzeichen sind, allerdings habe ich ein TAB-Zeichen (oder auch mehrere ).

Habe versucht was mit dem RemoveString zu machen. Aber da komme ich nicht weiter.

Kann ich bei RemoveSTring auch ein Asciicode angeben?.

Danke für eure Hilfe

Grüße
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Kann ich bei RemoveSTring auch ein Asciicode angeben?.

klar!

Code: Alles auswählen

RemoveString(DeinString$, Chr(9))
Grüße ... Kiffi
a²+b²=mc²
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

so jetzt funktioniert es:
LogINI$= Trim(StringField(RemoveString(ReadPreferenceString("LogINI",""),Chr(9)), 1, ";"))



Habe noch mal eine andere Frage:
Komme irgrendwie nicht mit dem $ und .s ganz klar


Login$ dann muss ich für die if bedingung = 1 eingeben
Login.s dann muss ich für die if bedingung = "1" eingeben

String ist String ?
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Login$ dann muss ich für die if bedingung = 1 eingeben

nein. Das $-Zeichen kennzeichnet die Variable als String. Anders als bei der
Deklaration mit .s musst Du allerdings darauf achen, dass Du im weiteren
Verlauf der Variablennutzung immer das $-Zeichen mitschreibst.

Code: Alles auswählen

MeinString$ = "Hallo"
Debug MeinString$  ; <- richtig
Debug MeinString   ; <- falsch!

MeinAndererString.s = "Hallo"
Debug MeinAndererString
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Warum gibt es sowas wie Variable$ nicht auch für Floats?
Wenn schon denn schon. :allright:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Weil das nur für die Gewohnheitstiere ist die sich net umstelen wollen. Eigendlich is es völlig unnötig :D
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Batze hat geschrieben:Warum gibt es sowas wie Variable$ nicht auch für Floats?
Wenn schon denn schon. :allright:
$ als Suffix gabs schon in den allerersten Basic Dialekten. Alle weiteren Suffix-Definitionen in anderen Basic Dialekten weichen voneinander ab, so das es IMHO besser ist, für Floats keinen solchen Suffix zu haben.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten