Autor Beitrag
wurstuk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 77

Win XP, Ubuntu
Delphi 7 personal
BeitragVerfasst: Di 23.09.08 15:17 
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^^


ausblenden volle Höhe 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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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// hier wird immer der Fehler angezeigt.
end.



Hoffe ihr könnt mir Helfen

Falls i-was nicht klar ist beantworte ich gerne fragen^^

mfg

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt


Zuletzt bearbeitet von wurstuk am Di 23.09.08 15:58, insgesamt 2-mal bearbeitet
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: 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).

_________________
Na denn, dann. Bis dann, denn.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:

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 user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

Viele Grüße,
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
wazup
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 101

Windows XP
Delphi 2009
BeitragVerfasst: Di 23.09.08 15:57 
Zu einem Try gehört immer Finally oder Except und eine End; und das sieht dann so aus:

ausblenden 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// hier wird immer der Fehler angezeigt.
wurstuk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 77

Win XP, Ubuntu
Delphi 7 personal
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: 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);

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Di 23.09.08 16:10 
Hi,

Am besten du schaust dir mal den Crashkurs von Christian S. an, der ist zum Einstieg sehr gut geeignet :D

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
wazup
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 101

Windows XP
Delphi 2009
BeitragVerfasst: Di 23.09.08 17:07 
user profile iconelundril 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  if not (Key in ['0'..'9'#8]) then
  begin
    Key := #0;
    Beep;
  end;