Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Formular wird nicht mehr angezeigt! (https://www.delphipraxis.net/178854-formular-wird-nicht-mehr-angezeigt.html)

CloudDeplacer.de 31. Jan 2014 19:30

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 :)
http://youtu.be/ocaweLNySmI

Union 31. Jan 2014 19:41

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).

CloudDeplacer.de 31. Jan 2014 19:55

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.

Union 31. Jan 2014 20:14

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?

Sir Rufo 31. Jan 2014 20:21

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)

stahli 31. Jan 2014 23:04

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?

himitsu 1. Feb 2014 03:18

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:

Delphi-Quellcode:
sndPlaySound('positiv2.wav',SND_ASYNC); //SOUND

Zum Thema "relative" Pfade gibt es im Forum massig zu lesen und das man sowas gefälligst besser nicht zu machen hat.

Eine Variante:
Delphi-Quellcode:
sndPlaySound(PChar(ExtractFilePath(Application.ExeName) + 'positiv2.wav'), SND_ASYNC);

Auch wenn du bei MSDN-Library durchsuchensndPlaySound zwar den Vorteil hast, daß dort Windows die Datei sucht, wenn es Diese nicht da findet, wo du es angegeben hast.
=>
Delphi-Quellcode:
aktuelle Arbeitsverzeichnis <> Programmverzeichnis


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz