|
Antwort |
Registriert seit: 31. Jan 2014 2 Beiträge |
#1
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 http://youtu.be/ocaweLNySmI |
Zitat |
CloudDeplacer.de |
Öffentliches Profil ansehen |
Mehr Beiträge von CloudDeplacer.de finden |
Registriert seit: 18. Mär 2004 Ort: Luxembourg 3.492 Beiträge Delphi 7 Enterprise |
#2
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).
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all |
Zitat |
Registriert seit: 31. Jan 2014 2 Beiträge |
#3
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. |
Zitat |
CloudDeplacer.de |
Öffentliches Profil ansehen |
Mehr Beiträge von CloudDeplacer.de finden |
Registriert seit: 18. Mär 2004 Ort: Luxembourg 3.492 Beiträge Delphi 7 Enterprise |
#4
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?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all |
Zitat |
Registriert seit: 5. Jan 2005 Ort: Stadthagen 9.454 Beiträge Delphi 10 Seattle Enterprise |
#5
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)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60) |
Zitat |
Registriert seit: 26. Nov 2003 Ort: Halle/Saale 4.343 Beiträge Delphi 11 Alexandria |
#6
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?
Stahli
http://www.StahliSoft.de --- "Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004) |
Zitat |
Registriert seit: 11. Okt 2003 Ort: Elbflorenz 44.069 Beiträge Delphi 12 Athens |
#7
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:
sndPlaySound('positiv2.wav',SND_ASYNC); //SOUND
Eine Variante: sndPlaySound(PChar(ExtractFilePath(Application.ExeName) + 'positiv2.wav'), SND_ASYNC); Auch wenn du bei sndPlaySound zwar den Vorteil hast, daß dort Windows die Datei sucht, wenn es Diese nicht da findet, wo du es angegeben hast. => aktuelle Arbeitsverzeichnis <> Programmverzeichnis
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat, wird PoSex im Delphi viel seltener praktiziert. Geändert von himitsu ( 1. Feb 2014 um 04:27 Uhr) |
Zitat |
Ansicht |
Linear-Darstellung |
Zur Hybrid-Darstellung wechseln |
Zur Baum-Darstellung wechseln |
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 |
LinkBack URL |
About LinkBacks |