Habe bei meinem Programm jetzt folgendes Problem...wenn am Ende die beiden Strings verglichen werden und sie übereinstimmen wird trotzdem "Falsch!" angezeigt!
Suche schon länger nach dem Fehler aber finde ihn nicht
Findet ihn hier jemand?
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 = true then
begin
AssignFile(F, OpnDlgVokabelliste.FileName);
{$I-}
Reset(F);
{$I+}
if IOResult = 0 then
begin
For i := 0 to (Zahl*2) do
begin
ReadLn(F, S);
end;
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 = true then
begin
AssignFile(F, OpnDlgVokabelliste.FileName);
{$I-}
Reset(F);
{$I+}
if IOResult = 0 then
begin
For i := 0 to ((Zahl*2)+1) do
begin
ReadLn(F, Ergebnis);
end;
CloseFile(F);
end;
if SameText(S,Ergebnis) then {Strings werden verglichen}
begin
Richtig := true;
end
else
Richtig := false;
end;
//Ergebnis Vokabel-Ladevorgang abgeschlossen************************************
if Richtig = true then
begin
EdtErgebnis.Visible := true;
EdtErgebnis.Text := 'Richtig!';
end;
if Richtig = false then
begin
EdtErgebnis.Visible := true;
EdtErgebnis.Text := 'Falsch!';
end;
// es wird immer "Falsch" angezeigt!!
end;
end.