Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Sil butonuna basınca en son satırı siliyior
  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.

Sil butonuna basınca en son satırı siliyior

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


Kayıt Tarihi: 19 Ağustos 2025
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kerem_3 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Sil butonuna basınca en son satırı siliyior
    Gönderim Zamanı: 19 Ağustos 2025 Saat 14:18
var
  MainForm: TclForm;
  testpnl: TclProPanel;
  VerticalScrollBox: TclVertScrollBox;
  BtnAdd,BtnDelete,BtnSelect: TClProButton;
  query: TclSQLiteQuery;
  TitleLbl: TClProLabel;
  nameLbl, plateLbl: TClProLabel;
  i: Integer;
  adSoyad,plaka:String;
  VeriPanel: TclProPanel;
  SelectedAdSoyad, SelectedPlaka: String; // Dinamik olarak seçilen müşteri



// Seçme işlemi
void SelectCustomer;
{
  ShowMessage('Seçilen: ' + adSoyad + ' - ' + plaka);
  // Burada başka bir işleme yönlendirebilirsin
}

// Buton için event prosedürleri
void OnSelectButtonClicked;
{
  adSoyad = SelectedAdSoyad;
  plaka = SelectedPlaka;
  SelectCustomer();
}



void DeleteBtnClicked;
var
  plaka: String;
{
  // BtnDelete.clTagStr zaten satırın plakasını içeriyor
  plaka = BtnDelete.clTagStr;

  Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'otoyikama123.db3', '');
  Clomosy.DBSQLiteQuery.SQL.Text = 'DELETE FROM MusteriListesi WHERE Plaka = "' + plaka + '"';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Müşteri silindi.');
  MainForm.Close;
  Clomosy.RunUnit('uMustersecme');
}



void GoToAddCustomer;
{
  Clomosy.RunUnit('uMusteriEkleme');
}

void LoadCustomers;
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'otoyikama123.db3', '');
    query = Clomosy.DBSQLiteQueryWith('SELECT AdSoyad, Plaka FROM MusteriListesi');
    query.OpenOrExecute;
    query.First;

    i = 0;
    while (not query.EOF) 
    {
        i = i + 1;
        
        VeriPanel = MainForm.AddNewProPanel(VerticalScrollBox, 'VeriPanel_' + IntToStr(i));
        VeriPanel.Align = alTop;
        VeriPanel.Width = 370;
        VeriPanel.Height =100;
        VeriPanel.SetClproSettings(VeriPanel.clProSettings);
        
        nameLbl = MainForm.AddNewProLabel(VeriPanel, 'nameLbl_' + IntToStr(i), query.FieldByName('AdSoyad').AsString);
        nameLbl.Margins.Right = 210;
        nameLbl.Margins.Left = 20;
        nameLbl.Margins.Top = 5;
        nameLbl.clProSettings.TextSettings.Font.Size = 16;
        nameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
        nameLbl.SetclProSettings(nameLbl.clProSettings);
        
        plateLbl = MainForm.AddNewProLabel(VeriPanel, 'plateLbl_' + IntToStr(i), query.FieldByName('Plaka').AsString);
        plateLbl.Margins.Right = 210;
        plateLbl.Margins.Left = 20 ;
        plateLbl.Margins.Top = 35;
        plateLbl.clProSettings.TextSettings.Font.Size = 14;
        plateLbl.SetclProSettings(plateLbl.clProSettings);

        // Dinamik değerleri ata
        SelectedAdSoyad = query.FieldByName('AdSoyad').AsString;
        SelectedPlaka = query.FieldByName('Plaka').AsString;

        // Seç butonu
        BtnSelect = MainForm.AddNewProButton(VeriPanel, 'BtnSelect_' + IntToStr(i), 'Seç');
        BtnSelect.Width = 50;
        BtnSelect.Height = 20;
        BtnSelect.Margins.Top = 15;
        BtnSelect.Margins.Right = 100;
        BtnSelect.Margins.Left = 150;
        BtnSelect.ClproSettings.BorderWidth = 3;
        BtnSelect.ClproSettings.BorderColor = clAlphaColor.clHexToColor('#0394fc');
        BtnSelect.SetClproSettings(BtnSelect.ClproSettings);
        MainForm.AddNewEvent(BtnSelect, tbeOnClick, 'OnSelectButtonClicked');

        // Sil butonu
       // Sil butonu
       BtnDelete = MainForm.AddNewProButton(VeriPanel, 'BtnDelete_' + IntToStr(i), 'Sil');
       BtnDelete.clTagStr = query.FieldByName('Plaka').AsString; // bu satırın plakası
       BtnDelete.Width = 50; 
       BtnDelete.Height = 20;
       BtnDelete.Margins.Top = 15;
       BtnDelete.Margins.Right = 5;
       BtnDelete.Margins.Left = 250;
       BtnDelete.ClproSettings.BorderWidth = 3;
       BtnDelete.ClproSettings.BorderColor = clAlphaColor.clHexToColor('#0394fc');
       BtnDelete.SetClproSettings(BtnDelete.ClproSettings);
       MainForm.AddNewEvent(BtnDelete, tbeOnClick, 'DeleteBtnClicked'); // TEK fonksiyon
 

        query.Next;
    }

    query.Close;
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

{
  MainForm = TCLForm.Create(Self);
  MainForm.SetFormBGImage('https://resmim.net/cdn/2025/08/12/XOro6W.png');

  testpnl = MainForm.AddNewProPanel(MainForm, 'testpnl');
  testpnl.Align = alCenter;
  testpnl.Width = 380;
  testpnl.Height = 700;
  testpnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#0394fc');
  testpnl.clProSettings.BorderWidth = 2;
  testpnl.clProSettings.IsRound = True;
  testpnl.SetclProSettings(testpnl.clProSettings);

  TitleLbl = MainForm.AddNewProLabel(testpnl, 'TitleLbl', 'Müşteri Listesi');
  TitleLbl.Align = alTop;
  TitleLbl.Margins.Left = 140;
  TitleLbl.Margins.Right =50;
  TitleLbl.clProSettings.TextSettings.Font.Size = 20;
  TitleLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  TitleLbl.Margins.Top = 10;
  TitleLbl.Margins.Bottom = 10;
  TitleLbl.SetclProSettings(TitleLbl.clProSettings);

  VerticalScrollBox = MainForm.AddNewVertScrollBox(testpnl, 'VerticalScrollBox');
  VerticalScrollBox.Align = alClient;

  BtnAdd = MainForm.AddNewProButton(VerticalScrollBox, 'BtnAdd', 'Müşteri Ekle');
  BtnAdd.Margins.Bottom = 10;
  BtnAdd.Margins.Top = 350;
  BtnAdd.Height = 50;
  BtnAdd.Width = 100;
  BtnAdd.clProSettings.BorderWidth = 3;
  BtnAdd.clProSettings.IsRound = True;
  BtnAdd.clProSettings.BorderColor = clAlphaColor.clHexToColor('#0394fc');
  BtnAdd.SetclProSettings(BtnAdd.clProSettings);
  MainForm.AddNewEvent(BtnAdd, tbeOnClick, 'GoToAddCustomer');

  LoadCustomers;

  MainForm.Run;
}
Kodum bu Sil butonuna tıklayınca o satırı silmesi için yapmaya çalıştım ama en son satırı siliyor
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 249
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Ağustos 2025 Saat 22:57
Merhaba Kerem, 
Aşağıda bıraktığım prosedür inceleyip koduna entegre edebilir misin? 
// Liste öğesine tıklandığında
void onItemClicked
{
  UrunAdiEdt.Text = clGetStringAfter(PListView.clSelectedItemData(clText4), ': ');
  BarkodEdt.Text = clGetStringAfter(PListView.clSelectedItemData(clText), ': ');
  KategoriEdt.Text = clGetStringAfter(PListView.clSelectedItemData(clText1), ': ');
  FiyatEdt.Text = clGetStringAfter(PListView.clSelectedItemData(clText2), ': ');
  StokMiktariEdt.Text = clGetStringAfter(PListView.clSelectedItemData(clText3), ': ');
}

// Veri silme
void DataDelete
{
  try
  {
    if (BarkodEdt.Text <> '')
    {
      Clomosy.DBSQLiteQuery.SQL.Text = 'Delete From StokTakip where Barkod = ' + QuotedStr(BarkodEdt.Text);
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      GetData;
      ClearEdtText;
    }
    else
    {
      ShowMessage('Silinecek ürün seçilmedi!');
    }
  }
  except
  
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

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,063 Saniyede Yüklendi.