Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#20

Re: Wie Dateizeiger auf bestimmte Position in Textdatei setz

  Alt 3. Apr 2007, 00:11
@grenzgaenger: SameText prüft unabhängig von der Groß-/Kleinschreibung.

@mo_greene: prüfungen mit =true und =false solltest du dir besser abgewöhnen ...
dieses könnte zu problemem führen
's gibt da schon einige nette themen hier im Forum dazu.

Delphi-Quellcode:
if SameText(S, Ergebnis) then
  begin
    Richtig := true;
  end
    else
      Richtig := false;
Richtig := SameText(S, Ergebnis);
Delphi-Quellcode:
if Richtig = true then
if Richtig = false then
Delphi-Quellcode:
if Richtig then
if not Richtig then
...

PS: hast du mal 'nen breakpoint auf if Richtig = true then gesetzt und nachgesehn welchen Wert Richtig hat?


Delphi-Quellcode:
var
  Form1: TForm1;
  Zahl : Integer;
  Richtig: Boolean;
  S : String;
  Ergebnis : String;

implementation

{$R *.dfm}
{******************************************************************************}
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
  Zahl := Random (4); {Range muss die Hälfte der Vokabeln sein}
  Maskeaktualisieren;
end;
{******************************************************************************}
procedure TForm1.Maskeaktualisieren;
var
  F : Textfile;
  i : Integer;
begin
//Vokabel wird geladen!*********************************************************
  if OpnDlgVokabelliste.Execute then
    begin
      AssignFile(F, OpnDlgVokabelliste.FileName);
      {$I-}
      Reset(F);
      {$I+}
      if IOResult = 0 then
        begin
          For i := 0 to Zahl * 2 do
            ReadLn(F, S);
          CloseFile(F);
          EdtAusgabe.Text := S;
        end
          else
            EdtAusgabe.Text := 'Fehler';
    end;
end;
{******************************************************************************}
procedure TForm1.BtnEndeClick(Sender: TObject);
begin
  Close;
end;
{******************************************************************************}
procedure TForm1.BtnUeberpruefenClick(Sender: TObject);
var
  F : Textfile;
  I : Integer;
begin
//Ergebnis Vokabel wird geladen*************************************************
  if OpnDlgVokabelliste.Execute then
    begin
      AssignFile(F, OpnDlgVokabelliste.FileName);
      {$I-}
      Reset(F);
      {$I+}
      if IOResult = 0 then
        begin
          For i := 0 to Zahl * 2 + 1 do
            ReadLn(F, Ergebnis);
          CloseFile(F);
        end;
//Ergebnis Vokabel-Ladevorgang abgeschlossen************************************
  //if SameText(Trim(S), Trim(Ergebnis)) then {Strings werden verglichen}
  Richtig := SameText(Trim(S), Trim(Ergebnis)); {Strings werden verglichen}
  if Richtig then
    EdtErgebnis.Text := 'Richtig!'
  else
    EdtErgebnis.Text := 'Falsch!';
  EdtErgebnis.Visible := true;
end;
end.
hab mal einiges überarbeitet ... vorallem SameText(Trim(S), Trim(Ergebnis)) ... Trim bewirkt daß z.B. Leerzeichen keinen Einfluß auf das Ergebnis haben.

Richtig := SameText(Trim(S), Trim(Ergebnis)); hier mal prüfen was in S und Ergebnis drin steht und danach eventuell nochmal nach Richtig sehn.
$2B or not $2B
  Mit Zitat antworten Zitat