|
Registriert seit: 20. Jun 2008 1 Beiträge |
#1
Hallo Leute
Ich soll für die Schule zu Hause so eine Art würfel Spiel mit mehreren Formularen machen. Das Würfelspiel heißt Crap oder auch CRAPS. nun hab ich soweit schon einiges fertig und muss feststellen dass Delphi bei einem Button den Quelltext nicht mehr ausführt. Dieser Button soll im Formular 5 sein und soll bewirken dass das ganze Spiel geschloßen wird und die Projekt1.exe aus dem Speicher verschwindet. Nur dies passiert nicht, hab nun zu übungszwecken denn Button so programmiert das mir eine Message angezigt wird, nur selbst dies klappt nicht. Und mit Hilfe von F7 hab ich gesehen das Delphi gar nicht den Quelltext an dieser Stelle liest. Kann mir jemand Helfen? Der Fehler tritt in Unit 5 auf, wenn BitBtn3 gedrückt wird. Im Anhang liegt das Würfelspiel gepackt in einem ZIP file.
Delphi-Quellcode:
UNIT Unit1;
interface //-------------------- ggf Uses-Liste anpassen ! -------------------- uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; //uses mTForm ?? type TForm1 = class(TForm) // published Attribute BitBtn1 : TBitBtn; BitBtn2 : TBitBtn; BitBtn3 : TBitBtn; Label1 : TLabel; // published Methoden procedure BitBtn1Click (Sender: TObject); // nicht überschreibbar procedure BitBtn3Click (Sender: TObject); // nicht überschreibbar end; var Form1: TForm1; implementation uses Unit2; {$R *.DFM} //+--------------------------------------------------------------------- //| TForm1: Methodendefinition //+--------------------------------------------------------------------- //-------- BitBtn1Click (published) --------------------------------------- procedure TForm1.BitBtn1Click (Sender: TObject); begin form2.show; form1.hide; end; //-------- BitBtn3Click (published) --------------------------------------- procedure TForm1.BitBtn3Click (Sender: TObject); begin close; end; end.
Delphi-Quellcode:
UNIT Unit2;
interface //-------------------- ggf Uses-Liste anpassen ! -------------------- uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, unit1 ; //uses mTForm ?? type TForm2 = class(TForm) // published Attribute BitBtn1 : TBitBtn; BitBtn2 : TBitBtn; Edit1 : TEdit; Edit2 : TEdit; Label1 : TLabel; Label2 : TLabel; // published Methoden procedure BitBtn1Click (Sender: TObject); // nicht überschreibbar procedure BitBtn2Click (Sender: TObject); // nicht überschreibbar procedure FormCreate (Sender: TObject); virtual; // nicht überschreibbar end; var Form2: TForm2; Kapital,einsatz:integer; implementation uses Unit3; {$R *.DFM} //+--------------------------------------------------------------------- //| TForm2: Methodendefinition //+--------------------------------------------------------------------- //-------- BitBtn1Click (published) --------------------------------------- procedure TForm2.BitBtn1Click (Sender: TObject); begin Kapital:=strtoint(edit1.text); If Kapital=0 then ShowMessage('Lüg mich doch nicht an !') else begin Bitbtn1.Visible:=false; Bitbtn1.Enabled:=false; Label2.Visible:=true; Edit2.Visible:=true; Edit2.SetFocus; Bitbtn2.Visible:=true; Bitbtn2.Enabled:=true; end; end; //-------- BitBtn2Click (published) --------------------------------------- procedure TForm2.BitBtn2Click (Sender: TObject); begin Einsatz:=strtoint(edit2.Text); if (Einsatz<=0) or (Einsatz>Kapital) then ShowMessage('Einsatz muss größer als 0 sein und darf nicht größer als dein gesamtes Kapital sein. Dein Kapital beträgt:' + IntToStr(Kapital) + '€') else begin form3.show; form2.hide; end; end; //-------- FormCreate (published) ----------------------------------------- procedure TForm2.FormCreate (Sender: TObject); begin edit1.Text:='0'; edit2.Text:='0'; label2.Visible:=false; edit2.visible:=false; BitBtn2.Visible:=false; bitbtn2.Enabled:=false; end; end.
Delphi-Quellcode:
UNIT Unit3;
interface //-------------------- ggf Uses-Liste anpassen ! -------------------- uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, unit1, unit2 ; //uses mTForm ?? type TForm3 = class(TForm) // published Attribute BitBtn1 : TBitBtn; Edit1 : TEdit; Edit2 : TEdit; Label1 : TLabel; Label2 : TLabel; Edit3: TEdit; Label3: TLabel; Edit4: TEdit; Label4: TLabel; Edit5: TEdit; BitBtn2: TBitBtn; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Label5: TLabel; Label6: TLabel; // published Methoden procedure FormShow(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); // nicht überschreibbar end; var Form3: TForm3; wurfel1,wurfel2,wurfel3,wurfel4,wurfelgesamt,wurfelgesamt2:integer; implementation uses Unit4, Unit5, Unit6; {$R *.DFM} //+--------------------------------------------------------------------- //| TForm3: Methodendefinition //+--------------------------------------------------------------------- //-------- FormCreate (published) ----------------------------------------- procedure TForm3.FormShow(Sender: TObject); begin edit3.text:=''; edit4.text:=''; edit5.text:=''; edit6.text:=''; edit7.text:=''; edit8.text:=''; BitBtn1.Visible:=true; randomize; Edit1.Text:=inttostr(Kapital); Edit1.Enabled:=false; Edit2.Text:=inttostr(Einsatz); Edit2.Enabled:=false; BitBtn2.Visible:=false; edit6.Visible:=false; edit7.visible:=false; edit8.Visible:=false; label5.Visible:=false; label6.visible:=false; end; procedure TForm3.BitBtn1Click(Sender: TObject); begin kapital:=kapital-einsatz; if Kapital<0 then begin Form4.show; Form3.hide; end else Edit1.Text:=inttostr(Kapital); wurfel1:=random(6)+1; wurfel2:=random(6)+1; wurfelgesamt:=wurfel1+wurfel2; edit3.Text:=inttostr(wurfel1); edit4.Text:=inttostr(wurfel2); edit5.Text:=inttostr(wurfelgesamt); if (wurfelgesamt=7) or (wurfelgesamt=11) then begin Kapital:=Kapital+(3*Einsatz); Edit1.Text:=inttostr(Kapital); Form5.show; form3.hide; end else if (wurfelgesamt=2) or (wurfelgesamt=3) or (wurfelgesamt=12) then begin Form6.show; Form3.Visible:=true; end else begin BitBtn1.Visible:=false; BitBtn2.Visible:=true; edit6.Visible:=true; edit7.visible:=true; edit8.Visible:=true; label5.Visible:=true; label6.visible:=true; end; end; procedure TForm3.BitBtn2Click(Sender: TObject); begin wurfel3:=random(6)+1; wurfel4:=random(6)+1; wurfelgesamt2:=wurfel3+wurfel4; edit6.Text:=inttostr(wurfel3); edit7.Text:=inttostr(wurfel4); edit8.Text:=inttostr(wurfelgesamt2); wurfelgesamt2:=wurfelgesamt; if wurfelgesamt2=wurfelgesamt then begin Kapital:=Kapital+(3*Einsatz); Edit1.Text:=inttostr(Kapital); Form5.show; form3.hide; end else begin if (wurfelgesamt2=2) or (wurfelgesamt2=3) or (wurfelgesamt2=12) then begin Form6.show; end; end; end; end.
Delphi-Quellcode:
unit Unit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm4 = class(TForm) Label1: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form4: TForm4; implementation uses Unit1, Unit2; {$R *.dfm} procedure TForm4.BitBtn2Click(Sender: TObject); begin form1.close; end; procedure TForm4.BitBtn1Click(Sender: TObject); begin Form1.show; Form4.hide; form2.Bitbtn1.Visible:=true; form2.bitbtn1.enabled:=true; form2.bitbtn2.Visible:=false; form2.label2.visible:=false; form2.edit2.visible:=false; end; end.
Delphi-Quellcode:
procedure TForm5.BitBtn3Click(Sender: TObject);
unit Unit5;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, unit1, unit2, unit3, unit4, Buttons; type TForm5 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; procedure FormShow(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form5: TForm5; implementation uses Unit6; {$R *.dfm} procedure TForm5.FormShow(Sender: TObject); begin Edit1.Text:=inttostr(Kapital); Edit1.Enabled:=false; end; procedure TForm5.BitBtn2Click(Sender: TObject); begin Form1.show; Form5.hide; form2.Bitbtn1.Visible:=true; form2.bitbtn1.enabled:=true; form2.bitbtn2.Visible:=false; form2.label2.visible:=false; form2.edit2.visible:=false; form3.close; end; begin ShowMessage('Test') ; end;end.
Delphi-Quellcode:
unit Unit6;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TForm6 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form6: TForm6; implementation {$R *.dfm} end. |
![]() |
chat_4_free_desperados |
Öffentliches Profil ansehen |
Mehr Beiträge von chat_4_free_desperados finden |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |