TTimer, TThread

0

Witam, troche przeszukiwalem forum ale nie znalazlem pomocy,
problem mam taki ze potrzebuje timera, ale potrzebuje tworzyc go dopiero gdy bedzie taka potrzeba:
tutaj jest classa ktora wlasnie pisze w niej potrzebuje miec takiego timera czy thread'a
problem jest taki ze tworze sobie taki obiekt "TTimer *Zegar;", jednak nie potrafie dolaczyc czy wyznaczyc mu funkcji ktora ma co ilesc sekund wywolywac, sorry za to ze dziwnie to opisuje ale za chiny ludowanie nie wiem jak to wam napisac, moze sie domyslicie
tak btw. w WinApi bylo to bez problemu podawalem mu numer wiadomosci (zdarzenia) jakie mial wysylac to glownej funkcji ktora sprawdzala (poprzez switch) i wywolywala konkretne zdarzenie, a to wlasnie mnie interesuje jednak teraz w builderze...

class Lokata
{
   public:
          void __fastcall ZegarTimer(TObject *Sender)
          {
            ShowMessage("dsf");
          }
          Lokata(double Kwota, int Czas)
          {
              this->Oprocent = Oprocentowanie(Czas);
              this->Czas = Czas;
              this->Kwota = Kwota;
              Zegar = new TTimer(Form1);
              Zegar->Enabled;
          };
          ~Lokata() {};
          double Jaka_Kwota(void)
          {
              return this->Kwota;
          }
          int Jaki_Czas(void)
          {
              return this->Czas;
          }
   private:
<b>           TThread *bum;
           TTimer *Zegar;</b> //jaka jest jego funkcja ktora wywoluje ??
           float Oprocent; // Oprocentowanie
           int Czas;
           double Kwota;
};
0

Co to za kodowy bajzel ,,,,

class Lokata
{
   private:
           //TThread *bum;
           TTimer *Zegar; //jaka jest jego funkcja ktora wywoluje ??

                                // A taka - > ZegarTimer(TObject *Sender)
 
           float Oprocent; // Oprocentowanie
           int Czas;
           double Kwota;
   public:

          void __fastcall ZegarTimer(TObject *Sender)
          {
            ShowMessage("dsf");
          }

          Lokata(double Kwota, int Czas)
          {
              //Oprocent = Oprocentowanie(Czas); ? 
              Czas = Czas;
              Kwota = Kwota;

     //-->
              Zegar = new TTimer(0);

              Zegar -> OnTimer = ZegarTimer ; //  Funkcja Timera

              Zegar ->Interval = 1000 ;  //1000 mili-sek == 1 sek

              Zegar ->Enabled = true;  //   Uruchom timer

              //Zegar->Enabled = false;  //   zatrzymaj
              // to złe miejsce lepiej wpakować do odpowiedniej
              // funkcji .

          }
  //-->        
          ~Lokata() {  delete Zegar ;}

          double Jaka_Kwota(void)
          {
              return Kwota;
          }
          int Jaki_Czas(void)
          {
              return Czas;
          }
};

Porządek , porządek to wróg zwierządek - Pan Kuleczka i kaczka Katastrofa .

0

Mowisz balagan, jedynie private wrzucilbym na gore i tez to zrobiles, tak to jest to faza tworzenia. Zegar -> OnTimer = ZegarTimer ;, nie sadzilem ze to bedzie trzeba przyrownac, chociaŻ ma to sens :)
//Oprocent = Oprocentowanie(Czas); ? - funkcja Oprocentowanie zwraca wartosc oprocentowania naprzyklad przy Czas = 12miesiecy zwraca 5,1%, nazwy sa dziwne wiem, bo nie mam na nie pomyslu ;/ ;]

Thx for help!

1 użytkowników online, w tym zalogowanych: 0, gości: 1