Entwickler-Ecke
Sonstiges (Delphi) - Delphi zeigt einen Fehler bei end; and wodrann liegts?
wurstuk - Di 23.09.08 15:17
Titel: Delphi zeigt einen Fehler bei end; and wodrann liegts?
Hi ich habe gerade mit Delphi angefangen und wollte mein erstes eigenes Programm schreiben^^ erst ging auch alles gut blos dann wurde immer so eine Fehler Meldung angezeigt. I-wie immer sowas mit im Quelltext ist kein "END." vorhanden und auch kein
"initialzierung" oder so^^
Also ich wollte ein Programm machen indem der PC nach einer zahl zwischen 1 und 10 rät.
sry aber ich weiß nicht wie mann so cool den Quelltext einfügt deshalb mach ich es einfach so^^
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; Label2: TLabel; Label3: TLabel; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); private public end; const max = 6; var eingabe, zufall, versuche: integer; spielende: boolean; Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin randomize; zufall := random(10) + 1; spielende := false; button2.visible := false; edit1.setfocus;
end;
procedure TForm1.Button1Click(Sender: TObject); begin try eingabe := strtoint(edit1.Text); inc (versuche); if eingabe = zufall then label1.Caption := 'Richtig!!!'; if zufall <> eingabe then Label1.Caption := 'Rate nochmal!'; if versuche <= max then Label2.Caption := inttostr(versuche) + ' Versuch'; if versuche > max then Label2.Caption := 'Es Reicht!'; if zufall <> eingabe then Button1.caption := 'PC nochmal raten lassen!'; if (zufall = eingabe) or (versuche > max) then begin button1.visible := false; end; if zufall = eingabe then button2.Visible := true; spielende := false;
end; end. |
Hoffe ihr könnt mir Helfen
Falls i-was nicht klar ist beantworte ich gerne fragen^^
mfg
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
alzaimar - Di 23.09.08 15:24
1. Zu Posten von Code verwendest Du am besten die Delphi-Tags: Quelltext markieren und oben rechts neben dem 'Delphi' auf das Plus klicken.
2. Du solltest deinen Code einrücken: Bei jedem "begin" 2 nach rechts, bei jedem 'End' 2 nach links.
Dann findest Du den Fehler von ganz alleine (da dürfte ein 'End' zu viel sein).
Christian S. - Di 23.09.08 15:27
Hallo,
bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
1.2 Beiträge: |
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

oder

klicken und den Titel ändern. Danke Dir!
Viele Grüße,
Christian
wazup - Di 23.09.08 15:57
Zu einem Try gehört immer Finally oder Except und eine End; und das sieht dann so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure TForm1.Button1Click(Sender: TObject); begin try eingabe := strtoint(edit1.Text); inc (versuche); if eingabe = zufall then label1.Caption := 'Richtig!!!'; if zufall <> eingabe then Label1.Caption := 'Rate nochmal!'; if versuche <= max then Label2.Caption := inttostr(versuche) + ' Versuch'; if versuche > max then Label2.Caption := 'Es Reicht!'; if zufall <> eingabe then Button1.caption := 'PC nochmal raten lassen!'; if (zufall = eingabe) or (versuche > max) then begin button1.visible := false; end; if zufall = eingabe then button2.Visible := true;
spielende := false; finally
end; end; |
wurstuk - Di 23.09.08 16:02
Danke an alle^^
Ich hoffe der Titel ist jetzt besser^^
diss mit dem einrücken hab ich nicht ganz verstanden kannst du vllt ein beispiel machen?^^ sry
Diss Probleme ist jedenfalls gelöst^^ Es hat blos ein end; gefehlt^^
Vielen Dank
elundril - Di 23.09.08 16:03
ich würde aber eher sagen ein except weil er sicher versucht den fehler der da rauskommt abzufangen: eingabe := strtoint(edit1.Text);
wazup - Di 23.09.08 17:07
elundril hat folgendes geschrieben: |
ich würde aber eher sagen ein except weil er sicher versucht den fehler der da rauskommt abzufangen: eingabe := strtoint(edit1.Text); |
Dann könnte er im OnKeyPress-Event speziel Tasten abfangen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| if not (Key in ['0'..'9', #8]) then begin Key := #0; Beep; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!