![]() |
| 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. |
iOS ImageChooser Sorunu |
Yanıt Yaz
|
| Yazar | |
clBerat
Yeni Üye
Kayıt Tarihi: Dün Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: iOS ImageChooser SorunuGönderim Zamanı: 1 saat 33 Dakika Önce Saat 21:26 |
|
İlk Yaptığında Kamera Sorunsuz Açılıyor Ancak Uygulamadan Çıkmadan Tekrar Fotoğraf Çekmek İstediği Zaman Donuyor. (Eğer Orda Donmasa Ürünü Analiz Et Butonuna Basınca Donuyor, Her Türlü Donuyor. Android'de Sorun Olmadan Çalışıyor.) var AnaSayfaForm : TCLForm; lblHosGeldin : TClProLabel; edtBarkodSonuc : TclProEdit; btnBarkodOkut, btnUrunBul : TClProButton; lblUrunFotoCerceve : TClProLabel; imgUrunFoto : TClImage; lytBottomContainer, lytBottomBarBg, lytIconsLayer : TClLayout; lytNavLeft, lytNavMiddle, lytNavRight : TClLayout; lblBarBg, lblNavMiddleBg, lblNavLeftBg : TClProLabel; imgNavLeft, imgNavMiddle, imgNavRight : TClImage; lytLogoutOverlay, lytLogoutKasa, lytLogoutBtnKasa : TClLayout; lblLogoutArkaplan, lblLogoutKasaBg, lblLogoutSoru : TClProLabel; btnLogoutEvet, btnLogoutIptal : TClProButton; lytHesapSilOverlay, lytHesapSilKasa, lytHesapSilBtnKasa : TClLayout; lblHesapSilArkaplan, lblHesapSilKasaBg, lblHesapSilSoru : TClProLabel; btnHesapSilEvet, btnHesapSilIptal : TClProButton; tmrGemini, tmrKamera : TclTimer; OpenFoodFactsApi, GeminiApi, ProfilApi : TCLRest; btnAnaStil, btnAltStil, btnKirmiziStil, prefFile, edtStil, edtSoftStil : String; prefList : TclStringList; scrollAna : TclVertScrollBox; lytScrollBosluk : TClLayout; lytUstKasa, lytSonucKasa : TClLayout; lytKasaUrun, lytKasaColyak, lytKasaSporcu : TClLayout; lytIcerikUrun, lytIcerikColyak, lytIcerikSporcu : TClLayout; lblKasaUrunBg, lblKasaColyakBg, lblKasaSporcuBg : TClProLabel; lblUrunBaslik, lblColyakBaslik, lblSporcuBaslik : TClProLabel; memoUrunCevap, memoColyakCevap, memoSporcuCevap : TclMemo; lytProfilKasa : TClLayout; scrollProfil : TclVertScrollBox; lytP_Tercihler, lytP_CheckList, lytP_Sifre, lytP_HesapSil, lytP_Bosluk : TClLayout; lblP_AdSoyad, lblP_Email, lblP_TercihBaslik, lblP_SifreBaslik, lblP_TercihKasaBg, lblP_SifreKasaBg, lblP_SifreKurallari : TClProLabel; chkP_Colyak, chkP_Sporcu, chkP_Vegan, chkP_Vejetaryen, chkP_Saglikli, chkP_Diyabet, chkP_Laktoz : TclCheckBox; edtP_EskiSifre, edtP_Sifre, edtP_SifreTekrar : TclProEdit; imgP_EskiSifre, imgP_Sifre, imgP_SifreTekrar : TClProImage; btnP_TercihKaydet, btnP_SifreKaydet, btnP_HesapSil : TClProButton; IslemTipi, ArananDeger, KullaniciTercihleri, KullaniciEmail, apiUrl, apiKey : String; void OrtadakiButonTikladi; var i : Integer; { if (lblNavMiddleBg.Visible == True) { Exit; } lytProfilKasa.Visible = False; scrollAna.Visible = True; lblNavLeftBg.Visible = False; lblNavMiddleBg.Visible = True; i = 1; while (i <= 6) { lytNavLeft.Margins.Top = lytNavLeft.Margins.Top + 5; lytNavLeft.Margins.Bottom = lytNavLeft.Margins.Bottom - 5; if (lytNavLeft.Margins.Top > 30) { lytNavLeft.Margins.Top = 30; } if (lytNavLeft.Margins.Bottom < 20) { lytNavLeft.Margins.Bottom = 20; } lytNavMiddle.Margins.Top = lytNavMiddle.Margins.Top - 5; lytNavMiddle.Margins.Bottom = lytNavMiddle.Margins.Bottom + 5; if (lytNavMiddle.Margins.Top < 0) { lytNavMiddle.Margins.Top = 0; } if (lytNavMiddle.Margins.Bottom > 30) { lytNavMiddle.Margins.Bottom = 30; } AnaSayfaForm.StartProcessMessages(15); i = i + 1; } } void SoldakiButonTikladi; var i : Integer; { if (lblNavLeftBg.Visible == True) { Exit; } scrollAna.Visible = False; lytProfilKasa.Visible = True; lblNavMiddleBg.Visible = False; lblNavLeftBg.Visible = True; i = 1; while (i <= 6) { lytNavMiddle.Margins.Top = lytNavMiddle.Margins.Top + 5; lytNavMiddle.Margins.Bottom = lytNavMiddle.Margins.Bottom - 5; if (lytNavMiddle.Margins.Top > 30) { lytNavMiddle.Margins.Top = 30; } if (lytNavMiddle.Margins.Bottom < 20) { lytNavMiddle.Margins.Bottom = 20; } lytNavLeft.Margins.Top = lytNavLeft.Margins.Top - 5; lytNavLeft.Margins.Bottom = lytNavLeft.Margins.Bottom + 5; if (lytNavLeft.Margins.Top < 0) { lytNavLeft.Margins.Top = 0; } if (lytNavLeft.Margins.Bottom > 30) { lytNavLeft.Margins.Bottom = 30; } AnaSayfaForm.StartProcessMessages(15); i = i + 1; } } void ChkP_VeganClick; { if (chkP_Vegan.isChecked == False) { chkP_Vejetaryen.isChecked = False; chkP_Vejetaryen.Enabled = False; } else { chkP_Vejetaryen.Enabled = True; } } void P_SifreGizleGosterEski; { if (edtP_EskiSifre.Password == True) { edtP_EskiSifre.Password = False; AnaSayfaForm.SetImage(imgP_EskiSifre, 'https://i.ibb.co/2311b9kv/acikgoz.png'); } else { edtP_EskiSifre.Password = True; AnaSayfaForm.SetImage(imgP_EskiSifre, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); } } void P_SifreGizleGosterYeni; { if (edtP_Sifre.Password == True) { edtP_Sifre.Password = False; AnaSayfaForm.SetImage(imgP_Sifre, 'https://i.ibb.co/2311b9kv/acikgoz.png'); } else { edtP_Sifre.Password = True; AnaSayfaForm.SetImage(imgP_Sifre, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); } } void P_SifreGizleGosterTekrar; { if (edtP_SifreTekrar.Password == True) { edtP_SifreTekrar.Password = False; AnaSayfaForm.SetImage(imgP_SifreTekrar, 'https://i.ibb.co/2311b9kv/acikgoz.png'); } else { edtP_SifreTekrar.Password = True; AnaSayfaForm.SetImage(imgP_SifreTekrar, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); } } void BtnP_TercihKaydetClick; var secilenTercih, jsonBody : String; { if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; } secilenTercih = ''; if (chkP_Colyak.isChecked == True) { secilenTercih = 'Çölyak'; } if (chkP_Sporcu.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Sporcu'; } else { secilenTercih = secilenTercih + ', Sporcu'; } } if (chkP_Vegan.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Vegan'; } else { secilenTercih = secilenTercih + ', Vegan'; } } if ((chkP_Vejetaryen.isChecked == True) && (chkP_Vegan.isChecked == False)) { if (secilenTercih == '') { secilenTercih = 'Vejetaryen'; } else { secilenTercih = secilenTercih + ', Vejetaryen'; } } if (chkP_Saglikli.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Sağlıklı Beslenme'; } else { secilenTercih = secilenTercih + ', Sağlıklı Beslenme'; } } if (chkP_Diyabet.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Diyabet'; } else { secilenTercih = secilenTercih + ', Diyabet'; } } if (chkP_Laktoz.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Laktoz İntoleransı'; } else { secilenTercih = secilenTercih + ', Laktoz İntoleransı'; } } if (secilenTercih == '') { secilenTercih = 'Yok'; } jsonBody = '{"tercihler": "' + secilenTercih + '"}'; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail; ProfilApi.Method = rmPatch; ProfilApi.AddHeader('apikey', apiKey); ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey); ProfilApi.AddHeader('Content-Type', 'application/json'); ProfilApi.AddBody(jsonBody, 'application/json'); try ProfilApi.Execute; prefList.Clear; prefList.Add(KullaniciEmail); prefList.Add(Clomosy.GlobalVariableString); prefList.Add(secilenTercih); prefList.SaveToFile(prefFile, 0); KullaniciTercihleri = secilenTercih; ShowMessage('Tercihleriniz başarıyla güncellendi!'); except ShowMessage('Tercihler güncellenirken bir hata oluştu.'); } } void BtnP_SifreKaydetClick; var eskiSifre, sifre, karakter, lowerChars, upperChars, digitChars, jsonBody: String; i, len, hasLower, hasUpper, hasDigit, hasSpecial: Integer; { if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; } eskiSifre = edtP_EskiSifre.Text; sifre = edtP_Sifre.Text; if ((eskiSifre == '') || (sifre == '') || (edtP_SifreTekrar.Text == '')) { ShowMessage('Lütfen tüm şifre alanlarını doldurun.'); Exit; } if (sifre <> edtP_SifreTekrar.Text) { ShowMessage('Yeni şifreler eşleşmiyor!'); Exit; } if (eskiSifre == sifre) { ShowMessage('Yeni şifreniz mevcut şifrenizle aynı olamaz!'); Exit; } ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail + '&sifre=eq.' + eskiSifre; ProfilApi.Method = rmGet; ProfilApi.AddHeader('apikey', apiKey); ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey); ProfilApi.Execute; if ((ProfilApi.Response == '[]') || (ProfilApi.Response == '')) { ShowMessage('Mevcut (eski) şifrenizi yanlış girdiniz!'); Exit; } len = Length(sifre); if ((len < 8) || (len > 50)) { ShowMessage('Şifre 8-50 karakter olmalıdır!'); Exit; } hasLower = 0; hasUpper = 0; hasDigit = 0; hasSpecial = 0; lowerChars = 'abcdefghijklmnopqrstuvwxyzçğıöşü'; upperChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÇĞIÖŞÜ'; digitChars = '0123456789'; i = 1; while (i <= len) { karakter = Copy(sifre, i, 1); if (Pos(karakter, lowerChars) > 0) { hasLower = 1; } else if (Pos(karakter, upperChars) > 0) { hasUpper = 1; } else if (Pos(karakter, digitChars) > 0) { hasDigit = 1; } else { hasSpecial = 1; } i = i + 1; } if (hasUpper == 0) { ShowMessage('Şifre en az 1 büyük harf içermeli!'); Exit; } if (hasLower == 0) { ShowMessage('Şifre en az 1 küçük harf içermeli!'); Exit; } if (hasDigit == 0) { ShowMessage('Şifre en az 1 rakam içermeli!'); Exit; } if (hasSpecial == 0) { ShowMessage('Şifre en az 1 özel karakter içermeli!'); Exit; } jsonBody = '{"sifre": "' + sifre + '"}'; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail; ProfilApi.Method = rmPatch; ProfilApi.AddHeader('Content-Type', 'application/json'); ProfilApi.AddBody(jsonBody, 'application/json'); try ProfilApi.Execute; ShowMessage('Şifreniz başarıyla değiştirildi! Güvenliğiniz için lütfen yeni şifrenizle tekrar giriş yapın.'); prefList.Clear; prefList.SaveToFile(prefFile, 0); Clomosy.GlobalVariableString = ''; KullaniciEmail = ''; Clomosy.RunUnit('uLogin'); except ShowMessage('Şifre güncellenirken bir hata oluştu.'); } } void BtnP_HesapSilSoru; { if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; } lytHesapSilOverlay.Visible = True; lytHesapSilOverlay.BringToFront; } void BtnP_HesapSilIptal; { lytHesapSilOverlay.Visible = False; } void BtnP_HesapSilEvet; { ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail; ProfilApi.Method = rmDelete; ProfilApi.AddHeader('apikey', apiKey); ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey); try ProfilApi.Execute; prefList.Clear; prefList.SaveToFile(prefFile, 0); Clomosy.GlobalVariableString = ''; KullaniciEmail = ''; ShowMessage('Hesabınız başarıyla silindi. Hoşça kalın!'); Clomosy.RunUnit('uKarsilama'); except ShowMessage('Hesap silinirken bir hata oluştu.'); lytHesapSilOverlay.Visible = False; } } void BtnCikisSoru; { lytLogoutOverlay.Visible = True; lytLogoutOverlay.BringToFront; } void BtnCikisIptal; { lytLogoutOverlay.Visible = False; } void BtnCikisEvet; { prefList.Clear; prefList.SaveToFile(prefFile, 0); Clomosy.GlobalVariableString = ''; KullaniciEmail = ''; Clomosy.RunUnit('uKarsilama'); } void btnBarkodOkutClick; { lblUrunFotoCerceve.Visible = False; lytSonucKasa.Visible = False; lytUstKasa.Height = 310; btnUrunBul.Enabled = True; AnaSayfaForm.CallBarcodeReader(edtBarkodSonuc); } void OnGeminiCompleted; var jsonResp, tempStr, geminiSonuc : String; baslangic, bitis, pU, pC, pS, loopLimit : Integer; strU, strC, strS : String; { try jsonResp = GeminiApi.Response; if (jsonResp == '') { ShowMessage('Bağlantı zaman aşımına uğradı veya internet koptu. Lütfen tekrar deneyin.'); memoUrunCevap.Text = 'Yanıt Alınamadı.'; memoColyakCevap.Text = 'Bağlantı Hatası.'; memoSporcuCevap.Text = 'Bağlantı Hatası.'; lytSonucKasa.Visible = True; btnUrunBul.Enabled = True; Exit; } if (Pos('"error"', jsonResp) > 0) { if (Pos('RESOURCE_EXHAUSTED', jsonResp) > 0) { ShowMessage('Google API Kotası Doldu! Ücretsiz sürümde çok hızlı istek attığınız için geçici olarak engellendiniz. Lütfen 1 dakika bekleyin.'); memoUrunCevap.Text = 'Lütfen 1 Dakika Bekleyiniz (API Sınırı)'; memoColyakCevap.Text = 'API Kotası Doldu...'; memoSporcuCevap.Text = 'API Kotası Doldu...'; } else { ShowMessage('API Hatası Detayı: ' + jsonResp); memoUrunCevap.Text = 'API Hatası!'; memoColyakCevap.Text = 'Hata.'; memoSporcuCevap.Text = 'Hata.'; } lytSonucKasa.Visible = True; } else { loopLimit = 0; baslangic = Pos('\"', jsonResp); while ((baslangic > 0) && (loopLimit < 5000)) { jsonResp = Copy(jsonResp, 1, baslangic - 1) + '''' + Copy(jsonResp, baslangic + 2, Length(jsonResp)); baslangic = Pos('\"', jsonResp); loopLimit = loopLimit + 1; } baslangic = Pos('"text": "', jsonResp); if (baslangic > 0) { tempStr = Copy(jsonResp, baslangic + 9, Length(jsonResp)); bitis = Pos('"', tempStr) - 1; geminiSonuc = Trim(Copy(tempStr, 1, bitis)); loopLimit = 0; baslangic = Pos('\n', geminiSonuc); while ((baslangic > 0) && (loopLimit < 1000)) { geminiSonuc = Copy(geminiSonuc, 1, baslangic - 1) + #13#10 + Copy(geminiSonuc, baslangic + 2, Length(geminiSonuc)); baslangic = Pos('\n', geminiSonuc); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos('*', geminiSonuc); while ((baslangic > 0) && (loopLimit < 1000)) { Delete(geminiSonuc, baslangic, 1); baslangic = Pos('*', geminiSonuc); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos('\', geminiSonuc); while ((baslangic > 0) && (loopLimit < 1000)) { Delete(geminiSonuc, baslangic, 1); baslangic = Pos('\', geminiSonuc); loopLimit = loopLimit + 1; } pU = Pos('###URUN###', geminiSonuc); pC = Pos('###OZEL###', geminiSonuc); pS = Pos('###GENEL###', geminiSonuc); if (pU > 0) { if (pC > 0) { strU = Trim(Copy(geminiSonuc, pU + 10, pC - pU - 10)); } else { strU = Trim(Copy(geminiSonuc, pU + 10, Length(geminiSonuc) - pU + 1)); } } else { strU = 'Bulunamadı.'; } if (pC > 0) { if (pS > 0) { strC = Trim(Copy(geminiSonuc, pC + 10, pS - pC - 10)); } else { strC = Trim(Copy(geminiSonuc, pC + 10, Length(geminiSonuc) - pC + 1)); } } else { strC = 'Profilinize özel analiz çıkarılamadı.'; } if (pS > 0) { strS = Trim(Copy(geminiSonuc, pS + 11, Length(geminiSonuc) - pS + 1)); } else { strS = 'Genel bilgi bulunamadı.'; } if ((pU <= 0) && (pC <= 0) && (pS <= 0)) { strU = geminiSonuc; strC = 'Analiz edilemedi.'; strS = 'Analiz edilemedi.'; } memoUrunCevap.Text = strU; memoColyakCevap.Text = strC; memoSporcuCevap.Text = strS; lytSonucKasa.Visible = True; } else { memoUrunCevap.Text = 'Okunamadı.'; memoColyakCevap.Text = 'İçerik çekilemedi.'; memoSporcuCevap.Text = 'İçerik çekilemedi.'; ShowMessage('Yapay Zeka cevabı tam olarak okuyamadı!'); } } except ShowMessage('İşlem sırasında ufak bir hata oluştu. Lütfen tekrar deneyin.'); memoUrunCevap.Text = 'Bağlantı kesildi.'; memoColyakCevap.Text = 'Bağlantı kesildi.'; memoSporcuCevap.Text = 'Bağlantı kesildi.'; lytSonucKasa.Visible = True; } btnUrunBul.Enabled = True; } void TmrGeminiTick; var jsonBody, base64Foto, OzelSartMetni : String; baslangic, loopLimit : Integer; MyStream : TclMemoryStream; { tmrGemini.Enabled = False; memoUrunCevap.Text = 'Yapay Zeka Sunucusuna Bağlanılıyor...'; memoColyakCevap.Text = 'Bekleniyor...'; memoSporcuCevap.Text = 'Bekleniyor...'; if (GeminiApi <> nil) { GeminiApi.Free; } GeminiApi = TCLRest.Create; OzelSartMetni = ''; if (Pos('Çölyak', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Çölyak (Gluten yasak). '; } if (Pos('Sporcu', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Sporcu (Protein/Temiz içerik). '; } if (Pos('Vegan', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Vegan (Hayvansal yasak). '; } if (Pos('Vejetaryen', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Vejetaryen (Et yasak). '; } if (Pos('Sağlıklı', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Sağlıklı Beslenme (Katkı maddesi istemiyor). '; } if (Pos('Diyabet', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Diyabet (İlave şeker yasak). '; } if (Pos('Laktoz', KullaniciTercihleri) > 0) { OzelSartMetni = OzelSartMetni + 'Laktoz İntoleransı (Süt ürünü yasak). '; } if (OzelSartMetni == '') { OzelSartMetni = 'Özel bir kısıtlama yok.'; } GeminiApi.BaseURL = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AIzaSyBiV75pbw3O3gnyTH5DgOyMQ6C1BLrYHcs'; GeminiApi.Accept = 'application/json'; GeminiApi.Method = rmPost; GeminiApi.AddHeader('Content-Type', 'application/json'); if (IslemTipi == 'Gorsel') { imgUrunFoto.Bitmap.Resize(400, 400); MyStream = TclMemoryStream.Create; imgUrunFoto.Bitmap.SaveToStream(MyStream); MyStream.Position = 0; base64Foto = Clomosy.StreamToBase64(MyStream); MyStream.Free; loopLimit = 0; baslangic = Pos(Chr(13), base64Foto); while ((baslangic > 0) && (loopLimit < 25000)) { Delete(base64Foto, baslangic, 1); baslangic = Pos(Chr(13), base64Foto); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos(Chr(10), base64Foto); while ((baslangic > 0) && (loopLimit < 25000)) { Delete(base64Foto, baslangic, 1); baslangic = Pos(Chr(10), base64Foto); loopLimit = loopLimit + 1; } jsonBody = '{"contents":[{"parts":[{"text":"Sen uzman bir gıda analistisin. Fotoğrafı analiz et. KULLANICI PROFİLİ: [' + OzelSartMetni + ']. KESİN KURAL: 1- Ürünün HANGİ MARKAYA ait olduğunu kesinlikle bul ve ''Marka - Ürün Adı'' formatında yaz (Örn: Tadım - Tadımca Yer Fıstıklı Bar). 2- SADECE profilde yazan durumu değerlendir. Profilde Çölyak, Diyabet gibi kelimeler YOKSA onlardan ASLA BAHSETME! 3- Ürünün genel kalitesini ve içeriğini özetle. FORMAT: ###URUN### [Marka - Adı] ###OZEL### [Profile uygunluk analizi] ###GENEL### [Kısa genel özet ve içindekiler]"},{"inline_data":{"mime_type":"image/jpeg","data":"' + base64Foto + '"}}]}]}'; } else { jsonBody = '{"contents":[{"parts":[{"text":"Sen uzman bir gıda analistisin. Ürün: ' + ArananDeger + '. KULLANICI PROFİLİ: [' + OzelSartMetni + ']. KESİN KURAL: 1- Verilen ürünün HANGİ MARKAYA ait olduğunu kendi veritabanından kesinlikle bul ve ''Marka - Ürün Adı'' formatında yaz (Örn: Tadım - Tadımca Yer Fıstıklı Bar). 2- SADECE profilde yazan durumu değerlendir. Profilde Çölyak, Diyabet gibi kelimeler YOKSA onlardan ASLA BAHSETME! 3- Ürünün genel kalitesini ve içeriğini özetle. FORMAT: ###URUN### [Marka - Adı] ###OZEL### [Profile uygunluk analizi] ###GENEL### [Kısa genel özet ve içindekiler]"}]}]}'; } GeminiApi.AddBody(jsonBody, 'application/json'); GeminiApi.OnCompleted = 'OnGeminiCompleted'; GeminiApi.ExecuteAsync; } void TmrKameraTick; { tmrKamera.Enabled = False; Clomosy.ImageChooser(AnaSayfaForm, imgUrunFoto); btnUrunBul.Enabled = True; } void btnUrunBulClick; var arananBarkod, jsonResp, tempStr, urunAdi : String; baslangic, bitis, loopLimit: Integer; { btnUrunBul.Enabled = False; edtBarkodSonuc.Enabled = False; edtBarkodSonuc.Enabled = True; AnaSayfaForm.clVKVisible = False; if (lblUrunFotoCerceve.Visible == True) { if (imgUrunFoto.Bitmap == nil) { ShowMessage('Lütfen geçerli bir fotoğraf çekin!'); btnUrunBul.Enabled = True; Exit; } IslemTipi = 'Gorsel'; lytSonucKasa.Visible = True; memoUrunCevap.Text = 'Fotoğraf İşleniyor...'; memoColyakCevap.Text = 'Bekleniyor...'; memoSporcuCevap.Text = 'Bekleniyor...'; tmrGemini.Enabled = True; } else { arananBarkod = Trim(edtBarkodSonuc.Text); if (arananBarkod == '') { ShowMessage('Lütfen önce bir barkod okutun veya yazın!'); btnUrunBul.Enabled = True; Exit; } lytSonucKasa.Visible = True; memoUrunCevap.Text = 'Veritabanı Aranıyor...'; memoColyakCevap.Text = 'Bekleniyor...'; memoSporcuCevap.Text = 'Bekleniyor...'; OpenFoodFactsApi.BaseURL = 'https://world.openfoodfacts.org/api/v0/product/' + arananBarkod + '.json'; OpenFoodFactsApi.Accept = 'application/json'; OpenFoodFactsApi.Method = rmGet; try OpenFoodFactsApi.Execute; jsonResp = OpenFoodFactsApi.Response; except ShowMessage('Sunucuya bağlanılamadı!'); memoUrunCevap.Text = 'Bağlantı Hatası.'; btnUrunBul.Enabled = True; Exit; } if (Pos('"status":1', jsonResp) > 0) { baslangic = Pos('"product_name_tr":"', jsonResp); if (baslangic > 0) { tempStr = Copy(jsonResp, baslangic + 19, Length(jsonResp)); } else { baslangic = Pos('"product_name":"', jsonResp); if (baslangic > 0) { tempStr = Copy(jsonResp, baslangic + 16, Length(jsonResp)); } } if (baslangic > 0) { bitis = Pos('"', tempStr) - 1; if (bitis > 0) { urunAdi = Copy(tempStr, 1, bitis); } else { urunAdi = 'Bulunamadı'; } } else { urunAdi = 'Bulunamadı'; } baslangic = Pos('"brands":"', jsonResp); if ((baslangic > 0) && (urunAdi <> 'Bulunamadı')) { tempStr = Copy(jsonResp, baslangic + 10, Length(jsonResp)); bitis = Pos('"', tempStr) - 1; if (bitis > 0) { urunAdi = Copy(tempStr, 1, bitis) + ' - ' + urunAdi; } } } else { urunAdi = 'Bulunamadı'; } if ((urunAdi == 'Bulunamadı') || (urunAdi == '')) { lytSonucKasa.Visible = False; lblUrunFotoCerceve.Visible = True; lytUstKasa.Height = 520; ShowMessage('Ürün bulunamadı! Kamerayı açmak için Tamam''a basın.'); tmrKamera.Enabled = True; } else { loopLimit = 0; baslangic = Pos('"', urunAdi); while ((baslangic > 0) && (loopLimit < 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos('"', urunAdi); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos('\', urunAdi); while ((baslangic > 0) && (loopLimit < 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos('\', urunAdi); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos(Chr(13), urunAdi); while ((baslangic > 0) && (loopLimit < 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos(Chr(13), urunAdi); loopLimit = loopLimit + 1; } loopLimit = 0; baslangic = Pos(Chr(10), urunAdi); while ((baslangic > 0) && (loopLimit < 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos(Chr(10), urunAdi); loopLimit = loopLimit + 1; } IslemTipi = 'Metin'; ArananDeger = urunAdi; memoUrunCevap.Text = 'Bulundu! AI Analiz Ediyor...'; tmrGemini.Enabled = True; } } } { AnaSayfaForm = TclForm.Create(Self); AnaSayfaForm.SetFormColor('#f1f2f6', '#f1f2f6', clGVertical); apiUrl = 'https://brsrrtwbhyrxlyetebas.supabase.co'; apiKey = 'sb_publishable_T6KRGIkL-av7M9C-aqdrag_dJteJPcR'; OpenFoodFactsApi = TCLRest.Create; GeminiApi = TCLRest.Create; ProfilApi = TCLRest.Create; prefFile = clPathCombine('userpref.txt', Clomosy.AppFilesPath); prefList = Clomosy.StringListNew; KullaniciEmail = ''; if (clFileExists(prefFile, '')) { prefList.LoadFromFile(prefFile, 0); if (prefList.Count > 0) { KullaniciEmail = Clomosy.StringListItemString(prefList, 0); } if (prefList.Count > 2) { KullaniciTercihleri = Clomosy.StringListItemString(prefList, 2); } else { KullaniciTercihleri = 'Özel Bir Durumu Yok'; } } else { KullaniciTercihleri = 'Özel Bir Durumu Yok'; } btnAnaStil = '{"Align":"Top","MarginTop":15,"MarginLeft":25,"MarginRight":25,"Height":55,"RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#00b894","TextColor":"#ffffff","TextSize":16,"TextBold":"yes"}'; edtStil = '{"Align":"Top","MarginTop":10,"MarginLeft":25,"MarginRight":25,"Height":55,"RoundHeight":12,"RoundWidth":12,"BorderColor":"#b2bec3","BorderWidth":1.5,"BackgroundColor":"#ffffff","TextColor":"#2d3436","TextSize":15,"TextBold":"yes"}'; edtSoftStil = '{"Align":"Top","MarginTop":10,"MarginLeft":20,"MarginRight":20,"Height":45,"RoundHeight":10,"RoundWidth":10,"BorderColor":"#dfe6e9","BorderWidth":1.5,"BackgroundColor":"#f8f9fa","TextColor":"#2d3436","TextSize":14}'; tmrGemini = AnaSayfaForm.AddNewTimer(AnaSayfaForm, 'tmrGemini', 200); tmrGemini.Enabled = False; AnaSayfaForm.AddNewEvent(tmrGemini, tbeOnTimer, 'TmrGeminiTick'); tmrKamera = AnaSayfaForm.AddNewTimer(AnaSayfaForm, 'tmrKamera', 1000); tmrKamera.Enabled = False; AnaSayfaForm.AddNewEvent(tmrKamera, tbeOnTimer, 'TmrKameraTick'); scrollAna = AnaSayfaForm.AddNewVertScrollBox(AnaSayfaForm, 'scrollAna'); scrollAna.Align = alContents; scrollAna.Margins.Bottom = 0; lytUstKasa = AnaSayfaForm.AddNewLayout(scrollAna, 'lytUstKasa'); lytUstKasa.Align = alTop; lytUstKasa.Height = 310; lblHosGeldin = AnaSayfaForm.AddNewProLabel(lytUstKasa, 'lblHosGeldin', 'Hoş Geldin,' + #13#10 + Clomosy.GlobalVariableString); clComponent.SetupComponent(lblHosGeldin, '{"Align":"Top","MarginTop":30,"MarginBottom":15,"Height":60,"TextColor":"#2d3436","TextSize":22,"TextBold":"yes","TextHorizontalAlign":"center"}'); edtBarkodSonuc = AnaSayfaForm.AddNewProEdit(lytUstKasa, 'edtBarkodSonuc','Barkod Numarası Girin'); clComponent.SetupComponent(edtBarkodSonuc, edtStil); btnBarkodOkut = AnaSayfaForm.AddNewProButton(lytUstKasa, 'btnBarkodOkut', 'BARKOD OKUT VEYA YAZ'); clComponent.SetupComponent(btnBarkodOkut, btnAnaStil); AnaSayfaForm.AddNewEvent(btnBarkodOkut, tbeOnClick, 'btnBarkodOkutClick'); lblUrunFotoCerceve = AnaSayfaForm.AddNewProLabel(lytUstKasa, 'lblUrunFotoCerceve', ''); clComponent.SetupComponent(lblUrunFotoCerceve, '{"Align":"Top","MarginTop":15,"MarginLeft":25,"MarginRight":25,"Height":180,"RoundHeight":15,"RoundWidth":15,"BorderColor":"#dfe6e9","BorderWidth":1,"BackgroundColor":"#ffffff"}'); lblUrunFotoCerceve.Visible = False; imgUrunFoto = AnaSayfaForm.AddNewImage(lblUrunFotoCerceve, 'imgUrunFoto'); imgUrunFoto.Align = alClient; imgUrunFoto.Margins.Left = 5; imgUrunFoto.Margins.Right = 5; imgUrunFoto.Margins.Top = 5; imgUrunFoto.Margins.Bottom = 5; btnUrunBul = AnaSayfaForm.AddNewProButton(lytUstKasa, 'btnUrunBul', 'ÜRÜNÜ ANALİZ ET'); clComponent.SetupComponent(btnUrunBul, btnAnaStil); AnaSayfaForm.AddNewEvent(btnUrunBul, tbeOnClick, 'btnUrunBulClick'); lytSonucKasa = AnaSayfaForm.AddNewLayout(scrollAna, 'lytSonucKasa'); lytSonucKasa.Align = alTop; lytSonucKasa.Height = 720; lytSonucKasa.Visible = False; lytKasaSporcu = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaSporcu'); lytKasaSporcu.Align = alTop; lytKasaSporcu.Height = 250; lytKasaSporcu.Margins.Top = 15; lytKasaSporcu.Margins.Left = 20; lytKasaSporcu.Margins.Right = 20; lblKasaSporcuBg = AnaSayfaForm.AddNewProLabel(lytKasaSporcu, 'lblKasaSporcuBg', ''); clComponent.SetupComponent(lblKasaSporcuBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#ff7675","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}'); lytIcerikSporcu = AnaSayfaForm.AddNewLayout(lblKasaSporcuBg, 'lytIcerikSporcu'); lytIcerikSporcu.Align = alClient; lblSporcuBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikSporcu, 'lblSporcuBaslik', 'Genel Değerlendirme'); clComponent.SetupComponent(lblSporcuBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#d63031","TextSize":16,"TextBold":"yes"}'); memoSporcuCevap = AnaSayfaForm.AddNewMemo(lytIcerikSporcu, 'memoSporcuCevap', ''); memoSporcuCevap.Align = alClient; memoSporcuCevap.Margins.Left = 10; memoSporcuCevap.Margins.Right = 10; memoSporcuCevap.Margins.Bottom = 10; memoSporcuCevap.ReadOnly = True; memoSporcuCevap.WordWrap = True; lytKasaColyak = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaColyak'); lytKasaColyak.Align = alTop; lytKasaColyak.Height = 250; lytKasaColyak.Margins.Top = 15; lytKasaColyak.Margins.Left = 20; lytKasaColyak.Margins.Right = 20; lblKasaColyakBg = AnaSayfaForm.AddNewProLabel(lytKasaColyak, 'lblKasaColyakBg', ''); clComponent.SetupComponent(lblKasaColyakBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#74b9ff","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}'); lytIcerikColyak = AnaSayfaForm.AddNewLayout(lblKasaColyakBg, 'lytIcerikColyak'); lytIcerikColyak.Align = alClient; lblColyakBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikColyak, 'lblColyakBaslik', 'Size Özel Analiz'); clComponent.SetupComponent(lblColyakBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#0984e3","TextSize":16,"TextBold":"yes"}'); memoColyakCevap = AnaSayfaForm.AddNewMemo(lytIcerikColyak, 'memoColyakCevap', ''); memoColyakCevap.Align = alClient; memoColyakCevap.Margins.Left = 10; memoColyakCevap.Margins.Right = 10; memoColyakCevap.Margins.Bottom = 10; memoColyakCevap.ReadOnly = True; memoColyakCevap.WordWrap = True; lytKasaUrun = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaUrun'); lytKasaUrun.Align = alTop; lytKasaUrun.Height = 150; lytKasaUrun.Margins.Top = 15; lytKasaUrun.Margins.Left = 20; lytKasaUrun.Margins.Right = 20; lblKasaUrunBg = AnaSayfaForm.AddNewProLabel(lytKasaUrun, 'lblKasaUrunBg', ''); clComponent.SetupComponent(lblKasaUrunBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#fdcb6e","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}'); lytIcerikUrun = AnaSayfaForm.AddNewLayout(lblKasaUrunBg, 'lytIcerikUrun'); lytIcerikUrun.Align = alClient; lblUrunBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikUrun, 'lblUrunBaslik', 'Ürün Bilgisi'); clComponent.SetupComponent(lblUrunBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#e17055","TextSize":16,"TextBold":"yes"}'); memoUrunCevap = AnaSayfaForm.AddNewMemo(lytIcerikUrun, 'memoUrunCevap', ''); memoUrunCevap.Align = alClient; memoUrunCevap.Margins.Left = 10; memoUrunCevap.Margins.Right = 10; memoUrunCevap.Margins.Bottom = 10; memoUrunCevap.ReadOnly = True; memoUrunCevap.WordWrap = True; lytScrollBosluk = AnaSayfaForm.AddNewLayout(scrollAna, 'lytScrollBosluk'); lytScrollBosluk.Align = alTop; lytScrollBosluk.Height = 110; lytProfilKasa = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytProfilKasa'); lytProfilKasa.Align = alContents; lytProfilKasa.Visible = False; scrollProfil = AnaSayfaForm.AddNewVertScrollBox(lytProfilKasa, 'scrollProfil'); scrollProfil.Align = alClient; lblP_AdSoyad = AnaSayfaForm.AddNewProLabel(scrollProfil, 'lblP_AdSoyad', Clomosy.GlobalVariableString); clComponent.SetupComponent(lblP_AdSoyad, '{"Align":"Top","MarginTop":30,"Height":35,"TextColor":"#2d3436","TextSize":22,"TextBold":"yes","TextHorizontalAlign":"center"}'); lblP_Email = AnaSayfaForm.AddNewProLabel(scrollProfil, 'lblP_Email', KullaniciEmail); clComponent.SetupComponent(lblP_Email, '{"Align":"Top","MarginTop":0,"Height":25,"TextColor":"#636e72","TextSize":14,"TextBold":"no","TextHorizontalAlign":"center"}'); lytP_Tercihler = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Tercihler'); lytP_Tercihler.Align = alTop; lytP_Tercihler.Height = 360; lytP_Tercihler.Margins.Top = 20; lytP_Tercihler.Margins.Left = 20; lytP_Tercihler.Margins.Right = 20; lblP_TercihKasaBg = AnaSayfaForm.AddNewProLabel(lytP_Tercihler, 'lblP_TercihKasaBg', ''); clComponent.SetupComponent(lblP_TercihKasaBg, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffffff"}'); lblP_TercihBaslik = AnaSayfaForm.AddNewProLabel(lblP_TercihKasaBg, 'lblP_TercihBaslik', 'Beslenme Tercihleriniz'); clComponent.SetupComponent(lblP_TercihBaslik, '{"Align":"Top","MarginTop":15,"MarginBottom":10,"Height":25,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}'); lytP_CheckList = AnaSayfaForm.AddNewLayout(lblP_TercihKasaBg, 'lytP_CheckList'); lytP_CheckList.Align = alClient; chkP_Laktoz = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Laktoz', ' Laktoz İntoleransı'); chkP_Laktoz.Align = alTop; chkP_Laktoz.Height = 30; chkP_Laktoz.Margins.Left = 20; chkP_Diyabet = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Diyabet', ' Diyabet (Şeker Hastalığı)'); chkP_Diyabet.Align = alTop; chkP_Diyabet.Height = 30; chkP_Diyabet.Margins.Left = 20; chkP_Saglikli = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Saglikli', ' Sağlıklı Beslenme'); chkP_Saglikli.Align = alTop; chkP_Saglikli.Height = 30; chkP_Saglikli.Margins.Left = 20; chkP_Vejetaryen = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Vejetaryen', ' Vejetaryen'); chkP_Vejetaryen.Align = alTop; chkP_Vejetaryen.Height = 30; chkP_Vejetaryen.Margins.Left = 20; chkP_Vegan = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Vegan', ' Vegan'); chkP_Vegan.Align = alTop; chkP_Vegan.Height = 30; chkP_Vegan.Margins.Left = 20; AnaSayfaForm.AddNewEvent(chkP_Vegan, tbeOnClick, 'ChkP_VeganClick'); chkP_Sporcu = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Sporcu', ' Sporcuyum'); chkP_Sporcu.Align = alTop; chkP_Sporcu.Height = 30; chkP_Sporcu.Margins.Left = 20; chkP_Colyak = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Colyak', ' Çölyak Hastasıyım'); chkP_Colyak.Align = alTop; chkP_Colyak.Height = 30; chkP_Colyak.Margins.Left = 20; if (Pos('Laktoz', KullaniciTercihleri) > 0) { chkP_Laktoz.isChecked = True; } if (Pos('Diyabet', KullaniciTercihleri) > 0) { chkP_Diyabet.isChecked = True; } if (Pos('Sağlıklı', KullaniciTercihleri) > 0) { chkP_Saglikli.isChecked = True; } if (Pos('Vejetaryen', KullaniciTercihleri) > 0) { chkP_Vejetaryen.isChecked = True; } if (Pos('Vegan', KullaniciTercihleri) > 0) { chkP_Vegan.isChecked = True; chkP_Vejetaryen.Enabled = False; } if (Pos('Sporcu', KullaniciTercihleri) > 0) { chkP_Sporcu.isChecked = True; } if (Pos('Çölyak', KullaniciTercihleri) > 0) { chkP_Colyak.isChecked = True; } btnP_TercihKaydet = AnaSayfaForm.AddNewProButton(lblP_TercihKasaBg, 'btnP_TercihKaydet', 'GÜNCELLE'); clComponent.SetupComponent(btnP_TercihKaydet, '{"Align":"Bottom","MarginBottom":15,"MarginLeft":20,"MarginRight":20,"Height":45,"RoundHeight":10,"RoundWidth":10,"BackgroundColor":"#00b894","TextColor":"#ffffff","TextSize":14,"TextBold":"yes"}'); AnaSayfaForm.AddNewEvent(btnP_TercihKaydet, tbeOnClick, 'BtnP_TercihKaydetClick'); lytP_Sifre = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Sifre'); lytP_Sifre.Align = alTop; lytP_Sifre.Height = 300; lytP_Sifre.Margins.Top = 20; lytP_Sifre.Margins.Left = 20; lytP_Sifre.Margins.Right = 20; lblP_SifreKasaBg = AnaSayfaForm.AddNewProLabel(lytP_Sifre, 'lblP_SifreKasaBg', ''); clComponent.SetupComponent(lblP_SifreKasaBg, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffffff"}'); lblP_SifreBaslik = AnaSayfaForm.AddNewProLabel(lblP_SifreKasaBg, 'lblP_SifreBaslik', 'Şifre İşlemleri'); clComponent.SetupComponent(lblP_SifreBaslik, '{"Align":"Top","MarginTop":15,"Height":30,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}'); edtP_EskiSifre = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_EskiSifre', 'Mevcut Şifreniz'); edtP_EskiSifre.Password = True; clComponent.SetupComponent(edtP_EskiSifre, edtSoftStil); imgP_EskiSifre = AnaSayfaForm.AddNewProImage(edtP_EskiSifre, 'imgP_EskiSifre'); clComponent.SetupComponent(imgP_EskiSifre, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}'); AnaSayfaForm.SetImage(imgP_EskiSifre, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); AnaSayfaForm.AddNewEvent(imgP_EskiSifre, tbeOnClick, 'P_SifreGizleGosterEski'); edtP_Sifre = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_Sifre', 'Yeni Şifre'); edtP_Sifre.Password = True; clComponent.SetupComponent(edtP_Sifre, edtSoftStil); imgP_Sifre = AnaSayfaForm.AddNewProImage(edtP_Sifre, 'imgP_Sifre'); clComponent.SetupComponent(imgP_Sifre, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}'); AnaSayfaForm.SetImage(imgP_Sifre, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); AnaSayfaForm.AddNewEvent(imgP_Sifre, tbeOnClick, 'P_SifreGizleGosterYeni'); edtP_SifreTekrar = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_SifreTekrar', 'Yeni Şifre (Tekrar)'); edtP_SifreTekrar.Password = True; clComponent.SetupComponent(edtP_SifreTekrar, edtSoftStil); imgP_SifreTekrar = AnaSayfaForm.AddNewProImage(edtP_SifreTekrar, 'imgP_SifreTekrar'); clComponent.SetupComponent(imgP_SifreTekrar, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}'); AnaSayfaForm.SetImage(imgP_SifreTekrar, 'https://i.ibb.co/Z1V7rfXV/kapal-g-z.png'); AnaSayfaForm.AddNewEvent(imgP_SifreTekrar, tbeOnClick, 'P_SifreGizleGosterTekrar'); lblP_SifreKurallari = AnaSayfaForm.AddNewProLabel(lblP_SifreKasaBg, 'lblP_SifreKurallari', 'Şifre: 8-50 karakter, 1 büyük, 1 küçük, 1 rakam, 1 özel krk.'); clComponent.SetupComponent(lblP_SifreKurallari, '{"Align":"Top","MarginTop":5,"MarginLeft":25,"MarginRight":25,"Height":20,"TextColor":"#7f8c8d","TextSize":11,"TextBold":"no"}'); btnP_SifreKaydet = AnaSayfaForm.AddNewProButton(lblP_SifreKasaBg, 'btnP_SifreKaydet', 'ŞİFREYİ DEĞİŞTİR'); clComponent.SetupComponent(btnP_SifreKaydet, '{"Align":"Bottom","MarginBottom":15,"MarginLeft":20,"MarginRight":20,"Height":45,"RoundHeight":10,"RoundWidth":10,"BackgroundColor":"#ffffff","BorderColor":"#00b894","BorderWidth":2,"TextColor":"#00b894","TextSize":14,"TextBold":"yes"}'); AnaSayfaForm.AddNewEvent(btnP_SifreKaydet, tbeOnClick, 'BtnP_SifreKaydetClick'); lytP_HesapSil = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_HesapSil'); lytP_HesapSil.Align = alTop; lytP_HesapSil.Height = 55; lytP_HesapSil.Margins.Top = 20; lytP_HesapSil.Margins.Left = 20; lytP_HesapSil.Margins.Right = 20; btnP_HesapSil = AnaSayfaForm.AddNewProButton(lytP_HesapSil, 'btnP_HesapSil', 'Hesabımı Kalıcı Olarak Sil'); clComponent.SetupComponent(btnP_HesapSil, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffe0e0","TextColor":"#d63031","TextSize":14,"TextBold":"yes"}'); AnaSayfaForm.AddNewEvent(btnP_HesapSil, tbeOnClick, 'BtnP_HesapSilSoru'); lytP_Bosluk = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Bosluk'); lytP_Bosluk.Align = alTop; lytP_Bosluk.Height = 150; lytBottomContainer = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytBottomContainer'); lytBottomContainer.Align = alBottom; lytBottomContainer.Height = 100; lytBottomBarBg = AnaSayfaForm.AddNewLayout(lytBottomContainer, 'lytBottomBarBg'); lytBottomBarBg.Align = alClient; lblBarBg = AnaSayfaForm.AddNewProLabel(lytBottomBarBg, 'lblBarBg', ''); clComponent.SetupComponent(lblBarBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#e0e0e0","BorderWidth":1.5,"RoundHeight":30,"RoundWidth":30,"MarginLeft":15,"MarginRight":15,"MarginBottom":10,"MarginTop":30}'); lytIconsLayer = AnaSayfaForm.AddNewLayout(lytBottomContainer, 'lytIconsLayer'); lytIconsLayer.Align = alClient; lytNavLeft = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavLeft'); lytNavLeft.Align = alLeft; lytNavLeft.Width = 80; lytNavLeft.Margins.Left = 50; lytNavLeft.Margins.Top = 30; lytNavLeft.Margins.Bottom = 20; lblNavLeftBg = AnaSayfaForm.AddNewProLabel(lytNavLeft, 'lblNavLeftBg', ''); clComponent.SetupComponent(lblNavLeftBg, '{"Align":"Center","Width":70,"Height":70,"BackgroundColor":"#00b894","BorderColor":"#ffffff","BorderWidth":5,"RoundHeight":35,"RoundWidth":35}'); lblNavLeftBg.Visible = False; imgNavLeft = AnaSayfaForm.AddNewImage(lytNavLeft, 'imgNavLeft'); imgNavLeft.Align = alCenter; imgNavLeft.Width = 40; imgNavLeft.Height = 40; AnaSayfaForm.SetImage(imgNavLeft, 'https://i.ibb.co/XZstP4XY/profil-T.png'); AnaSayfaForm.AddNewEvent(imgNavLeft, tbeOnClick, 'SoldakiButonTikladi'); AnaSayfaForm.AddNewEvent(lblNavLeftBg, tbeOnClick, 'SoldakiButonTikladi'); imgNavLeft.BringToFront; lytNavMiddle = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavMiddle'); lytNavMiddle.Align = alCenter; lytNavMiddle.Width = 80; lytNavMiddle.Margins.Top = 0; lytNavMiddle.Margins.Bottom = 30; lblNavMiddleBg = AnaSayfaForm.AddNewProLabel(lytNavMiddle, 'lblNavMiddleBg', ''); clComponent.SetupComponent(lblNavMiddleBg, '{"Align":"Center","Width":70,"Height":70,"BackgroundColor":"#00b894","BorderColor":"#ffffff","BorderWidth":5,"RoundHeight":35,"RoundWidth":35}'); lblNavMiddleBg.Visible = True; imgNavMiddle = AnaSayfaForm.AddNewImage(lytNavMiddle, 'imgNavMiddle'); imgNavMiddle.Align = alCenter; imgNavMiddle.Width = 40; imgNavMiddle.Height = 40; AnaSayfaForm.SetImage(imgNavMiddle, 'https://i.ibb.co/wF4GMPzm/home-T.png'); AnaSayfaForm.AddNewEvent(imgNavMiddle, tbeOnClick, 'OrtadakiButonTikladi'); AnaSayfaForm.AddNewEvent(lblNavMiddleBg, tbeOnClick, 'OrtadakiButonTikladi'); imgNavMiddle.BringToFront; lytNavRight = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavRight'); lytNavRight.Align = alRight; lytNavRight.Width = 80; lytNavRight.Margins.Right = 50; lytNavRight.Margins.Top = 30; lytNavRight.Margins.Bottom = 20; imgNavRight = AnaSayfaForm.AddNewImage(lytNavRight, 'imgNavRight'); imgNavRight.Align = alCenter; imgNavRight.Width = 40; imgNavRight.Height = 40; AnaSayfaForm.SetImage(imgNavRight, 'https://i.ibb.co/LzrRzZ3t/cikis-T.png'); AnaSayfaForm.AddNewEvent(imgNavRight, tbeOnClick, 'BtnCikisSoru'); lytLogoutOverlay = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytLogoutOverlay'); lytLogoutOverlay.Align = alContents; lytLogoutOverlay.Visible = False; lblLogoutArkaplan = AnaSayfaForm.AddNewProLabel(lytLogoutOverlay, 'lblLogoutArkaplan', ''); clComponent.SetupComponent(lblLogoutArkaplan, '{"Align":"Client","BackgroundColor":"#000000"}'); lblLogoutArkaplan.Opacity = 0.6; AnaSayfaForm.AddNewEvent(lblLogoutArkaplan, tbeOnClick, 'BtnCikisIptal'); lytLogoutKasa = AnaSayfaForm.AddNewLayout(lytLogoutOverlay, 'lytLogoutKasa'); lytLogoutKasa.Align = alCenter; lytLogoutKasa.Width = 320; lytLogoutKasa.Height = 160; lblLogoutKasaBg = AnaSayfaForm.AddNewProLabel(lytLogoutKasa, 'lblLogoutKasaBg', ''); clComponent.SetupComponent(lblLogoutKasaBg, '{"Align":"Client","BackgroundColor":"#ffffff","RoundHeight":20,"RoundWidth":20}'); lblLogoutSoru = AnaSayfaForm.AddNewProLabel(lblLogoutKasaBg, 'lblLogoutSoru', 'Çıkış yapmak istediğinize' + #13#10 + 'emin misiniz?'); clComponent.SetupComponent(lblLogoutSoru, '{"Align":"Top","MarginTop":25,"MarginLeft":10,"MarginRight":10,"Height":50,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}'); lytLogoutBtnKasa = AnaSayfaForm.AddNewLayout(lblLogoutKasaBg, 'lytLogoutBtnKasa'); lytLogoutBtnKasa.Align = alBottom; lytLogoutBtnKasa.Height = 50; lytLogoutBtnKasa.Margins.Bottom = 20; lytLogoutBtnKasa.Margins.Left = 20; lytLogoutBtnKasa.Margins.Right = 20; btnLogoutIptal = AnaSayfaForm.AddNewProButton(lytLogoutBtnKasa, 'btnLogoutIptal', 'İptal'); clComponent.SetupComponent(btnLogoutIptal, '{"Align":"Left","Width":130,"Height":45,"BackgroundColor":"#f1f2f6","TextColor":"#2d3436","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}'); AnaSayfaForm.AddNewEvent(btnLogoutIptal, tbeOnClick, 'BtnCikisIptal'); btnLogoutEvet = AnaSayfaForm.AddNewProButton(lytLogoutBtnKasa, 'btnLogoutEvet', 'Çıkış Yap'); clComponent.SetupComponent(btnLogoutEvet, '{"Align":"Right","Width":130,"Height":45,"BackgroundColor":"#00b894","TextColor":"#ffffff","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}'); AnaSayfaForm.AddNewEvent(btnLogoutEvet, tbeOnClick, 'BtnCikisEvet'); lytHesapSilOverlay = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytHesapSilOverlay'); lytHesapSilOverlay.Align = alContents; lytHesapSilOverlay.Visible = False; lblHesapSilArkaplan = AnaSayfaForm.AddNewProLabel(lytHesapSilOverlay, 'lblHesapSilArkaplan', ''); clComponent.SetupComponent(lblHesapSilArkaplan, '{"Align":"Client","BackgroundColor":"#000000"}'); lblHesapSilArkaplan.Opacity = 0.8; AnaSayfaForm.AddNewEvent(lblHesapSilArkaplan, tbeOnClick, 'BtnP_HesapSilIptal'); lytHesapSilKasa = AnaSayfaForm.AddNewLayout(lytHesapSilOverlay, 'lytHesapSilKasa'); lytHesapSilKasa.Align = alCenter; lytHesapSilKasa.Width = 320; lytHesapSilKasa.Height = 180; lblHesapSilKasaBg = AnaSayfaForm.AddNewProLabel(lytHesapSilKasa, 'lblHesapSilKasaBg', ''); clComponent.SetupComponent(lblHesapSilKasaBg, '{"Align":"Client","BackgroundColor":"#ffffff","RoundHeight":25,"RoundWidth":25}'); lblHesapSilSoru = AnaSayfaForm.AddNewProLabel(lblHesapSilKasaBg, 'lblHesapSilSoru', 'Hesabınızı kalıcı olarak' + #13#10 + 'silmek istediğinize emin misiniz?'); clComponent.SetupComponent(lblHesapSilSoru, '{"Align":"Top","MarginTop":25,"MarginLeft":10,"MarginRight":10,"Height":50,"TextColor":"#d63031","TextSize":15,"TextBold":"yes","TextHorizontalAlign":"center"}'); lytHesapSilBtnKasa = AnaSayfaForm.AddNewLayout(lblHesapSilKasaBg, 'lytHesapSilBtnKasa'); lytHesapSilBtnKasa.Align = alBottom; lytHesapSilBtnKasa.Height = 50; lytHesapSilBtnKasa.Margins.Bottom = 20; lytHesapSilBtnKasa.Margins.Left = 20; lytHesapSilBtnKasa.Margins.Right = 20; btnHesapSilIptal = AnaSayfaForm.AddNewProButton(lytHesapSilBtnKasa, 'btnHesapSilIptal', 'İptal'); clComponent.SetupComponent(btnHesapSilIptal, '{"Align":"Left","Width":130,"Height":45,"BackgroundColor":"#f1f2f6","TextColor":"#2d3436","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}'); AnaSayfaForm.AddNewEvent(btnHesapSilIptal, tbeOnClick, 'BtnP_HesapSilIptal'); btnHesapSilEvet = AnaSayfaForm.AddNewProButton(lytHesapSilBtnKasa, 'btnHesapSilEvet', 'Evet, Sil'); clComponent.SetupComponent(btnHesapSilEvet, '{"Align":"Right","Width":130,"Height":45,"BackgroundColor":"#ff7675","TextColor":"#ffffff","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}'); AnaSayfaForm.AddNewEvent(btnHesapSilEvet, tbeOnClick, 'BtnP_HesapSilEvet'); AnaSayfaForm.Run; } https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Puanlar: 896 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(1)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 26 Dakika Önce Saat 21:33 |
|
Merhaba Berat,
Bu durum senden kaynaklı değil proje geliştirmeye android devam eder misin IOS ile ilgili olan durumu ben teknik ekibe ileteceğim. https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous"> |
|
![]() |
|
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 |