![]() |
Formular wird nicht mehr angezeigt!
Hey,
ich Programmiere gerade so ein Art Aktienspiel, aber seit heute Abend wird das Formular nicht mehr angezeigt (nur der Quellcode), wenn ich auf "Start drücke" kann das Programm auch nicht richtig angezeigt werden, aber es läuft dennoch Hier ein Video zur Verdeutlichung..wäre echt dankbar wenn mir jemand helfen könnte :) ![]() |
AW: Formular wird nicht mehr angezeigt!
Hallo Benedikt, In dem Video sieht man nicht allzuviel. Poste doch mal den Code hier. Und bitte in DELPHI-Tags einschließen (Symbol mit dem Helm).
|
AW: Formular wird nicht mehr angezeigt!
Hey,
es hat mich sehr gefreut, dass du so schnell geantwortet hast! ich bin echt am Verzweifeln, aber ich hoffe, dass es nur an einer Kleinigkeit liegt. Grueße aus der Pfalz
Delphi-Quellcode:
unit Aktienspiel;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,mmsystem, jpeg; type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; GroupBox1: TGroupBox; lbl_firma1: TLabel; lbl_wert_0: TLabel; Label3: TLabel; GroupBox: TGroupBox; lbl_ausgabe_1: TLabel; lbl_ausgabe_3: TLabel; GroupBox2: TGroupBox; lbl_firma2: TLabel; lbl_wert_1: TLabel; Label6: TLabel; GroupBox3: TGroupBox; lbl_firma3: TLabel; lbl_wert_2: TLabel; Label8: TLabel; GroupBox4: TGroupBox; lbl_firma4: TLabel; lbl_wert_3: TLabel; Label11: TLabel; GroupBox5: TGroupBox; lbl_firma5: TLabel; lbl_wert_4: TLabel; Label14: TLabel; GroupBox9: TGroupBox; lbl_firma7: TLabel; lbl_wert_6: TLabel; Label23: TLabel; GroupBox10: TGroupBox; lbl_firma8: TLabel; lbl_wert_7: TLabel; Label26: TLabel; GroupBox11: TGroupBox; lbl_firma9: TLabel; lbl_wert_8: TLabel; Label29: TLabel; GroupBox7: TGroupBox; Label15: TLabel; Label16: TLabel; Label17: TLabel; GroupBox6: TGroupBox; lbl_firma6: TLabel; lbl_wert_5: TLabel; Label20: TLabel; lbl_anzeige_0: TLabel; lbl_zeichen_0: TLabel; lbl_Eur_0: TLabel; timer: TTimer; lbl_anzeige_1: TLabel; lbl_anzeige_2: TLabel; lbl_anzeige_3: TLabel; lbl_anzeige_4: TLabel; lbl_anzeige_5: TLabel; lbl_anzeige_6: TLabel; lbl_anzeige_7: TLabel; lbl_anzeige_8: TLabel; lbl_zeichen_1: TLabel; lbl_zeichen_2: TLabel; lbl_zeichen_3: TLabel; lbl_zeichen_4: TLabel; lbl_zeichen_5: TLabel; lbl_zeichen_6: TLabel; lbl_zeichen_7: TLabel; lbl_zeichen_8: TLabel; lbl_Eur_1: TLabel; lbl_Eur_2: TLabel; lbl_Eur_3: TLabel; lbl_Eur_4: TLabel; lbl_Eur_5: TLabel; lbl_Eur_6: TLabel; lbl_Eur_7: TLabel; lbl_Eur_8: TLabel; Label1: TLabel; lbl_ausgabe_2: TLabel; Label4: TLabel; Timer_2: TTimer; GroupBox12: TGroupBox; gb_1: TGroupBox; Label2: TLabel; lbl_anzahl_1: TLabel; gb_2: TGroupBox; Label5: TLabel; lbl_anzahl_2: TLabel; edt_anzahl_eingabe: TEdit; Label9: TLabel; Button1: TButton; Button2: TButton; RadioGroup2: TRadioGroup; rb_auswahl_1: TRadioButton; lbl_bargeld: TLabel; lbl_ausgabe_ek: TLabel; Label7: TLabel; lbl_ausgabe_text_1: TLabel; lbl_ausgabe_text_3: TLabel; lbl_ausgabe_text_2: TLabel; Timer_3: TTimer; gb_3: TGroupBox; Label10: TLabel; lbl_anzahl_3: TLabel; gb_4: TGroupBox; Label13: TLabel; lbl_anzahl_4: TLabel; gb_5: TGroupBox; Label19: TLabel; lbl_anzahl_5: TLabel; gb_6: TGroupBox; Label22: TLabel; lbl_anzahl_6: TLabel; gb_7: TGroupBox; Label25: TLabel; lbl_anzahl_7: TLabel; gb_8: TGroupBox; Label28: TLabel; lbl_anzahl_8: TLabel; gb_9: TGroupBox; Label31: TLabel; lbl_anzahl_9: TLabel; lbl_zeichen_9: TLabel; lbl_anzeige_9: TLabel; rb_auswahl_2: TRadioButton; rb_auswahl_3: TRadioButton; rb_auswahl_4: TRadioButton; rb_auswahl_5: TRadioButton; rb_auswahl_7: TRadioButton; rb_auswahl_8: TRadioButton; rb_auswahl_9: TRadioButton; rb_auswahl_6: TRadioButton; procedure timerTimer(Sender: TObject); procedure Timer_2Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer_3Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; wert,zufall,zufall2,bargeld:real; zufallbereich,zufallbereichp,zufallzeit,zufallbereichz,prozent,zufallbereichw,x:integer; const anzeigezeit=1800; implementation {$R *.dfm} //###############################Aktien steigen##################################### //################################## Timer zum schließen der angezeigten Änderung ########## procedure TForm1.timerTimer(Sender: TObject); begin timer.Enabled:=false; Begin lbl_eur_0.Visible:=false; lbl_zeichen_0.Visible:=false; lbl_anzeige_0.Visible:=false; lbl_eur_1.Visible:=false; lbl_zeichen_1.Visible:=false; lbl_anzeige_1.Visible:=false; lbl_eur_2.Visible:=false; lbl_zeichen_2.Visible:=false; lbl_anzeige_2.Visible:=false; lbl_eur_3.Visible:=false; lbl_zeichen_3.Visible:=false; lbl_anzeige_3.Visible:=false; lbl_eur_4.Visible:=false; lbl_zeichen_4.Visible:=false; lbl_anzeige_4.Visible:=false; lbl_eur_5.Visible:=false; lbl_zeichen_5.Visible:=false; lbl_anzeige_5.Visible:=false; lbl_eur_6.Visible:=false; lbl_zeichen_6.Visible:=false; lbl_anzeige_6.Visible:=false; lbl_eur_7.Visible:=false; lbl_zeichen_7.Visible:=false; lbl_anzeige_7.Visible:=false; lbl_eur_8.Visible:=false; lbl_zeichen_8.Visible:=false; lbl_anzeige_8.Visible:=false; end; end; //############################## Automatischer Ablauf ob Aktie STEIGT oder SINKT ############ procedure TForm1.Timer_2Timer(Sender: TObject); var wert,zufall,zufall2:real; zufallbereich,zufallbereichp,zufallzeit,zufallbereichz,prozent,zufallbereichw:integer; begin zufallbereichz:=8000; //Variabel für die Maximale dauer des sink oder steig Rhytmuses zufallbereichw:=6; //Variabel für den Zufallsbereich "sinken oder steigen" zufallzeit:=random(zufallbereichz); zufall2:=random(zufallbereichw); //timer_2.interval:=zufallzeit; if zufall2 < 3 then //Wenn der Zufallswert kleiner als 3 ist, dann STEIGT eine beliebige Aktie um einen beliebigen Prozentsatz //################################## Aktie STEIGT ###################################################### begin lbl_ausgabe_2.Caption:='steigen um +'; sndPlaySound('positiv2.wav',SND_ASYNC); //SOUND zufallbereich:=9; zufallbereichp:=16; //anzahl der Firmen x:= wird um 1 eröht wenn eine neue Firma gegründet wird lbl_ausgabe_3.Font.Color:=clgreen; zufall:=Random(Zufallbereich); //ZUFÄLLIG EINE VON 10 Firmen auswählen timer.Enabled:=false; if zufall=0 then //Firma 1 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma1.caption; wert:=StrToFloat(lbl_wert_0.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_0.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_0.visible:=true; lbl_zeichen_0.Font.color:=clgreen; lbl_zeichen_0.caption:='+' ; lbl_anzeige_0.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_0.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_0.font.color:=clgreen; lbl_eur_0.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=1 then //Firma 2 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma2.caption; wert:=StrToFloat(lbl_wert_1.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_1.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_1.visible:=true; lbl_zeichen_1.Font.color:=clgreen; lbl_zeichen_1.caption:='+' ; lbl_anzeige_1.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_1.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_1.font.color:=clgreen; lbl_eur_1.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=2 then //Firma 3 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma3.caption; wert:=StrToFloat(lbl_wert_2.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_2.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_2.visible:=true; lbl_zeichen_2.Font.color:=clgreen; lbl_zeichen_2.caption:='+' ; lbl_anzeige_2.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_2.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_2.font.color:=clgreen; lbl_eur_2.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=3 then //Firma 4 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma4.caption; wert:=StrToFloat(lbl_wert_3.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_3.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_3.visible:=true; lbl_zeichen_3.Font.color:=clgreen; lbl_zeichen_3.caption:='+' ; lbl_anzeige_3.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_3.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_3.font.color:=clgreen; lbl_eur_3.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=4 then //Firma 5 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma5.caption; wert:=StrToFloat(lbl_wert_4.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_4.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_4.visible:=true; lbl_zeichen_4.Font.color:=clgreen; lbl_zeichen_4.caption:='+' ; lbl_anzeige_4.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_4.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_4.font.color:=clgreen; lbl_eur_4.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=5 then //Firma 6 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma6.caption; wert:=StrToFloat(lbl_wert_5.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_5.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_5.visible:=true; lbl_zeichen_5.Font.color:=clgreen; lbl_zeichen_5.caption:='+' ; lbl_anzeige_5.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_5.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_5.font.color:=clgreen; lbl_eur_5.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=6 then //Firma 7 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma7.caption; wert:=StrToFloat(lbl_wert_6.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_6.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_6.visible:=true; lbl_zeichen_6.Font.color:=clgreen; lbl_zeichen_6.caption:='+' ; lbl_anzeige_6.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_6.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_6.font.color:=clgreen; lbl_eur_6.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=7 then //Firma 8 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma8.caption; wert:=StrToFloat(lbl_wert_7.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_7.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_7.visible:=true; lbl_zeichen_7.Font.color:=clgreen; lbl_zeichen_7.caption:='+' ; lbl_anzeige_7.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_7.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_7.font.color:=clgreen; lbl_eur_7.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; if zufall=8 then //Firma 9 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma9.caption; wert:=StrToFloat(lbl_wert_8.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clgreen; wert:=wert*(prozent/100+1); //errechnen des neuen Wertes lbl_wert_8.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_8.visible:=true; lbl_zeichen_8.Font.color:=clgreen; lbl_zeichen_8.caption:='+' ; lbl_anzeige_8.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_8.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_8.font.color:=clgreen; lbl_eur_8.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten; END; end; //#################################### Aktien sinken ################################ if zufall2 >=3 then //Wenn der Zufallswert größer gleich 3 ist, dann SINKT eine beliebige Aktie um einen beliebigen Prozentsatz begin sndPlaySound('negativ2.wav',SND_ASYNC); //SOUND zufallbereich:=9; zufallbereichp:=15; lbl_ausgabe_2.caption:='sinken um -'; lbl_ausgabe_3.font.color:=clred; zufall:=Random(Zufallbereich); //ZUFÄLLIG EINE VON 10 Firmen auswählen if zufall=0 then //Firma 1 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma1.caption; wert:=StrToFloat(lbl_wert_0.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_0.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_0.visible:=true; lbl_zeichen_0.Font.color:=clred; lbl_zeichen_0.caption:='-' ; lbl_anzeige_0.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_0.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_0.font.color:=clred; lbl_eur_0.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=1 then //Firma 2 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma2.caption; wert:=StrToFloat(lbl_wert_1.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_1.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_1.visible:=true; lbl_zeichen_1.Font.color:=clred; lbl_zeichen_1.caption:='-' ; lbl_anzeige_1.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_1.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_1.font.color:=clred; lbl_eur_1.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=2 then //Firma 3 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma3.caption; wert:=StrToFloat(lbl_wert_2.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_2.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_2.visible:=true; lbl_zeichen_2.Font.color:=clred; lbl_zeichen_2.caption:='-' ; lbl_anzeige_2.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_2.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_2.font.color:=clred; lbl_eur_2.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=3 then //Firma 4 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma4.caption; wert:=StrToFloat(lbl_wert_3.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_3.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_3.visible:=true; lbl_zeichen_3.Font.color:=clred; lbl_zeichen_3.caption:='-' ; lbl_anzeige_3.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_3.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_3.font.color:=clred; lbl_eur_3.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=4 then //Firma 5 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma5.caption; wert:=StrToFloat(lbl_wert_4.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_4.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_4.visible:=true; lbl_zeichen_4.Font.color:=clred; lbl_zeichen_4.caption:='-' ; lbl_anzeige_4.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_4.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_4.font.color:=clred; lbl_eur_4.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=5 then //Firma 6 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma6.caption; wert:=StrToFloat(lbl_wert_5.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_5.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_5.visible:=true; lbl_zeichen_5.Font.color:=clred; lbl_zeichen_5.caption:='-' ; lbl_anzeige_5.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_5.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_5.font.color:=clred; lbl_eur_5.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=6 then //Firma 7 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma7.caption; wert:=StrToFloat(lbl_wert_6.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_6.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_6.visible:=true; lbl_zeichen_6.Font.color:=clred; lbl_zeichen_6.caption:='-' ; lbl_anzeige_6.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_6.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_6.font.color:=clred; lbl_eur_6.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=7 then //Firma 8 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma8.caption; wert:=StrToFloat(lbl_wert_7.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_7.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_7.visible:=true; lbl_zeichen_7.Font.color:=clred; lbl_zeichen_7.caption:='-' ; lbl_anzeige_7.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_7.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_7.font.color:=clred; lbl_eur_7.visible:=true; timer.Interval:=anzeigezeit; timer.Enabled :=true;//Timer starten end; if zufall=8 then //Firma 9 Begin prozent:=random(zufallbereichp)+1; //zufällige Prozentzahl ermitteln lbl_ausgabe_1.Caption:=lbl_firma9.caption; wert:=StrToFloat(lbl_wert_8.caption); //Wert=Aktuelle Preislage der Aktie lbl_ausgabe_3.caption:=FloatToStr(prozent); lbl_ausgabe_3.Font.Color:=clred; wert:=wert*((100-Prozent)/100); //errechnen des neuen Wertes lbl_wert_8.caption:=FloatToStr(round(wert*100)/100); //Ausgabe+Runden des Wertes lbl_zeichen_8.visible:=true; lbl_zeichen_8.Font.color:=clred; lbl_zeichen_8.caption:='-' ; lbl_anzeige_8.visible:=true ; //Anzeigen der Veränderungen in EURO lbl_anzeige_8.caption:= FloatToStr (round(wert*(prozent/100)*100)/100); lbl_anzeige_8.font.color:=clred; lbl_eur_8.visible:=true; end; timer_2.Interval:=zufallzeit; //stellt zufällige Zeit des Algorythmuses auf den Interval ein end; end; //################################### An/Verkauf der Aktien ####################################### procedure TForm1.Button1Click(Sender: TObject); var ek,anzahl,anzahlalt,anzahlneu:real; begin if rb_auswahl_1.checked then //Firma 1 Begin timer_3.enabled:=true; //Timer zum Anzeigen des Wertes der gekauften Aktien und die Bargelddifferenz anzahl:=StrToFloat(edt_anzahl_eingabe.text); Ek:=anzahl*StrToFloat(lbl_wert_0.caption); //ausrechnen des Einkaufspreis (kurz "EK") bargeld:=StrToFloat(lbl_bargeld.caption); bargeld:=Bargeld-ek; //Berechnen des neuen Bargeldwert's lbl_bargeld.Caption:=FloatToStr(round(Bargeld)); //Ausgabe des neuen Wertes anzahlalt:=StrToFloat(lbl_anzahl_1.caption); anzahlneu:=anzahlalt+anzahl; edt_anzahl_eingabe.text:=''; //Feld leeren nach bestätigtem Kauf lbl_anzahl_1.caption:=FloatToStr(anzahlneu); lbl_ausgabe_text_1.Visible:=true; lbl_ausgabe_text_1.Caption:='Sie haben Aktien im Wert von'; lbl_ausgabe_ek.Visible:=true; lbl_ausgabe_ek.caption:=FloatToStr(round(Ek)); //Ausgabe des Ek's lbl_ausgabe_text_2.Visible:=true; lbl_ausgabe_text_3.visible:=true; lbl_ausgabe_text_2.caption:='€'; lbl_ausgabe_text_3.Caption:='gekauft'; lbl_zeichen_9.Visible:=true ; lbl_zeichen_9.caption:='-'; lbl_anzeige_9.visible:=true; lbl_anzeige_9.caption:=FloatToStr(Ek); lbl_anzeige_9.Font.color:=clred; if anzahlneu>0 then //falls man mehr als eine Aktie besitzt färben sich die Felder der Firmen Begin groupbox1.color:=clMoneygreen; gb_1.color:=clmoneygreen; rb_auswahl_1.color:=clmoneygreen; end; end; if rb_auswahl_2.checked then //Firma 2 Begin timer_3.enabled:=true; //Timer zum Anzeigen des Wertes der gekauften Aktien und die Bargelddifferenz anzahl:=StrToFloat(edt_anzahl_eingabe.text); Ek:=anzahl*StrToFloat(lbl_wert_1.caption); //ausrechnen des Einkaufspreis (kurz "EK") bargeld:=StrToFloat(lbl_bargeld.caption); bargeld:=Bargeld-ek; //Berechnen des neuen Bargeldwert's lbl_bargeld.Caption:=FloatToStr(round(Bargeld)); //Ausgabe des neuen Wertes anzahlalt:=StrToFloat(lbl_anzahl_2.caption); anzahlneu:=anzahlalt+anzahl; edt_anzahl_eingabe.text:=''; //Feld leeren nach bestätigtem Kauf lbl_anzahl_2.caption:=FloatToStr(anzahlneu); lbl_ausgabe_text_1.Visible:=true; lbl_ausgabe_text_1.Caption:='Sie haben Aktien im Wert von'; lbl_ausgabe_ek.Visible:=true; lbl_ausgabe_ek.caption:=FloatToStr(round(Ek)); //Ausgabe des Ek's lbl_ausgabe_text_2.Visible:=true; lbl_ausgabe_text_3.visible:=true; lbl_ausgabe_text_2.caption:='€'; lbl_ausgabe_text_3.Caption:='gekauft'; lbl_zeichen_9.Visible:=true ; lbl_zeichen_9.caption:='-'; lbl_anzeige_9.visible:=true; lbl_anzeige_9.caption:=FloatToStr(Ek); lbl_anzeige_9.Font.color:=clred; if anzahlneu>0 then //falls man mehr als eine Aktie besitzt färben sich die Felder der Firmen Begin groupbox2.color:=clMoneygreen; gb_2.color:=clmoneygreen; rb_auswahl_2.color:=clmoneygreen; end; end; if rb_auswahl_3.checked then //Firma 3 Begin timer_3.enabled:=true; //Timer zum Anzeigen des Wertes der gekauften Aktien und die Bargelddifferenz anzahl:=StrToFloat(edt_anzahl_eingabe.text); Ek:=anzahl*StrToFloat(lbl_wert_2.caption); //ausrechnen des Einkaufspreis (kurz "EK") bargeld:=StrToFloat(lbl_bargeld.caption); bargeld:=Bargeld-ek; //Berechnen des neuen Bargeldwert's lbl_bargeld.Caption:=FloatToStr(round(Bargeld)); //Ausgabe des neuen Wertes anzahlalt:=StrToFloat(lbl_anzahl_3.caption); anzahlneu:=anzahlalt+anzahl; edt_anzahl_eingabe.text:=''; //Feld leeren nach bestätigtem Kauf lbl_anzahl_3.caption:=FloatToStr(anzahlneu); lbl_ausgabe_text_1.Visible:=true; lbl_ausgabe_text_1.Caption:='Sie haben Aktien im Wert von'; lbl_ausgabe_ek.Visible:=true; lbl_ausgabe_ek.caption:=FloatToStr(round(Ek)); //Ausgabe des Ek's lbl_ausgabe_text_2.Visible:=true; lbl_ausgabe_text_3.visible:=true; lbl_ausgabe_text_2.caption:='€'; lbl_ausgabe_text_3.Caption:='gekauft'; lbl_zeichen_9.Visible:=true ; lbl_zeichen_9.caption:='-'; lbl_anzeige_9.visible:=true; lbl_anzeige_9.caption:=FloatToStr(Ek); lbl_anzeige_9.Font.color:=clred; if anzahlneu>0 then //falls man mehr als eine Aktie besitzt färben sich die Felder der Firmen Begin groupbox3.color:=clmoneygreen; gb_3.color:=clmoneygreen; rb_auswahl_3.color:=clmoneygreen; end; end; end; // ########################################### TIMER für die Anzeige der Group Box "Aktien AN/VERKAUF" ############################ procedure TForm1.Timer_3Timer(Sender: TObject); begin timer.Enabled:=false; begin lbl_ausgabe_text_1.Visible:=false; lbl_ausgabe_ek.Visible:=false; lbl_ausgabe_text_2.Visible:=false; lbl_ausgabe_text_3.visible:=false; lbl_zeichen_9.Visible:=false ; lbl_anzeige_9.visible:=false; end; end; end. |
AW: Formular wird nicht mehr angezeigt!
Ohne vernünftige Einrückungen ist das leider nicht so gut lesbar. Wozu verwendest Du eigentlich ständig zusätzliche begin ... end ohne eine Anweisung?
|
AW: Formular wird nicht mehr angezeigt!
Und die ständigen Wiederholung von Code (CopyPaste-Programmierung) bläht das unnötig auf bis fast zur Unleserlichkeit.
Formatieren hilft da auch nicht wirklich (habe es gerade mal formatieren lassen ... es wird nicht besser) |
AW: Formular wird nicht mehr angezeigt!
Der Code ist schwer lesbar und unübersichtlich.
Du könntest Dein Projekt in eine Zip packen und hier hochladen. Vielleicht schaut dann mal jemand drauf. Aber besser wird sein, das Programm mal mit F8 zu starten und schrittweise zu debuggen (F8 + F7). Vielleicht kommst Du so ja weiter? |
AW: Formular wird nicht mehr angezeigt!
Schwer lesbar?
Das ist wohl ein bissl untertrieben. Nja, da der Code eigentlich nur aus Timern besteht, würde ich die Stück für Stück mal abschalten und schauen ob es dann läuft nicht sofort verreckt. Aber eigentlich solltest du mal lernen wie man den Debugger verwendet. Also entweder wie hier schon von jemandem beschrieben wurde, oder wenigstens erstmal ein paar Haltepunkte in die paar Methoden und dann schauen ob/was da passiert. Ach ja, warum gibt es da diese komischen globalen Variablen? Und wieso sind die nochmals in dem einem Timer deklariert? (OK, hier gehören wie zumindestens scheinbar auch hin, was man aber aus dem grauenaften Code nicht wirklich erkennen kann) Was mir noch zufällig in die Augen stach... Zitat:
Eine Variante:
Delphi-Quellcode:
sndPlaySound(PChar(ExtractFilePath(Application.ExeName) + 'positiv2.wav'), SND_ASYNC);
Auch wenn du bei ![]() =>
Delphi-Quellcode:
aktuelle Arbeitsverzeichnis <> Programmverzeichnis
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz