Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI auslesen. (https://www.delphipraxis.net/43181-ini-auslesen.html)

hummer 30. Mär 2005 10:41


INI auslesen.
 
Hallo!
Ich bin dabei ein Quizz zu programmieren im Stil von "Wer wird Millionär". Ist eine Aufgabe ausm Informatikunterricht. Die Fragen hab ich alle in eine INI Datei geschrieben. Jetzt ist mein Problem wie ich die Fragen auslesen kann.
Normalerweise ist eine INI ja so aufgebaut.
Code:
[Einstellungen]
IP Adresse=192.168.1.200
Benutzername=
Passwort=
Das kann ich dann so auslesen:
Delphi-Quellcode:
  with TIniFile.Create(ExtractFilePath(ParamStr(0)) +  'Einstellungen.ini') do
   try
    eAdress.Text := ReadString('Einstellungen', 'IP Adresse', '');
    eUser.Text := ReadString('Einstellungen', 'Benutzername', '');
    ePassword.Text := ReadString('Einstellungen', 'Passwort', '');
   finally
    //Ini wird freigegeben
    Free;
  end;
Meine INI Datei ist jetzt in mehreren Kategorien unterteilt.
Code:
[50Euro]
[Frage1]
Frage=
A=
B=
C=
D=
Richtig=
[Frage2]
...
[100Euro]
[Frage1]
Frage=
A=
B=
C=
D=
Richtig=
[Frage2]
...
Wie kann ich jetzt hierbei z.B. die 2. Frage aus der 100 Euro Kategorie auslesen? Oder geht das gar nicht? Ich habe dann für jede Preiskategorie ein Array von einem Record und möchte die Fragen beim starten des Programms einlesen.
Vielen Dank schonmal.

LoL 30. Mär 2005 10:43

Re: INI auslesen.
 
Das geht nicht da jede Section einzigartig sein muss!

TheAn00bis 30. Mär 2005 10:45

Re: INI auslesen.
 
Du kannst die Frage nicht in weitere Punkte zergliedern, sondern ihr nur einen Wert zuordnen.

Edit: Zu spät und etwas weniger professionell ;)

Vjay 30. Mär 2005 10:47

Re: INI auslesen.
 
Ini Dateien sind zweidimensional aufgebaut, d.h. eine Sektion + ihre Einträge.
So wie du das vor hast könntest du dir mal XML anschauen.

hummer 30. Mär 2005 11:13

Re: INI auslesen.
 
Gut dann muss ich die INI so umbauen, dass sie 2 dimensional ist. Um mich jezt noch mit XML zu beschäftigen ist es wohl schon zu spät. MUss das bis Sonntag haben. Oder ist das mit XML nich so schwierig, dass ich das noch hinbekommen kann?

LoL 30. Mär 2005 11:16

Re: INI auslesen.
 
Meiner Bescheidenen Meinung nach ist dafür eine Ini sowieso etwas unglücklich gewählt. Ist nicht ein Record-File besser?

Michael_Bayer 30. Mär 2005 11:16

Re: INI auslesen.
 
Zitat:

Zitat von hummer
...dass ich das noch hinbekommen kann?

Eher nicht.
Ich würd ja ein RDBMS nehmen :coder:

Steve 30. Mär 2005 11:17

Re: INI auslesen.
 
Hi,
Zitat:

Zitat von hummer
Gut dann muss ich die INI so umbauen, dass sie 2 dimensional ist. [...]

Du kannst bspw. die Bezeichner zusammensetzen:
Code:
[50Euro]
Frage_1=Was ist DP?
A_1=
B_1=
...
Frage_94=...

[100Euro]
...
Und damit kannste via 'Frage_'+IntToStr(BlaBlubb) und 'A_'... zugreifen
Reicht für die Voraussetzungen aus, denk ich :)

Gruß
Stephan :dance:

hummer 30. Mär 2005 11:19

Re: INI auslesen.
 
@Steve: VIelen Dank. Das ist eine gute Idee. So werde ich es machen.

TeronG 30. Mär 2005 11:21

Re: INI auslesen.
 
Hi
Zitat:

Zitat von hummer
Gut dann muss ich die INI so umbauen, dass sie 2 dimensional ist. [...]

Oder die 3te Dimension durch mehrere Ini's realisieren ..... :gruebel: (wenn schon ini und nicht XML/mdb)

TheAn00bis 30. Mär 2005 12:29

Re: INI auslesen.
 
Zitat:

Zitat von hummer
Gut dann muss ich die INI so umbauen, dass sie 2 dimensional ist. Um mich jezt noch mit XML zu beschäftigen ist es wohl schon zu spät. MUss das bis Sonntag haben. Oder ist das mit XML nich so schwierig, dass ich das noch hinbekommen kann?

Doch, würdest du sicherlich ohne Probleme schaffen: http://www.dsdt.info/tutorials/xmlserialfcl/ Bei dem Tutorial braucht man so gut wie keine Vorkenntnisse. Ich denke das System hat man dabei in 10Minuten raus und dann ist die Umsetzung ja kein Problem mehr.

Echt gut, dass es solche Seiten gibt...

3_of_8 30. Mär 2005 17:19

Re: INI auslesen.
 
Wie bereits gesagt, eine typisierte Datei ist da wohl besser, ich hab schon mal ein Quiz programmiert. Schwieriger als ein Quiz ist eigentlich einen Editor zu programmieren. Wenn du da Hilfe brauchen solltest, schick mir eine PN und ich geb dir ein paar Sources. Das Problem bei typisierten Dateien ist vor allem dass Strings begrenzt werden müssen.

TheAn00bis 29. Sep 2005 16:24

Re: INI auslesen.
 
Zitat:

Zitat von 3_of_8
Das Problem bei typisierten Dateien ist vor allem dass Strings begrenzt werden müssen.

Sry, dass ich das alte Thema ausgrabe, aber da ich mich auch gerade mit typisierten Dateien beschäftige frage ich mich, warum das ein Problem ist. Ich kann die Strings doch einfach relativ groß wählen und dann den nicht benötigten Platz freilassen, oder? Ist doch bei heutigen Rechnern kein Problem? Oder müssen die Strings voll ausgefüllt sein?

Khabarakh 29. Sep 2005 16:35

Re: INI auslesen.
 
Das Problem ist, dass ein ShortString maximal nur 255 Zeichen haben kann. Und auch wenn es mit AnsiStrings funktionieren würde, wären z.B. immer 1000 Zeichen Speicherbedarf bei beliebigem Inhalt doch etwas unflexibel :wink: .

TheAn00bis 29. Sep 2005 16:43

Re: INI auslesen.
 
OH, danke. Überzeugt. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz