Sayfayı Yazdır | Pencereyi Kapat

Butona Unit Şartı Ekleyemiyorum

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=829
Tarih: 06 Ocak 2025 Saat 13:31
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Butona Unit Şartı Ekleyemiyorum
Mesajı Yazan: AhmetUnuvar
Konu: Butona Unit Şartı Ekleyemiyorum
Mesaj Tarihi: 07 Ağustos 2024 Saat 13:07
// Ana Sayfada combobox'ta 2 seçildiği zaman iki kişilik sayfaya , 3 seçildiği zaman üç kişilik sayfaya , 4 seçildiği zaman 4 kişilik sayfaya gitmesini istiyorum ancak oyuna başla butonuna tıkladığım zaman " butonaTikla1"  tanımlanamadı hatası alıyorum. 

var
  dcGameForm: TclGameForm;
  kullaniciBilgileriPanel: TclProPanel;
  btnOyunaBasla: TClProButton;
  oyuncuAdiProEdit: TclProEdit;
  oyuncuSayisiCmb: TCLComboBox;
  arkaPlan: TCLImage;
  oyunSayfasiUnit, ucKisilikUnit, dortKisilikUnit: TclUnit;

void goToOyunSayfasi; // iki kişilik sayfanın adı goToOyunSayfasi
{
  dcGameForm.clShow;
  oyunSayfasiUnit.UnitName = 'ikiKisilikUnit';
  oyunSayfasiUnit.CallerForm = dcGameForm;
  oyunSayfasiUnit.Run;
}

void goToUcKisilik;
{
  dcGameForm.clShow;
  ucKisilikUnit.UnitName = 'ucKisilikUnit';
  ucKisilikUnit.CallerForm = dcGameForm;
  ucKisilikUnit.Run;
}

void goToDortKisilik;
{
  dcGameForm.clShow;
  dortKisilikUnit.UnitName = 'dortKisilikUnit';
  dortKisilikUnit.CallerForm = dcGameForm;
  dortKisilikUnit.Run;
}

void butonaTikla;
{
  case oyuncuSayisiCmb.ItemIndex of
    {
    0: goToOyunSayfasi;  // 2 oyuncu seçildiğinde
    1: goToUcKisilik;    // 3 oyuncu seçildiğinde
    2: goToDortKisilik;  // 4 oyuncu seçildiğinde
  
  else
    ShowMessage('Geçersiz Seçim');
  }
}
{
  dcGameForm = TclGameForm.Create(Self);
  oyunSayfasiUnit = TclUnit.Create;
  ucKisilikUnit = TclUnit.Create;
  dortKisilikUnit = TclUnit.Create;
  // Arka Plan
  arkaPlan = dcGameForm.AddNewImage(dcGameForm, 'arkaPlan');
  arkaPlan.Align = alClient;
  arkaPlan.Height = 250;
  arkaPlan.Width = 300;
  dcGameForm.SetImage(arkaPlan, ' https://i.hizliresim.com/d5u495h.png" rel="nofollow - https://i.hizliresim.com/d5u495h.png ');
  // Panel
  kullaniciBilgileriPanel = dcGameForm.AddNewProPanel(dcGameForm, 'kullaniciBilgileriPanel');
  clComponent.SetupComponent(dcGameForm,
    '{
      "Align" : "Center",
      "MarginBottom": 135,
      "Width" : 200,
      "Height" : 280,
      "RoundHeight" : 10,
      "RoundWidth" : 10,
      "BorderWidth" : 2,
      "BorderColor" : "#fabd20"
    }'
  );
  oyuncuSayisiCmb = dcGameForm.AddNewComboBox(dcGameForm, 'oyuncuSayisiCmb');
  oyuncuSayisiCmb.Align = alTop;
  oyuncuSayisiCmb.Margins.Bottom = 370;
  oyuncuSayisiCmb.Width = 180;
  oyuncuSayisiCmb.Height = 45;
  oyuncuSayisiCmb.Margins.Left = 30;
  oyuncuSayisiCmb.AddItem('2', '2');
  oyuncuSayisiCmb.AddItem('3', '3');
  oyuncuSayisiCmb.AddItem('4', '4');
  oyuncuAdiProEdit = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit', 'Oyuncu Adını Giriniz');
  clComponent.SetupComponent(
    oyuncuAdiProEdit,
    '{
      "Align" : "Center",
      "MarginBottom" : 270,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
      "MarginLeft" : 30
    }'
  );
  btnOyunaBasla = dcGameForm.AddNewProButton(dcGameForm, 'btnOyunaBasla', 'Oyuna Başla');
  clComponent.SetupComponent(
    btnOyunaBasla,
    '{
      "caption" : "Oyuna Başla", 
      "Align" : "Center", 
      "MarginBottom" : 60, 
      "MarginLeft" : 31,
      "Width" : 150,
      "Height" : 50, 
      "RoundHeight" : 7, 
      "RoundWidth" : 2 , 
      "BorderColor" : "#ffffff" , 
      "BorderWidth" : 2,
      "BackgroundColor": "#ffffff",
      "FontStyle":"bold"
    }'
  );
  // Butona tıklama olayını ekleyin
  dcGameForm.AddNewEvent(btnOyunaBasla, tbeOnClick, 'butonaTikla');
  // Oyuncu sayısı değiştiğinde deneme fonksiyonunu çağırın (isteğe bağlı)
  //dcGameForm.AddNewEvent(oyuncuSayisiCmb, tbeOnChange, 'deneme');
  dcGameForm.Run;
}




Cevaplar:
Mesajı Yazan: Kemal
Mesaj Tarihi: 07 Ağustos 2024 Saat 14:19
Merhaba Cafer
 oyunSayfasiUnit.UnitName = 'ikiKisilikUnit';
 Satırını
 oyunSayfasiUnit.UnitName = 'oyunSayfasiUnit';
 Bu şekilde değiştirirsen çalışacaktır.



Mesajı Yazan: AhmetUnuvar
Mesaj Tarihi: 07 Ağustos 2024 Saat 14:36
var
  dcGameForm: TclGameForm;
  kullaniciBilgileriPanel: TclProPanel;
  btnOyunaBasla: TClProButton;
  oyuncuAdiProEdit: TclProEdit;
  oyuncuSayisiCmb: TCLComboBox;
  arkaPlan: TCLImage;
  oyunSayfasiUnit, ucKisilikUnit, dortKisilikUnit: TclUnit;

void goToIkiKisilik; // iki kişilik sayfanın adı goToIkiKisilik
{
  dcGameForm.clShow;
  oyunSayfasiUnit.UnitName = 'oyunSayfasiUnit';
  oyunSayfasiUnit.CallerForm = dcGameForm;
  oyunSayfasiUnit.Run;
}

void goToUcKisilik;
{
  dcGameForm.clShow;
  ucKisilikUnit.UnitName = 'ucKisilikUnit';
  ucKisilikUnit.CallerForm = dcGameForm;
  ucKisilikUnit.Run;
}

void goToDortKisilik;
{
  dcGameForm.clShow;
  dortKisilikUnit.UnitName = 'dortKisilikUnit';
  dortKisilikUnit.CallerForm = dcGameForm;
  dortKisilikUnit.Run;
}

void butonaTikla;
{
  case oyuncuSayisiCmb.ItemIndex of
    {
    0: goToIkiKisilik;  // 2 oyuncu seçildiğinde
    1: goToUcKisilik;    // 3 oyuncu seçildiğinde
    2: goToDortKisilik;  // 4 oyuncu seçildiğinde
  
  else
    ShowMessage('Geçersiz Seçim');
  }
}
{
  dcGameForm = TclGameForm.Create(Self);
  oyunSayfasiUnit = TclUnit.Create;
  ucKisilikUnit = TclUnit.Create;
  dortKisilikUnit = TclUnit.Create;
  // Arka Plan
  arkaPlan = dcGameForm.AddNewImage(dcGameForm, 'arkaPlan');
  arkaPlan.Align = alClient;
  arkaPlan.Height = 250;
  arkaPlan.Width = 300;
  dcGameForm.SetImage(arkaPlan, ' https://i.hizliresim.com/d5u495h.png" rel="nofollow - https://i.hizliresim.com/d5u495h.png ');
  // Panel
  kullaniciBilgileriPanel = dcGameForm.AddNewProPanel(dcGameForm, 'kullaniciBilgileriPanel');
  clComponent.SetupComponent(dcGameForm,
    '{
      "Align" : "Center",
      "MarginBottom": 135,
      "Width" : 200,
      "Height" : 280,
      "RoundHeight" : 10,
      "RoundWidth" : 10,
      "BorderWidth" : 2,
      "BorderColor" : "#fabd20"
    }'
  );
  oyuncuSayisiCmb = dcGameForm.AddNewComboBox(dcGameForm, 'oyuncuSayisiCmb');
  oyuncuSayisiCmb.Align = alTop;
  oyuncuSayisiCmb.Margins.Bottom = 370;
  oyuncuSayisiCmb.Width = 180;
  oyuncuSayisiCmb.Height = 45;
  oyuncuSayisiCmb.Margins.Left = 30;
  oyuncuSayisiCmb.AddItem('2', '2');
  oyuncuSayisiCmb.AddItem('3', '3');
  oyuncuSayisiCmb.AddItem('4', '4');
  oyuncuAdiProEdit = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit', 'Oyuncu Adını Giriniz');
  clComponent.SetupComponent(
    oyuncuAdiProEdit,
    '{
      "Align" : "Center",
      "MarginBottom" : 270,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
      "MarginLeft" : 30
    }'
  );
  btnOyunaBasla = dcGameForm.AddNewProButton(dcGameForm, 'btnOyunaBasla', 'Oyuna Başla');
  clComponent.SetupComponent(
    btnOyunaBasla,
    '{
      "caption" : "Oyuna Başla", 
      "Align" : "Center", 
      "MarginBottom" : 60, 
      "MarginLeft" : 31,
      "Width" : 150,
      "Height" : 50, 
      "RoundHeight" : 7, 
      "RoundWidth" : 2 , 
      "BorderColor" : "#ffffff" , 
      "BorderWidth" : 2,
      "BackgroundColor": "#ffffff",
      "FontStyle":"bold"
    }'
  );
  // Butona tıklama olayını ekleyin
  dcGameForm.AddNewEvent(btnOyunaBasla, tbeOnClick, 'butonaTikla');
  // Oyuncu sayısı değiştiğinde deneme fonksiyonunu çağırın (isteğe bağlı)
  //dcGameForm.AddNewEvent(oyuncuSayisiCmb, tbeOnChange, 'deneme');
  dcGameForm.Run;
}


merhabalar. combobox'tan seçtiğim ilk seçenek açılıyor ancak ilk açılan seçeneği kapattıktan sonra combobox'tan seçtiğim ikinci seçenek açılmıyor. butonaTikla tanımlı değil hatası veriyor. 


Mesajı Yazan: Kemal
Mesaj Tarihi: 07 Ağustos 2024 Saat 14:44
Merhabalar,

AddnewEvent Yerine 
  btnOyunaBasla.OnClick = 'butonaTikla';
ile tıklama işlemi verirsen hata gelmeyecektir.



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