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.