Sayfayı Yazdır | Pencereyi Kapat

Panelin Güncellenmesi

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=596
Tarih: 08 Ocak 2025 Saat 20:21
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Panelin Güncellenmesi
Mesajı Yazan: yusufergün
Konu: Panelin Güncellenmesi
Mesaj Tarihi: 17 Mayıs 2024 Saat 20:01
Merhabalar;

İngilizce kelimelerin türkçe karşılığını öğreten bir program üzerinde çalışıyorum. Bir kart yapısı oluşturdum, TClProPanel ile... Ekranın sağ ve solunda görünmez iki adet buton var.
bu butonlardan herhangi birine tıklandığında kartın içindeki kelimlerin güncellenmesini istiyorum bunu nasıl yapabilirim?




var
  HomePage : TclStyleForm;
  cardPanel : TClProPanel;
  lblEng, lblTr : TclProLabel;
  lblScore : TCLLabel;
  btnLeft, btnRight : TClProButton;
  counter : Integer;

//Kart Yapısı.
void createCard(wordEng : String; wordTr : String);
{
  cardPanel = HomePage.AddNewProPanel(HomePage,'cardPanel');
  clComponent.SetupComponent(cardPanel,
                            '{"Align" : "alNone",
                            "Width" : 200,
                            "Height" : 190,
                            "RoundHeight" : 35,
                            "MarginBottom" : 100,
                            "RoundWidth" : 35,
                            "BorderWidth" : 1,
                            "BackgroundColor" : "#1499db",
                            "BorderColor" : "#1499db"}'); //Gri

  lblEng = HomePage.AddNewProLabel(cardPanel, 'lblEng', 'wordEng');
  lblEng.Text = wordEng;
  clComponent.SetupComponent(lblEng,'{
    "TextColor" : "ffffff",
    "TextSize" : 25,
    "Height" : 50,
    "TextBold" : "Yes",
    "TextVerticalAlign" : "Center",
    "TextHorizontalAlign" : "Center"
  }');
  lblEng.Align = alTop;
  
  lblTr = HomePage.AddNewProLabel(cardPanel, 'lblTr', 'wordTr');
  clComponent.SetupComponent(lblTr,'{
    "TextColor" : "000000",
    "TextSize" : 18,
    "Height" : 50,
    "TextVerticalAlign" : "Center",
    "TextHorizontalAlign" : "Center"
  }');
  lblTr.Align = alBottom;
  lblTr.Margins.Bottom = 50;
  lblTr.Text = wordTr;
}

void createVisibleBtn
{
  btnRight = HomePage.AddNewProButton(HomePage, 'btnRight', '');
  clComponent.SetupComponent(btnRight, '{
  "Width": 90,
  "Height": 150,
  "BackgroundColor": "#1499db",
  "TextColor": "#1499db"}');
  btnRight.Align = alRight;
  btnRight.Opacity = 0; // buton görünmez
  
  btnLeft = HomePage.AddNewProButton(HomePage, 'btnLeft', '');
  clComponent.SetupComponent(btnLeft, '{
  "Width": 90,
  "Height": 150,
  "BackgroundColor": "#1499db",
  "TextColor": "#1499db"}');
  btnLeft.Align = alLeft;
  btnLeft.Opacity = 0;
}

void BtnLeftClick;
{
  //ShowMessage('Sol butona tıkladınız');
  Dec(counter);
  lblScore.Text = 'Skorunuz : ' + IntToStr(counter);
}

void BtnRightClick;
{
  //ShowMessage('Sağ butona tıkladınız.');
  Inc(counter);
  lblScore.Text = 'Skorunuz : ' + IntToStr(counter);
}

{
  counter = 0;
  HomePage = TclStyleForm.Create(Self);
  HomePage.SetFormColor('#292929', '#292929', clGNone);
  
  //Sol Üst Skor Labelı
  lblScore = HomePage.AddNewLabel(HomePage, 'lblScore', '--');
  lblScore.Align = alMostTop;
  lblScore.Height = 20;
  lblScore.Margins.Left = 20;
  
  
  createCard('Example','Örnek');
  createVisibleBtn();
  
  HomePage.AddNewEvent(btnRight, tbeOnClick, 'BtnRightClick');
  HomePage.AddNewEvent(btnLeft, tbeOnClick, 'BtnLeftClick');
  
  HomePage.Run;
}




Cevaplar:
Mesajı Yazan: BilalCndn
Mesaj Tarihi: 21 Mayıs 2024 Saat 11:30
Merhaba Yusuf,

Kodunu incelediğimde butonların 'click' eventlerinde lblSkor nesnesinin text özelliğini değiştirdiğini görüyorum. Aynı prosedürlerin içerisinde lblEng ve lblTr'yi de değiştirebilirsin. Burada önemli olan nokta kelimeleri hangi kaynakta tutmayı düşünüyorsun? Kodda kelimeleri tuttuğun bir kısım görmediğim için tam olarak bir düzenleme yapamıyorum fakat aşağıda verdiğim örnek gibi kullanabilirsin.

void BtnLeftClick;
{
  //ShowMessage('Sol butona tıkladınız');
  Dec(counter);
  lblScore.Text = 'Skorunuz : ' + IntToStr(counter);
  lblEng.Text = strEng;
  lblTr.Text = strTr;
}

Kelimeleri nerede tutacağını belirledikten sonra strEng ve strTr kısımlarını kendi verilerine göre düzenleyebilirsin.

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


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]


Mesajı Yazan: yusufergün
Mesaj Tarihi: 22 Mayıs 2024 Saat 10:44
Merhaba, yanıtınız için teşekkür ederim

Aslında yapmak istediğim bir veri tabanı üzerinden kelimeleri rastgele şekilde labellara yazdırmak istiyorum. Bunun için örnek olarak beş veriden oluşan bir veri tabanı oluşturdum fakat clomosy ile bağlamaya çalıştığımda şu hatayı veriyor:
Cannot connect to server on host "localhost":
Connection refused.
Socket Error Code: 61($3D).
 

 


Mesajı Yazan: BilalCndn
Mesaj Tarihi: 22 Mayıs 2024 Saat 14:40
Merhaba Yusuf,

Bağlantıda 'localhost' yazdığın kısımda local ip adresini yazarak bağlantı yapabilirsin. Örn: 192.168.1.7 gibi. 

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


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]


Mesajı Yazan: yusufergün
Mesaj Tarihi: 24 Mayıs 2024 Saat 10:26
Sorunu çözdüm, yardımınız için teşekkür ederim.



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