Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - button hatası
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

button hatası

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
dilarayaprak Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 07 Temmuz 2025
Konum: konya
Durum: Aktif Değil
Puanlar: 16
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı dilarayaprak Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: button hatası
    Gönderim Zamanı: 14 Saat 16 Dakika Önce Saat 12:15
sil butonu, hatırladım ve hatırlamadım butonu tanımladım ama her seferinde hatırlamadım butonunun mesajını alıyorum 

var
  homeForm: TclForm;
  vertScrollBox: TclVertScrollBox;
  kartPanel, btnPanel: TclProPanel;
  lblWord: TclProLabel;
  btnSil, btnHatirladim, btnHatirlamadim: TclProButton;
  id, currentId: String;



void HatirladimTiklandi {
  ShowMessage('Harika, hatırladın!');
}

void HatirlamadimTiklandi {
  ShowMessage('Tamam, tekrar çalış!');
}

void SilButonuTiklandi {
  id = Clomosy.GlobalVariableString;
  Clomosy.DBSQLiteQuery.Close;
  Clomosy.DBSQLiteQuery.SQL.Text = 'DELETE FROM kartlar WHERE id = ' + id;
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Kelime silindi.');
  Clomosy.RunUnit('Homebtn');

{
  homeForm = TclForm.Create(Self);
  homeForm.clSetCaption('Kayıtlı Kelimeler');
  homeForm.SetFormBGImage('https://i.imgur.com/fPwWs0H.jpeg');

  vertScrollBox = homeForm.AddNewVertScrollBox(homeForm, '');
  vertScrollBox.Align = alClient;

  Clomosy.DBSQLiteQuery.Close;
  Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT id, english, turkish FROM kartlar';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  while (not Clomosy.DBSQLiteQuery.Eof) {
    currentId = Clomosy.DBSQLiteQuery.FieldByName('id').AsString;

    
    kartPanel = homeForm.AddNewProPanel(vertScrollBox, '');
    kartPanel.Align = alTop;
    kartPanel.Height = 120;
    kartPanel.Margins.Bottom = 10;
    kartPanel.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#e6e6e6');
    kartPanel.ClProSettings.RoundHeight = 10;
    kartPanel.ClProSettings.RoundWidth = 10;
    kartPanel.SetclProSettings(kartPanel.ClProSettings);


    lblWord = homeForm.AddNewProLabel(kartPanel, '', '');
    lblWord.Align = alTop;
    lblWord.Caption =
      'EN: ' + Clomosy.DBSQLiteQuery.FieldByName('english').AsString +
      ' | TR: ' + Clomosy.DBSQLiteQuery.FieldByName('turkish').AsString;
    lblWord.ClProSettings.FontSize = 18;
    lblWord.ClProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
    lblWord.Margins.Top = 5;
    lblWord.Margins.Left = 5;
    lblWord.SetclProSettings(lblWord.ClProSettings);

    
    btnPanel = homeForm.AddNewProPanel(kartPanel, '');
    btnPanel.Align = alBottom;
    btnPanel.Height = 40;

    
btnSil = homeForm.AddNewProButton(btnPanel, '', 'Sil');
btnSil.Align = alLeft;
btnSil.Width = 80;
btnSil.Margins.Left = 5;
btnSil.Margins.Right = 5;
btnSil.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f4bcbc');
btnSil.SetclProSettings(btnSil.ClProSettings);
btnSil.Hint = currentId;
Clomosy.GlobalVariableString = btnSil.Hint;
homeForm.AddNewEvent(btnSil, tbeOnClick, 'SilButonuTiklandi');


btnHatirladim = homeForm.AddNewProButton(btnPanel, '', 'Hatırladım');
btnHatirladim.Align = alClient;
btnHatirladim.Margins.Left = 5;
btnHatirladim.Margins.Right = 5;
btnHatirladim.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#b6e3b6');
btnHatirladim.SetclProSettings(btnHatirladim.ClProSettings);
homeForm.AddNewEvent(btnHatirladim, tbeOnClick, 'HatirladimTiklandi');


btnHatirlamadim = homeForm.AddNewProButton(btnPanel, '', 'Hatırlamadım');
btnHatirlamadim.Align = alRight;
btnHatirlamadim.Width = 100;
btnHatirlamadim.Margins.Left = 5;
btnHatirlamadim.Margins.Right = 5;
btnHatirlamadim.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f7d58c');
btnHatirlamadim.SetclProSettings(btnHatirlamadim.ClProSettings);
homeForm.AddNewEvent(btnHatirlamadim, tbeOnClick, 'HatirlamadimTiklandi');



Clomosy.DBSQLiteQuery.Next;
  }

 homeForm.Run;
}

Yukarı Dön
Sudesigirci Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 122
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12 Saat 28 Dakika Önce Saat 14:03
Merhaba Hatice ,
kodunu inceledim hatanın tüm butonlara ayn globalvariablestring atadığından kaynaklı olduğunu düşünüyorum sorunu çözmek için her butonun ayrı ıd sini aldım 
var
  homeForm: TclForm;
  vertScrollBox: TclVertScrollBox;
  kartPanel, btnPanel: TclProPanel;
  lblWord: TclProLabel;
  btnSil, btnHatirladim, btnHatirlamadim: TclProButton;
  id, currentId: String;
  clickedBtn: TClProButton;

void SilButonuTiklandi {
  clickedBtn = TClProButton(homeForm.ClSender);
  id = clickedBtn.Hint;

  Clomosy.DBSQLiteQuery.Close;
  Clomosy.DBSQLiteQuery.SQL.Text = 'DELETE FROM kartlar WHERE id = ' + id;
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Kelime silindi.');
  Clomosy.RunUnit('Homebtn');
}

void HatirladimTiklandi {
  clickedBtn = TClProButton(homeForm.ClSender);
  ShowMessage('Harika, hatırladın! ID: ' + clickedBtn.Hint);
}

void HatirlamadimTiklandi {
  clickedBtn = TClProButton(homeForm.ClSender);
  ShowMessage('Tamam, tekrar çalış! ID: ' + clickedBtn.Hint);
}

{
  homeForm = TclForm.Create(Self);
  homeForm.clSetCaption('Kayıtlı Kelimeler');
  homeForm.SetFormBGImage('https://i.imgur.com/fPwWs0H.jpeg');

  vertScrollBox = homeForm.AddNewVertScrollBox(homeForm, '');
  vertScrollBox.Align = alClient;

  Clomosy.DBSQLiteQuery.Close;
  Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT id, english, turkish FROM kartlar';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  while (not Clomosy.DBSQLiteQuery.Eof) {
    currentId = Clomosy.DBSQLiteQuery.FieldByName('id').AsString;

    kartPanel = homeForm.AddNewProPanel(vertScrollBox, '');
    kartPanel.Align = alTop;
    kartPanel.Height = 120;
    kartPanel.Margins.Bottom = 10;
    kartPanel.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#e6e6e6');
    kartPanel.ClProSettings.RoundHeight = 10;
    kartPanel.ClProSettings.RoundWidth = 10;
    kartPanel.SetclProSettings(kartPanel.ClProSettings);

    lblWord = homeForm.AddNewProLabel(kartPanel, '', '');
    lblWord.Align = alTop;
    lblWord.Caption =
      'EN: ' + Clomosy.DBSQLiteQuery.FieldByName('english').AsString +
      ' | TR: ' + Clomosy.DBSQLiteQuery.FieldByName('turkish').AsString;
    lblWord.ClProSettings.FontSize = 18;
    lblWord.ClProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
    lblWord.Margins.Top = 5;
    lblWord.Margins.Left = 5;
    lblWord.SetclProSettings(lblWord.ClProSettings);

    btnPanel = homeForm.AddNewProPanel(kartPanel, '');
    btnPanel.Align = alBottom;
    btnPanel.Height = 40;

    // Sil Butonu
    btnSil = homeForm.AddNewProButton(btnPanel, '', 'Sil');
    btnSil.Align = alLeft;
    btnSil.Width = 80;
    btnSil.Margins.Left = 5;
    btnSil.Margins.Right = 5;
    btnSil.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f4bcbc');
    btnSil.SetclProSettings(btnSil.ClProSettings);
    btnSil.Hint = currentId;
    homeForm.AddNewEvent(btnSil, tbeOnClick, 'SilButonuTiklandi');

    // Hatırladım
    btnHatirladim = homeForm.AddNewProButton(btnPanel, '', 'Hatırladım');
    btnHatirladim.Align = alClient;
    btnHatirladim.Margins.Left = 5;
    btnHatirladim.Margins.Right = 5;
    btnHatirladim.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#b6e3b6');
    btnHatirladim.SetclProSettings(btnHatirladim.ClProSettings);
    btnHatirladim.Hint = currentId;
    homeForm.AddNewEvent(btnHatirladim, tbeOnClick, 'HatirladimTiklandi');

    // Hatırlamadım
    btnHatirlamadim = homeForm.AddNewProButton(btnPanel, '', 'Hatırlamadım');
    btnHatirlamadim.Align = alRight;
    btnHatirlamadim.Width = 100;
    btnHatirlamadim.Margins.Left = 5;
    btnHatirlamadim.Margins.Right = 5;
    btnHatirlamadim.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f7d58c');
    btnHatirlamadim.SetclProSettings(btnHatirlamadim.ClProSettings);
    btnHatirlamadim.Hint = currentId;
    homeForm.AddNewEvent(btnHatirlamadim, tbeOnClick, 'HatirlamadimTiklandi');

    Clomosy.DBSQLiteQuery.Next;
  }

  homeForm.Run;
}
bu şekilde kodunu tekrar deneyebilir misin
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,095 Saniyede Yüklendi.