Sayfayı Yazdır | Pencereyi Kapat

sınıf ataması

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=1534
Tarih: 21 Ağustos 2026 Saat 02:53
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: sınıf ataması
Mesajı Yazan: Berra Gül
Konu: sınıf ataması
Mesaj Tarihi: 13 Mayıs 2026 Saat 19:10
Günlük hayattaki asit ve bazları doğal indikatörlerle ayırma ile ilgili bir sanal deney tasarlayacağız. Limon suyu, sirke, tuz ruhunu asit sınıfına; diş macunu, karbonatlı su, sabunlu suyu da baz sınıfa atamak istiyoruz. Daha sonra indikatörlere eğer asit sınıfından gelirse böyle davran baz sınıfından maddeyle karşılaşırsan da böyle davran diye komut vermek istiyorum. Nasıl ilerlemeliyim ? teşekkürler




Cevaplar:
Mesajı Yazan: kaanl0
Mesaj Tarihi: 14 Mayıs 2026 Saat 09:38
Doğal indikatörlere ayırmayı tam bilmediğim için araştırdığımda lahana suyu deneyi gibi birşey olduğunu asitse kırmızımsı bazsa mavimsi renge dönen bir deney olduğunu söyledi eğer yanlışım varsa geri dönüş bekliyorum bununla ilgili çok basit bir kod yazdım inceleyerek geliştirebilirsiniz


var
  Form1: TclForm;
  PnlUst, PnlIndikator, PnlMaddeler: TclProPanel;
  LblBaslik, LblIndikatorDurum, LblSonuc: TclProLabel;
  BtnLimon, BtnSirke, BtnTuzRuhu, BtnDisMacunu, BtnKarbonat, BtnSabun: TclProButton;

// MADDELERİN TEST EDİLDİĞİ ANA FONKSİYON
void OnMaddeEklendi;
var
  SecilenMadde: TclProButton;
{
  SecilenMadde = TclProButton(Form1.clSender);

  // EĞER SEÇİLEN MADDE ASİT İSE (Etiketi 1 ise)
  if (SecilenMadde.clTagInt == 1) 
  {
    PnlIndikator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E84393'); // Pembe/Kırmızı Tonu
    LblIndikatorDurum.Text = SecilenMadde.Text + ' Eklendi';
    LblSonuc.Text = 'SONUÇ: Asit algılandı! Kırmızı lahana suyu kırmızı/pembe renge dönüştü.';
    LblSonuc.clProSettings.FontColor = clAlphaColor.clHexToColor('#E84393');
  }
  // EĞER SEÇİLEN MADDE BAZ İSE (Etiketi 2 ise)
  else if (SecilenMadde.clTagInt == 2) 
  {
    PnlIndikator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00B894'); // Yeşil/Mavi Tonu
    LblIndikatorDurum.Text = SecilenMadde.Text + ' Eklendi';
    LblSonuc.Text = 'SONUÇ: Baz algılandı! Kırmızı lahana suyu mavi/yeşil renge dönüştü.';
    LblSonuc.clProSettings.FontColor = clAlphaColor.clHexToColor('#00B894');
  }
  
  PnlIndikator.SetclProSettings(PnlIndikator.clProSettings);
  LblSonuc.SetclProSettings(LblSonuc.clProSettings);
}

{
  Form1 = TclForm.Create(Self);
  Form1.SetFormColor('#1E272E', '', clGNone);

  // --- ÜST BAŞLIK ---
  PnlUst = Form1.AddNewProPanel(Form1, 'PnlUst');
  PnlUst.Align = alTop; PnlUst.Height = 60;
  PnlUst.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2F3640');
  PnlUst.SetclProSettings(PnlUst.clProSettings);
  
  LblBaslik = Form1.AddNewProLabel(PnlUst, 'LblBaslik', '🧪 Doğal İndikatör Deneyi');
  LblBaslik.Align = alClient; LblBaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  LblBaslik.clProSettings.FontSize = 18; LblBaslik.clProSettings.FontHorzAlign = palCenter;
  LblBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  LblBaslik.SetclProSettings(LblBaslik.clProSettings);

  // --- İNDİKATÖR KABI (Kırmızı Lahana Suyu) ---
  PnlIndikator = Form1.AddNewProPanel(Form1, 'PnlIndikator');
  PnlIndikator.Align = alTop; PnlIndikator.Height = 180;
  PnlIndikator.Margins.Top = 30; PnlIndikator.Margins.Left = 50; PnlIndikator.Margins.Right = 50;
  PnlIndikator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#8E44AD'); // Doğal Mor Renk
  PnlIndikator.clProSettings.RoundHeight = 20; PnlIndikator.clProSettings.RoundWidth = 20;
  PnlIndikator.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FFFFFF'); PnlIndikator.clProSettings.BorderWidth = 2;
  PnlIndikator.SetclProSettings(PnlIndikator.clProSettings);

  LblIndikatorDurum = Form1.AddNewProLabel(PnlIndikator, 'LblIndikatorDurum', 'Saf Kırmızı Lahana Suyu');
  LblIndikatorDurum.Align = alClient; LblIndikatorDurum.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  LblIndikatorDurum.clProSettings.FontSize = 16; LblIndikatorDurum.clProSettings.FontHorzAlign = palCenter;
  LblIndikatorDurum.SetclProSettings(LblIndikatorDurum.clProSettings);

  // --- SONUÇ BİLGİ EKRANI ---
  LblSonuc = Form1.AddNewProLabel(Form1, 'LblSonuc', 'Lütfen denemek için bir madde seçin.');
  LblSonuc.Align = alTop; LblSonuc.Height = 80;
  LblSonuc.Margins.Top = 20; LblSonuc.Margins.Left = 20; LblSonuc.Margins.Right = 20;
  LblSonuc.clProSettings.FontColor = clAlphaColor.clHexToColor('#DCDDE1');
  LblSonuc.clProSettings.FontSize = 14; LblSonuc.clProSettings.FontHorzAlign = palCenter;
  LblSonuc.clProSettings.TextSettings.WordWrap = True;
  LblSonuc.SetclProSettings(LblSonuc.clProSettings);

  // --- MADDELER PANELİ ---
  PnlMaddeler = Form1.AddNewProPanel(Form1, 'PnlMaddeler');
  PnlMaddeler.Align = alClient; PnlMaddeler.Margins.Top = 10;
  PnlMaddeler.clProSettings.BackgroundColor = clAlphaColor.clNull;
  PnlMaddeler.SetclProSettings(PnlMaddeler.clProSettings);

  // --- ASİTLER (Tag = 1) ---
  BtnLimon = Form1.AddNewProButton(PnlMaddeler, 'BtnLimon', '🍋 Limon Suyu');
  BtnLimon.Align = alTop; BtnLimon.Height = 45; BtnLimon.Margins.Bottom = 10; BtnLimon.Margins.Left = 30; BtnLimon.Margins.Right = 30;
  BtnLimon.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1C40F'); BtnLimon.clProSettings.RoundHeight = 10; BtnLimon.clProSettings.RoundWidth = 10;
  BtnLimon.SetclProSettings(BtnLimon.clProSettings); BtnLimon.clTagInt = 1;
  Form1.AddNewEvent(BtnLimon, tbeOnClick, 'OnMaddeEklendi');

  BtnSirke = Form1.AddNewProButton(PnlMaddeler, 'BtnSirke', '🍾 Sirke');
  BtnSirke.Align = alTop; BtnSirke.Height = 45; BtnSirke.Margins.Bottom = 10; BtnSirke.Margins.Left = 30; BtnSirke.Margins.Right = 30;
  BtnSirke.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E67E22'); BtnSirke.clProSettings.RoundHeight = 10; BtnSirke.clProSettings.RoundWidth = 10;
  BtnSirke.SetclProSettings(BtnSirke.clProSettings); BtnSirke.clTagInt = 1;
  Form1.AddNewEvent(BtnSirke, tbeOnClick, 'OnMaddeEklendi');

  BtnTuzRuhu = Form1.AddNewProButton(PnlMaddeler, 'BtnTuzRuhu', '☠️ Tuz Ruhu');
  BtnTuzRuhu.Align = alTop; BtnTuzRuhu.Height = 45; BtnTuzRuhu.Margins.Bottom = 20; BtnTuzRuhu.Margins.Left = 30; BtnTuzRuhu.Margins.Right = 30;
  BtnTuzRuhu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#95A5A6'); BtnTuzRuhu.clProSettings.RoundHeight = 10; BtnTuzRuhu.clProSettings.RoundWidth = 10;
  BtnTuzRuhu.SetclProSettings(BtnTuzRuhu.clProSettings); BtnTuzRuhu.clTagInt = 1;
  Form1.AddNewEvent(BtnTuzRuhu, tbeOnClick, 'OnMaddeEklendi');

  // --- BAZLAR (Tag = 2) ---
  BtnDisMacunu = Form1.AddNewProButton(PnlMaddeler, 'BtnDisMacunu', '🪥 Diş Macunu');
  BtnDisMacunu.Align = alTop; BtnDisMacunu.Height = 45; BtnDisMacunu.Margins.Bottom = 10; BtnDisMacunu.Margins.Left = 30; BtnDisMacunu.Margins.Right = 30;
  BtnDisMacunu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3498DB'); BtnDisMacunu.clProSettings.RoundHeight = 10; BtnDisMacunu.clProSettings.RoundWidth = 10; BtnDisMacunu.SetclProSettings(BtnDisMacunu.clProSettings); BtnDisMacunu.clTagInt = 2;
  Form1.AddNewEvent(BtnDisMacunu, tbeOnClick, 'OnMaddeEklendi');

  BtnKarbonat = Form1.AddNewProButton(PnlMaddeler, 'BtnKarbonat', '🫧 Karbonatlı Su');
  BtnKarbonat.Align = alTop; BtnKarbonat.Height = 45; BtnKarbonat.Margins.Bottom = 10; BtnKarbonat.Margins.Left = 30; BtnKarbonat.Margins.Right = 30;
  BtnKarbonat.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#9B59B6'); BtnKarbonat.clProSettings.RoundHeight = 10; BtnKarbonat.clProSettings.RoundWidth = 10; BtnKarbonat.SetclProSettings(BtnKarbonat.clProSettings); BtnKarbonat.clTagInt = 2;
  Form1.AddNewEvent(BtnKarbonat, tbeOnClick, 'OnMaddeEklendi');

  BtnSabun = Form1.AddNewProButton(PnlMaddeler, 'BtnSabun', '🧼 Sabunlu Su');
  BtnSabun.Align = alTop; BtnSabun.Height = 45; BtnSabun.Margins.Bottom = 10; BtnSabun.Margins.Left = 30; BtnSabun.Margins.Right = 30;
  BtnSabun.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1ABC9C'); BtnSabun.clProSettings.RoundHeight = 10; BtnSabun.clProSettings.RoundWidth = 10; BtnSabun.SetclProSettings(BtnSabun.clProSettings); BtnSabun.clTagInt = 2;
  Form1.AddNewEvent(BtnSabun, tbeOnClick, 'OnMaddeEklendi');

  Form1.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



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