Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Records/Vokabeltrainer (https://www.delphipraxis.net/88169-records-vokabeltrainer.html)

moprotz 18. Mär 2007 14:15

Re: Records/Vokabeltrainer
 
Hilfe, ich bin immo total am verzweifeln, jetzt funktioniert irgendwie garnix mehr.
Also ersteinmal zu den Random-Zahlen, also ich hab jetzt noch zusätzlich in meinen Record eine variable pruefen vom typen boolean da reingepackt. Aber irgendwie funktioniert das nicht, mien quelltext sieht da so aus:
Delphi-Quellcode:
If checkbox1.Checked
  then
    begin
      label4.Visible:=false;
      nr:=random (filesize(datei)-1);
      seek(datei,nr);
      read(datei,vok);
      while vok.pruefen=true do
      begin
      edit1.text := vok.englisch;
      label4.Caption:= vok.deutsch;
      shape1.brush.Color:=clwhite;
      vok.pruefen:=false;
      end
    end
Anfangs ist ja eine boolsche Variable auf true gesetzt, wenn nicht, wie kann ich das denn dann machn, dass alle anfangs auf true gesetzt werden, und ich dannach jede einzelne die schon aufgegriffen wurde auf false gesetzt wird. Wär nett wenn mir jdm das im quelltext zeigen könnte.

Und hier ist der Quelltext um die Lektionen aufzugreifen:
Delphi-Quellcode:
if checkbox2.Checked
  then
    begin
      a:=strtoint(edit3.text);
      for i:=nr to filesize(datei)-1 do
       begin
        nr:=i;
        seek(datei,nr);
        read(datei,vok);
        if vok.lektion=a
          then
            begin
             edit1.text:=vok.englisch;
             label4.caption:=vok.deutsch;
             shape1.brush.Color:=clwhite;
            end
       end
    end
Irgendwie krieg ich das nicht hin, dass der dann dort nur die Lektion, die man im editfeld eingibt, ausgibt.

Klaus01 18. Mär 2007 14:39

Re: Records/Vokabeltrainer
 
Hallo und einen schönen Sonntagnachmittag,

habe mal ewtas an Deinem Code geändert und auch Kommentare hinterlassen

Delphi-Quellcode:
If checkbox1.Checked then
  begin
    label4.Visible:=false;
    nr:=random (filesize(datei)-1);
    seek(datei,nr);
    read(datei,vok);
    while not vok.pruefen do // hier vielleicht noch etwas einbauen, das nach x Versuchen die Schleife abgebrochen wird
      begin
        nr:=random (filesize(datei)-1);
        seek(datei,nr);
        read(datei,vok);
      end;
    edit1.text := vok.englisch;
    label4.Caption:= vok.deutsch;
    shape1.brush.Color:=clwhite;
    vok.pruefen:=false;

  end
Delphi-Quellcode:
if checkbox2.Checked then
  begin
    a:=strtoint(edit3.text);
    for i:=nr to filesize(datei)-1 do
      begin
        nr:=i;
        seek(datei,nr);
        read(datei,vok);
        if vok.lektion = a then
          begin
            edit1.text:=vok.englisch;
            label4.caption:=vok.deutsch;
            shape1.brush.Color:=clwhite;
          end
        else
          // etwas tun wenn die Lektion nicht a ist
      end
   end
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Seite 2 von 2     12   

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