Zahlenvergleich

HarryXVI

Erfahrenes Mitglied
Ich habe ein Editfeld. wenn ich eine Zahl eingebe und Enter drücke, soll das Programm sie speichern und mit der Zahl, die der Computer vorher mit Zufallsgenerator ermittelt hat, vergleichen. Dann soll der Computer bei einer eingegebenen großen Zahl eine größere Zahl angeben, bei einer niedrigen die echte Zahl.

Das ist sehr komplex, aber vielleicht könnt ihr mir die Einzelschritte (Eingabe, Vergleich, Ausgabe) erklären. Code wäre sehr hilfreich, denn ich weiß auch nicht, welche Prozedur ich beim Editfeld anwenden soll.
 
Hi,

du kannst die eingegebene Zahl mit der StrToInt()-Funktion (siehe Onlinehilfe) in einen Integer-Wert umwandeln und diese dann mit deiner Zufallszahl vergleichen:

Code:
var
    zufall: Integer;
    eingabe: Integer;
begin
    // Zufallszahl erzeugen
    eingabe := StrToInt(TextBox1.Text);
    if eingabe > zufall then
    begin
        // Die Eingabe ist größer als die Zufallszahl
    end
    else
        // Die Eingabe ist kleiner als oder gleich groß wie die Zufallszahl
    end;
end;

Du solltest auch noch darauf achten, dass StrToInt() bei nicht numerischen Eingaben eine Exception vom Typ EConvertError wirft. Diesen Fall solltest du ggf. noch abfangen.

Grüße, D.
 
Gut, das wäre schon mal der Vergleich...Aber wie funktioniert jetzt die Eingabe genau?

1. Ich habe jetzt als Eingabefeld ein Editfeld genommen und die Procedure "OnEnter".
Da habe ich deinen Code eingefügt. Richtig so?

2.
Code:
eingabe := StrToInt(Eingabe.Text);
Eingabe ist mein Editfeld. Warum sagt der Compiler: "Record, Objekt oder Klassentyp fehlt"?
 
Hi!

1. Nein, das ist so nicht ganz richtig. Das OnEnter-Ereignis wird ausgelöst, wenn das TEdit den Fokus bekommt (also, wenn du den Cursor in das TEdit setzt). Am besten wäre es, wenn du einen Button auf das Formular ziehst und in dessen OnClick-Ereignis deinen Code schreibst. Damit kannst du sicher gehen, dass erst beim Anklicken des Buttons der Inhalt des TEdits ausgewertet wird.

2. Zeig am besten mal etwas mehr Code und sag uns noch, in welcher Zeile der Compiler den Fehler findet.

Insgesamt würde ich dir aber empfehlen, dich erstmal in die Programmiersprache einzuarbeiten, die dahinter liegt. Einen guten Einstieg bietet der Delphi-Treff.

Grüße, D.
 
Zurück