Var
anaForm : TclForm;
edtUrunAdi, edtAdet, edtFiyat : TclEdit;
lblUrunAdi, lblAdet, lblFiyat : TclLabel;
btnEkle, btnGuncelle, btnSil : TclButton;
stokListesi : TclProListView;
tasarimPanel : TclProListViewDesignerPanel;
MAIN_TEXT, SUB_TEXT : TclProLabel;
tumUrunlerJson : String;
butonPaneli, pnlUrunAdi, pnlAdet, pnlFiyat : TclPanel;
seciliGuid : String;
urunSayaci : Integer;
void VerileriYenile;
{
stokListesi.clearList;
if (tumUrunlerJson <> '')
{
stokListesi.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' + tumUrunlerJson + ']'));
}
}
void UrunEkle;
Var
yeniUrunJson : String;
{
if ((edtUrunAdi.Text == '') || (edtAdet.Text == '') || (edtFiyat.Text == ''))
{
ShowMessage('Lütfen tüm alanları doldurun!');
exit;
}
urunSayaci = urunSayaci + 1;
yeniUrunJson = '{"clRecord_GUID":"ID_' + IntToStr(urunSayaci) +
'", "MAIN_TEXT":"' + edtUrunAdi.Text +
'", "SUB_TEXT":"Adet: ' + edtAdet.Text + ' - Fiyat: ' + edtFiyat.Text + ' TL' +
'", "PRODUCT_QTY":"' + edtAdet.Text +
'", "PRODUCT_PRICE":"' + edtFiyat.Text + '"}';
if (tumUrunlerJson <> '') { tumUrunlerJson = tumUrunlerJson + ','; }
tumUrunlerJson = tumUrunlerJson + yeniUrunJson;
VerileriYenile;
edtUrunAdi.Text = ''; edtAdet.Text = ''; edtFiyat.Text = '';
seciliGuid = '';
}
void ListeTiklandi;
{
seciliGuid = stokListesi.clSelectedItemData(clRecord_GUID);
}
void UrunSil;
Var
GeciciDataset : TclMemTable;
YeniJsonKatar : String;
{
if (seciliGuid == '')
{
ShowMessage('Silmek için listeden bir ürün seçin!');
exit;
}
GeciciDataset = Clomosy.ClDataSetFromJSON('[' + tumUrunlerJson + ']');
YeniJsonKatar = '';
GeciciDataset.First;
while (not GeciciDataset.Eof)
{
if (GeciciDataset.FieldByName('clRecord_GUID').AsString <> seciliGuid)
{
if (YeniJsonKatar <> '') { YeniJsonKatar = YeniJsonKatar + ','; }
YeniJsonKatar = YeniJsonKatar + '{"clRecord_GUID":"' + GeciciDataset.FieldByName('clRecord_GUID').AsString +
'", "MAIN_TEXT":"' + GeciciDataset.FieldByName('MAIN_TEXT').AsString +
'", "SUB_TEXT":"' + GeciciDataset.FieldByName('SUB_TEXT').AsString +
'", "PRODUCT_QTY":"' + GeciciDataset.FieldByName('PRODUCT_QTY').AsString +
'", "PRODUCT_PRICE":"' + GeciciDataset.FieldByName('PRODUCT_PRICE').AsString + '"}';
}
GeciciDataset.Next;
}
tumUrunlerJson = YeniJsonKatar;
VerileriYenile;
ShowMessage('Seçili ürün başarıyla listeden silindi.');
seciliGuid = '';
}
void UrunDuzenle;
Var
GeciciDataset : TclMemTable;
YeniJsonKatar : String;
{
if (seciliGuid == '')
{
ShowMessage('Düzenlemek için listeden bir ürün seçin!');
exit;
}
edtUrunAdi.Text = stokListesi.clSelectedItemData('MAIN_TEXT');
edtAdet.Text = stokListesi.clSelectedItemData('PRODUCT_QTY');
edtFiyat.Text = stokListesi.clSelectedItemData('PRODUCT_PRICE');
GeciciDataset = Clomosy.ClDataSetFromJSON('[' + tumUrunlerJson + ']');
YeniJsonKatar = '';
GeciciDataset.First;
while (not GeciciDataset.Eof)
{
if (GeciciDataset.FieldByName('clRecord_GUID').AsString <> seciliGuid)
{
if (YeniJsonKatar <> '') { YeniJsonKatar = YeniJsonKatar + ','; }
YeniJsonKatar = YeniJsonKatar + '{"clRecord_GUID":"' + GeciciDataset.FieldByName('clRecord_GUID').AsString +
'", "MAIN_TEXT":"' + GeciciDataset.FieldByName('MAIN_TEXT').AsString +
'", "SUB_TEXT":"' + GeciciDataset.FieldByName('SUB_TEXT').AsString +
'", "PRODUCT_QTY":"' + GeciciDataset.FieldByName('PRODUCT_QTY').AsString +
'", "PRODUCT_PRICE":"' + GeciciDataset.FieldByName('PRODUCT_PRICE').AsString + '"}';
}
GeciciDataset.Next;
}
tumUrunlerJson = YeniJsonKatar;
VerileriYenile;
ShowMessage('Ürün bilgileri yukarı taşındı. Düzenleyip tekrar Ekle butonuna basabilirsiniz.');
seciliGuid = '';
}
{
anaForm = TclForm.Create(Self);
tumUrunlerJson = '';
seciliGuid = '';
urunSayaci = 0;
butonPaneli = anaForm.AddNewPanel(anaForm, 'butonPaneli');
butonPaneli.Align = alTop;
butonPaneli.Height = 45;
butonPaneli.Margins.Top = 5;
btnEkle = anaForm.AddNewButton(butonPaneli, 'btnEkle', 'Ekle');
btnEkle.Align = alLeft; btnEkle.Width = 100;
anaForm.AddNewEvent(btnEkle, TbeOnClick, 'UrunEkle');
btnGuncelle = anaForm.AddNewButton(butonPaneli, 'btnGuncelle', 'Düzenle');
btnGuncelle.Align = alLeft; btnGuncelle.Width = 100;
anaForm.AddNewEvent(btnGuncelle, TbeOnClick, 'UrunDuzenle');
btnSil = anaForm.AddNewButton(butonPaneli, 'btnSil', 'Sil');
btnSil.Align = alLeft; btnSil.Width = 100;
anaForm.AddNewEvent(btnSil, TbeOnClick, 'UrunSil');
pnlUrunAdi = anaForm.AddNewPanel(anaForm, 'pnlUrunAdi');
pnlUrunAdi.Align = alTop; pnlUrunAdi.Height = 40; pnlUrunAdi.Margins.Top = 5;
lblUrunAdi = anaForm.AddNewLabel(pnlUrunAdi, 'lblUrunAdi', 'Ürün Adı:');
lblUrunAdi.Align = alLeft; lblUrunAdi.Width = 80;
edtUrunAdi = anaForm.AddNewEdit(pnlUrunAdi, 'edtUrunAdi', 'Ürün adı...');
edtUrunAdi.Align = alClient;
pnlAdet = anaForm.AddNewPanel(anaForm, 'pnlAdet');
pnlAdet.Align = alTop; pnlAdet.Height = 40; pnlAdet.Margins.Top = 5;
lblAdet = anaForm.AddNewLabel(pnlAdet, 'lblAdet', 'Adet:');
lblAdet.Align = alLeft; lblAdet.Width = 80;
edtAdet = anaForm.AddNewEdit(pnlAdet, 'edtAdet', 'Adet...');
edtAdet.Align = alClient;
pnlFiyat = anaForm.AddNewPanel(anaForm, 'pnlFiyat');
pnlFiyat.Align = alTop; pnlFiyat.Height = 40; pnlFiyat.Margins.Top = 5;
lblFiyat = anaForm.AddNewLabel(pnlFiyat, 'lblFiyat', 'Fiyat:');
lblFiyat.Align = alLeft; lblFiyat.Width = 80;
edtFiyat = anaForm.AddNewEdit(pnlFiyat, 'edtFiyat', 'Fiyat...');
edtFiyat.Align = alClient;
stokListesi = anaForm.AddNewProListView(anaForm, 'stokListesi');
stokListesi.Align = alClient;
stokListesi.Margins.Top = 10;
stokListesi.clProSettings.ViewType = lvList;
stokListesi.clProSettings.ItemHeight = 75;
stokListesi.SetclProSettings(stokListesi.clProSettings);
tasarimPanel = anaForm.AddNewProListViewDesignerPanel(stokListesi, 'tasarimPanel');
tasarimPanel.Height = 75;
stokListesi.SetDesignerPanel(tasarimPanel);
MAIN_TEXT = anaForm.AddNewProLabel(tasarimPanel, 'MAIN_TEXT', '');
MAIN_TEXT.Align = alTop;
MAIN_TEXT.Height = 30;
MAIN_TEXT.Margins.Left = 15;
MAIN_TEXT.Margins.Top = 5;
MAIN_TEXT.clProSettings.FontSize = 16;
MAIN_TEXT.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
tasarimPanel.AddPanelObject(MAIN_TEXT, clCaption);
SUB_TEXT = anaForm.AddNewProLabel(tasarimPanel, 'SUB_TEXT', '');
SUB_TEXT.Align = alClient;
SUB_TEXT.Margins.Left = 15;
SUB_TEXT.Margins.Top = 2;
SUB_TEXT.clProSettings.FontSize = 13;
SUB_TEXT.clProSettings.FontColor = clAlphaColor.clHexToColor('#555555');
tasarimPanel.AddPanelObject(SUB_TEXT, clText);
anaForm.AddNewEvent(stokListesi, TbeOnItemClick, 'ListeTiklandi');
anaForm.Run;
}
Yardım ederseniz sevinirim.
Şimdiden teşekkürler...