![]() |
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. |
panel açılmıyor |
Yanıt Yaz ![]() |
Yazar | |
dilarayaprak ![]() Yeni Üye ![]() Kayıt Tarihi: 07 Temmuz 2025 Durum: Aktif Puanlar: 26 |
![]() Yanıt Yaz
Alıntı dilarayaprak
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: 6 Saat 39 Dakika Önce Saat 11:44 |
kullanıcının kendi eklediği kelime listesinden kelimeleri alıp ai ile karıştırıp türkçe karşılığı ile kullancıya veriyorum, ingilizcesini yazması için bir edit kısmıda veriyorum ancak kontrol et dediğimde sadece yenikelimeyükle yapıyor , sonuc paneli açıp doğru olup olmadıgını göstermiyor ![]() var oyunForm: TclForm; vertBox: TclVertScrollBox; panel,bottomPanel : TclProPanel; lblKarisik, lblTurkish, lblSonuc: TclProLabel; txtTahmin: TclProEdit; dogruKelime, karisikKelime: String; btnKontrol, btnYeniKelime,btnHome, btnIstatistik,btnOyun,btnAdd: TclProButton; restKaristir, restCeviri: TclRest; ortakPanel: TclProPanel; tahminPanel: TclProPanel; kontrolPanel: TclProPanel; yeniKelimePanel: TclProPanel; ustPanel: TclProPanel; imgLogo: TclProImage; sonucPanel : TclProPanel; void Addtiklandi; { Clomosy.RunUnit('Addbtn'); } void hometiklandi; { Clomosy.RunUnit('Homebtn'); } void istatistiktiklandi; { Clomosy.RunUnit('Istatistikbtn'); } void btnoyuntiklandi; { Clomosy.RunUnit('Oyunbtn'); } void TahminKontrol; { sonucPanel.visible=True; if (txtTahmin.Text == dogruKelime) { lblSonuc.Caption = '✅ Doğru!'; lblSonuc.ClProSettings.FontColor = clAlphaColor.clGreen; } else { lblSonuc.Caption = '❌ Yanlış'; lblSonuc.ClProSettings.FontColor = clAlphaColor.clRed; } lblSonuc.SetclProSettings(lblSonuc.ClProSettings); } void GetKaristirmaResponse; var veri: String; { veri = restKaristir.Response; karisikKelime = Clomosy.CLParseJson(veri, 'candidates.0.content.parts.0.text'); restCeviri.Body = '{' + ' "contents": [' + ' {' + ' "parts": [' + ' {' + ' "text": "' + dogruKelime + ' kelimesinin Türkçe karşılığını ver, sadece çeviriyi yaz. Açıklama yapma."' + ' }' + ' ]' + ' }' + ' ]' + '}'; restCeviri.ExecuteAsync; } void GetCeviriResponse; var veri: String; { veri = restCeviri.Response; lblKarisik.Caption = 'Kelime: ' + karisikKelime; lblTurkish.Caption = 'Türkçesi: ' + Clomosy.CLParseJson(veri, 'candidates.0.content.parts.0.text'); txtTahmin.Text = ''; lblSonuc.Caption = ''; } void YeniKelimeYukle; { Clomosy.DBSQLiteQuery.Close; Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT english FROM kartlar ORDER BY RANDOM() LIMIT 1'; Clomosy.DBSQLiteQuery.OpenOrExecute; dogruKelime = Clomosy.DBSQLiteQuery.FieldByName('english').AsString; restKaristir.Body = '{' + ' "contents": [' + ' {' + ' "parts": [' + ' {' + ' "text": "' + dogruKelime + ' kelimesinin harflerini karıştır ve sadece karışık halini ver."' + ' }' + ' ]' + ' }' + ' ]' + '}'; restKaristir.ExecuteAsync; } { restKaristir = TclRest.Create; restKaristir.OnCompleted = 'GetKaristirmaResponse'; restKaristir.BaseUrl = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; restKaristir.Method = rmPost; restKaristir.ContentType = 'application/json'; restCeviri = TclRest.Create; restCeviri.OnCompleted = 'GetCeviriResponse'; restCeviri.BaseUrl = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; restCeviri.Method = rmPost; restCeviri.ContentType = 'application/json'; oyunForm = TclForm.Create(Self); oyunForm.clSetCaption('Kelime Tahmin Oyunu'); oyunForm.SetFormBGImage('https://i.imgur.com/fPwWs0H.jpeg'); panel = oyunForm.AddNewProPanel(oyunForm, 'panel'); panel.Align=alClient; panel.Height=800; panel.Width=800; panel.clProSettings.RoundHeight=40; panel.clProSettings.Roundwidth=40; panel.clProSettings.IsTransparent =False; panel.SetclProSettings(panel.clProSettings); ustPanel = oyunForm.AddNewProPanel(panel, 'ustPanel'); ustPanel.Align = alMostTop; ustPanel.Margins.top = 30; ustPanel.Height = 100; ustPanel.Margins.Top =100; ustPanel.clProSettings.IsTransparent = True; ustPanel.SetclProSettings(ustPanel.clProSettings); imgLogo = oyunForm.AddNewProImage(ustPanel, 'imgLogo'); imgLogo.Align = alCenter; imgLogo.Height = 100; imgLogo.Width = 100; imgLogo.ClProSettings.PictureSource = 'https://i.imgur.com/LjOx6Em.png'; imgLogo.SetclProSettings(imgLogo.ClProSettings); ortakPanel = oyunForm.AddNewProPanel(panel, 'ortakPanel'); ortakPanel.Align = altop; ortakPanel.Margins.top = 30; ortakPanel.Height = 120; ortakPanel.Margins.left = 50; ortakPanel.Margins.right = 50 ; ortakPanel.clProSettings.BackGroundColor = clAlphaColor.clHexToColor('#660000'); ortakPanel.clProSettings.RoundHeight = 20; ortakPanel.clProSettings.RoundWidth = 20; ortakPanel.clProSettings.IsTransparent = False; ortakPanel.SetclProSettings(ortakPanel.clProSettings); lblKarisik = oyunForm.AddNewProLabel(ortakPanel, 'lblKarisik', ''); lblKarisik.Align = alTop; lblKarisik.Margins.Top = 20; lblKarisik.ClProSettings.FontSize = 18; lblKarisik.ClProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); lblKarisik.ClProSettings.IsTransparent = True; lblKarisik.SetclProSettings(lblKarisik.ClProSettings); lblTurkish = oyunForm.AddNewProLabel(ortakPanel, 'lblTurkish', ''); lblTurkish.Align = alTop; lblTurkish.Margins.Bottom = 10; lblTurkish.Margins.Top = 25; lblTurkish.ClProSettings.FontSize = 18; lblTurkish.ClProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); lblTurkish.ClProSettings.IsTransparent = True; lblTurkish.SetclProSettings(lblTurkish.ClProSettings); tahminPanel = oyunForm.AddNewProPanel(panel, 'tahminPanel'); tahminPanel.Align = altop; tahminPanel.Margins.top = 20; tahminPanel.Height = 100; tahminPanel.Margins.Top = 30; tahminPanel.clProSettings.IsTransparent = True; tahminPanel.SetclProSettings(tahminPanel.clProSettings); txtTahmin = oyunForm.AddNewProEdit(tahminPanel, 'txtTahmin', 'kelimeyi yaz'); txtTahmin.Align = alCenter; txtTahmin.Width = 290; txtTahmin.Height = 70; txtTahmin.clProSettings.BackGroundColor = clAlphaColor.clHextoColor('#11212d'); txtTahmin.clProSettings.IsTransparent = True; txtTahmin.clProSettings.IsFill = False; txtTahmin.clProSettings.IsRound = True; txtTahmin.clProSettings.RoundHeight = 20; txtTahmin.clProSettings.Roundwidth = 20; txtTahmin.clProSettings.FontSize = 20; txtTahmin.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); txtTahmin.clProSettings.BorderColor = clAlphaColor.clHexToColor('#000000'); txtTahmin.SetclProSettings(txtTahmin.clProSettings); kontrolPanel = oyunForm.AddNewProPanel(panel, 'kontrolPanel'); kontrolPanel.Align = altop; kontrolPanel.Height = 80; kontrolPanel.Margins.top = 50; kontrolPanel.Margins.Top = 20; kontrolPanel.Margins.right = 100; kontrolPanel.Margins. left = 100 ; kontrolPanel.clProSettings.IsTransparent = True; kontrolPanel.SetclProSettings(kontrolPanel.clProSettings); btnKontrol = oyunForm.AddNewProButton(kontrolPanel, '', 'Kontrol Et'); btnKontrol.Align = altop; btnKontrol.Width = 180; btnKontrol.Height = 60; btnKontrol.clProSettings.RoundHeight = 20; btnKontrol.clProSettings.Roundwidth = 20; btnKontrol.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f4bcbc'); btnKontrol.SetclProSettings(btnKontrol.ClProSettings); oyunForm.AddNewEvent(btnKontrol, tbeOnClick, 'TahminKontrol'); sonucPanel = oyunForm.AddNewProPanel(panel, 'sonucPanel'); sonucPanel.Align = alCenter; sonucPanel.Height = 80; sonucPanel.Margins.Top = 10; sonucPanel.Visible = False; sonucPanel.clProSettings.IsTransparent = True; sonucPanel.SetclProSettings(sonucPanel.clProSettings); // Sonuç Label lblSonuc = oyunForm.AddNewProLabel(sonucPanel, '', ''); lblSonuc.Align = alCenter; lblSonuc.clProSettings.FontSize = 22; lblSonuc.clProSettings.FontColor = clAlphaColor.clBlack; lblSonuc.clProSettings.TextSettings.Font.Style = [fsBold]; lblSonuc.clProSettings.IsTransparent = True; lblSonuc.SetclProSettings(lblSonuc.clProSettings); yeniKelimePanel = oyunForm.AddNewProPanel(panel, 'yeniKelimePanel'); yeniKelimePanel.Align = altop; yeniKelimePanel.Margins.top = 50 ; yeniKelimePanel.Height = 80; yeniKelimePanel.Margins.Top = 10; yeniKelimePanel.clProSettings.IsTransparent = True; yeniKelimePanel.SetclProSettings(yeniKelimePanel.clProSettings); btnYeniKelime = oyunForm.AddNewProButton(yeniKelimePanel, '', 'Yeni Kelime'); btnYeniKelime.Align = alCenter; btnYeniKelime.Width = 180; btnYeniKelime.Height = 60; btnYeniKelime.clProSettings.RoundHeight = 20; btnYeniKelime.clProSettings.Roundwidth = 20; btnYeniKelime.ClProSettings.BackGroundColor = clAlphaColor.clHexToColor('#f4bcbc'); btnYeniKelime.SetclProSettings(btnYeniKelime.ClProSettings); oyunForm.AddNewEvent(btnYeniKelime, tbeOnClick, 'YeniKelimeYukle'); bottomPanel=oyunForm.AddNewProPanel(panel,'bottomPanel'); bottomPanel.Align=alMostBottom; bottomPanel.Align=alHorizontal; bottomPanel.Height=50; bottomPanel.Width=300; bottomPanel.clProSettings.RoundHeight=20; bottomPanel.clProSettings.Roundwidth=20; bottomPanel.clProSettings.IsTransparent =False; bottomPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff'); bottomPanel.clProSettings.BorderWidth = 2; bottomPanel.SetclProSettings(bottomPanel.clProSettings); // home btnHome = oyunForm.AddNewProButton(bottomPanel, 'btnHome', ''); btnHome.Align = alLeft; btnHome.margins.left=20; btnHome.margins.bottom=10; btnHome.Width = 70; btnHome.Height = 70; btnHome.clProSettings.IsRound = True; btnHome.clProSettings.RoundHeight = 10; btnHome.clProSettings.RoundWidth = 10; btnHome.SetclProSettings(btnHome.clProSettings); oyunForm.SetImage(btnHome,'https://i.imgur.com/FfEKaFY.png'); oyunForm.AddNewEvent(btnHome, tbeOnClick, 'hometiklandi'); // 🟥 ADD btnAdd = oyunForm.AddNewProButton(bottomPanel, 'btnAdd', ''); btnAdd.Align = alLeft; btnAdd.margins.left=20; btnAdd.margins.bottom=10; btnAdd.Width = 70; btnAdd.Height = 70; btnAdd.clProSettings.IsRound = True; btnAdd.clProSettings.RoundHeight = 10; btnAdd.clProSettings.RoundWidth = 10; btnAdd.SetclProSettings(btnHome.clProSettings); oyunForm.SetImage(btnAdd,'https://i.imgur.com/bB8i9zb.png'); oyunForm.AddNewEvent(btnAdd, tbeOnClick, 'Addtiklandi'); // 🟥 OYUN btnOyun = oyunForm.AddNewProButton(bottomPanel, 'btnOyun', ''); btnOyun.Align = alLeft; btnOyun.margins.left=20; btnOyun.margins.bottom=10; btnOyun.Width = 70; btnOyun.Height = 70; btnOyun.clProSettings.IsRound = True; btnOyun.clProSettings.RoundHeight = 10; btnOyun.clProSettings.RoundWidth = 10; btnOyun.SetclProSettings(btnOyun.clProSettings); oyunForm.SetImage(btnOyun,'https://i.imgur.com/ewHakWR.png'); oyunForm.AddNewEvent(btnOyun, tbeOnClick, 'btnoyuntiklandi'); // 🟥 İSTATİSTİK btnIstatistik = oyunForm.AddNewProButton(bottomPanel, 'btnIstatistik', ''); btnIstatistik.Align = alLeft; btnIstatistik.margins.left=20; btnIstatistik.margins.bottom=10; btnIstatistik.Width = 70; btnIstatistik.Height = 70; btnIstatistik.clProSettings.IsRound = True; btnIstatistik.clProSettings.RoundHeight = 10; btnIstatistik.clProSettings.RoundWidth = 10; btnIstatistik.SetclProSettings(btnIstatistik.clProSettings); oyunForm.SetImage(btnIstatistik,'https://i.imgur.com/n0uCd4p.png'); oyunForm.AddNewEvent(btnIstatistik, tbeOnClick, 'istatistiktiklandi'); // İlk kelime yükle YeniKelimeYukle; oyunForm.Run; }
|
|
![]() |
|
haletr ![]() Kıdemli Üye ![]() ![]() Kayıt Tarihi: 16 Haziran 2025 Konum: Konya Durum: Aktif Değil Puanlar: 138 |
![]() ![]() ![]() ![]() ![]() |
Merhaba,
öncelikle veritabanı bağlantısının sorgudan önce yapılması gerekiyor. void YeniKelimeYukle; { // Veritabanı bağlantısı Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'kelime_kartlari.db3', ''); Clomosy.DBSQLiteQuery.Close; Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT english FROM kartlar ORDER BY RANDOM() LIMIT 1'; Clomosy.DBSQLiteQuery.OpenOrExecute; dogruKelime = Clomosy.DBSQLiteQuery.FieldByName('english').AsString; Sonuc panelinin gözükmemesinin sebebi yerleştirmeden dolayı olabilir. Align=alTop; yapıp butona tıklanınca gözüküyor mu dener misin? Umarım yardımcı olur. İyi çalışmalar.
|
|
![]() |
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 |