Autor Beitrag
Anfänger007
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 20:56 
Ich habe die Aufgabe in der 11. Klasse, ein Projekt zu entwerfen, bei dem 2 Würfel geworfen werden.
Der Einsatz und das Kapital sollen dabei ebenfalls beachtet werden.
Das restliche Kapital ebenfalls, wie ich das darstelle ist mir leider auch nicht bewusst.
Nun kann ich meine Fehler nicht finden, ständig werden mir Fehlermeldungen angezeigt, die ich nicht nachvollziehen kann..
ich bitte um dringende Hilfe!
Danke schon mal im vorraus.


Moderiert von user profile iconGausi: Topic aus Job Börse verschoben am Di 22.06.2010 um 21:07
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 22.06.10 21:08 
Hallo und :welcome: in der Entwickler-Ecke,

nur mit der .dpr-Datei kann man da relativ wenig sagen. Die .pas und .dfm wären auch noch nötig. ;-)

_________________
We are, we were and will not be.
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 21:10 
das heißt jetzt für mich, dass ich unit und project hochladen muss?

vom programmieren habe ich leider sehr wenig ahnung, habe mich mit einer 3 durch das jahr gekämpft :D
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.06.10 21:10 
Warum nennst du uns nicht einfach die Fehlermeldungen und postest die zugehörigen Codestellen?
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 21:12 
ist es in ordnung, wenn ich den ganzen quelltext einfüge, oder nur die passenden stellen?

denn ohne einen überblick könnte ich mir darüber auch nichts vorstellen :)

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

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:
procedure TForm1.Button1Click(Sender: TObject);
var einsatz, faktor, wurf1, wurf2, augensumme, kapital: integer;

begin randomize;
edit1.text:='(Einsatz)';
wurf1:=random(6)+1;
wurf2:=random(6)+1;
augensumme:=wurf1+wurf2;
end;

<span style="color: red">erste fehlermeldung:</span>
<span style="color: red">if</span> augensumme = 2,3,4,5,6 then begin edit1.text:='Einsatz verloren';
faktor:=0end;


if augensumme = 7,8,9 then begin edit1.text:='Einsatz zurück';
faktor:=1end;


if augensumme = 10 then begin
edit1.text:='Einsatz verdoppelt';
faktor:=2end;


if augensumme = 11 then begin
edit1.text:='Einsatz verdreifacht';
faktor:=3end;


if augensumme = 12 then begin
 edit1.text:='Einsatz vervierfacht';
faktor:=4;
end;


if wurf1 = 1 then begin edit1.text:='Eins' ; image1.show; image2.hide; end;
if wurf1 = 2 then begin edit1.text:='Zwei' ; image2.show; image8.hide; end;
if wurf1 = 3 then begin edit1.Text:='Drei' ; image3.show; image9.Hide; end;
if wurf1 = 4 then begin edit1.Text:='Vier' ; image4.Show; image10.Hide; end;
if wurf1 = 5 then begin edit1.Text:='Fünf' ; image5.Show; image11.Hide; end;
edit1.text:=inttostr(faktor*einsatz);
if kapital = 0 then button2.show;


procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button2Click(Sender: TObject);
var kapital: integer;
begin
if kapital=0 then button2.show;
end;

end.


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Georg08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 155
Erhaltene Danke: 6

Win XP
Delphi 7.0 Personal
BeitragVerfasst: Di 22.06.10 21:33 
Kannst du das ganze mal bitte in schöne Delphi-Tags setzen und mir sagen warum da ein If herumschwebt :D
+
Die Fehlermeldung :D

Edit:
Delphi-Tags heißt, dass du vor deinen Code und hinter deinen Code <span class="inlineSyntax"><span class="codecomment">{PROTECTTAGd62d1cc776214060fa2b9d70a8fb830a}</span></span> setzt...


Zuletzt bearbeitet von Georg08 am Di 22.06.10 21:49, insgesamt 1-mal bearbeitet
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 21:47 
wenn die gewürfelte Augenzahl gleich 2..6 ist, dann soll in dem editfeld der text "einsatz verloren" erscheinen.

Fehlermeldung in Delphi: Unit1.pas (62): Deklaration erwartet, aber 'IF' gefunden.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.06.10 21:48 
1. Wo sind jetzt Fehlermeldungen?
2. Guck dir in einem Grundlagentutorial oder in einem Buch mal an, wie man mehrere Bedingungen miteinander verknüpft.
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 22.06.10 21:49 
Hi, in welcher Procedure stehen deine ganzen if Anweisungen?
ich meine die zwischen:
ausblenden Delphi-Quelltext
1:
2:
3:
procedure TForm1.Button1Click(Sender: TObject);
....
end;
und
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
if augensumme = 2,3,4,5,6 then
begin
   edit1.text:='Einsatz verloren'
   faktor:=0;
end


if augensumme = 7,8,9 then
begin
   edit1.text:='Einsatz zurück'
   faktor:=1;
end;

usw.
ausblenden Delphi-Quelltext
1:
2:
3:
procedure TForm1.Button3Click(Sender: TObject); 
.....
end;


Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 22.06.10 21:51 
Schau dir einfach Suche in der Entwickler-Ecke CASE an ;-)

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 21:57 
Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1.
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 22.06.10 22:00 
user profile iconAnfänger007 hat folgendes geschrieben Zum zitierten Posting springen:
Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1.

Schau mal richtig hin :wink: daher auch die Fehlermeldung in Delphi: Unit1.pas (62): Deklaration erwartet, aber 'IF' gefunden

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.06.10 22:01 
user profile iconAnfänger007 hat folgendes geschrieben Zum zitierten Posting springen:
Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1.

Nö:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var 
  einsatz, faktor, wurf1, wurf2, augensumme, kapital: integer;
begin randomize;
  edit1.text:='(Einsatz)';
  wurf1:=random(6)+1;
  wurf2:=random(6)+1;
  augensumme:=wurf1+wurf2;
end

if augensumme = 2,3,4,5,6 then
begin
  edit1.text:='Einsatz verloren';
  faktor:=0;
end;


Formatiere deinen Quelltext mal sauber, dann siehst du auch, was wozu gehört.
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 22:03 
tut mir leid, nun blicke ich gar nicht mehr durch .. :(
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 22.06.10 22:08 
ok,
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button1Click(Sender: TObject);
var
   einsatz, faktor, wurf1, wurf2, augensumme, kapital: integer;
begin
 randomize;
  edit1.text:='(Einsatz)';
  wurf1:=random(6)+1;
  wurf2:=random(6)+1;
  augensumme:=wurf1+wurf2;
end //dieses end müsste am schluss nach der letzten if abfrage hin

if augensumme = 2,3,4,5,6 then
begin
  edit1.text:='Einsatz verloren';
  faktor:=0;
end;
....
....
....
if kapital = 0 then button2.show; 
//evtl hier? end;


Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!

Für diesen Beitrag haben gedankt: Anfänger007
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.06.10 22:11 
Zum einem müssen deine if-Abfragen mit in die ButtonClick Prozedur, so wie du sie hast, hängen sie lose irgendwo in der Unit rum, was natürlich nicht sein darf. Anweisungen können nur in einer Prozedur oder Funktion liegen. aber das sollte man spätestens in der zweiten Stunde gelernt haben.

Zum anderem guck dir mal an, wie man mehrere Bedingungen miteinander verknüpft bzw. guck dir mal das Schlüsselwort case an.
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 22:12 
alles klar, dankeschön!

ERSTER fehler beseitigt :s

weitere Fehlermeldung:
if augensumme = 2..6 then begin edit1.text:='Einsatz verloren';
[Fehler] Unit1.pas(62): 'THEN' erwartet, aber '..' gefunden
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.06.10 22:15 
versuche mal:
ausblenden Delphi-Quelltext
1:
if augensumme in [2..6then ...					

Für diesen Beitrag haben gedankt: Anfänger007
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 22.06.10 22:16 
Wollte ich vorhin noch dazu schreiben das es gleich zum nächsten fehler kommt :wink:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if augensumme = 2..6 then
begin
 edit1.text:='Einsatz verloren';
...
end;
muss so sein:
ausblenden Delphi-Quelltext
1:
if (augensumme = 2or (augensumme = 3then //usw........					

und alle sagen Dir, schau dir mal case an, ist besser als if für diese Zwecke!!!!
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Anfänger007 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.06.10 22:19 
woooooow, ein fehler bleibt noch übrig :)

procedure TForm1.Button3Click(Sender: TObject);
[Fehler] Unit1.pas(95): Anweisung erwartet, aber 'PROCEDURE' gefunden.