Einzelnen Beitrag anzeigen

mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Wie Dateizeiger auf bestimmte Position in Textdatei setz

  Alt 2. Apr 2007, 22:57
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.
  Mit Zitat antworten Zitat