Sayfayı Yazdır | Pencereyi Kapat

tarih sorunu

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1092
Tarih: 17 Temmuz 2025 Saat 06:35
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: tarih sorunu
Mesajı Yazan: Muammer
Konu: tarih sorunu
Mesaj Tarihi: 16 Temmuz 2025 Saat 12:04
Aşağıda ürün ekle sayfasının kodu var.Bu kodda tarihi güncel olarak algılamıyor ve 01.01.1900 olarak yazıyor.

var
  MyForm: TclForm;          
  MyGrid: TclStringGrid;    
  Lbl_Baslik: TClProLabel;  
  DtEdt1: TClProDateEdit;   
  Edt_StokKodu, Edt_UrunAdi, Edt_StokMiktari, Edt_DepoYeriID, Edt_BirimFiyat: TclProEdit; 
  Lbl_Tarih, Lbl_UrunAdi, Lbl_StokMiktari: TClProLabel;   
  Lbl_StokKodu: TClProLabel;
  Lbl_DepoYeriID, Lbl_BirimFiyat: TClProLabel; 
  Btn_YeniUrunEkle: TClProButton;
  selectQuery: TClSqlQuery;
  mainPnl, leftPanel, rightPanel: TclProPanel;  

// Grid Kolonları Ayarla
void SetupGridColumns
{
  MyGrid.Columns[0].Header = 'Ürün Kodu';
  MyGrid.Columns[1].Header = 'Ürün Adı';
  MyGrid.Columns[2].Header = 'Stok Miktarı';
  MyGrid.Columns[3].Header = 'Kritik Seviye';
  MyGrid.Columns[4].Header = 'Depo Yeri ID';
  MyGrid.Columns[5].Header = 'Birim Fiyat';
  MyGrid.Columns[6].Header = 'Tarih';

  MyGrid.Columns[0].Width = 150;
  MyGrid.Columns[1].Width = 120;
  MyGrid.Columns[2].Width = 150;
  MyGrid.Columns[3].Width = 120;
  MyGrid.Columns[4].Width = 120;
  MyGrid.Columns[5].Width = 120;
}

// Grid Veri Ekle
void AddDataToGrid
{
  try
    selectQuery.SQL.Text = 'SELECT UrunKodu, UrunAdi, StokMiktari, KritikSeviye, DepoYeriID, BirimFiyat, OlusturmaTarihi FROM TBLSTOKSB';
    selectQuery.Open;

    if (selectQuery.Found)
    {
      MyForm.RemoveGridBinding('myLink');
      MyForm.AddNewGridBinding(MyGrid, selectQuery, 'myLink');
      SetupGridColumns;
    }
    else
    {
      ShowMessage('Kayıt bulunamadı!');
    }
  except
  {
    ShowMessage('Hata oluştu: ' + LastExceptionMessage);
  }
  }
}

// Ürün Ekle Butonu
void EkleButtonClick
{
  if ((Edt_StokKodu.Text == '') || (Edt_UrunAdi.Text == '') || (Edt_StokMiktari.Text == '') ||
      (DtEdt1.DateStr == '') || (Edt_DepoYeriID.Text == '') || (Edt_BirimFiyat.Text == ''))
  {
    ShowMessage('Lütfen tüm alanları doldurun.');
  }
  else
  {
    try
    {
      selectQuery.SQL.Text = 'SELECT UrunKodu FROM TBLSTOKSB WHERE UrunKodu = ' + QuotedStr(Edt_StokKodu.Text);
      selectQuery.Open;

      if (selectQuery.Found)
      {
        selectQuery.SQL.Text =
          'UPDATE TBLSTOKSB SET UrunAdi = ' + QuotedStr(Edt_UrunAdi.Text) + ', ' +
          'StokMiktari = StokMiktari + ' + Edt_StokMiktari.Text + ', ' +
          'OlusturmaTarihi = ' + QuotedStr(DtEdt1.DateStr) + ', ' +
          'DepoYeriID = ' + QuotedStr(Edt_DepoYeriID.Text) + ', ' +
          'BirimFiyat = ' + QuotedStr(Edt_BirimFiyat.Text) + ' ' +
          'WHERE UrunKodu = ' + QuotedStr(Edt_StokKodu.Text);
        selectQuery.ExecSQL;
        ShowMessage('Ürün bilgisi güncellendi.');
      }
      else
      {
        selectQuery.SQL.Text =
          'INSERT INTO TBLSTOKSB (UrunKodu, UrunAdi, StokMiktari, OlusturmaTarihi, KritikSeviye, DepoYeriID, BirimFiyat) VALUES (' +
          QuotedStr(Edt_StokKodu.Text) + ', ' +
          QuotedStr(Edt_UrunAdi.Text) + ', ' +
          Edt_StokMiktari.Text + ', ' +
          'TRY_CONVERT(DATE, ' + QuotedStr(DtEdt1.DateStr) + ', 104), ' +  
          '0, ' +
          QuotedStr(Edt_DepoYeriID.Text) + ', ' +
          QuotedStr(Edt_BirimFiyat.Text) + ')';
        selectQuery.ExecSQL;
        ShowMessage('Ürün başarıyla eklendi.');
      }

      AddDataToGrid;
    }
    except
    {
      ShowMessage('Hata: ' + LastExceptionMessage);
    }
  }
  }
}

{
  MyForm = TclForm.Create(Self);
  MyForm.SetFormColor('#c4c4c4', '#c4c4c4', clGVertical);

  Lbl_Baslik = MyForm.AddNewProLabel(MyForm, 'Lbl_Baslik', 'Ürün Ekleme Sayfası');
  Lbl_Baslik.Align = alTop;
  Lbl_Baslik.Height = 60;
  Lbl_Baslik.Margins.Top = 30;
  Lbl_Baslik.clProSettings.FontSize = 26;
  Lbl_Baslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#fc0000');
  Lbl_Baslik.clProSettings.FontVertAlign = palCenter;
  Lbl_Baslik.clProSettings.FontHorzAlign = palCenter;
  Lbl_Baslik.SetclProSettings(Lbl_Baslik.clProSettings);

  leftPanel = MyForm.AddNewProPanel(MyForm, 'leftPanel');
  leftPanel.Align = alLeft;
  leftPanel.Width = 400;
  leftPanel.Margins.Top = 20;
  leftPanel.Margins.Left = 20;
  leftPanel.Margins.Right = 20;

  rightPanel = MyForm.AddNewProPanel(MyForm, 'rightPanel');
  rightPanel.Align = alClient;
  rightPanel.Margins.Top = 20;
  rightPanel.Margins.Left = 20;
  rightPanel.Margins.Right = 20;

  // --- SIRALI ---
  // Ürün Kodu
  Lbl_StokKodu = MyForm.AddNewProLabel(leftPanel, 'Lbl_StokKodu', 'Ürün Kodu');
  Lbl_StokKodu.Align = alTop;
  Lbl_StokKodu.Height = 30;
  Lbl_StokKodu.clProSettings.FontSize = 14;
  Lbl_StokKodu.SetclProSettings(Lbl_StokKodu.clProSettings);

  Edt_StokKodu = MyForm.AddNewProEdit(leftPanel, 'Edt_StokKodu', '');
  Edt_StokKodu.Align = alTop;
  Edt_StokKodu.Height = 40;
  Edt_StokKodu.Margins.Top = 10;
  Edt_StokKodu.SetclProSettings(Edt_StokKodu.clProSettings);

  // Ürün Adı
  Lbl_UrunAdi = MyForm.AddNewProLabel(leftPanel, 'Lbl_UrunAdi', 'Ürün Adı');
  Lbl_UrunAdi.Align = alTop;
  Lbl_UrunAdi.Height = 30;
  Lbl_UrunAdi.clProSettings.FontSize = 14;
  Lbl_UrunAdi.SetclProSettings(Lbl_UrunAdi.clProSettings);

  Edt_UrunAdi = MyForm.AddNewProEdit(leftPanel, 'Edt_UrunAdi', '');
  Edt_UrunAdi.Align = alTop;
  Edt_UrunAdi.Height = 40;
  Edt_UrunAdi.Margins.Top = 10;
  Edt_UrunAdi.SetclProSettings(Edt_UrunAdi.clProSettings);

  // Stok Miktarı
  Lbl_StokMiktari = MyForm.AddNewProLabel(leftPanel, 'Lbl_StokMiktari', 'Stok Miktarı');
  Lbl_StokMiktari.Align = alTop;
  Lbl_StokMiktari.Height = 30;
  Lbl_StokMiktari.clProSettings.FontSize = 14;
  Lbl_StokMiktari.SetclProSettings(Lbl_StokMiktari.clProSettings);

  Edt_StokMiktari = MyForm.AddNewProEdit(leftPanel, 'Edt_StokMiktari', '');
  Edt_StokMiktari.Align = alTop;
  Edt_StokMiktari.Height = 40;
  Edt_StokMiktari.Margins.Top = 10;
  Edt_StokMiktari.SetclProSettings(Edt_StokMiktari.clProSettings);

  // Depo Yeri
  Lbl_DepoYeriID = MyForm.AddNewProLabel(leftPanel, 'Lbl_DepoYeriID', 'Depo Yeri ID');
  Lbl_DepoYeriID.Align = alTop;
  Lbl_DepoYeriID.Height = 30;
  Lbl_DepoYeriID.clProSettings.FontSize = 14;
  Lbl_DepoYeriID.SetclProSettings(Lbl_DepoYeriID.clProSettings);

  Edt_DepoYeriID = MyForm.AddNewProEdit(leftPanel, 'Edt_DepoYeriID', '');
  Edt_DepoYeriID.Align = alTop;
  Edt_DepoYeriID.Height = 40;
  Edt_DepoYeriID.Margins.Top = 10;
  Edt_DepoYeriID.SetclProSettings(Edt_DepoYeriID.clProSettings);

  // Birim Fiyat
  Lbl_BirimFiyat = MyForm.AddNewProLabel(leftPanel, 'Lbl_BirimFiyat', 'Birim Fiyat');
  Lbl_BirimFiyat.Align = alTop;
  Lbl_BirimFiyat.Height = 30;
  Lbl_BirimFiyat.clProSettings.FontSize = 14;
  Lbl_BirimFiyat.SetclProSettings(Lbl_BirimFiyat.clProSettings);

  Edt_BirimFiyat = MyForm.AddNewProEdit(leftPanel, 'Edt_BirimFiyat', '');
  Edt_BirimFiyat.Align = alTop;
  Edt_BirimFiyat.Height = 40;
  Edt_BirimFiyat.Margins.Top = 10;
  Edt_BirimFiyat.SetclProSettings(Edt_BirimFiyat.clProSettings);

  // Tarih
  Lbl_Tarih = MyForm.AddNewProLabel(leftPanel, 'Lbl_Tarih', 'Tarih');
  Lbl_Tarih.Align = alTop;
  Lbl_Tarih.Height = 30;
  Lbl_Tarih.clProSettings.FontSize = 14;
  Lbl_Tarih.SetclProSettings(Lbl_Tarih.clProSettings);

  DtEdt1 = MyForm.AddNewProDateEdit(leftPanel, 'DtEdt1');
  DtEdt1.Align = alTop;
  DtEdt1.Height = 40;
  DtEdt1.Margins.Top = 10;
  DtEdt1.SetclProSettings(DtEdt1.clProSettings);

  // Buton
  Btn_YeniUrunEkle = MyForm.AddNewProButton(leftPanel, 'Btn_YeniUrunEkle', 'Ürün Ekle');
  Btn_YeniUrunEkle.Align = alTop;
  Btn_YeniUrunEkle.Height = 50;
  Btn_YeniUrunEkle.Margins.Top = 20;
  Btn_YeniUrunEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
  Btn_YeniUrunEkle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  Btn_YeniUrunEkle.clProSettings.FontSize = 16;
  Btn_YeniUrunEkle.SetclProSettings(Btn_YeniUrunEkle.clProSettings);

  MyGrid = MyForm.AddNewStringGrid(rightPanel, 'MyGrid');
  MyGrid.Align = alClient;
  MyGrid.ReadOnly = True;

  selectQuery = TClSqlQuery.Create(nil);
  Clomosy.DBSQLServerConnect('SQL Server', 'DESKTOP-E2HF8JM\SQLEXPRESS', 'sa', '1', 'StokYonetim', 1433);
  selectQuery.Connection = Clomosy.DBSQLServerConnection;

  AddDataToGrid;
  MyForm.AddNewEvent(Btn_YeniUrunEkle, tbeOnClick, 'EkleButtonClick');
  MyForm.clSetWindowState(fwsMaximized);

  MyForm.Run;
}




Cevaplar:
Mesajı Yazan: cerenn
Mesaj Tarihi: 16 Temmuz 2025 Saat 12:16
Merhaba Muammer sorun başlangıç değeri vermemenden kaynaklı olabilir. 
DtEdt1.Date = Now(); 
ya da  özel format istiyorsan
  DtEdt1.DateStr = FormatDateTime('dd.mm.yyyy', Now());  
şeklinde dener misin formu oluşturduğunda
İyi çalışmalar



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net