Einzelnen Beitrag anzeigen

oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#5

Re: Vokabeltrainer Abfrageprobleme.

  Alt 27. Jun 2008, 05:51
Hi Lasse
Mag ja sein, das du von uns Hilfe erwartest, nur verstehe, du erwartest, das wir uns in einem Code durchfummeln der nix von Formatierung und übersichtlicher Gestaltung hat. Du selbst blickst auch besser durch, wenn du einmal das viel zitierte und doch sowenig beachtete Einrücken der Begin und End Bereiche anwendest.
BSP.

Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var auswahl, gessum : integer;
    sprach1, sprach2, eingabe : string;
    richtanz : Boolean;
[b]label 1; [/b] // ????? Was ist das ?
begin
  ZaeleNochAbzuFr(nochabzufr, gessum);
  RandomVokabel(nochabzufr, auswahl);
  if gessum > 0 then
  begin
    ChangeVokabel(auswahl, radiogroup1.ItemIndex, sprache1, sprache2, sprach1,sprach2);
    [b]1: [/b] // ????? Sprungmarke ? Warum nicht Repeat ?
    begin //
      FrageAb(Vokabel1, Sprach1, Sprach2, Eingabe);
      VergleicheVokabel(eingabe, vokabel2, checkbox1.checked, fehler, richtanz);
    if (not richtanz) and (eingabe <> '') then goto 1;
// und hier Until und zurückrücken
   // Until (richtanz) or(eingabe =''); geänderte Logik !
      if eingabe <> 'then
      begin
        ShowMessage(sprach1 + ' - '+ sprach2 +#10#13+ vokabel1 + ' - '+vokabel2+#10#13+'Es werden noch '+inttostr(gessum)+' Vokabeln abgefragt.'+#10#13+'Du hast '+inttostr(fehler) {Hier zeigt sich der Fehler.} +' falsche Buchstaben eingegeben.');
      end; // Eingabe erfolgt
    end; // Falsch ! da 1: Begin keinen Sinn macht
  end; // Gessum gültig ( oder was auch immer )
end;
Die Zeile ShowMessage ist auch ziemlich lang, daher nehme ich in solchen Fälle eine Stringvariable zuhilfe und weise sie in mehreren Zeilen zu:
Delphi-Quellcode:
Infotext:=Sprach1+'-'+Sprach2+#13;
Infotext:=Infotext+Vokabel1+'-'+Vokabel2+#13;
Infotext:=Infotext+'Es werden moch..... usw
Ist nicht zwingend notendig, aber es erhöht die Lesbarkeit und je nach Umfang des Programmes ist der Mehraufwand bei Hilfstexten auch gar nicht sooo schlimm.

Auch wenn ich nicht auf dein Problem eingegangen bin, hoffe ich, dir genug Info gegeben zu haben, die dir hilft, den Fehler zu finden. Denk auch dran, das du dein Programm auch im Einzelschritt ausführen und Schritt für Schritt das Ergebnis der einzelnen Anweisungen prüfen kannst. Stichwort Haltepunkt!
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat