Sayfayı Yazdır | Pencereyi Kapat

TclTimer

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=592
Tarih: 22 Ocak 2025 Saat 20:51
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: TclTimer
Mesajı Yazan: emre.gungor01
Konu: TclTimer
Mesaj Tarihi: 11 Mayıs 2024 Saat 18:33
Merhabalar;
Projemde süre ekledim fakat sürenin butona tıklandığında başlamasını istiyorum. Buton ile süreyi birbirine bağlayamadım bir türlü
Kodlar;
Var
  AnaForm:TclForm;
  btn1 : TClProButton;
  Zaman : TCLTimer;
  sayac:Integer;
  
  Zaman2:TCLTimer;
  sayac1:Integer;
  lblTimer: TCLLabel;
  
void zamanlayici;
{
  if(sayac == sayac)
  {
  sayac = sayac + 1;
  Zaman.Enabled = False;
  btn1.Text = IntToStr(sayac);
  if(sayac == 25)
  {
  ShowMessage('Süre doldu!');
  }
  }
  else
  {
  btn1.Text = IntToStr(sayac);
  sayac = sayac + 1;
  }
}

void sure;
{
  if(sayac1 == 0)
  {
    Zaman2.Enabled=False;
    lblTimer.caption = IntToStr(sayac1);
    ShowMessage('Süreniz Doldu!');
    if(btn1 == 1)
    {
      lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
    }
  }
  else
  {
    lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
  }
}

 {
   sayac=0;
   
   sayac1=20;
   
   AnaForm = TclForm.Create(Self);
   
  Zaman= AnaForm.AddNewTimer(AnaForm,'',1000);
  Zaman.Enabled = True;
  AnaForm.AddNewEvent(Zaman,tbeOnTimer,'zamanlayici');
  
  
  Zaman2=AnaForm.AddNewTimer(AnaForm,'GetTimer',1000);
  Zaman2.Enabled=True;
  AnaForm.AddNewEvent(Zaman2,tbeOnTimer,'sure');
  
  lblTimer=AnaForm.AddNewLabel(AnaForm,'lblTimer','');
  lblTimer.StyledSettings = ssFamily;
  lblTimer.TextSettings.Font.Size = 35;
  lblTimer.Align = alTop;
  lblTimer.Height=50;
  lblTimer.Width=50;
  
 
   AnaForm.SetFormColor('#52504d','',clGNone); 
   btn1 = AnaForm.AddNewProButton(AnaForm,'btn1','SAYAC');
   btn1.Align = alCenter;
   btn1.Width = 100;
   btn1.Height = 100;
   btn1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#a0a3b1');
   btn1.clProSettings.FontColor = clAlphaColor.clHexToColor('#050505');
   btn1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
   btn1.clProSettings.IsTransparent = False;
   btn1.clProSettings.FontSize = 12;
   btn1.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing
   btn1.clProSettings.FontHorzAlign = palCenter;
   btn1.clProSettings.IsFill = True; 
   btn1.clProSettings.IsRound = True;
   btn1.clProSettings.RoundHeight = 50;
   btn1.clProSettings.RoundWidth = 50;
   btn1.clProSettings.BorderWidth = 3;
   btn1.SetclProSettings(btn1.clProSettings);

   AnaForm.AddNewEvent(btn1,tbeOnClick,'zamanlayici');
   AnaForm.AddNewEvent(zamanlayici,tbeOnClick,'sure');
   AnaForm.Run;
 
 }



Cevaplar:
Mesajı Yazan: Atiker01
Mesaj Tarihi: 13 Mayıs 2024 Saat 09:19
Merhaba Emre,

öncelikle kodunu çalıştırdığında hatayı görmüşsündür. 
En son tanımladığın Event yanlış bir tanımlama. Event içerisine ilk parametre bir nesneyi temsil etmeli sen bir procedure(void) bağlamışsın, o satırdaki hatanı düzeltmelisin.
Hata satırı: AnaForm.AddNewEvent(zamanlayici,tbeOnClick,'sure');

2. olarak butona tıklandığında zamanlayıcı çalışsın istiyorsan zamanlayıcıyı uygulama açıldığı anda etkinleştirme, butona tıklandığında zamanlayıcıyı etkinleştirmelisin. 
Kod satırı:  Zaman.Enabled = True;


Mesajı Yazan: emre.gungor01
Mesaj Tarihi: 13 Mayıs 2024 Saat 10:31
evet event kısmını bunu attıktan sonra düzenledim. 2. olarak enabled kısımlarına baktığımda Zaman.Enabled = True; kısımlarına teker teker baktım fakat kimisinde zaman görünüyor kimisinde butona basmasam bile belirli bir süre sonra kendisi başladığı için zamanda otomatikmen başladığını farkettim. Acaba event kısmında mı hata yapıyorum. Clomosy Kitapta baktığımda enabled kısmı false olarak yazıyor fakat ben yaptığımda olmuyor veya işlev görmüyor.


Mesajı Yazan: Atiker01
Mesaj Tarihi: 13 Mayıs 2024 Saat 13:26
Merhaba Emre,

butona basmadan zaman ilerlemesinin sebebi başka bir zamanlayıcının açık olması ve bunu aktifleştirmen. Kodunu şu şekilde değiştirmelisin. Öncelikle 2 tane zamanlayıcıya ihtiyacın yok. Zaman2 adındaki değişkenini silebilirsin. Buna bağlı prosedürün (void) doğru mantıkta çalışıyor. Bunu Zaman adındaki zamanlayıcı nesnesine bağlayabilirsin.

İkinci olarak butona bastığında zamanlayıcın aktifleşiyor ve doğru şekilde ilerliyor fakat zamanlayici void yapındaki algoritmik mantık istediğin mantıkla uyuşmuyor, hatalı. 
Aşağıda kodunu alıntıladım ve yorum satırına sorunu yazdım.

void zamanlayici;
{
  if(sayac == sayac) //sayac değişkeni her zaman kendisine eşit olacağı için bu if'e her zaman girecektir ve içerisinde zamanlayıcı durduracaktır. Yani zamanlayıcın aktifleşip bir kez çalışıp duracak.
  {
  sayac = sayac + 1;
  Zaman.Enabled = False;
  btn1.Text = IntToStr(sayac);
  if(sayac == 25)
  {
  ShowMessage('Süre doldu!');
  }
  }
  else
  {
  btn1.Text = IntToStr(sayac);
  sayac = sayac + 1;
  }
}


Düzenlenmiş hali:

Var
  AnaForm:TclForm;
  btn1 : TClProButton;
  Zaman : TCLTimer;
  sayac1:Integer;
  lblTimer: TCLLabel;
  
void BtnOnClick;
{
  Zaman.Enabled = True;
  ShowMessage('girdim');
}

void sure;
{
  if(sayac1 == 0)
  {
    Zaman.Enabled=False;
    lblTimer.caption = IntToStr(sayac1);
    ShowMessage('Süreniz Doldu!');
    /*
    if(btn1 == 1) //btn1 nesnesi içerisindeki değeri almak istiyorsan IntToStr(btn1.Text) == 1 yazmalısın.
    {
      lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
    } */
  }
  else
  {
    lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
  }
}

 {
   
   sayac1=20;
   
   AnaForm = TclForm.Create(Self);
   
  Zaman= AnaForm.AddNewTimer(AnaForm,'Zaman',1000);
  AnaForm.AddNewEvent(Zaman,tbeOnTimer,'sure');
  
  
  lblTimer=AnaForm.AddNewLabel(AnaForm,'lblTimer','');
  lblTimer.StyledSettings = ssFamily;
  lblTimer.TextSettings.Font.Size = 35;
  lblTimer.Align = alTop;
  lblTimer.Height=50;
  lblTimer.Width=50;
  
 
   AnaForm.SetFormColor('#52504d','',clGNone); 
   btn1 = AnaForm.AddNewProButton(AnaForm,'btn1','SAYAC');
   btn1.Align = alCenter;
   btn1.Width = 100;
   btn1.Height = 100;
   btn1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#a0a3b1');
   btn1.clProSettings.FontColor = clAlphaColor.clHexToColor('#050505');
   btn1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
   btn1.clProSettings.IsTransparent = False;
   btn1.clProSettings.FontSize = 12;
   btn1.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing
   btn1.clProSettings.FontHorzAlign = palCenter;
   btn1.clProSettings.IsFill = True; 
   btn1.clProSettings.IsRound = True;
   btn1.clProSettings.RoundHeight = 50;
   btn1.clProSettings.RoundWidth = 50;
   btn1.clProSettings.BorderWidth = 3;
   btn1.SetclProSettings(btn1.clProSettings);

   AnaForm.AddNewEvent(btn1,tbeOnClick,'BtnOnClick');
   AnaForm.Run;
 
 }

Sorunun çözüme ulaşıp ulaşmadığı ile ilgili geri dönüşünü bekliyorum.
İyi çalışmalar diliyorum.


Mesajı Yazan: emre.gungor01
Mesaj Tarihi: 13 Mayıs 2024 Saat 22:58
Denedim fakat tam olarak çalışmıyor bu sefer butonda tıklanma olayı çok geç oluyor benim istediğim butona anında tıklanması ve başlangıçta ben tıklayana kadar başlamamasıydı. 2 sürede yapmamın sebebi yuvarlağın içindeki label zamanlayici yani her bastığımda arttırıyor sayıyı sure ise yukarıda 20 den geriye doğru sayan süremiz şimdi burada ki koduda denediğimde yuvarlağın içindeki zamanlayiciyi etkiliyor. Acaba 3.bir event olayı açıp BtnOnClick özelliğini btn1 eventıyla birleştirmek mantıklı mı?


Mesajı Yazan: Atiker01
Mesaj Tarihi: 14 Mayıs 2024 Saat 11:42
Merhaba Emre,
istediğin durum şu şekilde ise;
Uygulama içerisinde 2 adet zamanlayıcı bulunmaktadır. Biri oyun zamanı ve diğeri buton zamanı olarak tanımlandı.
Uygulamada değişken adı olarak;
Oyun zamanlayıcısı => oyunZamani
Buton zamanlayıcısı => butonZamani
Uygulama açıldığı anda oyunZamani zamanlayıcısı başlasın ve butonZamani zamanlayıcısı ise butona tıklandığı anda çalışması için;

Buton Event için => void bAktiflestir
oyunZamani Event için => void oZamanlayici
butonZamani Event için => void bZamanlayici

oluşturuldu.
Uygulama açıldığı anda oZamanlayici void yapısı çalışmaktadır. Burada ise sayac 20 değerine gelene kadar geri sayım yapmaktadır.
Butona tıklandığında bAktiflestir void içerisine butonZamani zamanlayıcısı aktifleştirilmektedir.
Aktifleşen butonZamani zamanlayıcısı ise bZamanlayici void yapısı çalışmaktadır. Burada ise buton üzerindeki metin içerisine çalışan zamanlayıcı için oluşturulan butonSayac değişkeni arttırılarak yazılmaktadır.

Uygulama içerisindeki zamanlayıcılar oyun süresi bittiğinde durmaktadır ya da butonSayac değişkeni 10 sayısına geldiğinde butonZamani zamanlayıcısı durmaktadır. Butona tıklanırsa tekrardan başlar. 
Kodları aşağıda yer alıyor. Burada yapıyı istediğin gibi değiştirebilirsin.

Var
  AnaForm:TclForm;
  btn1 : TClProButton;
  butonZamani : TCLTimer;
  butonSayac:Integer;
  
  oyunZamani:TCLTimer;
  oyunSayac:Integer;
  lblTimer: TCLLabel;

void bAktiflestir;
{
  butonZamani.Enabled = True;
}
void bZamanlayici;
{
  if(butonSayac == 10) //25
  {
    butonZamani.Enabled = False;
    btn1.Text = IntToStr(butonSayac);
    butonSayac = 0;
    ShowMessage('Buton süresi doldu. Bu kısımda istediğin yöntemi uygulamalısın.');
    
  }
  else
  {
    btn1.Text = IntToStr(butonSayac);
    Inc(butonSayac);
  }
}

void oZamanlayici;
{
  if(oyunSayac == 0)
  {
    oyunZamani.Enabled=False;
    butonZamani.Enabled = False; //oyun süresi durduğunda buton zamanlayıcısıda dursun
    lblTimer.caption = IntToStr(oyunSayac);
    ShowMessage('Süreniz Doldu!');
    /*
    if(btn1 == 1)
    {
      lblTimer.caption=IntToStr(oyunSayac);
    Dec(oyunSayac);
    }*/
  }
  else
  {
    lblTimer.caption=IntToStr(oyunSayac);
    Dec(oyunSayac);
  }
}

 {
   butonSayac=0;
   oyunSayac=20;
   
  AnaForm = TclForm.Create(Self);
   
  butonZamani= AnaForm.AddNewTimer(AnaForm,'',1000);
  butonZamani.Enabled = False;
  AnaForm.AddNewEvent(butonZamani,tbeOnTimer,'bZamanlayici');
  
  oyunZamani=AnaForm.AddNewTimer(AnaForm,'GetTimer',1000);
  oyunZamani.Enabled=True;
  AnaForm.AddNewEvent(oyunZamani,tbeOnTimer,'oZamanlayici');
  
  lblTimer=AnaForm.AddNewLabel(AnaForm,'lblTimer','');
  lblTimer.StyledSettings = ssFamily;
  lblTimer.TextSettings.Font.Size = 35;
  lblTimer.Align = alTop;
  lblTimer.Height=50;
  lblTimer.Width=50;
  
 
   AnaForm.SetFormColor('#52504d','',clGNone); 
   btn1 = AnaForm.AddNewProButton(AnaForm,'btn1','butonSayac');
   btn1.Align = alCenter;
   btn1.Width = 100;
   btn1.Height = 100;
   btn1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#a0a3b1');
   btn1.clProSettings.FontColor = clAlphaColor.clHexToColor('#050505');
   btn1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
   btn1.clProSettings.IsTransparent = False;
   btn1.clProSettings.FontSize = 12;
   btn1.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing
   btn1.clProSettings.FontHorzAlign = palCenter;
   btn1.clProSettings.IsFill = True; 
   btn1.clProSettings.IsRound = True;
   btn1.clProSettings.RoundHeight = 50;
   btn1.clProSettings.RoundWidth = 50;
   btn1.clProSettings.BorderWidth = 3;
   btn1.SetclProSettings(btn1.clProSettings);

   AnaForm.AddNewEvent(btn1,tbeOnClick,'bAktiflestir');
   AnaForm.Run;
 
 }

Sorunun çözüme ulaşıp ulaşmadığı ile ilgili geri dönüşünü bekliyorum.
İyi çalışmalar diliyorum.






Mesajı Yazan: emre.gungor01
Mesaj Tarihi: 15 Mayıs 2024 Saat 18:31
Hocamızla konuştuğumda kendisi zamanlayıcı hakkında düzeltme yapacaktı.

Kodlar;

Var
  AnaForm:TclForm;
  btn1 : TClProButton;
  Zaman : TCLTimer;
  sayac:Integer;
  
  Zaman2:TCLTimer;
  sayac1:Integer;
  lblTimer: TCLLabel;
  
  testImg: TCLImage;  //random yerlerde belirli zamanda görsel çıkartıyor.
  
void zamanlayici;
{
  if(sayac == sayac)
  {
  sayac = sayac + 1;
  Zaman.Enabled = False;  //burda yuvarlağın içindeki yazıyı çift arttırıyor.
  btn1.Text = IntToStr(sayac);
  
  if(sayac == 25)
  {
    AnaForm.SetFormColor('#23c7c5','',clGNone);
    sayac1 = sayac1 + 3;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
    testImg.Position.X = Abs((Random() * AnaForm.clWidth) - testImg.Width);
    testImg.Position.Y = Abs((Random() * AnaForm.clHeight) - testImg.Height);
  }
  
  if(sayac == 72)
  {
    AnaForm.SetFormColor('#e01f1f','',clGNone);
    sayac1 = sayac1 + 5;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
  }
  
  if(sayac == 100)
  {
    AnaForm.SetFormColor('#cfeb00','#db7edd',clGHorizontal);
    sayac1 = sayac1 + 7;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
  }
  }
  else
  {
  btn1.Text = IntToStr(sayac);
  sayac = sayac + 1;
  }
}

void sure;
{
  if(sayac1 == 0)
  {
    Zaman2.Enabled = False;  // sürekli ekranda gösteriyor. False olacak.
    lblTimer.caption = IntToStr(sayac1);
    ShowMessage('Süreniz Doldu!');
    ShowMessage('Puanınız: ' + IntToStr(sayac));
    
    if(sayac1 == 1)
    {
    Zaman2.Enabled= True;   //burda hiç bir şey olmuyor.
    lblTimer.caption = IntToStr(sayac1);
    }
  }
  else
  {
    lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
  }
}

void eksure
{
  if(sayac==25)
  {
    testImg.Visible=True;
  }
  else
  sayac1 = sayac1+5;
  testImg.Visible=False;
}
  
 {
   sayac=0;
   
   sayac1=20;
   
   AnaForm = TclForm.Create(Self);
   
  Zaman= AnaForm.AddNewTimer(AnaForm,'Zaman',1000);
  Zaman.Enabled = True;  // burda da hiçbir işlev görünmüyor.
  AnaForm.AddNewEvent(Zaman,tbeOnTimer,'zamanlayici');
  
  
  Zaman2=AnaForm.AddNewTimer(AnaForm,'Zaman2',1000);
  Zaman2.Enabled=True;  // görünür yapıyor.
  AnaForm.AddNewEvent(Zaman2,tbeOnTimer,'sure');
  
  lblTimer=AnaForm.AddNewLabel(AnaForm,'lblTimer','');
  lblTimer.StyledSettings = ssFamily;
  lblTimer.TextSettings.Font.Size = 35;
  lblTimer.Align = alTop;
  lblTimer.Height=50;
  lblTimer.Width=50;
  lblTimer.Margins.Left = 170;
  
  
  
   AnaForm.SetFormColor('#52504d','',clGNone); 
   btn1 = AnaForm.AddNewProButton(AnaForm,'btn1','SAYAC');
   testImg = AnaForm.AddNewImage(AnaForm,'testImg');
  
   btn1.Align = alNone; //Böyle yaparak butonu sabitlemiş oluyorum.
   btn1.Width = 100;
   btn1.Height = 100;
   btn1.Position.X = (AnaForm.clWidth / 2) - (btn1.Width / 2);  //konum1.
   btn1.Position.Y = (AnaForm.clHeight / 2) - (btn1.Width / 2); // konum2.
   
  AnaForm.SetImage(testImg,' https://cdn2.iconfinder.com/data/icons/chess-58/377/Time-256.png" rel="nofollow - https://cdn2.iconfinder.com/data/icons/chess-58/377/Time-256.png ');
  testImg.Align = alNone;
  testImg.Height = 30;
  testImg.Width = 30;
  testImg.Position.X = (AnaForm.clWidth / 2) - (testImg.Width / 2);  //testImg konum1.
  testImg.Position.Y = (AnaForm.clHeight / 2) - (testImg.Width / 2); //testImg konum2.
   
   btn1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#a0a3b1');
   btn1.clProSettings.FontColor = clAlphaColor.clHexToColor('#050505');
   btn1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
   btn1.clProSettings.IsTransparent = False;
   btn1.clProSettings.FontSize = 12;
   btn1.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing
   btn1.clProSettings.FontHorzAlign = palCenter;
   btn1.clProSettings.IsFill = True; 
   btn1.clProSettings.IsRound = True;
   btn1.clProSettings.RoundHeight = 50;
   btn1.clProSettings.RoundWidth = 50;
   btn1.clProSettings.BorderWidth = 3;
   btn1.SetclProSettings(btn1.clProSettings);
   
   
   AnaForm.AddNewEvent(btn1,tbeOnClick,'zamanlayici');
   AnaForm.AddNewEvent(testImg,tbeOnClick,'eksure');
   
  
   AnaForm.Run;
 
 }


Mesajı Yazan: cagataycantay
Mesaj Tarihi: 16 Mayıs 2024 Saat 11:52
Sorunuza cevap verebilmemiz için yaşadığınız problemi doğrudan burada açıklayabilir misiniz?


Mesajı Yazan: emre.gungor01
Mesaj Tarihi: 16 Mayıs 2024 Saat 11:56
Projemde ortadaki yuvarlağa bastığımda üst tarafta bulunan zamanında çalışmasını istiyordum. Ben ortadaki yuvarlağa basmadığım sürece sayacında başlamasını istemiyorum.


Mesajı Yazan: cagataycantay
Mesaj Tarihi: 16 Mayıs 2024 Saat 13:13
Kodunuzu incelediğimde 2. timer a gerek olmadığından dolayı onu kaldırdım, diğer kullanacağımız timer ı buton un event inde true yaparak butona basıldığında başlamasını sağladım. 

Düzenlenmiş Hali:

Var
  AnaForm:TclForm;
  btn1 : TClProButton;
  sayac:Integer;
  
  zaman:TCLTimer;
  sayac1:Integer;
  lblTimer: TCLLabel;
  
  testImg: TCLImage;  
  
void zamanlayici;
{
  if(sayac == sayac)
  {
  sayac = sayac + 1;
  zaman.Enabled = True;    //Timerı butona basıldığında başlatıyoruz.  
  btn1.Text = IntToStr(sayac);
  
  if(sayac == 25)
  {
    AnaForm.SetFormColor('#23c7c5','',clGNone);
    sayac1 = sayac1 + 3;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
    testImg.Position.X = Abs((Random() * AnaForm.clWidth) - testImg.Width);
    testImg.Position.Y = Abs((Random() * AnaForm.clHeight) - testImg.Height);
  }
  
  if(sayac == 72)
  {
    AnaForm.SetFormColor('#e01f1f','',clGNone);
    sayac1 = sayac1 + 5;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
  }
  
  if(sayac == 100)
  {
    AnaForm.SetFormColor('#cfeb00','#db7edd',clGHorizontal);
    sayac1 = sayac1 + 7;
    btn1.Position.X = Abs((Random() * AnaForm.clWidth) - btn1.Width);
    btn1.Position.Y = Abs((Random() * AnaForm.clHeight) - btn1.Height);
  }
  }
  else
  {
  btn1.Text = IntToStr(sayac);
  sayac = sayac + 1;
  }
}

void sure;
{
  if(sayac1 == 0)
  {
    zaman.Enabled = False;  // sürekli ekranda gösteriyor. False olacak.
    lblTimer.caption = IntToStr(sayac1);
    ShowMessage('Süreniz Doldu!');
    ShowMessage('Puanınız: ' + IntToStr(sayac));
    
    if(sayac1 == 1)
    {
    zaman.Enabled= True;   //burda hiç bir şey olmuyor.
    lblTimer.caption = IntToStr(sayac1);
    }
  }
  else
  {
    lblTimer.caption=IntToStr(sayac1);
    Dec(sayac1);
  }
}

void eksure
{
  if(sayac==25)
  {
    testImg.Visible=True;
  }
  else
  sayac1 = sayac1+5;
  testImg.Visible=False;
}
  
 {
   sayac=0;
   
   sayac1=20;
   
   AnaForm = TclForm.Create(Self);
   
  Zaman=AnaForm.AddNewTimer(AnaForm,'zaman',1000);
  Zaman.Enabled=False; 
  AnaForm.AddNewEvent(zaman,tbeOnTimer,'sure');
  
  lblTimer=AnaForm.AddNewLabel(AnaForm,'lblTimer','');
  lblTimer.StyledSettings = ssFamily;
  lblTimer.TextSettings.Font.Size = 35;
  lblTimer.Align = alTop;
  lblTimer.Height=50;
  lblTimer.Width=50;
  lblTimer.Margins.Left = 170;
  
  
  
   AnaForm.SetFormColor('#52504d','',clGNone); 
   btn1 = AnaForm.AddNewProButton(AnaForm,'btn1','SAYAC');
   testImg = AnaForm.AddNewImage(AnaForm,'testImg');
  
   btn1.Align = alNone; //Böyle yaparak butonu sabitlemiş oluyorum.
   btn1.Width = 100;
   btn1.Height = 100;
   btn1.Position.X = (AnaForm.clWidth / 2) - (btn1.Width / 2);  //konum1.
   btn1.Position.Y = (AnaForm.clHeight / 2) - (btn1.Width / 2); // konum2.
   
  AnaForm.SetImage(testImg,' https://cdn2.iconfinder.com/data/icons/chess-58/377/Time-256.png" rel="nofollow - https://cdn2.iconfinder.com/data/icons/chess-58/377/Time-256.png ');
  testImg.Align = alNone;
  testImg.Height = 30;
  testImg.Width = 30;
  testImg.Position.X = (AnaForm.clWidth / 2) - (testImg.Width / 2);  //testImg konum1.
  testImg.Position.Y = (AnaForm.clHeight / 2) - (testImg.Width / 2); //testImg konum2.
   
   btn1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#a0a3b1');
   btn1.clProSettings.FontColor = clAlphaColor.clHexToColor('#050505');
   btn1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
   btn1.clProSettings.IsTransparent = False;
   btn1.clProSettings.FontSize = 12;
   btn1.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing
   btn1.clProSettings.FontHorzAlign = palCenter;
   btn1.clProSettings.IsFill = True; 
   btn1.clProSettings.IsRound = True;
   btn1.clProSettings.RoundHeight = 50;
   btn1.clProSettings.RoundWidth = 50;
   btn1.clProSettings.BorderWidth = 3;
   btn1.SetclProSettings(btn1.clProSettings);
   
   
   AnaForm.AddNewEvent(btn1,tbeOnClick,'zamanlayici');
   AnaForm.AddNewEvent(testImg,tbeOnClick,'eksure');
   
  
   AnaForm.Run;
 
 }



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net