Einzelnen Beitrag anzeigen

Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: Funktion für Galgenraten will nicht Funktionieren :(

  Alt 21. Dez 2004, 13:45
Ein paar Verbesserungen für deinen Code, falls du zu einem Punkt fragen hast, dann kann man dir bestimmt auch ein Beispiel geben:
  • Pack die globalen Variablen in den "private"-Bereich der Form und fülle sie im onCreate mit Werten.
  • Statt "Variable := Variable + 1;" zum erhöhen, nimm besser immer "Inc(Variable)". Das gleiche gilt für Minus, dort würdest du "Dec" nehmen.
  • Du willst deiner Funktion "buchstabe" zwar im Code den Buchstaben in der Variable "a" als Parameter übergeben, hast aber in der Funktion selber keine Parameter angegeben.
  • Die Funktion "buchstabe" könntest du vereinfachen:
    Delphi-Quellcode:
    Function buchstabe(const AChar: Char) : Boolean;
    begin
      Result := (Pos(AChar, Wort[i]) > 0);
    end;
  • Was ist Wort[i]? Du hast zwar zwei Variablen "wort" und "wort1", aber du müsstest ein Array anlegen, um dort per Index auf ein Element zugreifen zu können.
  • Du hast nirgendwo die Variable "i" deklariert, welche du aber für den Zugriff auf "Wort[i]" nutzen wolltest.
  • Du brauchst eine Booleanvariable nicht auf "True" oder "False" zu prüfen, hier ein Beispiel:
    Delphi-Quellcode:
    //statt
    if Variable = True then
    //schreibe
    if Variable then

    //statt
    if Variable = False then
    //schreibe
    if not Variable then
  • Du willst wohl mit "a := Lowercase(Edit1.Text)[1];" das erste Zeichen aus dem Edit auslesen. Dazu müsstest du den Text aber erst in einem String speichern, denn erst dann kannst du per Index auf ein Zeichen zugreifen.
  • Nim statt OnActive der Form OnCreate.

MfG Pr0g

Edit: hab wohl ein bisschen lange mit dem Schreiben gebraucht
  Mit Zitat antworten Zitat