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

SQL ekleme

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


Kayıt Tarihi: 07 Temmuz 2025
Konum: konya
Durum: Aktif Değil
Puanlar: 14
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı dilarayaprak Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: SQL ekleme
    Gönderim Zamanı: 9 Saat 19 Dakika Önce Saat 14:59
sqllite ile veri tabanı eklemeye çalışıyordum ancak aktif kullanıcıyı eklediğimde çalışmamaya başladı 

var
  kelimeForm: TclForm;
  kartPanel: TclProPanel;
  frontFace, backFace: TclProPanel;
  lblEnglish, lblTurkish: TclProLabel;
  kartImageFront, kartImageBack: TclProImage;
  txtInput: TclProEdit;
  btnSorgula: TclProButton;
  restAI: TclRest;
  aktifKullaniciAdi, prompt, veri, cevap: String;

void BtnSorgulaClick;
{
  if (txtInput.Text == '') {
    ShowMessage('Lütfen bir kelime girin!');
  } else {
    lblEnglish.Caption = txtInput.Text;
    lblTurkish.Caption = '';
    backFace.Visible = False;
    frontFace.Visible = True;

    prompt = txtInput.Text;

    restAI.Method = rmPost;
    restAI.ContentType = 'application/json';
    restAI.Body =
      '{' +
      '  "contents": [' +
      '    {' +
      '      "parts": [' +
      '        {' +
      '          "text": "Girilen kelimeyi Türkçeye çevir. Sadece çeviriyi yaz: ' + prompt + '"' +
      '        }' +
      '      ]' +
      '    }' +
      '  ]' +
      '}';

    restAI.ExecuteAsync;

    txtInput.Text = '';
  }
}

void GetAIResponse;
{
  veri = restAI.Response;
  cevap = Clomosy.CLParseJson(veri, 'candidates.0.content.parts.0.text');
  lblTurkish.Text = cevap;
  frontFace.Visible = False;
  backFace.Visible = True;

  ShowMessage('Çeviri: ' + cevap);

  if (aktifKullaniciAdi == '') {
    ShowMessage('HATA: Kullanıcı adı alınamadı. Önce giriş yapın.');
  } else {
    
    
    Clomosy.DBSQLiteQuery.Close;
    Clomosy.DBSQLiteQuery.SQL.Text =
      'CREATE TABLE IF NOT EXISTS kartlar (id INTEGER PRIMARY KEY AUTOINCREMENT, kullanici_adi TEXT, english TEXT, turkish TEXT)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;


    Clomosy.DBSQLiteQuery.Close;
    Clomosy.DBSQLiteQuery.SQL.Text =
      'INSERT INTO kartlar (kullanici_adi, english, turkish) VALUES (' +
      QuotedStr(aktifKullaniciAdi) + ',' +
      QuotedStr(lblEnglish.Caption) + ',' +
      QuotedStr(cevap) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('kart kaydedildi.');
  }
}


void FlipCard;
{
  if (frontFace.Visible == True) {
    frontFace.Visible = False;
    backFace.Visible = True;
  } else {
    frontFace.Visible = True;
    backFace.Visible = False;
  }
}

{
  kelimeForm = TclForm.Create(Self);
  kelimeForm.clSetCaption('İngilizce → Türkçe Kart');
  kelimeForm.SetFormBGImage('https://i.imgur.com/fPwWs0H.jpeg');

  restAI = TclRest.Create;
  restAI.OnCompleted = 'GetAIResponse';

  txtInput = kelimeForm.AddNewProEdit(kelimeForm, 'txtInput', '');
  txtInput.Align = alTop;
  txtInput.Margins.Top = 20;
  txtInput.Height = 40;

  btnSorgula = kelimeForm.AddNewProButton(kelimeForm, 'btnSorgula', 'ÇEVİR');
  btnSorgula.Align = alTop;
  btnSorgula.Height = 40;
  kelimeForm.AddNewEvent(btnSorgula, tbeOnClick, 'BtnSorgulaClick');

  kartPanel = kelimeForm.AddNewProPanel(kelimeForm, 'kartPanel');
  kartPanel.Width = 300;
  kartPanel.Height = 200;
  kartPanel.Position.X = (kelimeForm.clWidth - kartPanel.Width) / 2;
  kartPanel.Position.Y = (kelimeForm.clHeight - kartPanel.Height) / 2;
  kartPanel.ClProSettings.RoundWidth = 20;
  kartPanel.ClProSettings.RoundHeight = 20;
  kartPanel.SetclProSettings(kartPanel.ClProSettings);

  frontFace = kelimeForm.AddNewProPanel(kartPanel, 'frontFace');
  frontFace.Align = alClient;
  frontFace.Visible = True;

  kartImageFront = kelimeForm.AddNewProImage(frontFace, 'kartImageFront');
  kartImageFront.Align = alClient;
  kartImageFront.ClProSettings.PictureSource = 'https://i.imgur.com/wLCaAxp.png';
  kartImageFront.SetclProSettings(kartImageFront.ClProSettings);

  lblEnglish = kelimeForm.AddNewProLabel(frontFace, 'lblEnglish', '');
  lblEnglish.Align = alCenter;
  lblEnglish.ClProSettings.FontSize = 26;
  lblEnglish.ClProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  lblEnglish.SetclProSettings(lblEnglish.ClProSettings);

  backFace = kelimeForm.AddNewProPanel(kartPanel, 'backFace');
  backFace.Align = alClient;
  backFace.Visible = False;

  kartImageBack = kelimeForm.AddNewProImage(backFace, 'kartImageBack');
  kartImageBack.Align = alClient;
  kartImageBack.ClProSettings.PictureSource = 'https://i.imgur.com/wLCaAxp.png';
  kartImageBack.SetclProSettings(kartImageBack.ClProSettings);

  lblTurkish = kelimeForm.AddNewProLabel(backFace, 'lblTurkish', '');
  lblTurkish.Align = alCenter;
  lblTurkish.ClProSettings.FontSize = 26;
  lblTurkish.ClProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  lblTurkish.SetclProSettings(lblTurkish.ClProSettings);

  kelimeForm.AddNewEvent(kartPanel, tbeOnClick, 'FlipCard');

  kelimeForm.Run;
}
Yukarı Dön
Sudesigirci Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 114
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 8 Saat 32 Dakika Önce Saat 15:46
Merhaba Dilara ,
bu ekranda çeviri yapıldığı için ayrı bir unit oluşturmanı tavsiye ederim oluşturduğun unitte aşağıdaki şekilde veritabanına kayıt ve giriş işlemleri yapabilirsin

var
  girisForm: TclForm;
  edtKullaniciAdi, edtSifre: TclProEdit;
  btnGiris, btnKaydol: TclProButton;
  aktifKullanici: String;
  dbYolu: String;

void Kaydol;
var
  kullanici, sifre: String;
{
  kullanici = edtKullaniciAdi.Text;
  sifre = edtSifre.Text;

  if (kullanici == '' || sifre == '') {
    ShowMessage('Lütfen kullanıcı adı ve şifre girin!');
  
  }

  try 
    dbYolu = Clomosy.AppFilesPath + 'Kullanicilar.db3';
    Clomosy.DBSQLiteConnect(dbYolu, '');

    Clomosy.DBSQLiteQuery.SQL.Text =
      'CREATE TABLE IF NOT EXISTS kullanicilar (' +
      'id INTEGER PRIMARY KEY AUTOINCREMENT,' +
      'kullanici_adi TEXT UNIQUE,' +
      'sifre TEXT)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Clomosy.DBSQLiteQuery.SQL.Text =
      'INSERT INTO kullanicilar (kullanici_adi, sifre) VALUES (' +
      QuotedStr(kullanici) + ',' + QuotedStr(sifre) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Kayıt başarılı! Şimdi giriş yapabilirsiniz.');

   except 
    ShowMessage('Kayıt hatası: ' + LastExceptionMessage);
  }
}

void GirisYap;
var
  kullanici, sifre: String;
  kayitSayisi: Integer;
{
  kullanici = edtKullaniciAdi.Text;
  sifre = edtSifre.Text;

  try 
    dbYolu = Clomosy.AppFilesPath + 'Kullanicilar.db3';
    Clomosy.DBSQLiteConnect(dbYolu, '');

    Clomosy.DBSQLiteQuery.SQL.Text =
      'SELECT COUNT(*) AS adet FROM kullanicilar WHERE kullanici_adi = ' + QuotedStr(kullanici) +
      ' AND sifre = ' + QuotedStr(sifre);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    kayitSayisi = Clomosy.DBSQLiteQuery.FieldByName('adet').AsInteger;

    if (kayitSayisi > 0) {
      aktifKullanici = kullanici;
      ShowMessage('Giriş başarılı! Hoş geldin: ' + aktifKullanici);
      // Clomosy.RunUnit('ceviriyiyaptığın unit maindeyse 'main' şeklinde kullanabilirsin); // Sonraki ekran burada çağrılabilir
    } else {
      ShowMessage('Hatalı kullanıcı adı veya şifre.');
    }

  except 
    ShowMessage('Giriş hatası: ' + LastExceptionMessage);
  }
}

{
  girisForm = TclForm.Create(Self);
  girisForm.clSetCaption('Kullanıcı Giriş / Kayıt');

  edtKullaniciAdi = girisForm.AddNewProEdit(girisForm, 'edtKullaniciAdi', 'Kullanıcı adı');
  edtKullaniciAdi.Align = alTop;
  edtKullaniciAdi.Height = 40;
  

  edtSifre = girisForm.AddNewProEdit(girisForm, 'edtSifre', 'şifre');
  edtSifre.Align = alTop;
  edtSifre.Height = 40;
  edtSifre.Password = True;
  edtSifre.SetclProSettings(edtSifre.clProSettings);

  btnKaydol = girisForm.AddNewProButton(girisForm, 'btnKaydol', 'Kaydol');
  btnKaydol.Align = alBottom;
  btnKaydol.Height = 50;
  girisForm.AddNewEvent(btnKaydol, tbeOnClick, 'Kaydol');

  btnGiris = girisForm.AddNewProButton(girisForm, 'btnGiris', 'Giriş Yap');
  btnGiris.Align = alBottom;
  btnGiris.Height = 50;
  girisForm.AddNewEvent(btnGiris, tbeOnClick, 'GirisYap');

  girisForm.Run;
}
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,063 Saniyede Yüklendi.