Sayfayı Yazdır | Pencereyi Kapat

silinmiş öğeye tıklayınca hata

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


Konu: silinmiş öğeye tıklayınca hata
Mesajı Yazan: dilarayaprak
Konu: silinmiş öğeye tıklayınca hata
Mesaj Tarihi: 31 Temmuz 2025 Saat 13:12
sil butonuna bastığımda veri tabanındaki kelimeleri siliyor ama geri tuşuna bastığımda silinen kelimeler geri geliyor ve hata veriyor nasıl düzeltebilirim.

var
  homeForm: TclForm;
  vertScrollBox: TclVertScrollBox;
  panel, kartPanel, silPanel, bottomPanel: TclProPanel;
  lblText, lblBack,lblFront: TclProLabel;
  currentId: String;
  btnSil,btnHome, btnIstatistik,btnOyun,btnAdd, btnFlip: TclProButton;
  mainPanel, backPanel,frontPanel: TclProPanel;
  flipPanel : TclProPanel;
  
  void FlipKart;
var
  id: String;
  frontPanel, backPanel: TclProPanel;
{
  id = TclProButton(homeForm.ClSender).Hint;

  frontPanel = homeForm.FindComponent('front_' + id);
  backPanel = homeForm.FindComponent('back_' + id);

  if (frontPanel.Visible) {
    frontPanel.Visible = False;
    backPanel.Visible = True;
  } else {
    frontPanel.Visible = True;
    backPanel.Visible = False;
  }
}


  
void Addtiklandi;
{
  Clomosy.RunUnit('Addbtn');
}

void hometiklandi;
{
  Clomosy.RunUnit('Homebtn');
}

void istatistiktiklandi;
{
  Clomosy.RunUnit('Istatistikbtn');
}


void btnoyuntiklandi;
{
  Clomosy.RunUnit('Oyunbtn');
}


void SilButonuTiklandi
var

  btn: TclProButton;
  silinecekId: String;
{
  btn = TclProButton(homeForm.ClSender);
  silinecekId = btn.Hint;

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

  
  
    Clomosy.RunUnit('Homebtn');
   
  }
  except { 
  
  
    
  }
}

}

{

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

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


  Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'YeniKelimeDB.db3', '');
  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;

  // Ana kart paneli
  kartPanel = homeForm.AddNewProPanel(vertScrollBox, 'kart_' + currentId);
  kartPanel.Align = alTop;
  kartPanel.Height = 100;
  kartPanel.Margins.Bottom = 10;
  kartPanel.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#e6e6e6');
  kartPanel.ClProSettings.RoundHeight = 10;
  kartPanel.ClProSettings.RoundWidth = 10;
  kartPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#0d0d0d');
  kartPanel.clProSettings.BorderWidth = 2;
  kartPanel.SetclProSettings(kartPanel.ClProSettings);

  
  frontPanel = homeForm.AddNewProPanel(kartPanel, 'front_' + currentId);
  frontPanel.Align = alClient;
  frontPanel.ClProSettings.IsTransparent = True;
  frontPanel.SetclProSettings(frontPanel.ClProSettings);

  lblFront = homeForm.AddNewProLabel(frontPanel, '', '');
  lblFront.Align = alCenter;
  lblFront.Margins.right = 200;
  lblFront.Caption = Clomosy.DBSQLiteQuery.FieldByName('english').AsString;
  lblFront.ClProSettings.FontSize = 18;
  lblFront.ClProSettings.FontColor = clAlphaColor.clBlack;
  lblFront.ClProSettings.IsTransparent = True;
  lblFront.SetclProSettings(lblFront.ClProSettings);


  backPanel = homeForm.AddNewProPanel(kartPanel, 'back_' + currentId);
  backPanel.Align = alClient;
  backPanel.Visible = False;
  backPanel.ClProSettings.IsTransparent = True;
  backPanel.SetclProSettings(backPanel.ClProSettings);

  lblBack = homeForm.AddNewProLabel(backPanel, '', '');
  lblBack.Align = alCenter;
  lblBack.Margins.right = 200;
  lblBack.Caption = Clomosy.DBSQLiteQuery.FieldByName('turkish').AsString;
  lblBack.ClProSettings.FontSize = 18;
  lblBack.ClProSettings.FontColor = clAlphaColor.clBlack;
  lblBack.ClProSettings.IsTransparent = True;
  lblBack.SetclProSettings(lblBack.ClProSettings);


    silPanel = homeForm.AddNewProPanel(kartPanel, '');
    silPanel.Align = alRight;
    silPanel.Width = 60;
    
    btnSil = homeForm.AddNewProButton(silPanel, '', '');
    btnSil.Align = alClient;
    btnSil.SetclProSettings(btnSil.ClProSettings);
    homeForm.SetImage(btnSil,' https://i.imgur.com/JhqrtR0.png" rel="nofollow - https://i.imgur.com/JhqrtR0.png ');
    btnSil.Hint = currentId;

    homeForm.AddNewEvent(btnSil, tbeOnClick, 'SilButonuTiklandi');


flipPanel = homeForm.AddNewProPanel(kartPanel, 'flip_' + currentId);
flipPanel.Align = alClient;
flipPanel.ClProSettings.IsTransparent = True;
flipPanel.ClProSettings.BorderWidth = 0;
flipPanel.ClProSettings.IsFill = False;
flipPanel.SetclProSettings(flipPanel.ClProSettings);


flipPanel.Hint = currentId;


homeForm.AddNewEvent(flipPanel, tbeOnClick, 'FlipKart');



  Clomosy.DBSQLiteQuery.Next;
}


bottomPanel=homeForm.AddNewProPanel(panel,'bottomPanel');
bottomPanel.Align=alMostBottom;
bottomPanel.Align=alHorizontal;
bottomPanel.Height=50;
bottomPanel.Width=300;
bottomPanel.clProSettings.RoundHeight=20;
bottomPanel.clProSettings.Roundwidth=20;
bottomPanel.clProSettings.IsTransparent =False;
bottomPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff');
bottomPanel.clProSettings.BorderWidth = 2;
bottomPanel.SetclProSettings(bottomPanel.clProSettings);


btnHome = homeForm.AddNewProButton(bottomPanel, 'btnHome', '');
btnHome.Align = alLeft;
btnHome.margins.left=20;
btnHome.margins.bottom=10;
btnHome.Width = 70;
btnHome.Height = 70;
btnHome.clProSettings.IsRound = True;
btnHome.clProSettings.RoundHeight = 10;
btnHome.clProSettings.RoundWidth = 10;
btnHome.SetclProSettings(btnHome.clProSettings);
homeForm.SetImage(btnHome,' https://i.imgur.com/FfEKaFY.png" rel="nofollow - https://i.imgur.com/FfEKaFY.png '); 
homeForm.AddNewEvent(btnHome, tbeOnClick, 'hometiklandi');


btnAdd = homeForm.AddNewProButton(bottomPanel, 'btnAdd', '');
btnAdd.Align = alLeft;
btnAdd.margins.left=20;
btnAdd.margins.bottom=10;
btnAdd.Width = 70;
btnAdd.Height = 70;
btnAdd.clProSettings.IsRound = True;
btnAdd.clProSettings.RoundHeight = 10;
btnAdd.clProSettings.RoundWidth = 10;
btnAdd.SetclProSettings(btnHome.clProSettings);
homeForm.SetImage(btnAdd,' https://i.imgur.com/bB8i9zb.png" rel="nofollow - https://i.imgur.com/bB8i9zb.png '); 
homeForm.AddNewEvent(btnAdd, tbeOnClick, 'Addtiklandi');




btnOyun = homeForm.AddNewProButton(bottomPanel, 'btnOyun', '');
btnOyun.Align = alLeft;
btnOyun.margins.left=20;
btnOyun.margins.bottom=10;
btnOyun.Width = 70;
btnOyun.Height = 70;
btnOyun.clProSettings.IsRound = True;
btnOyun.clProSettings.RoundHeight = 10;
btnOyun.clProSettings.RoundWidth = 10;
btnOyun.SetclProSettings(btnOyun.clProSettings);
homeForm.SetImage(btnOyun,' https://i.imgur.com/ewHakWR.png" rel="nofollow - https://i.imgur.com/ewHakWR.png ');
homeForm.AddNewEvent(btnOyun, tbeOnClick, 'btnoyuntiklandi');


btnIstatistik = homeForm.AddNewProButton(bottomPanel, 'btnIstatistik', '');
btnIstatistik.Align = alLeft;
btnIstatistik.margins.left=20;
btnIstatistik.margins.bottom=10;
btnIstatistik.Width = 70;
btnIstatistik.Height = 70;
btnIstatistik.clProSettings.IsRound = True;
btnIstatistik.clProSettings.RoundHeight = 10;
btnIstatistik.clProSettings.RoundWidth = 10;
btnIstatistik.SetclProSettings(btnIstatistik.clProSettings);
homeForm.SetImage(btnIstatistik,' https://i.imgur.com/n0uCd4p.png" rel="nofollow - https://i.imgur.com/n0uCd4p.png ');
homeForm.AddNewEvent(btnIstatistik, tbeOnClick, 'istatistiktiklandi');

 homeForm.Run;
 
}




Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 31 Temmuz 2025 Saat 17:59
Merhaba Dilara, 
var
  homeForm: TclForm;
  vertScrollBox: TclVertScrollBox;
  panel, kartPanel, silPanel, bottomPanel: TclProPanel;
  lblText, lblBack,lblFront: TclProLabel;
  currentId: String;
  btnSil,btnHome, btnIstatistik,btnOyun,btnAdd, btnFlip: TclProButton;
  mainPanel, backPanel,frontPanel: TclProPanel;
  flipPanel : TclProPanel;
  query : TClSQLiteQuery; // TClSqlQuery yerine TClSQLiteQuery!

void FlipKart
var
  id: String;
  frontPanel, backPanel: TclProPanel;
{
  id = TclProButton(homeForm.clSender).Hint;

  frontPanel = TclProPanel(homeForm.FindComponent('front_' + id));
  backPanel = TclProPanel(homeForm.FindComponent('back_' + id));

  if (frontPanel.Visible) {
    frontPanel.Visible = False;
    backPanel.Visible = True;
  } else {
    frontPanel.Visible = True;
    backPanel.Visible = False;
  }
}

void Addtiklandi;
{
  Clomosy.RunUnit('Addbtn');
}

void hometiklandi;
{
  Clomosy.RunUnit('Homebtn');
}

void istatistiktiklandi;
{
  Clomosy.RunUnit('Istatistikbtn');
}

void btnoyuntiklandi;
{
  Clomosy.RunUnit('Oyunbtn');
}

void SilButonuTiklandi
var
  btn: TclProButton;
  silinecekId: String;
  kalanKayitSayisi: Integer;
{
  btn = TclProButton(homeForm.clSender);
  silinecekId = btn.Hint;

  try {
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'YeniKelimeDB.db3', '');
    
    Clomosy.DBSQLiteQuery.SQL.Text = 'DELETE FROM kartlar WHERE id = ' + silinecekId;
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    
    Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT COUNT(*) AS kalan FROM kartlar';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    kalanKayitSayisi = Clomosy.DBSQLiteQuery.FieldByName('kalan').AsInteger;

    if (kalanKayitSayisi == 0) {
      ShowMessage('Tüm kelimeler silindi.');
    } else {
      ShowMessage('Kart başarıyla silindi. Kalan kart sayısı: ' + IntToStr(kalanKayitSayisi));
    }

    Clomosy.RunUnit('Homebtn');
  }
  except 
    ShowMessage('Silme işlemi sırasında hata oluştu: ' + LastExceptionMessage);
  }


Test eder misin? 

İyi çalışmalar.



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