Sayfayı Yazdır | Pencereyi Kapat

veritabanı

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


Konu: veritabanı
Mesajı Yazan: Rmeysa
Konu: veritabanı
Mesaj Tarihi: 08 Temmuz 2025 Saat 14:18
var
  FormFitTakip: TclForm;
  imglogo, icon1, icon2, icon3, icon4, icon5, icon6 : TClProImage;
  zamanlayicilogo: TclTimer;
  ProPanel1, ProPanel2: TclProPanel;
  btn1, btn2, btn3, btn4, btn5, btn6  : TClProButton;
  lbltakvim, lblogun, lblhedef, lblyemekekle, lblwater, lblayarlar, lblAdSoyadAna: TCLLabel;
  takvim, ogun, hedef, yemekekle, hatirlatici, ayarlar: TclUnit;
  Qry: TclSQLiteQuery;

void TabloOlustur
{
  try {
    Qry.SQL.Text = 'CREATE TABLE IF NOT EXISTS KaloriTakibi (id INTEGER PRIMARY KEY AUTOINCREMENT, miktar INTEGER, tarih TEXT)';
    Qry.OpenOrExecute;
  } except 
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}
void GoTotakvim;
{
  FormFitTakip.clShow;
  takvim.UnitName= 'takvim';
  takvim.CallerForm=FormFitTakip;
  takvim.Run;
}
void GoToogun;
{
  FormFitTakip.clShow;
  ogun.UnitName= 'ogun';
  ogun.CallerForm=FormFitTakip;
  ogun.Run;
}
void GoTohedef;
{
  FormFitTakip.clShow;
  hedef.UnitName= 'hedef';
  hedef.CallerForm=FormFitTakip;
  hedef.Run;
}
void GoToyemekekle;
{
  FormFitTakip.clShow;
  yemekekle.UnitName= 'yemekekle';
  yemekekle.CallerForm=FormFitTakip;
  yemekekle.Run;
}
void GoTohatirlatici;
{
  FormFitTakip.clShow;
  hatirlatici.UnitName= 'hatirlatici';
  hatirlatici.CallerForm=FormFitTakip;
  hatirlatici.Run;
}
void GoToayarlar;
{
  FormFitTakip.clShow;
  ayarlar.UnitName= 'ayarlar';
  ayarlar.CallerForm=FormFitTakip;
  ayarlar.Run;
}
void timer 
  zamanlayicilogo.Enabled=False;
  zamanlayicilogo.Free;
  imglogo.Free;
  ProPanel1 = FormFitTakip.AddNewProPanel(FormFitTakip,'ProPanel1');
  ProPanel1.Align = alClient;
  ProPanel2 = FormFitTakip.AddNewProPanel(FormFitTakip,'ProPanel2');
  ProPanel2.Align = alLeft;
  ProPanel2.clProSettings.BorderColor = clAlphaColor.clHexToColor('#F8F8FF');
  ProPanel2.clProSettings.IsFill = True; 
  ProPanel2.clProSettings.BorderWidth = 3;
  ProPanel2.width = 60;
    
  takvim = TclUnit.Create; 
  btn1 = FormFitTakip.AddNewProButton(ProPanel2,'btn1','');
  icon1 = FormFitTakip.AddNewProImage(btn1,'icon1');
  FormFitTakip.setImage(icon1,' https://resmim.net/cdn/2025/06/30/TJZh2Q.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJZh2Q.png ');
  icon1.Height=50;
  btn1.Align = alTop;
  btn1.Height = 50;
  btn1.Margins.top = 20;
  btn1.SetclProSettings(btn1.clProSettings);
  FormFitTakip.AddNewEvent(icon1,tbeOnClick,'GoTotakvim');
  
  lbltakvim= FormFitTakip.AddNewLabel(btn1,'lbltakvim','TAKVİM');
  lbltakvim.StyledSettings = ssFamily;
  lbltakvim.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lbltakvim.Align = alBottom;
  lbltakvim.Margins.Left=10;
  btn1.clProSettings.FontVertAlign = palcenter;
  lbltakvim.TextSettings.Font.Size=10;
  lbltakvim.Margins.top = 15;
  
  ogun = TclUnit.Create; 
  btn2 = FormFitTakip.AddNewProButton(ProPanel2,'btn2','');
  icon2 = FormFitTakip.AddNewProImage(btn2,'icon2');
  FormFitTakip.setImage(icon2,' https://resmim.net/cdn/2025/06/30/TJMqen.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJMqen.png ');
  icon2.Height=60;
  btn2.Align = alTop;
  btn2.Height = 55;
  btn2.Margins.top = 55;
  btn2.SetclProSettings(btn2.clProSettings);
  FormFitTakip.AddNewEvent(icon2,tbeOnClick,'GoToogun');
  
  lblogun= FormFitTakip.AddNewLabel(btn2,'lblogun','ÖĞÜNLER');
  lblogun.StyledSettings = ssFamily;
  lblogun.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lblogun.Align = alBottom;
  lblogun.Margins.Left=5;
  btn2.clProSettings.FontVertAlign = palcenter;
  lblogun.TextSettings.Font.Size=10;
  lblogun.Margins.top =15;
  
  hedef = TclUnit.Create; 
  btn3 = FormFitTakip.AddNewProButton(ProPanel2,'btn3','');
  icon3 = FormFitTakip.AddNewProImage(btn3,'icon3');
  FormFitTakip.setImage(icon3,' https://resmim.net/cdn/2025/06/30/TJmOL8.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJmOL8.png ');
  icon3.Height=50;
  btn3.Align = alTop;
  btn3.Height = 50;
  btn3.Margins.top = 55;
  btn3.SetclProSettings(btn3.clProSettings);
  FormFitTakip.AddNewEvent(icon3,tbeOnClick,'GoTohedef');
  
  lblhedef= FormFitTakip.AddNewLabel(btn3,'lblhedef','GÜNLÜK HEDEF');
  lblhedef.StyledSettings = ssFamily;
  lblhedef.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lblhedef.Align = alBottom;
  lblhedef.Margins.Left=7;
  btn3.clProSettings.FontHorzAlign = palCenter;
  lblhedef.TextSettings.Font.Size=10;
  lblhedef.Margins.top =20;
  
  yemekekle = TclUnit.Create; 
  btn4 = FormFitTakip.AddNewProButton(ProPanel2,'btn4','');
  icon4 = FormFitTakip.AddNewProImage(btn4,'icon4');
  FormFitTakip.setImage(icon4,' https://resmim.net/cdn/2025/06/30/TJHT4x.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJHT4x.png ');
  icon4.Height=49;
  btn4.Align = alTop;
  btn4.Height = 50;
  btn4.Margins.top = 60;
  btn4.SetclProSettings(btn4.clProSettings);
  FormFitTakip.AddNewEvent(icon4,tbeOnClick,'GoToyemekekle');
  
  lblyemekekle= FormFitTakip.AddNewLabel(btn4,'lblyemekekle','YEMEK   EKLE');
  lblyemekekle.StyledSettings = ssFamily;
  lblyemekekle.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lblyemekekle.Align = alBottom;
  lblyemekekle.Margins.Left=5;
  btn4.clProSettings.FontHorzAlign = palCenter;
  lblyemekekle.TextSettings.Font.Size=10;
  lblyemekekle.Margins.top =15;
  
  hatirlatici = TclUnit.Create;
  btn5 = FormFitTakip.AddNewProButton(ProPanel2,'btn5','');
  icon5 = FormFitTakip.AddNewProImage(btn5,'icon5');
  FormFitTakip.setImage(icon5,' https://resmim.net/cdn/2025/06/30/TJdIA3.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJdIA3.png ');
  icon5.Height=60;
  btn5.Align = alTop;
  btn5.Height = 50;
  btn5.Margins.top = 60;
  btn5.SetclProSettings(btn5.clProSettings);
  FormFitTakip.AddNewEvent(icon5,tbeOnClick,'GoTohatirlatici');
  
  lblwater= FormFitTakip.AddNewLabel(btn5,'lblwater','HATIRLATICI ');
  lblwater.StyledSettings = ssFamily;
  lblwater.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lblwater.Align = alBottom;
  lblwater.Margins.Left=5;
  btn5.clProSettings.FontHorzAlign = palCenter;
  lblwater.TextSettings.Font.Size=8;
  lblwater.Margins.top =15;
  
  ayarlar = TclUnit.Create;
  btn6 = FormFitTakip.AddNewProButton(ProPanel2,'btn6','');
  icon6 = FormFitTakip.AddNewProImage(btn6,'icon6');
  FormFitTakip.setImage(icon6,' https://resmim.net/cdn/2025/06/30/TJkCZG.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TJkCZG.png ');
  icon6.Height=55;
  btn6.Align = alTop;
  btn6.Height = 50;
  btn6.Margins.top = 70;
  btn6.SetclProSettings(btn6.clProSettings);
  FormFitTakip.AddNewEvent(icon6,tbeOnClick,'GoToayarlar');
  
  lblayarlar= FormFitTakip.AddNewLabel(btn6,'lblayarlar','AYARLAR');
  lblayarlar.StyledSettings = ssFamily;
  lblayarlar.TextSettings.FontColor = clAlphaColor.clHexToColor('#8a067c');
  lblayarlar.Align = alBottom;
  lblayarlar.Margins.Left=8;
  lblayarlar.TextSettings.Font.Size=10;
  lblayarlar.Margins.top =30;

  ProPanel1.SetclProSettings(ProPanel1.clProSettings);
  ProPanel2.SetclProSettings(ProPanel2.clProSettings);
{
  FormFitTakip=TclForm.Create(self);
  FormFitTakip.SetFormColor('#ffffff','',clGNone);
  Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'fit_takip.db', '');
  Qry = TclSQLiteQuery.Create(nil);
  Qry.Connection = Clomosy.DBSQLiteConnection;
  TabloOlustur;
  imglogo = FormFitTakip.AddNewProImage(FormFitTakip,'imglogo');
  imglogo.Align=alClient;
  FormFitTakip.setImage(imglogo,' https://resmim.net/cdn/2025/06/30/TIcBN3.png" rel="nofollow - https://resmim.net/cdn/2025/06/30/TIcBN3.png ');
  zamanlayicilogo = FormFitTakip.AddNewTimer(FormFitTakip, 'zamanlayicilogo', 2000);
  zamanlayicilogo.Enabled=True;
  FormFitTakip.AddNewEvent(zamanlayicilogo,tbeOnTimer,'timer');
  
  FormFitTakip.Run;
  
}
                                                                                                                                hedef unit                                                                                                                  var
  hedef:TclForm;
  Qry: TclSQLiteQuery;
  topLyt, btnLyt, bottomLyt : TclLayout;
  kaloriEdt : TclProEdit;
  btnekle : TclProButton;
  basliklbl, notesLbl, lblToplam :TclProLabel;
  mainPanel : TclProPanel;
  noteMemo : TclMemo;
  toplamKalori: Integer;
  girilendeger: integer;

 
void BtnOnClick;
{ if (kaloriEdt.Text <> '')
  {
    try
    {
      girilenDeger = StrToInt(kaloriEdt.Text);
      noteMemo.Lines.Add('* ' + IntToStr(girilenDeger) + ' kcal');
      toplamKalori = toplamKalori + girilenDeger;
      lblToplam.Text = 'Toplam: ' + IntToStr(toplamKalori) + ' kcal';
      noteMemo.ScrollTo(0, noteMemo.Lines.Count * noteMemo.Lines.Count, true);
      kaloriEdt.Text='';
      
      Qry.SQL.Text = 'INSERT INTO KaloriTakibi (miktar, tarih) VALUES (:miktar, :tarih)';
      Qry.ParamByName('miktar').AsInteger = girilenDeger;
      Qry.ParamByName('tarih').AsString = Clomosy.DateTimeToStr(Clomosy.Now);
      Qry.OpenOrExecute;

    }
    except
    {
      ShowMessage('Lütfen sadece sayı girin!');
    }
  }
}
}
{
  hedef = TclForm.Create(Self);
  Qry = TclSQLiteQuery.Create(nil);
  Qry.Connection = Clomosy.DBSQLiteConnection;
  mainPanel=hedef.AddNewProPanel(hedef,'mainPanel');
  mainPanel.Align = AlClient;
  mainPanel.Margins.Right = 5;
  mainPanel.Margins.Left = 5;
  mainPanel.Margins.Bottom = 5;
  mainPanel.Margins.Top = 5;
  mainPanel.clProSettings.IsRound = True;
  mainPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FF4500');
  mainPanel.clProSettings.BorderWidth = 1;
  mainPanel.SetclProSettings(mainPanel.clProSettings);
   
  topLyt = hedef.AddNewLayout(mainPanel,'topLyt');
  topLyt.Align=ALMostTop;
  topLyt.Height = 150;
   
  basliklbl = hedef.AddNewProLabel(topLyt,'basliklbl','BUGÜN ALINAN KALORİYİ EKLEYİN');
  basliklbl.Align = AlMostTop;
  basliklbl.Width = 150;
  basliklbl.Height = 20;
  basliklbl.Margins.Left = 10;
  basliklbl.Margins.Top = 20;
  basliklbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#191970');
  basliklbl.clProSettings.FontSize = 15;
  basliklbl.clProSettings.FontVertAlign = palcenter;
  basliklbl.clProSettings.FontHorzAlign = palLeading;
  basliklbl.clProSettings.TextSettings.Font.Style = [fsBold];
  basliklbl.SetclProSettings(basliklbl.clProSettings);
   
  kaloriEdt = hedef.AddNewProEdit(topLyt,'kaloriEdt','KALORİNİZİ GİRİN');
  kaloriEdt.Align = AlTop;
  kaloriEdt.Height = 45;
  kaloriEdt.Margins.Right = 10;
  kaloriEdt.Margins.Left = 10;
  kaloriEdt.Margins.Top = 10;
  kaloriEdt.clProSettings.IsRound = True;
  kaloriEdt.clProSettings.RoundHeight = 10;
  kaloriEdt.clProSettings.RoundWidth = 10; 
  kaloriEdt.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FF4500');
  kaloriEdt.clProSettings.BorderWidth = 1;
  kaloriEdt.SetclProSettings(kaloriEdt.clProSettings); 
  
  btnLyt = hedef.AddNewLayout(topLyt,'btnLyt');
  btnLyt.Align=ALBottom;
  btnLyt.Height = 50;
  
  btnekle = hedef.AddNewProButton(btnLyt,'btnekle','');
  btnekle.Align = AlRight;
  btnekle.Width = 150;
  btnekle.Margins.Right = 10;
  btnekle.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/07/02/TPk9VI.png" rel="nofollow - https://resmim.net/cdn/2025/07/02/TPk9VI.png ';
  btnekle.SetclProSettings(btnekle.clProSettings);
  hedef.AddNewEvent(btnekle,tbeOnClick,'BtnOnClick');
  
  bottomLyt = hedef.AddNewLayout(mainPanel,'bottomLyt');
  bottomLyt.Align=ALTop;
  bottomLyt.Height = 100;
  bottomLyt.Margins.Top = 20;
  
  notesLbl = hedef.AddNewProLabel(bottomLyt,'notesLbl','BUGÜN ALINAN KALORİ');
  notesLbl.Align = AlMostTop;
  notesLbl.Width = 150;
  notesLbl.Height = 20;
  notesLbl.Margins.Left = 10;
  notesLbl.Margins.Top = 20;
  notesLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#191970');
  notesLbl.clProSettings.FontSize = 15;
  notesLbl.clProSettings.FontVertAlign = palcenter;
  notesLbl.clProSettings.FontHorzAlign = palLeading;
  notesLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  notesLbl.SetclProSettings(notesLbl.clProSettings);
  
  noteMemo = hedef.AddNewMemo(bottomLyt,'noteMemo','');
  noteMemo.Align = alTop;
  noteMemo.Height = 100;
  noteMemo.Width = 150;
  noteMemo.Margins.Left= 10;
  noteMemo.Margins.Right= 10; 
  noteMemo.Margins.Top= 10;
  noteMemo.ReadOnly = true;
  noteMemo.TextSettings.WordWrap = True;
  
  lblToplam = hedef.AddNewProLabel(bottomLyt, 'lblToplam', 'Toplam: 0 kcal');
  lblToplam.Align = alTop;
  lblToplam.Margins.Left = 10;
  lblToplam.Margins.Top = 5;
  lblToplam.Height = 25;
  lblToplam.clProSettings.FontColor = clAlphaColor.clHexToColor('#191970');
  lblToplam.clProSettings.FontSize = 16;
  lblToplam.clProSettings.FontVertAlign = palcenter;
  lblToplam.clProSettings.FontHorzAlign = palLeading;
  lblToplam.clProSettings.TextSettings.Font.Style = [fsBold];
  lblToplam.SetclProSettings(lblToplam.clProSettings);
  
  toplamKalori = 0;
  hedef.Run;
}
Merhaba, veritabanını entegre etmeye çalışıyorum hata veriyor yapamadım yardımcı olur musunuz?



Cevaplar:
Mesajı Yazan: semihberkanokutan
Mesaj Tarihi: 08 Temmuz 2025 Saat 14:51
Merhabalar Rümeysa,

Yazdığın kodda bir sorun göremedim. Fakat hedef unitindeki degişkenlerin başına "var" parametresini koymayı unutmuşsun diye gördüm. Düzeltip tekrar dener misin?

İyi çalışmalar.


-------------
Semih


Mesajı Yazan: Rmeysa
Mesaj Tarihi: 08 Temmuz 2025 Saat 15:24
Merhaba ,

Foruma gönderirken "var" parametresi sağ tarafta kaymış.

Teşekkür ederim.


Mesajı Yazan: cerenn
Mesaj Tarihi: 08 Temmuz 2025 Saat 17:59
Merhaba Rumeysa,
void TabloOlustur
{
  var Qry: TclSQLiteQuery;
  try {
    Qry = Clomosy.DBSQLiteQueryWith('CREATE TABLE IF NOT EXISTS KaloriTakibi (id INTEGER PRIMARY KEY AUTOINCREMENT, miktar INTEGER, tarih TEXT)');
    Qry.OpenOrExecute;
  } except 
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}birde fonksiyonunu bu hale getirip dener misin?Qryi fonksiyonun içinde tanımlayıp maine yazdığın 
Qry = TclSQLiteQuery.Create(nil);
  Qry.Connection = Clomosy.DBSQLiteConnection; kısımlarını kaldıralım denemeden önce,eğer işe yararsa unit içinde benzer mantık kurabilirsin 
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