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" rel="nofollow - 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