@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.