Sayfayı Yazdır | Pencereyi Kapat

Tür Dönüşüm Hatası

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=1146
Tarih: 29 Temmuz 2025 Saat 04:17
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Tür Dönüşüm Hatası
Mesajı Yazan: CelalTugay
Konu: Tür Dönüşüm Hatası
Mesaj Tarihi: 28 Temmuz 2025 Saat 14:56
Merhabalar burası benim uUretim unitim burayı açınca verileri ekle butonuna basınca could not convert variant of type (UnicodeString) into type (Boolean) hatası alıyorum aşşağıda uUretim unitim var 
var
  UretimForm: TclForm;
  edtSulama, edtSicaklik, edtNem, edtIlaclama, edtHasatPlan, edtGunlukIs: TclProEdit;
  btnEkle, btnGuncelle, btnGeri: TclProButton;
  gridUretim: TclProGrid;
  Sorgu: TclSQLiteQuery;
  SecilenSatirID: Integer; // Düzenleme için seçilen kayıt ID'si
  dbPath: String;
// Veritabanı bağlantı yolu
//const
 

// Verileri veritabanından al ve gridde göster
void VerileriYukle
var
  yeniSatir: Integer;
  Sorgu: TclSQLiteQuery;
{
  try {
    Clomosy.DBSQLiteConnect(dbPath, '');

    Sorgu = Clomosy.DBSQLiteQueryWith('SELECT UretimID, Sulama, Sicaklik, Nem, Ilaclama, Hasat_Plan, Gunluk_Is FROM ÜretimTablosu ORDER BY UretimID DESC');
    Sorgu.OpenOrExecute;

    gridUretim.RowCount = 1; // sadece başlık

    while (not Sorgu.Eof) {
      yeniSatir = gridUretim.RowCount;
      gridUretim.RowCount = yeniSatir + 1;

      gridUretim.Cells[0, yeniSatir] = Sorgu.FieldByName('UretimID').AsString;
      gridUretim.Cells[1, yeniSatir] = Sorgu.FieldByName('Sulama').AsString;
      gridUretim.Cells[2, yeniSatir] = Sorgu.FieldByName('Sicaklik').AsString;
      gridUretim.Cells[3, yeniSatir] = Sorgu.FieldByName('Nem').AsString;
      gridUretim.Cells[4, yeniSatir] = Sorgu.FieldByName('Ilaclama').AsString;
      gridUretim.Cells[5, yeniSatir] = Sorgu.FieldByName('Hasat_Plan').AsString;
      gridUretim.Cells[6, yeniSatir] = Sorgu.FieldByName('Gunluk_Is').AsString;

      
      
      edtSulama.Text = '';
      edtSicaklik.Text = '';
      edtNem.Text = '';
      edtIlaclama.Text = '';
      edtHasatPlan.Text = '';
      edtGunlukIs.Text = '';
      SecilenSatirID = 0;

      Sorgu.Next;
    }
  }
  except {
    ShowMessage('Veriler yüklenirken hata: ' + LastExceptionMessage);
  }
}
}




// Gridde satır seçildiğinde verileri düzenleme alanlarına getir
void GridSatirSecildi;
var 
  secilenSatir: Integer; // Integer olarak tanımla
{
  secilenSatir = UretimForm.ClSenderRow; // Değer ata
  
  if (secilenSatir <= 0) Exit; // Şimdi integer karşılaştırması

  SecilenSatirID = StrToInt(gridUretim.Cells[0, secilenSatir]);
  edtSulama.Text = gridUretim.Cells[1, secilenSatir];
  edtSicaklik.Text = gridUretim.Cells[2, secilenSatir];
  edtNem.Text = gridUretim.Cells[3, secilenSatir];
  edtIlaclama.Text = gridUretim.Cells[4, secilenSatir];
  edtHasatPlan.Text = gridUretim.Cells[5, secilenSatir];
  edtGunlukIs.Text = gridUretim.Cells[6, secilenSatir];

  btnEkle.Visible = False;
  btnGuncelle.Visible = True;
}


// Güncelle butonu tıklaması
void btnEkleTikla;
{
  if (edtSulama.Text == '' || edtSicaklik.Text == '' || edtNem.Text == '' ||
      edtIlaclama.Text == '' || edtHasatPlan.Text == '' || edtGunlukIs.Text == '') {
    ShowMessage('Lütfen tüm alanları doldurun!');
    Exit;
  }

  try
    Clomosy.DBSQLiteConnect(dbPath, '');
    
    // STRING olarak kaydet (StrToInt çevirimi kaldırıldı)
    Clomosy.DBSQLiteQuery.SQL.Text = 
      'INSERT INTO ÜretimTablosu (Sulama, Sicaklik, Nem, Ilaclama, Hasat_Plan, Gunluk_Is) VALUES (' +
      QuotedStr(Trim(edtSulama.Text)) + ', ' +
      QuotedStr(Trim(edtSicaklik.Text)) + ', ' +
      QuotedStr(Trim(edtNem.Text)) + ', ' +
      QuotedStr(Trim(edtIlaclama.Text)) + ', ' +
      QuotedStr(Trim(edtHasatPlan.Text)) + ', ' +
      QuotedStr(Trim(edtGunlukIs.Text)) + ')';

    Clomosy.DBSQLiteQuery.OpenOrExecute; // OpenOrExecute yerine OpenOrExecute

    ShowMessage('Veri başarıyla eklendi!');
    VerileriYukle; // Grid'i yenile
    
  except
    ShowMessage('Veri eklenirken hata: ' + LastExceptionMessage);
  }
}


/*void btnGuncelleTikla;
{
  if (SecilenSatirID <= 0) {
    ShowMessage('Lütfen güncellenecek kaydı seçin!');
    Exit;
  }

  if (edtSulama.Text == '' || edtSicaklik.Text == '' || edtNem.Text == '' ||
      edtIlaclama.Text == '' || edtHasatPlan.Text == '' || edtGunlukIs.Text == '') {
    ShowMessage('Lütfen tüm alanları doldurun!');
    Exit;
  }

  try
    Clomosy.DBSQLiteConnect(dbPath, '');
    
    Clomosy.DBSQLiteQuery.SQL.Text = 
      'UPDATE ÜretimTablosu SET ' +
      'Sulama = ' + QuotedStr(Trim(edtSulama.Text)) + ', ' +
      'Sicaklik = ' + QuotedStr(Trim(edtSicaklik.Text)) + ', ' +
      'Nem = ' + QuotedStr(Trim(edtNem.Text)) + ', ' +
      'Ilaclama = ' + QuotedStr(Trim(edtIlaclama.Text)) + ', ' +
      'Hasat_Plan = ' + QuotedStr(Trim(edtHasatPlan.Text)) + ', ' +
      'Gunluk_Is = ' + QuotedStr(Trim(edtGunlukIs.Text)) + ' ' +
      'WHERE ID = ' + IntToStr(SecilenSatirID);

    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Veri başarıyla güncellendi!');
    VerileriYukle; // Grid'i yenile
    
  except
    ShowMessage('Veri güncellenirken hata: ' + LastExceptionMessage);
  }
}*/


// Geri butonu tıklaması
void btnGeriTikla {
  UretimForm.Close;
}

{
  UretimForm = TclForm.Create(Self);
  SecilenSatirID = 0;
  dbPath = Clomosy.AppFilesPath + 'MantarLAR.db';

  UretimForm.SetFormBGImage(' https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg ');

  edtSulama = UretimForm.AddNewProEdit(UretimForm, 'edtSulama', 'Sulama');
  edtSulama.Align = alTop;
  edtSulama.Height = 50;
  edtSulama.Margins.Top = 10;
  edtSulama.Margins.Left = 30;
  edtSulama.Margins.Right = 30;
  edtSulama.clProSettings.IsRound = True;
  edtSulama.SetclProSettings(edtSulama.clProSettings);

  edtSicaklik = UretimForm.AddNewProEdit(UretimForm, 'edtSicaklik', 'Sıcaklık');
  edtSicaklik.Align = alTop;
  edtSicaklik.Height = 50;
  edtSicaklik.Margins.Top = 10;
  edtSicaklik.Margins.Left = 30;
  edtSicaklik.Margins.Right = 30;
  edtSicaklik.clProSettings.IsRound = True;
  edtSicaklik.SetclProSettings(edtSicaklik.clProSettings);

  edtNem = UretimForm.AddNewProEdit(UretimForm, 'edtNem', 'Nem');
  edtNem.Align = alTop;
  edtNem.Height = 50;
  edtNem.Margins.Top = 10;
  edtNem.Margins.Left = 30;
  edtNem.Margins.Right = 30;
  edtNem.clProSettings.IsRound = True;
  edtNem.SetclProSettings(edtNem.clProSettings);

  edtIlaclama = UretimForm.AddNewProEdit(UretimForm, 'edtIlaclama', 'İlaçlama');
  edtIlaclama.Align = alTop;
  edtIlaclama.Height = 50;
  edtIlaclama.Margins.Top = 10;
  edtIlaclama.Margins.Left = 30;
  edtIlaclama.Margins.Right = 30;
  edtIlaclama.clProSettings.IsRound = True;
  edtIlaclama.SetclProSettings(edtIlaclama.clProSettings);

  edtHasatPlan = UretimForm.AddNewProEdit(UretimForm, 'edtHasatPlan', 'Hasat Planı');
  edtHasatPlan.Align = alTop;
  edtHasatPlan.Height = 50;
  edtHasatPlan.Margins.Top = 10;
  edtHasatPlan.Margins.Left = 30;
  edtHasatPlan.Margins.Right = 30;
  edtHasatPlan.clProSettings.IsRound = True;
  edtHasatPlan.SetclProSettings(edtHasatPlan.clProSettings);

  edtGunlukIs = UretimForm.AddNewProEdit(UretimForm, 'edtGunlukIs', 'Günlük İş');
  edtGunlukIs.Align = alTop;
  edtGunlukIs.Height = 50;
  edtGunlukIs.Margins.Top = 10;
  edtGunlukIs.Margins.Left = 30;
  edtGunlukIs.Margins.Right = 30;
  edtGunlukIs.clProSettings.IsRound = True;
  edtGunlukIs.SetclProSettings(edtGunlukIs.clProSettings);

  btnEkle = UretimForm.AddNewProButton(UretimForm, 'btnEkle', 'Ekle');
  btnEkle.Align = alTop;
  btnEkle.Height = 45;
  btnEkle.Margins.Top = 20;
  btnEkle.Margins.Left = 80;
  btnEkle.Margins.Right = 80;
  btnEkle.clProSettings.IsRound = True;
  btnEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ff894f');
  btnEkle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  btnEkle.SetclProSettings(btnEkle.clProSettings);
  UretimForm.AddNewEvent(btnEkle, tbeOnClick, 'btnEkleTikla');

  /*btnGuncelle = UretimForm.AddNewProButton(UretimForm, 'btnGuncelle', 'Güncelle');
  btnGuncelle.Align = alTop;
  btnGuncelle.Height = 45;
  btnGuncelle.Margins.Top = 10;
  btnGuncelle.Margins.Left = 80;
  btnGuncelle.Margins.Right = 80;
  btnGuncelle.clProSettings.IsRound = True;
  btnGuncelle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3b8b2e');
  btnGuncelle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  btnGuncelle.SetclProSettings(btnGuncelle.clProSettings);
  UretimForm.AddNewEvent(btnGuncelle, tbeOnClick, 'btnGuncelleTikla');
  btnGuncelle.Visible = False;*/

  btnGeri = UretimForm.AddNewProButton(UretimForm, 'btnGeri', 'Geri');
  btnGeri.Align = alBottom;
  btnGeri.Height = 50;
  btnGeri.Margins.Bottom = 20;
  btnGeri.Margins.Left = 80;
  btnGeri.Margins.Right = 80;
  btnGeri.clProSettings.IsRound = True;
  btnGeri.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ea5b6f');
  btnGeri.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  btnGeri.SetclProSettings(btnGeri.clProSettings);
  UretimForm.AddNewEvent(btnGeri, tbeOnClick, 'btnGeriTikla');

  gridUretim = UretimForm.AddNewProGrid(UretimForm, 'gridUretim');
  gridUretim.Align = alClient;
  gridUretim.Margins.Top = 20;
  gridUretim.FixedRows = 1;
  gridUretim.ColumnCount = 8; // Kolon sayısını belirt
  gridUretim.RowCount = 1;
  gridUretim.Cells[0, 0] = 'ID';
  gridUretim.Cells[1, 0] = 'Sulama';
  gridUretim.Cells[2, 0] = 'Sıcaklık';
  gridUretim.Cells[3, 0] = 'Nem';
  gridUretim.Cells[4, 0] = 'İlaçlama';
  gridUretim.Cells[5, 0] = 'Hasat Planı';
  gridUretim.Cells[6, 0] = 'Günlük İş';
  

  UretimForm.AddNewEvent(gridUretim, tbeOnProGridCellClick, 'GridSatirSecildi');


  
  VerileriYukle; // Verileri yükle
  UretimForm.Run;

}


Aşşağıda da create tablom var 

    Clomosy.DBSQLiteQuery.SQL.Clear;
    Clomosy.DBSQLiteQuery.SQL.Add(
      'CREATE TABLE IF NOT EXISTS ÜretimTablosu (' +
      'UretimID INTEGER PRIMARY KEY AUTOINCREMENT, ' +
      'Sulama TEXT NOT NULL, ' +
      'Sicaklik TEXT NOT NULL, ' +
      'Nem TEXT NOT NULL, ' +
      'Ilaclama TEXT NOT NULL, ' +
      'Hasat_Plan TEXT NOT NULL, ' +
      'Gunluk_Is TEXT NOT NULL' +  // Sonda virgül yok!
      ')');
    Clomosy.DBSQLiteQuery.OpenOrExecute;


iyi ç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