| Autor |
Beitrag |
Anfänger007
Hält's aus hier
Beiträge: 8
|
Verfasst: 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 Gausi: Topic aus Job Börse verschoben am Di 22.06.2010 um 21:07
Einloggen, um Attachments anzusehen!
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 22.06.10 21:08
Hallo und  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 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 22.06.10 21:10
Warum nennst du uns nicht einfach die Fehlermeldungen und postest die zugehörigen Codestellen?
|
|
Anfänger007 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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 Narses: Beiträge zusammengefasst---
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:=0; end;
if augensumme = 7,8,9 then begin edit1.text:='Einsatz zurück'; faktor:=1; end;
if augensumme = 10 then begin edit1.text:='Einsatz verdoppelt'; faktor:=2; end;
if augensumme = 11 then begin edit1.text:='Einsatz verdreifacht'; faktor:=3; end;
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 Narses: Delphi-Tags hinzugefügt
|
|
Georg08
      
Beiträge: 155
Erhaltene Danke: 6
Win XP
Delphi 7.0 Personal
|
Verfasst: 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
+
Die Fehlermeldung
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 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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
|
Verfasst: 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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 22.06.10 21:49
Hi, in welcher Procedure stehen deine ganzen if Anweisungen?
ich meine die zwischen:
Delphi-Quelltext 1: 2: 3:
| procedure TForm1.Button1Click(Sender: TObject); .... end; | und
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.
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
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Di 22.06.10 21:51
Schau dir einfach 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 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 22.06.10 21:57
Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1.
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 22.06.10 22:00
Anfänger007 hat folgendes geschrieben : | | Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1. |
Schau mal richtig hin  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
|
Verfasst: Di 22.06.10 22:01
Anfänger007 hat folgendes geschrieben : | | Der eintrag mit den Grundlagen zur Gewinnbestimmung ist alles in der procedure des button1. |
Nö:
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 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 22.06.10 22:03
tut mir leid, nun blicke ich gar nicht mehr durch .. 
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 22.06.10 22:08
ok,
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; if augensumme = 2,3,4,5,6 then begin edit1.text:='Einsatz verloren'; faktor:=0; end; .... .... .... if kapital = 0 then button2.show; |
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
|
Verfasst: 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 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Di 22.06.10 22:15
versuche mal:
Delphi-Quelltext 1:
| if augensumme in [2..6] then ... |
Für diesen Beitrag haben gedankt: Anfänger007
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 22.06.10 22:16
Wollte ich vorhin noch dazu schreiben das es gleich zum nächsten fehler kommt
Delphi-Quelltext 1: 2: 3: 4: 5:
| if augensumme = 2..6 then begin edit1.text:='Einsatz verloren'; ... end; | muss so sein:
Delphi-Quelltext 1:
| if (augensumme = 2) or (augensumme = 3) then |
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 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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.
|
|