![]() |
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 ![]() |
Yazar | |
dilarayaprak ![]() Yeni Üye ![]() Kayıt Tarihi: 07 Temmuz 2025 Konum: konya Durum: Aktif Değil Puanlar: 14 |
![]() Yanıt Yaz
Alıntı dilarayaprak
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() 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.BaseUrl = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=xxxxxxxxxxxxxxxxxxxxxxxx'; 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; }
|
|
![]() |
|
Sudesigirci ![]() Kıdemli Üye ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: KONYA Durum: Aktif Değil Puanlar: 114 |
![]() Yanıt Yaz
Alıntı Sudesigirci
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
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
|
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |