Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 17.09.2006, 22:52 Titel: Dateien mit der Endung .INI |
|
|
Hallo!
Ich habe mal eine spezielle Frage!
Es gibt ja Dateien mit der Endung .INI wie TEST.INI und wollte wissen wie man spezielle Werte von so einer Datei in Qbasic auslesen kann bzw. in so eine Datei reinschreiben kann wenn es mehrere Werte sind!!!
Dass es geht weiß ich ja bereits aber wie genau weiß ich nicht!
Habe irgendwo mal so einen Beispielcode gesehen und weiß leider nicht mehr wo!
Ich wäre euch dankbar für eure Hilfe!
Soll nur euch zu Gute kommen. (PS. ist für ein tolles Projekt)
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 17.09.2006, 23:55 Titel: |
|
|
les mal die referenz zu OPEN  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 18.09.2006, 08:23 Titel: |
|
|
Also das INI-Dateiformat kommt bekanntlich aus der Windows 3.1x-Zeit und diente dort seinerzeit als Vorläufer für die Registry.
Syntaktisch ist eine INI-Datei natürlich sehr einfach aufgebaut. Ich kann sonst einmal eine vereinfachte EBNF-Syntax zusammenstellen:
EBNF INI-Datei hat Folgendes geschrieben: | INIDatei ::= Abschnitt { Abschnitt }
Abschnitt ::= "[" Bezeichner "]" CRLF { Eintrag } { CRLF }
Eintrag ::= Bezeichner "=" Wert CRLF
Bezeichner ::= AlphaNum { AlphaNum }
Wert ::= ASCIIZeichen { ASCIIZeichen }
AlphaNum ::= (jedes für Variablem usw. gültige Zeichen)
ASCIIZeichen ::= (jedes beliebige ASCII-Zeichen)
CRLF ::= Zeilenende (CHR$(13)+CHR$(10)) |
Beispiel dazu:
Code: | [Lizenz]
Serienr=01293-2029389-20394-2334
Lizenznehmer=Hans Muster
Registrierdatum=12.07.2004
[Desktop]
Aufloesung=1024x768
Farbtiefe=24
Schriftgroesse=12pt |
@ALWIM: In Deinem Fall musst Du also einen kleinen Parser implementieren, der nach obiger Syntax arbeitet. Dazu brauchst Du sicher OPEN und CLOSE sowie LINE INPUT# für das zeilenweise (=CRLF als Trennzeichen) Einlesen. Für das Parsing einer Zeile ist noch INSTR() notwendig, um speziell das Schlüssel und Wert trennende "=" zu finden. Ebenso wirst Du sicher SELECT CASE benötigen, um eine dem Schlüssel entsprechende Behandlung zu ermöglichen.
Bei Bedarf kann ich sonst am Abend noch einen Beispielcode dazu posten. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.09.2006, 21:29 Titel: |
|
|
so wie ich seinen turmyboy-thread verfolge, bruacht er das noch nicht mal...
alwim, du kannst in INI-Dateien schreiben, was du willst. genauso wie in BPX,WUR,KAM oder sonstige dateitypen, die es vlt gar nicht gibt einfach mit OPEN arbeiten... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|