Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - stok takip ürün düzenleme ve ürün silme 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.

stok takip ürün düzenleme ve ürün silme hatası

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

Kayıt Tarihi: 07 Mart 2026
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Ömer Faruk Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: stok takip ürün düzenleme ve ürün silme hatası
    Gönderim Zamanı: 5 Saat 17 Dakika Önce Saat 13:10
Merhabalar Benim bir Stok takip uygulaması projem var. Koddaki hata projeye girince ürün ekledikten sonra düzenlemek için veya silmek için ürünü seçmeme rağmen ürün seçiniz diyor ve eklenen ürün listede yazı kaymış şekilde gözüküyor.
kod:
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...
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,016 Saniyede Yüklendi.