Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - tclprodate ile filtreleme
  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.

tclprodate ile filtreleme

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


Kayıt Tarihi: 01 Temmuz 2025
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kenan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: tclprodate ile filtreleme
    Gönderim Zamanı: 10 Temmuz 2025 Saat 15:54
void MyMQTTPublishReceived;
{
  if(MyMQTT.ReceivedAlright)
  {
  Plasiyer = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'plasiyer');
  Urun = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'urun_adi');
  Tutar = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Satış');
  Tur = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'satis_turu');
  AAciklama = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Aciklama');
  currentDate = date.DateStr;
  GridSales.BeginUpdate;
  
  for(j=0 to 5)
  {
    Case j of
    {
      0:GridSales.Cells[j,i] = Plasiyer;
      1:GridSales.Cells[j,i] = urun;
      2:GridSales.Cells[j,i] = Tutar;
      3:GridSales.Cells[j,i] = Tur;
      4:GridSales.Cells[j,i] = currentDate;
      5:GridSales.Cells[j,i] = AAciklama;
     
    }
  }
  i=i+1;
  GridSales.EndUpdate;
  
  
  }

  
  
}
{
  yoneticiForm = TclForm.Create(self);
  yoneticiForm.SetFormColor('#ebebeb', '#cfcfcf', clGVertical);
  yoneticiForm.LytTopBar.Visible = True;
  date = yoneticiForm.AddNewProDateEdit(yoneticiForm,'date');
  GridSales = yoneticiForm.AddNewProGrid(yoneticiForm, 'GridSales');
  GridSales.Align = alClient;
  GridSales.ColumnCount = 5;
  GridSales.RowCount = 10;
  GridSales.Cells[0,0] = 'Plasiyer_adı';
  GridSales.Cells[1,0] = 'urun_adi';
  GridSales.Cells[2,0] = 'acıklama';
  GridSales.Cells[3,0] = 'satis_turu'; 
  GridSales.Cells[4,0] = 'Date';
  GridSales.Cells[5,0] = 'acıklama';
  GridSales.Options.Selection.Mode = smSingleCell;
  i=1;
  
  MyMQTT =yoneticiForm.addnewMQTTConnection(yoneticiForm,'MyMQTT');
  MyMQTT.Channel = 'Chat';
  MyMQTT.Connect;
  
 
  
  
  
  yoneticiForm.AddNewEvent(MyMQTT,tbeOnMQTTPublishReceived,'MyMQTTPublishReceived');
  
  yoneticiForm.Run;
}

merhaba  2 tane tarih seçerek, bu 2 tarih arasında kalan tarihleri gride'de nasıl  filtreleyebilirim
mesela 10.03.2025 ile 13.03.2025 arasında olan tarihleri gridde göstermesi için ne yapmalıyım?
Yukarı Dön
cerenn Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 18 Haziran 2025
Durum: Aktif Değil
Puanlar: 26
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı cerenn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Temmuz 2025 Saat 16:24
Merhaba Kenan TCLProDateEdit kullanabilirsin https://www.docs.clomosy.com/index.php?title=TClProDateEdit senin için daha kolay olur.Kullanıcıdan 2 kez tarih alır bu tarihleri SQLite için kodda yazdığın select sorgusuna gönderirsin,gridde gösterirsin.SQLite date olarak YYYY-MM-DD formatında veri beklediği için dönüşümlerde buna dikkat etmeni öneririm.Eğer date tarihin sabitse de direkt kodda Select sorgusunda belirtirsin gridde ona göre gösterilir.İyi çalışmalar.
Yukarı Dön
Mahmutdmr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 20 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 14
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Mahmutdmr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Temmuz 2025 Saat 17:17
Merhaba ,

TclProDate bileşeniyle tarih filtreleme işlemini projemde denemiştim fakat tarih formatı uyuşmazlığı nedeniyle sağlıklı bir şekilde çalıştıramadım.

Bu yüzden alternatif bir çözüm olarak TclProEdit bileşenleri ile iki adet tarih alanı (Başlangıç ve Bitiş) oluşturdum.

Ardından, veritabanındaki verileri gride aktaran prosedürün içerisine şu şekilde tarihleri aldım:

  BaslangicTarihi = DateEditBaslangic.Text
  BitisTarihi     = DateEditBitis.Text

Daha sonra SQL sorgusuna bu tarih filtrelerini dahil ettim:

if (BaslangicTarihi <> '')
    SQLText = SQLText + ' AND date(c.checkin_time) >= "' + BaslangicTarihi + '" '
  if (BitisTarihi <> '')
    SQLText = SQLText + ' AND date(c.checkin_time) <= "' + BitisTarihi + '" '

  SQLText = SQLText + 'ORDER BY c.checkin_time DESC';

ile de ilgili sütuna erişim sağlayıp filtrelemeyi aktif edebilirsin. Bu alternatif çözümde özellikle kayıt ettiğin ve edite yazılan tarih formatı uyuşması gerekiyor. 

Aynı zamanda başlagıç ve bitiş tclproeditleri için ortak bir prosedür oluştur ve prosedürün içerine veri tabanında ki verileri gride yansıttığın prosedür ismini yaz ki  ilgili kısmı tetiklensin ve gridi yenilesin.
Umarım yardımcı olabilmişimdir, iyi çalışmalar dilerim.

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