Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit einer ini-Abfrage (https://www.delphipraxis.net/47348-problem-mit-einer-ini-abfrage.html)

ZERO_COOL 9. Jun 2005 18:31


Problem mit einer ini-Abfrage
 
Ich habe diese Abfrage:
if ((Form5.Edit1.Text = ini.ReadString(Wort2, 'Bedeutung1',Form5.edit1.text)) or (Form5.Edit1.Text =ini.ReadString(Wort2, 'Bedeutung2',Form5.edit1.text)) or (Form5.Edit1.Text =ini.ReadString(Wort2, 'Bedeutung3',Form5.edit1.text))) then ... else ...


Ich habe eine Abfrage die Prüfen soll ob das eingegebene Wort gleich einen der ini Einträge ist.
Das Problem ist wenn nur Bedeutung1 einen String enthält und Bedeutung2 und 3 lehr sind gibt diese Abfrage immer aus das der eingegebene String = dem gespeicherten String ist, auch wenn dies nicht mal der Fall ist. Wenn eines der anderen belegt ist passiert das nicht.

Ich hoffe, dass jemand eine Lösung für mein Problem hat.

Speedmaster 9. Jun 2005 18:36

Re: Problem mit einer ini-Abfrage
 
Bitte setzt den Quelltext in Zukunft in Delphi Tags!

Sonst würde ich einfach dahintersetzen:
Delphi-Quellcode:
if (((Form5.Edit1.Text = ini.ReadString(Wort2, 'Bedeutung1',Form5.edit1.text) and ini.ReadString(Wort2, 'Bedeutung1',Form5.edit1.text <> '').............
Ach ja, ich vermute das wird ein Vokabeltrainier richtig?
Such mal im Forum nach Vokabeltrainer, du wirst einen Thread finden wo jemand sowas geschrieben hat, und der letzte Post ist von mir, und Zeit einen Unfertigen Quelltext eines Vokabeltrainers!

Edit: Bitte Benutz keine Ini's, den Fehler hjabe ich auch mal gemacht. Und benutz auch TMemIniFiles wenn du schon Ini willst!
Edit2: Wie kommmst du zu einer Delphi 2005 Architekt?

Marco Haffner 9. Jun 2005 19:09

Re: Problem mit einer ini-Abfrage
 
1. Beitrag editieren und Delphi Tags setzten.
2. In Zukunft Delphi Tags verwenden.
3. Die Delphi-OH verwenden und nach Delphi-Referenz durchsuchenTIniFile.ReadString Method suchen, da wird Dein Problem ausführlich erklärt.

Khabarakh 9. Jun 2005 19:14

Re: Problem mit einer ini-Abfrage
 
@DGL-Luke: Warum keine Inis? Gut, für solche "Array"-Daten vielleicht nicht, aber für Einstellungen sicher besser als irgendwelche Schlüssel, die bis zur nächsten Formatierung in der Registry hängen.
Edit2 frage ich mich aber auch :wink: .

@Topic: Ich würde das ganze etwas umgestalten:
Delphi-Quellcode:
function IsRightAnswer: Boolean;
var
  i: Integer;
  s : string;
begin
  i := 1;
  Result := false;
  repeat
    s := ini.ReadString(Format('Wort%d', [VocIndex]), Format('Bedeutung%d', [i]), '');
    if Edit1.Text = s then
    begin
      Result := true;
      Break;
    end;
  until s = ''
end;

marabu 9. Jun 2005 19:24

Re: Problem mit einer ini-Abfrage
 
Hallo,

Zitat:

Zitat von ZERO_COOL
Das Problem ist wenn nur Bedeutung1 einen String enthält und Bedeutung2 und 3 lehr sind gibt diese Abfrage immer aus das der eingegebene String = dem gespeicherten String ist, auch wenn dies nicht mal der Fall ist.

du wirst dein Programm bestimmt noch mehrfach umschreiben - aber dein Fehler hier ist, dass du dir bei fehlendem Wert in der Ini-Datei ersatzweise die korrekte Antwort zurückgeben lässt. Besser so:

Delphi-Quellcode:
if (Form5.Edit1.Text = ini.ReadString(Wort2, 'Bedeutung1', '')) or ...
Grüße vom marabu

Speedmaster 9. Jun 2005 19:29

Re: Problem mit einer ini-Abfrage
 
Zitat:

Zitat von Khabarakh
@DGL-Luke: Warum keine Inis? Gut, für solche "Array"-Daten vielleicht nicht, aber für Einstellungen sicher besser als irgendwelche Schlüssel, die bis zur nächsten Formatierung in der Registry hängen.
Edit2 frage ich mich aber auch :wink: .

Wusste garnicht das ich DGL-Luke bin, und zum Thema warum keine Ini's: Sind schlecht Strukturiert!

malo 9. Jun 2005 19:32

Re: Problem mit einer ini-Abfrage
 
Zitat:

Zitat von Speedmaster
zum Thema warum keine Ini's: Sind schlecht Strukturiert!

Aha. Und wo genau sind sie das? Ich finde .ini's strukturiert genug, um ein paar Einstellungen zu speichern. Welche Alternative kennst du denn sont? txt-Files? Registry? XML-Dateien? Oder gar Datenbanken? :shock:

Speedmaster 9. Jun 2005 19:34

Re: Problem mit einer ini-Abfrage
 
Zitat:

Zitat von malo
Zitat:

Zitat von Speedmaster
zum Thema warum keine Ini's: Sind schlecht Strukturiert!

Aha. Und wo genau sind sie das? Ich finde .ini's strukturiert genug, um ein paar Einstellungen zu speichern. Welche Alternative kennst du denn sont? txt-Files? Registry? XML-Dateien? Oder gar Datenbanken? :shock:

Gleich killt mich Lucky wieder wegen Thema verfehlt, aber was solls! XML ist sicherlich eine gute Wahl!
Sicherlich, man kann ein paar Einstellungen abspeichern, aber er macht anscheinend einen Vokabeltrainer, und aus Erfahrung kann ich sagen: Vergesst die ini, ist veraltet!

marabu 9. Jun 2005 19:50

Re: Problem mit einer ini-Abfrage
 
Hallo Felix,

Zitat:

Zitat von Speedmaster
zum Thema warum keine Ini's: Sind schlecht Strukturiert!
...
Vergesst die ini, ist veraltet!

das sind keine Aussagen, sondern Parolen! Es gilt immer noch der Grundsatz der Angemessenheit. Zero-Cool macht keinen Fehler, wenn er (?) seine Gehversuche mit INI-Dateien macht. Wenn seine Datenmengen das Limit sprengen, kann er sich nach etwas anderem umschauen oder wieder hier fragen.

Leicht verärgerte Grüße vom marabu

malo 9. Jun 2005 19:52

Re: Problem mit einer ini-Abfrage
 
Bitte alle weiteren Kommentare, die sich nicht direkt mit dem Problem befassen, in den Diskussionsthread, den ich dafür eröffnet hab ;)

ZERO_COOL 10. Jun 2005 13:19

Re: Problem mit einer ini-Abfrage
 
@ Speedmaster
Die Delphi 2005 Architekt hab ich nur als Trail Version


Danke für eure Antworten.
So wie es marabu gesagt hat funktionierts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.

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