<?xml version="1.0" encoding="iso-8859-9" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Clomosy | Forum : iOS ImageChooser Sorunu</title>
  <link>https://forum.clomosy.com.tr/</link>
  <description><![CDATA[XML içerik linki; Clomosy | Forum : Genel &#304;&#351;lemler : iOS ImageChooser Sorunu]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Tue, 12 May 2026 00:25:28 +0000</pubDate>
  <lastBuildDate>Mon, 11 May 2026 21:33:33 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.07</generator>
  <ttl>30</ttl>
  <WebWizForums:feedURL>https://forum.clomosy.com.tr/RSS_post_feed.asp?TID=1520</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Clomosy | Forum]]></title>
   <url>https://forum.clomosy.com.tr/forum_images/logo.png</url>
   <link>https://forum.clomosy.com.tr/</link>
  </image>
  <item>
   <title><![CDATA[iOS ImageChooser Sorunu : Merhaba Berat,Bu durum senden...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1520&amp;PID=3495#3495</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=257">Emr.Erkmn</a><br /><strong>Konu:</strong> 1520<br /><strong>Gönderim Zamanı:</strong> 11&nbsp;Mayıs&nbsp;2026 Saat 21:33<br /><br />Merhaba Berat,<br><br>Bu durum senden kaynaklı değil proje geliştirmeye android devam eder misin IOS ile ilgili olan durumu ben teknik ekibe ileteceğim.&nbsp;<a href="https://static.cloudflareinsights.com/beac&#111;n.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" target="_blank" rel="nofollow">https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516"</a> integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;439455f3e46c40b98dbd42a2f1a954d8&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"><div><br></div>]]>
   </description>
   <pubDate>Mon, 11 May 2026 21:33:33 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1520&amp;PID=3495#3495</guid>
  </item> 
  <item>
   <title><![CDATA[iOS ImageChooser Sorunu : &#304;lk Yapt&#305;&#287;&#305;nda Kamera Sorunsuz...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1520&amp;PID=3494#3494</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=451">clBerat</a><br /><strong>Konu:</strong> 1520<br /><strong>Gönderim Zamanı:</strong> 11&nbsp;Mayıs&nbsp;2026 Saat 21:26<br /><br /><div>İ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.)<br><br><br>var</div><div>&nbsp; AnaSayfaForm : TCLForm;</div><div>&nbsp; lblHosGeldin : TClProLabel;</div><div>&nbsp; edtBarkodSonuc : TclProEdit;</div><div>&nbsp; btnBarkodOkut, btnUrunBul : TClProButton;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblUrunFotoCerceve : TClProLabel;</div><div>&nbsp; imgUrunFoto : TClImage;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lytBottomContainer, lytBottomBarBg, lytIconsLayer : TClLayout;</div><div>&nbsp; lytNavLeft, lytNavMiddle, lytNavRight : TClLayout;</div><div>&nbsp; lblBarBg, lblNavMiddleBg, lblNavLeftBg : TClProLabel;</div><div>&nbsp; imgNavLeft, imgNavMiddle, imgNavRight : TClImage;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lytLogoutOverlay, lytLogoutKasa, lytLogoutBtnKasa : TClLayout;&nbsp;</div><div>&nbsp; lblLogoutArkaplan, lblLogoutKasaBg, lblLogoutSoru : TClProLabel;</div><div>&nbsp; btnLogoutEvet, btnLogoutIptal : TClProButton;</div><div><br></div><div>&nbsp; lytHesapSilOverlay, lytHesapSilKasa, lytHesapSilBtnKasa : TClLayout;&nbsp;</div><div>&nbsp; lblHesapSilArkaplan, lblHesapSilKasaBg, lblHesapSilSoru : TClProLabel;</div><div>&nbsp; btnHesapSilEvet, btnHesapSilIptal : TClProButton;</div><div><br></div><div>&nbsp; tmrGemini, tmrKamera : TclTimer;</div><div>&nbsp; OpenFoodFactsApi, GeminiApi, ProfilApi : TCLRest;</div><div>&nbsp; btnAnaStil, btnAltStil, btnKirmiziStil, prefFile, edtStil, edtSoftStil : String;</div><div>&nbsp; prefList : TclStringList;</div><div>&nbsp;&nbsp;</div><div>&nbsp; scrollAna : TclVertScrollBox;&nbsp;</div><div>&nbsp; lytScrollBosluk : TClLayout;&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lytUstKasa, lytSonucKasa : TClLayout;</div><div>&nbsp; lytKasaUrun, lytKasaColyak, lytKasaSporcu : TClLayout;</div><div>&nbsp; lytIcerikUrun, lytIcerikColyak, lytIcerikSporcu : TClLayout;</div><div>&nbsp; lblKasaUrunBg, lblKasaColyakBg, lblKasaSporcuBg : TClProLabel;</div><div>&nbsp; lblUrunBaslik, lblColyakBaslik, lblSporcuBaslik : TClProLabel;</div><div>&nbsp; memoUrunCevap, memoColyakCevap, memoSporcuCevap : TclMemo;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lytProfilKasa : TClLayout;&nbsp; &nbsp;&nbsp;</div><div>&nbsp; scrollProfil : TclVertScrollBox;</div><div>&nbsp; lytP_Tercihler, lytP_CheckList, lytP_Sifre, lytP_HesapSil, lytP_Bosluk : TClLayout;&nbsp;</div><div>&nbsp; lblP_AdSoyad, lblP_Email, lblP_TercihBaslik, lblP_SifreBaslik, lblP_TercihKasaBg, lblP_SifreKasaBg, lblP_SifreKurallari : TClProLabel;</div><div>&nbsp; chkP_Colyak, chkP_Sporcu, chkP_Vegan, chkP_Vejetaryen, chkP_Saglikli, chkP_Diyabet, chkP_Laktoz : TclCheckBox;</div><div>&nbsp; edtP_EskiSifre, edtP_Sifre, edtP_SifreTekrar : TclProEdit;&nbsp;</div><div>&nbsp; imgP_EskiSifre, imgP_Sifre, imgP_SifreTekrar : TClProImage;&nbsp;</div><div>&nbsp; btnP_TercihKaydet, btnP_SifreKaydet, btnP_HesapSil : TClProButton;</div><div>&nbsp;&nbsp;</div><div>&nbsp; IslemTipi, ArananDeger, KullaniciTercihleri, KullaniciEmail, apiUrl, apiKey : String;&nbsp;</div><div><br></div><div><br></div><div>void OrtadakiButonTikladi;</div><div>var</div><div>&nbsp; i : Integer;</div><div>{</div><div>&nbsp; if (lblNavMiddleBg.Visible == True) { Exit; }&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lytProfilKasa.Visible = False;</div><div>&nbsp; scrollAna.Visible = True;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblNavLeftBg.Visible = False;</div><div>&nbsp; lblNavMiddleBg.Visible = True;</div><div><br></div><div>&nbsp; i = 1;</div><div>&nbsp; while (i &lt;= 6)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; lytNavLeft.Margins.Top = lytNavLeft.Margins.Top + 5;</div><div>&nbsp; &nbsp; lytNavLeft.Margins.Bottom = lytNavLeft.Margins.Bottom - 5;</div><div>&nbsp; &nbsp; if (lytNavLeft.Margins.Top &gt; 30) { lytNavLeft.Margins.Top = 30; }</div><div>&nbsp; &nbsp; if (lytNavLeft.Margins.Bottom &lt; 20) { lytNavLeft.Margins.Bottom = 20; }</div><div><br></div><div>&nbsp; &nbsp; lytNavMiddle.Margins.Top = lytNavMiddle.Margins.Top - 5;</div><div>&nbsp; &nbsp; lytNavMiddle.Margins.Bottom = lytNavMiddle.Margins.Bottom + 5;</div><div>&nbsp; &nbsp; if (lytNavMiddle.Margins.Top &lt; 0) { lytNavMiddle.Margins.Top = 0; }</div><div>&nbsp; &nbsp; if (lytNavMiddle.Margins.Bottom &gt; 30) { lytNavMiddle.Margins.Bottom = 30; }</div><div><br></div><div>&nbsp; &nbsp; AnaSayfaForm.StartProcessMessages(15);&nbsp;</div><div>&nbsp; &nbsp; i = i + 1;</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void SoldakiButonTikladi;</div><div>var</div><div>&nbsp; i : Integer;</div><div>{</div><div>&nbsp; if (lblNavLeftBg.Visible == True) { Exit; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; scrollAna.Visible = False;</div><div>&nbsp; lytProfilKasa.Visible = True;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblNavMiddleBg.Visible = False;</div><div>&nbsp; lblNavLeftBg.Visible = True;</div><div><br></div><div>&nbsp; i = 1;</div><div>&nbsp; while (i &lt;= 6)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; lytNavMiddle.Margins.Top = lytNavMiddle.Margins.Top + 5;</div><div>&nbsp; &nbsp; lytNavMiddle.Margins.Bottom = lytNavMiddle.Margins.Bottom - 5;</div><div>&nbsp; &nbsp; if (lytNavMiddle.Margins.Top &gt; 30) { lytNavMiddle.Margins.Top = 30; }</div><div>&nbsp; &nbsp; if (lytNavMiddle.Margins.Bottom &lt; 20) { lytNavMiddle.Margins.Bottom = 20; }</div><div><br></div><div>&nbsp; &nbsp; lytNavLeft.Margins.Top = lytNavLeft.Margins.Top - 5;</div><div>&nbsp; &nbsp; lytNavLeft.Margins.Bottom = lytNavLeft.Margins.Bottom + 5;</div><div>&nbsp; &nbsp; if (lytNavLeft.Margins.Top &lt; 0) { lytNavLeft.Margins.Top = 0; }</div><div>&nbsp; &nbsp; if (lytNavLeft.Margins.Bottom &gt; 30) { lytNavLeft.Margins.Bottom = 30; }</div><div><br></div><div>&nbsp; &nbsp; AnaSayfaForm.StartProcessMessages(15);&nbsp;</div><div>&nbsp; &nbsp; i = i + 1;</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void ChkP_VeganClick;</div><div>{</div><div>&nbsp; if (chkP_Vegan.isChecked == False) {&nbsp;</div><div>&nbsp; &nbsp; chkP_Vejetaryen.isChecked = False;&nbsp;</div><div>&nbsp; &nbsp; chkP_Vejetaryen.Enabled = False;&nbsp; &nbsp;</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; chkP_Vejetaryen.Enabled = True;&nbsp; &nbsp;&nbsp;</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void P_SifreGizleGosterEski;</div><div>{</div><div>&nbsp; if (edtP_EskiSifre.Password == True) {</div><div>&nbsp; &nbsp; edtP_EskiSifre.Password = False;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_EskiSifre, '<a href="https://i.ibb.co/2311b9kv/acikgoz.png" target="_blank" rel="nofollow">https://i.ibb.co/2311b9kv/acikgoz.png</a>');</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; edtP_EskiSifre.Password = True;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_EskiSifre, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void P_SifreGizleGosterYeni;</div><div>{</div><div>&nbsp; if (edtP_Sifre.Password == True) {</div><div>&nbsp; &nbsp; edtP_Sifre.Password = False;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_Sifre, '<a href="https://i.ibb.co/2311b9kv/acikgoz.png" target="_blank" rel="nofollow">https://i.ibb.co/2311b9kv/acikgoz.png</a>');</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; edtP_Sifre.Password = True;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_Sifre, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void P_SifreGizleGosterTekrar;</div><div>{</div><div>&nbsp; if (edtP_SifreTekrar.Password == True) {</div><div>&nbsp; &nbsp; edtP_SifreTekrar.Password = False;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_SifreTekrar, '<a href="https://i.ibb.co/2311b9kv/acikgoz.png" target="_blank" rel="nofollow">https://i.ibb.co/2311b9kv/acikgoz.png</a>');</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; edtP_SifreTekrar.Password = True;</div><div>&nbsp; &nbsp; AnaSayfaForm.SetImage(imgP_SifreTekrar, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void BtnP_TercihKaydetClick;</div><div>var</div><div>&nbsp; secilenTercih, jsonBody : String;</div><div>{</div><div>&nbsp; if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; }</div><div><br></div><div>&nbsp; secilenTercih = '';</div><div>&nbsp; if (chkP_Colyak.isChecked == True) { secilenTercih = 'Çölyak'; }</div><div>&nbsp; if (chkP_Sporcu.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Sporcu'; } else { secilenTercih = secilenTercih + ', Sporcu'; } }</div><div>&nbsp; if (chkP_Vegan.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Vegan'; } else { secilenTercih = secilenTercih + ', Vegan'; } }</div><div>&nbsp; if ((chkP_Vejetaryen.isChecked == True) &amp;&amp; (chkP_Vegan.isChecked == False)) { if (secilenTercih == '') { secilenTercih = 'Vejetaryen'; } else { secilenTercih = secilenTercih + ', Vejetaryen'; } }</div><div>&nbsp; if (chkP_Saglikli.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Sağlıklı Beslenme'; } else { secilenTercih = secilenTercih + ', Sağlıklı Beslenme'; } }</div><div>&nbsp; if (chkP_Diyabet.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Diyabet'; } else { secilenTercih = secilenTercih + ', Diyabet'; } }</div><div>&nbsp; if (chkP_Laktoz.isChecked == True) { if (secilenTercih == '') { secilenTercih = 'Laktoz İntoleransı'; } else { secilenTercih = secilenTercih + ', Laktoz İntoleransı'; } }</div><div>&nbsp; if (secilenTercih == '') { secilenTercih = 'Yok'; }</div><div><br></div><div>&nbsp; jsonBody = '{"tercihler": "' + secilenTercih + '"}';</div><div>&nbsp;&nbsp;</div><div>&nbsp; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail;</div><div>&nbsp; ProfilApi.Method = rmPatch;&nbsp;</div><div>&nbsp; ProfilApi.AddHeader('apikey', apiKey);</div><div>&nbsp; ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey);</div><div>&nbsp; ProfilApi.AddHeader('Content-Type', 'application/json');</div><div>&nbsp; ProfilApi.AddBody(jsonBody, 'application/json');</div><div>&nbsp;&nbsp;</div><div>&nbsp; try</div><div>&nbsp; &nbsp; ProfilApi.Execute;</div><div>&nbsp; &nbsp; prefList.Clear;</div><div>&nbsp; &nbsp; prefList.Add(KullaniciEmail);</div><div>&nbsp; &nbsp; prefList.Add(Clomosy.GlobalVariableString);</div><div>&nbsp; &nbsp; prefList.Add(secilenTercih);</div><div>&nbsp; &nbsp; prefList.SaveToFile(prefFile, 0);</div><div>&nbsp; &nbsp; KullaniciTercihleri = secilenTercih;</div><div>&nbsp; &nbsp; ShowMessage('Tercihleriniz başarıyla güncellendi!');</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Tercihler güncellenirken bir hata oluştu.');</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void BtnP_SifreKaydetClick;</div><div>var</div><div>&nbsp; eskiSifre, sifre, karakter, lowerChars, upperChars, digitChars, jsonBody: String;</div><div>&nbsp; i, len, hasLower, hasUpper, hasDigit, hasSpecial: Integer;</div><div>{</div><div>&nbsp; if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; }</div><div><br></div><div>&nbsp; eskiSifre = edtP_EskiSifre.Text;</div><div>&nbsp; sifre = edtP_Sifre.Text;</div><div>&nbsp;&nbsp;</div><div>&nbsp; if ((eskiSifre == '') || (sifre == '') || (edtP_SifreTekrar.Text == '')) { ShowMessage('Lütfen tüm şifre alanlarını doldurun.'); Exit; }</div><div>&nbsp; if (sifre &lt;&gt; edtP_SifreTekrar.Text) { ShowMessage('Yeni şifreler eşleşmiyor!'); Exit; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; if (eskiSifre == sifre) { ShowMessage('Yeni şifreniz mevcut şifrenizle aynı olamaz!'); Exit; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail + '&amp;sifre=eq.' + eskiSifre;</div><div>&nbsp; ProfilApi.Method = rmGet;&nbsp;</div><div>&nbsp; ProfilApi.AddHeader('apikey', apiKey);</div><div>&nbsp; ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey);</div><div>&nbsp; ProfilApi.Execute;</div><div>&nbsp;&nbsp;</div><div>&nbsp; if ((ProfilApi.Response == '&#091;&#093;') || (ProfilApi.Response == '')) {</div><div>&nbsp; &nbsp; ShowMessage('Mevcut (eski) şifrenizi yanlış girdiniz!');</div><div>&nbsp; &nbsp; Exit;</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; len = Length(sifre);</div><div>&nbsp; if ((len &lt; 8) || (len &gt; 50)) { ShowMessage('Şifre 8-50 karakter olmalıdır!'); Exit; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; hasLower = 0; hasUpper = 0; hasDigit = 0; hasSpecial = 0;</div><div>&nbsp; lowerChars = 'abcdefghijklmnopqrstuvwxyzçğıöşü';&nbsp;</div><div>&nbsp; upperChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÇĞIÖŞÜ';&nbsp;</div><div>&nbsp; digitChars = '0123456789';&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; i = 1;</div><div>&nbsp; while (i &lt;= len) {</div><div>&nbsp; &nbsp; karakter = Copy(sifre, i, 1);</div><div>&nbsp; &nbsp; if (Pos(karakter, lowerChars) &gt; 0) { hasLower = 1; } else if (Pos(karakter, upperChars) &gt; 0) { hasUpper = 1; } else if (Pos(karakter, digitChars) &gt; 0) { hasDigit = 1; } else { hasSpecial = 1; }</div><div>&nbsp; &nbsp; i = i + 1;</div><div>&nbsp; }</div><div><br></div><div>&nbsp; if (hasUpper == 0) { ShowMessage('Şifre en az 1 büyük harf içermeli!'); Exit; }</div><div>&nbsp; if (hasLower == 0) { ShowMessage('Şifre en az 1 küçük harf içermeli!'); Exit; }</div><div>&nbsp; if (hasDigit == 0) { ShowMessage('Şifre en az 1 rakam içermeli!'); Exit; }</div><div>&nbsp; if (hasSpecial == 0) { ShowMessage('Şifre en az 1 özel karakter içermeli!'); Exit; }</div><div><br></div><div>&nbsp; jsonBody = '{"sifre": "' + sifre + '"}';</div><div>&nbsp; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail;</div><div>&nbsp; ProfilApi.Method = rmPatch;&nbsp;</div><div>&nbsp; ProfilApi.AddHeader('Content-Type', 'application/json');</div><div>&nbsp; ProfilApi.AddBody(jsonBody, 'application/json');</div><div>&nbsp;&nbsp;</div><div>&nbsp; try</div><div>&nbsp; &nbsp; ProfilApi.Execute;</div><div>&nbsp; &nbsp; ShowMessage('Şifreniz başarıyla değiştirildi! Güvenliğiniz için lütfen yeni şifrenizle tekrar giriş yapın.');</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; prefList.Clear;</div><div>&nbsp; &nbsp; prefList.SaveToFile(prefFile, 0);&nbsp;</div><div>&nbsp; &nbsp; Clomosy.GlobalVariableString = '';&nbsp;</div><div>&nbsp; &nbsp; KullaniciEmail = '';&nbsp;</div><div>&nbsp; &nbsp; Clomosy.RunUnit('uLogin');</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Şifre güncellenirken bir hata oluştu.');</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void BtnP_HesapSilSoru;</div><div>{</div><div>&nbsp; if (KullaniciEmail == '') { ShowMessage('Oturum zaman aşımına uğradı. Lütfen giriş yapın.'); Clomosy.RunUnit('uLogin'); Exit; }</div><div>&nbsp; lytHesapSilOverlay.Visible = True;</div><div>&nbsp; lytHesapSilOverlay.BringToFront;&nbsp;</div><div>}</div><div><br></div><div>void BtnP_HesapSilIptal;</div><div>{</div><div>&nbsp; lytHesapSilOverlay.Visible = False;</div><div>}</div><div><br></div><div>void BtnP_HesapSilEvet;</div><div>{</div><div>&nbsp; ProfilApi.BaseURL = apiUrl + '/rest/v1/kullanicilar?email=eq.' + KullaniciEmail;</div><div>&nbsp; ProfilApi.Method = rmDelete;&nbsp;</div><div>&nbsp; ProfilApi.AddHeader('apikey', apiKey);</div><div>&nbsp; ProfilApi.AddHeader('Authorization', 'Bearer ' + apiKey);</div><div>&nbsp;&nbsp;</div><div>&nbsp; try</div><div>&nbsp; &nbsp; ProfilApi.Execute;</div><div>&nbsp; &nbsp; prefList.Clear;</div><div>&nbsp; &nbsp; prefList.SaveToFile(prefFile, 0);&nbsp;</div><div>&nbsp; &nbsp; Clomosy.GlobalVariableString = '';&nbsp;</div><div>&nbsp; &nbsp; KullaniciEmail = '';</div><div>&nbsp; &nbsp; ShowMessage('Hesabınız başarıyla silindi. Hoşça kalın!');</div><div>&nbsp; &nbsp; Clomosy.RunUnit('uKarsilama');</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Hesap silinirken bir hata oluştu.');</div><div>&nbsp; &nbsp; lytHesapSilOverlay.Visible = False;</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void BtnCikisSoru;</div><div>{</div><div>&nbsp; lytLogoutOverlay.Visible = True;</div><div>&nbsp; lytLogoutOverlay.BringToFront;&nbsp;</div><div>}</div><div><br></div><div>void BtnCikisIptal;</div><div>{</div><div>&nbsp; lytLogoutOverlay.Visible = False;</div><div>}</div><div><br></div><div>void BtnCikisEvet;</div><div>{</div><div>&nbsp; prefList.Clear;</div><div>&nbsp; prefList.SaveToFile(prefFile, 0);&nbsp;</div><div>&nbsp; Clomosy.GlobalVariableString = '';&nbsp;</div><div>&nbsp; KullaniciEmail = '';</div><div>&nbsp; Clomosy.RunUnit('uKarsilama');</div><div>}</div><div><br></div><div>void btnBarkodOkutClick;</div><div>{</div><div>&nbsp; lblUrunFotoCerceve.Visible = False;&nbsp;</div><div>&nbsp; lytSonucKasa.Visible = False;&nbsp;</div><div>&nbsp; lytUstKasa.Height = 310;&nbsp;</div><div>&nbsp; btnUrunBul.Enabled = True;</div><div>&nbsp; AnaSayfaForm.CallBarcodeReader(edtBarkodSonuc);&nbsp;</div><div>}</div><div><br></div><div>void OnGeminiCompleted;</div><div>var</div><div>&nbsp; jsonResp, tempStr, geminiSonuc : String;</div><div>&nbsp; baslangic, bitis, pU, pC, pS, loopLimit : Integer;</div><div>&nbsp; strU, strC, strS : String;</div><div>{</div><div>&nbsp; try</div><div>&nbsp; &nbsp; jsonResp = GeminiApi.Response;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; if (jsonResp == '') {</div><div>&nbsp; &nbsp; &nbsp; ShowMessage('Bağlantı zaman aşımına uğradı veya internet koptu. Lütfen tekrar deneyin.');</div><div>&nbsp; &nbsp; &nbsp; memoUrunCevap.Text = 'Yanıt Alınamadı.';</div><div>&nbsp; &nbsp; &nbsp; memoColyakCevap.Text = 'Bağlantı Hatası.';</div><div>&nbsp; &nbsp; &nbsp; memoSporcuCevap.Text = 'Bağlantı Hatası.';</div><div>&nbsp; &nbsp; &nbsp; lytSonucKasa.Visible = True;</div><div>&nbsp; &nbsp; &nbsp; btnUrunBul.Enabled = True;</div><div>&nbsp; &nbsp; &nbsp; Exit;</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp; if (Pos('"error"', jsonResp) &gt; 0) {</div><div>&nbsp; &nbsp; &nbsp; if (Pos('RESOURCE_EXHAUSTED', jsonResp) &gt; 0) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 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.');&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoUrunCevap.Text = 'Lütfen 1 Dakika Bekleyiniz (API Sınırı)';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoColyakCevap.Text = 'API Kotası Doldu...';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoSporcuCevap.Text = 'API Kotası Doldu...';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; }&nbsp;</div><div>&nbsp; &nbsp; &nbsp; else {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage('API Hatası Detayı: ' + jsonResp);&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoUrunCevap.Text = 'API Hatası!';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoColyakCevap.Text = 'Hata.';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoSporcuCevap.Text = 'Hata.';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp; lytSonucKasa.Visible = True;</div><div>&nbsp; &nbsp; } else {</div><div>&nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('\"', jsonResp);</div><div>&nbsp; &nbsp; &nbsp; while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 5000)) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; jsonResp = Copy(jsonResp, 1, baslangic - 1) + '''' + Copy(jsonResp, baslangic + 2, Length(jsonResp));</div><div>&nbsp; &nbsp; &nbsp; &nbsp; baslangic = Pos('\"', jsonResp);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; loopLimit = loopLimit + 1;</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; baslangic = Pos('"text": "', jsonResp);</div><div>&nbsp; &nbsp; &nbsp; if (baslangic &gt; 0) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tempStr = Copy(jsonResp, baslangic + 9, Length(jsonResp));</div><div>&nbsp; &nbsp; &nbsp; &nbsp; bitis = Pos('"', tempStr) - 1;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; geminiSonuc = Trim(Copy(tempStr, 1, bitis));</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('\n', geminiSonuc); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 1000)) { geminiSonuc = Copy(geminiSonuc, 1, baslangic - 1) + #13#10 + Copy(geminiSonuc, baslangic + 2, Length(geminiSonuc)); baslangic = Pos('\n', geminiSonuc); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('*', geminiSonuc); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 1000)) { Delete(geminiSonuc, baslangic, 1); baslangic = Pos('*', geminiSonuc); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('\', geminiSonuc); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 1000)) { Delete(geminiSonuc, baslangic, 1); baslangic = Pos('\', geminiSonuc); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; pU = Pos('###URUN###', geminiSonuc); pC = Pos('###OZEL###', geminiSonuc); pS = Pos('###GENEL###', geminiSonuc);</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if (pU &gt; 0) { if (pC &gt; 0) { strU = Trim(Copy(geminiSonuc, pU + 10, pC - pU - 10)); } else { strU = Trim(Copy(geminiSonuc, pU + 10, Length(geminiSonuc) - pU + 1)); } } else { strU = 'Bulunamadı.'; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if (pC &gt; 0) { if (pS &gt; 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ı.'; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if (pS &gt; 0) { strS = Trim(Copy(geminiSonuc, pS + 11, Length(geminiSonuc) - pS + 1)); } else { strS = 'Genel bilgi bulunamadı.'; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if ((pU &lt;= 0) &amp;&amp; (pC &lt;= 0) &amp;&amp; (pS &lt;= 0)) { strU = geminiSonuc; strC = 'Analiz edilemedi.'; strS = 'Analiz edilemedi.'; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoUrunCevap.Text = strU; memoColyakCevap.Text = strC; memoSporcuCevap.Text = strS;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; lytSonucKasa.Visible = True;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; } else {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoUrunCevap.Text = 'Okunamadı.';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoColyakCevap.Text = 'İçerik çekilemedi.';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; memoSporcuCevap.Text = 'İçerik çekilemedi.';&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage('Yapay Zeka cevabı tam olarak okuyamadı!');&nbsp;</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; }</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('İşlem sırasında ufak bir hata oluştu. Lütfen tekrar deneyin.');</div><div>&nbsp; &nbsp; memoUrunCevap.Text = 'Bağlantı kesildi.';</div><div>&nbsp; &nbsp; memoColyakCevap.Text = 'Bağlantı kesildi.';</div><div>&nbsp; &nbsp; memoSporcuCevap.Text = 'Bağlantı kesildi.';</div><div>&nbsp; &nbsp; lytSonucKasa.Visible = True;</div><div>&nbsp; }</div><div>&nbsp; btnUrunBul.Enabled = True;</div><div>}</div><div><br></div><div>void TmrGeminiTick;</div><div>var</div><div>&nbsp; jsonBody, base64Foto, OzelSartMetni : String;</div><div>&nbsp; baslangic, loopLimit : Integer;</div><div>&nbsp; MyStream : TclMemoryStream;</div><div>{</div><div>&nbsp; tmrGemini.Enabled = False;&nbsp;</div><div>&nbsp; memoUrunCevap.Text = 'Yapay Zeka Sunucusuna Bağlanılıyor...';&nbsp;</div><div>&nbsp; memoColyakCevap.Text = 'Bekleniyor...';&nbsp;</div><div>&nbsp; memoSporcuCevap.Text = 'Bekleniyor...';</div><div>&nbsp;&nbsp;</div><div>&nbsp; if (GeminiApi &lt;&gt; nil) { GeminiApi.Free; }</div><div>&nbsp; GeminiApi = TCLRest.Create;</div><div>&nbsp;&nbsp;</div><div>&nbsp; OzelSartMetni = '';</div><div>&nbsp; if (Pos('Çölyak', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Çölyak (Gluten yasak). '; }</div><div>&nbsp; if (Pos('Sporcu', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Sporcu (Protein/Temiz içerik). '; }</div><div>&nbsp; if (Pos('Vegan', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Vegan (Hayvansal yasak). '; }</div><div>&nbsp; if (Pos('Vejetaryen', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Vejetaryen (Et yasak). '; }</div><div>&nbsp; if (Pos('Sağlıklı', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Sağlıklı Beslenme (Katkı maddesi istemiyor). '; }</div><div>&nbsp; if (Pos('Diyabet', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Diyabet (İlave şeker yasak). '; }</div><div>&nbsp; if (Pos('Laktoz', KullaniciTercihleri) &gt; 0) { OzelSartMetni = OzelSartMetni + 'Laktoz İntoleransı (Süt ürünü yasak). '; }</div><div>&nbsp; if (OzelSartMetni == '') { OzelSartMetni = 'Özel bir kısıtlama yok.'; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; GeminiApi.BaseURL = '<a href="https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateC&#111;ntent?key=AIzaSyBiV75pbw3O3gnyTH5DgOyMQ6C1BLrYHcs" target="_blank" rel="nofollow">https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AIzaSyBiV75pbw3O3gnyTH5DgOyMQ6C1BLrYHcs</a>';</div><div>&nbsp; GeminiApi.Accept = 'application/json';</div><div>&nbsp; GeminiApi.Method = rmPost;</div><div>&nbsp; GeminiApi.AddHeader('Content-Type', 'application/json');</div><div>&nbsp;&nbsp;</div><div>&nbsp; if (IslemTipi == 'Gorsel') {</div><div>&nbsp; &nbsp; imgUrunFoto.Bitmap.Resize(400, 400);&nbsp;</div><div>&nbsp; &nbsp; MyStream = TclMemoryStream.Create;&nbsp;</div><div>&nbsp; &nbsp; imgUrunFoto.Bitmap.SaveToStream(MyStream);&nbsp;</div><div>&nbsp; &nbsp; MyStream.Position = 0;&nbsp;</div><div>&nbsp; &nbsp; base64Foto = Clomosy.StreamToBase64(MyStream);&nbsp;</div><div>&nbsp; &nbsp; MyStream.Free;&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; loopLimit = 0; baslangic = Pos(Chr(13), base64Foto); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 25000)) { Delete(base64Foto, baslangic, 1); baslangic = Pos(Chr(13), base64Foto); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; loopLimit = 0; baslangic = Pos(Chr(10), base64Foto); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 25000)) { Delete(base64Foto, baslangic, 1); baslangic = Pos(Chr(10), base64Foto); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; jsonBody = '{"contents":&#091;{"parts":&#091;{"text":"Sen uzman bir gıda analistisin. Fotoğrafı analiz et. KULLANICI PROFİLİ: &#091;' + OzelSartMetni + '&#093;. 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### &#091;Marka - Adı&#093; ###OZEL### &#091;Profile uygunluk analizi&#093; ###GENEL### &#091;Kısa genel özet ve içindekiler&#093;"},{"inline_data":{"mime_type":"image/jpeg","data":"' + base64Foto + '"}}&#093;}&#093;}';</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; jsonBody = '{"contents":&#091;{"parts":&#091;{"text":"Sen uzman bir gıda analistisin. Ürün: ' + ArananDeger + '. KULLANICI PROFİLİ: &#091;' + OzelSartMetni + '&#093;. 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### &#091;Marka - Adı&#093; ###OZEL### &#091;Profile uygunluk analizi&#093; ###GENEL### &#091;Kısa genel özet ve içindekiler&#093;"}&#093;}&#093;}';</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; GeminiApi.AddBody(jsonBody, 'application/json');</div><div>&nbsp; GeminiApi.OnCompleted = 'OnGeminiCompleted';</div><div>&nbsp; GeminiApi.ExecuteAsync;</div><div>}</div><div><br></div><div>void TmrKameraTick;</div><div>{</div><div>&nbsp; tmrKamera.Enabled = False;</div><div>&nbsp; Clomosy.ImageChooser(AnaSayfaForm, imgUrunFoto);&nbsp;</div><div>&nbsp; btnUrunBul.Enabled = True;</div><div>}</div><div><br></div><div>void btnUrunBulClick;</div><div>var</div><div>&nbsp; arananBarkod, jsonResp, tempStr, urunAdi : String;</div><div>&nbsp; baslangic, bitis, loopLimit: Integer;</div><div>{</div><div>&nbsp; btnUrunBul.Enabled = False; edtBarkodSonuc.Enabled = False; edtBarkodSonuc.Enabled = True; AnaSayfaForm.clVKVisible = False;&nbsp;</div><div><br></div><div>&nbsp; if (lblUrunFotoCerceve.Visible == True) {</div><div>&nbsp; &nbsp; if (imgUrunFoto.Bitmap == nil) { ShowMessage('Lütfen geçerli bir fotoğraf çekin!'); btnUrunBul.Enabled = True; Exit; }</div><div>&nbsp; &nbsp; IslemTipi = 'Gorsel'; lytSonucKasa.Visible = True; memoUrunCevap.Text = 'Fotoğraf İşleniyor...'; memoColyakCevap.Text = 'Bekleniyor...'; memoSporcuCevap.Text = 'Bekleniyor...';</div><div>&nbsp; &nbsp; tmrGemini.Enabled = True;&nbsp;</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; arananBarkod = Trim(edtBarkodSonuc.Text);</div><div>&nbsp; &nbsp; if (arananBarkod == '') { ShowMessage('Lütfen önce bir barkod okutun veya yazın!'); btnUrunBul.Enabled = True; Exit; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; lytSonucKasa.Visible = True; memoUrunCevap.Text = 'Veritabanı Aranıyor...'; memoColyakCevap.Text = 'Bekleniyor...'; memoSporcuCevap.Text = 'Bekleniyor...';&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; OpenFoodFactsApi.BaseURL = '<a href="https://world.openfoodfacts.org/api/v0/product/" target="_blank" rel="nofollow">https://world.openfoodfacts.org/api/v0/product/</a>' + arananBarkod + '.json'; OpenFoodFactsApi.Accept = 'application/json'; OpenFoodFactsApi.Method = rmGet;</div><div>&nbsp; &nbsp; try OpenFoodFactsApi.Execute; jsonResp = OpenFoodFactsApi.Response; except ShowMessage('Sunucuya bağlanılamadı!'); memoUrunCevap.Text = 'Bağlantı Hatası.'; btnUrunBul.Enabled = True; Exit; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; if (Pos('"status":1', jsonResp) &gt; 0) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; baslangic = Pos('"product_name_tr":"', jsonResp); if (baslangic &gt; 0) { tempStr = Copy(jsonResp, baslangic + 19, Length(jsonResp)); } else { baslangic = Pos('"product_name":"', jsonResp); if (baslangic &gt; 0) { tempStr = Copy(jsonResp, baslangic + 16, Length(jsonResp)); } }</div><div>&nbsp; &nbsp; &nbsp; if (baslangic &gt; 0) { bitis = Pos('"', tempStr) - 1; if (bitis &gt; 0) { urunAdi = Copy(tempStr, 1, bitis); } else { urunAdi = 'Bulunamadı'; } } else { urunAdi = 'Bulunamadı'; }</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; baslangic = Pos('"brands":"', jsonResp); if ((baslangic &gt; 0) &amp;&amp; (urunAdi &lt;&gt; 'Bulunamadı')) { tempStr = Copy(jsonResp, baslangic + 10, Length(jsonResp)); bitis = Pos('"', tempStr) - 1; if (bitis &gt; 0) { urunAdi = Copy(tempStr, 1, bitis) + ' - ' + urunAdi; } }</div><div>&nbsp; &nbsp; } else { urunAdi = 'Bulunamadı'; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; if ((urunAdi == 'Bulunamadı') || (urunAdi == '')) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; lytSonucKasa.Visible = False;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; lblUrunFotoCerceve.Visible = True;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; lytUstKasa.Height = 520;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; ShowMessage('Ürün bulunamadı! Kamerayı açmak için Tamam''a basın.');&nbsp;</div><div>&nbsp; &nbsp; &nbsp; tmrKamera.Enabled = True;&nbsp;</div><div>&nbsp; &nbsp; } else {</div><div>&nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('"', urunAdi); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos('"', urunAdi); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos('\', urunAdi); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos('\', urunAdi); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos(Chr(13), urunAdi); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos(Chr(13), urunAdi); loopLimit = loopLimit + 1; }</div><div>&nbsp; &nbsp; &nbsp; loopLimit = 0; baslangic = Pos(Chr(10), urunAdi); while ((baslangic &gt; 0) &amp;&amp; (loopLimit &lt; 500)) { Delete(urunAdi, baslangic, 1); baslangic = Pos(Chr(10), urunAdi); loopLimit = loopLimit + 1; }</div><div><br></div><div>&nbsp; &nbsp; &nbsp; IslemTipi = 'Metin'; ArananDeger = urunAdi; memoUrunCevap.Text = 'Bulundu! AI Analiz Ediyor...'; tmrGemini.Enabled = True;&nbsp;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>}</div><div><br></div><div>{</div><div>&nbsp; AnaSayfaForm = TclForm.Create(Self);</div><div>&nbsp; AnaSayfaForm.SetFormColor('#f1f2f6', '#f1f2f6', clGVertical);</div><div><br></div><div>&nbsp; apiUrl = '<a href="https://brsrrtwbhyrxlyetebas.supabase.co" target="_blank" rel="nofollow">https://brsrrtwbhyrxlyetebas.supabase.co</a>';&nbsp;</div><div>&nbsp; apiKey = 'sb_publishable_T6KRGIkL-av7M9C-aqdrag_dJteJPcR';</div><div>&nbsp;&nbsp;</div><div>&nbsp; OpenFoodFactsApi = TCLRest.Create;</div><div>&nbsp; GeminiApi = TCLRest.Create;</div><div>&nbsp; ProfilApi = TCLRest.Create;</div><div>&nbsp;&nbsp;</div><div>&nbsp; prefFile = clPathCombine('userpref.txt', Clomosy.AppFilesPath);</div><div>&nbsp; prefList = Clomosy.StringListNew;</div><div>&nbsp;&nbsp;</div><div>&nbsp; KullaniciEmail = '';</div><div>&nbsp; if (clFileExists(prefFile, '')) {&nbsp;</div><div>&nbsp; &nbsp; prefList.LoadFromFile(prefFile, 0);&nbsp;</div><div>&nbsp; &nbsp; if (prefList.Count &gt; 0) { KullaniciEmail = Clomosy.StringListItemString(prefList, 0); }</div><div>&nbsp; &nbsp; if (prefList.Count &gt; 2) { KullaniciTercihleri = Clomosy.StringListItemString(prefList, 2); } else { KullaniciTercihleri = 'Özel Bir Durumu Yok'; }&nbsp;</div><div>&nbsp; } else { KullaniciTercihleri = 'Özel Bir Durumu Yok'; }</div><div><br></div><div>&nbsp; btnAnaStil = '{"Align":"Top","MarginTop":15,"MarginLeft":25,"MarginRight":25,"Height":55,"RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#00b894","TextColor":"#ffffff","TextSize":16,"TextBold":"yes"}';</div><div>&nbsp;&nbsp;</div><div>&nbsp; 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"}';</div><div>&nbsp; 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}';</div><div><br></div><div>&nbsp; tmrGemini = AnaSayfaForm.AddNewTimer(AnaSayfaForm, 'tmrGemini', 200);</div><div>&nbsp; tmrGemini.Enabled = False;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(tmrGemini, tbeOnTimer, 'TmrGeminiTick');</div><div>&nbsp;&nbsp;</div><div>&nbsp; tmrKamera = AnaSayfaForm.AddNewTimer(AnaSayfaForm, 'tmrKamera', 1000);&nbsp;</div><div>&nbsp; tmrKamera.Enabled = False;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(tmrKamera, tbeOnTimer, 'TmrKameraTick');</div><div><br></div><div>&nbsp; scrollAna = AnaSayfaForm.AddNewVertScrollBox(AnaSayfaForm, 'scrollAna');</div><div>&nbsp; scrollAna.Align = alContents;&nbsp;</div><div>&nbsp; scrollAna.Margins.Bottom = 0;&nbsp;</div><div><br></div><div>&nbsp; lytUstKasa = AnaSayfaForm.AddNewLayout(scrollAna, 'lytUstKasa');</div><div>&nbsp; lytUstKasa.Align = alTop;&nbsp;</div><div>&nbsp; lytUstKasa.Height = 310;&nbsp;</div><div><br></div><div>&nbsp; lblHosGeldin = AnaSayfaForm.AddNewProLabel(lytUstKasa, 'lblHosGeldin', 'Hoş Geldin,' + #13#10 + Clomosy.GlobalVariableString);</div><div>&nbsp; clComponent.SetupComponent(lblHosGeldin, '{"Align":"Top","MarginTop":30,"MarginBottom":15,"Height":60,"TextColor":"#2d3436","TextSize":22,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; edtBarkodSonuc = AnaSayfaForm.AddNewProEdit(lytUstKasa, 'edtBarkodSonuc','Barkod Numarası Girin');</div><div>&nbsp; clComponent.SetupComponent(edtBarkodSonuc, edtStil);</div><div>&nbsp;&nbsp;</div><div>&nbsp; btnBarkodOkut = AnaSayfaForm.AddNewProButton(lytUstKasa, 'btnBarkodOkut', 'BARKOD OKUT VEYA YAZ');</div><div>&nbsp; clComponent.SetupComponent(btnBarkodOkut, btnAnaStil);</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnBarkodOkut, tbeOnClick, 'btnBarkodOkutClick');</div><div><br></div><div>&nbsp; lblUrunFotoCerceve = AnaSayfaForm.AddNewProLabel(lytUstKasa, 'lblUrunFotoCerceve', '');</div><div>&nbsp; clComponent.SetupComponent(lblUrunFotoCerceve, '{"Align":"Top","MarginTop":15,"MarginLeft":25,"MarginRight":25,"Height":180,"RoundHeight":15,"RoundWidth":15,"BorderColor":"#dfe6e9","BorderWidth":1,"BackgroundColor":"#ffffff"}');</div><div>&nbsp; lblUrunFotoCerceve.Visible = False;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; imgUrunFoto = AnaSayfaForm.AddNewImage(lblUrunFotoCerceve, 'imgUrunFoto');</div><div>&nbsp; imgUrunFoto.Align = alClient; imgUrunFoto.Margins.Left = 5; imgUrunFoto.Margins.Right = 5; imgUrunFoto.Margins.Top = 5; imgUrunFoto.Margins.Bottom = 5;</div><div><br></div><div>&nbsp; btnUrunBul = AnaSayfaForm.AddNewProButton(lytUstKasa, 'btnUrunBul', 'ÜRÜNÜ ANALİZ ET');</div><div>&nbsp; clComponent.SetupComponent(btnUrunBul, btnAnaStil);</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnUrunBul, tbeOnClick, 'btnUrunBulClick');</div><div><br></div><div>&nbsp; lytSonucKasa = AnaSayfaForm.AddNewLayout(scrollAna, 'lytSonucKasa');</div><div>&nbsp; lytSonucKasa.Align = alTop; lytSonucKasa.Height = 720; lytSonucKasa.Visible = False;</div><div><br></div><div>&nbsp; lytKasaSporcu = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaSporcu');</div><div>&nbsp; lytKasaSporcu.Align = alTop; lytKasaSporcu.Height = 250; lytKasaSporcu.Margins.Top = 15; lytKasaSporcu.Margins.Left = 20; lytKasaSporcu.Margins.Right = 20;</div><div>&nbsp; lblKasaSporcuBg = AnaSayfaForm.AddNewProLabel(lytKasaSporcu, 'lblKasaSporcuBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblKasaSporcuBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#ff7675","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}');</div><div>&nbsp; lytIcerikSporcu = AnaSayfaForm.AddNewLayout(lblKasaSporcuBg, 'lytIcerikSporcu');</div><div>&nbsp; lytIcerikSporcu.Align = alClient;</div><div>&nbsp; lblSporcuBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikSporcu, 'lblSporcuBaslik', 'Genel Değerlendirme');</div><div>&nbsp; clComponent.SetupComponent(lblSporcuBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#d63031","TextSize":16,"TextBold":"yes"}');</div><div>&nbsp; memoSporcuCevap = AnaSayfaForm.AddNewMemo(lytIcerikSporcu, 'memoSporcuCevap', '');</div><div>&nbsp; memoSporcuCevap.Align = alClient; memoSporcuCevap.Margins.Left = 10; memoSporcuCevap.Margins.Right = 10; memoSporcuCevap.Margins.Bottom = 10; memoSporcuCevap.ReadOnly = True; memoSporcuCevap.WordWrap = True;</div><div><br></div><div>&nbsp; lytKasaColyak = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaColyak');</div><div>&nbsp; lytKasaColyak.Align = alTop; lytKasaColyak.Height = 250; lytKasaColyak.Margins.Top = 15; lytKasaColyak.Margins.Left = 20; lytKasaColyak.Margins.Right = 20;</div><div>&nbsp; lblKasaColyakBg = AnaSayfaForm.AddNewProLabel(lytKasaColyak, 'lblKasaColyakBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblKasaColyakBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#74b9ff","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}');</div><div>&nbsp; lytIcerikColyak = AnaSayfaForm.AddNewLayout(lblKasaColyakBg, 'lytIcerikColyak');</div><div>&nbsp; lytIcerikColyak.Align = alClient;</div><div>&nbsp; lblColyakBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikColyak, 'lblColyakBaslik', 'Size Özel Analiz');</div><div>&nbsp; clComponent.SetupComponent(lblColyakBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#0984e3","TextSize":16,"TextBold":"yes"}');</div><div>&nbsp; memoColyakCevap = AnaSayfaForm.AddNewMemo(lytIcerikColyak, 'memoColyakCevap', '');</div><div>&nbsp; memoColyakCevap.Align = alClient; memoColyakCevap.Margins.Left = 10; memoColyakCevap.Margins.Right = 10; memoColyakCevap.Margins.Bottom = 10; memoColyakCevap.ReadOnly = True; memoColyakCevap.WordWrap = True;</div><div><br></div><div>&nbsp; lytKasaUrun = AnaSayfaForm.AddNewLayout(lytSonucKasa, 'lytKasaUrun');</div><div>&nbsp; lytKasaUrun.Align = alTop; lytKasaUrun.Height = 150; lytKasaUrun.Margins.Top = 15; lytKasaUrun.Margins.Left = 20; lytKasaUrun.Margins.Right = 20;</div><div>&nbsp; lblKasaUrunBg = AnaSayfaForm.AddNewProLabel(lytKasaUrun, 'lblKasaUrunBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblKasaUrunBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#fdcb6e","BorderWidth":2,"RoundHeight":15,"RoundWidth":15}');</div><div>&nbsp; lytIcerikUrun = AnaSayfaForm.AddNewLayout(lblKasaUrunBg, 'lytIcerikUrun');</div><div>&nbsp; lytIcerikUrun.Align = alClient;</div><div>&nbsp; lblUrunBaslik = AnaSayfaForm.AddNewProLabel(lytIcerikUrun, 'lblUrunBaslik', 'Ürün Bilgisi');</div><div>&nbsp; clComponent.SetupComponent(lblUrunBaslik, '{"Align":"Top","MarginTop":10,"MarginLeft":15,"Height":25,"TextColor":"#e17055","TextSize":16,"TextBold":"yes"}');</div><div>&nbsp; memoUrunCevap = AnaSayfaForm.AddNewMemo(lytIcerikUrun, 'memoUrunCevap', '');</div><div>&nbsp; memoUrunCevap.Align = alClient; memoUrunCevap.Margins.Left = 10; memoUrunCevap.Margins.Right = 10; memoUrunCevap.Margins.Bottom = 10; memoUrunCevap.ReadOnly = True; memoUrunCevap.WordWrap = True;</div><div><br></div><div>&nbsp; lytScrollBosluk = AnaSayfaForm.AddNewLayout(scrollAna, 'lytScrollBosluk');</div><div>&nbsp; lytScrollBosluk.Align = alTop;&nbsp;</div><div>&nbsp; lytScrollBosluk.Height = 110;</div><div><br></div><div>&nbsp; lytProfilKasa = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytProfilKasa');</div><div>&nbsp; lytProfilKasa.Align = alContents;</div><div>&nbsp; lytProfilKasa.Visible = False;&nbsp;</div><div><br></div><div>&nbsp; scrollProfil = AnaSayfaForm.AddNewVertScrollBox(lytProfilKasa, 'scrollProfil');</div><div>&nbsp; scrollProfil.Align = alClient;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblP_AdSoyad = AnaSayfaForm.AddNewProLabel(scrollProfil, 'lblP_AdSoyad', Clomosy.GlobalVariableString);</div><div>&nbsp; clComponent.SetupComponent(lblP_AdSoyad, '{"Align":"Top","MarginTop":30,"Height":35,"TextColor":"#2d3436","TextSize":22,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblP_Email = AnaSayfaForm.AddNewProLabel(scrollProfil, 'lblP_Email', KullaniciEmail);</div><div>&nbsp; clComponent.SetupComponent(lblP_Email, '{"Align":"Top","MarginTop":0,"Height":25,"TextColor":"#636e72","TextSize":14,"TextBold":"no","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; lytP_Tercihler = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Tercihler');</div><div>&nbsp; lytP_Tercihler.Align = alTop; lytP_Tercihler.Height = 360; lytP_Tercihler.Margins.Top = 20; lytP_Tercihler.Margins.Left = 20; lytP_Tercihler.Margins.Right = 20;</div><div><br></div><div>&nbsp; lblP_TercihKasaBg = AnaSayfaForm.AddNewProLabel(lytP_Tercihler, 'lblP_TercihKasaBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblP_TercihKasaBg, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffffff"}');</div><div><br></div><div>&nbsp; lblP_TercihBaslik = AnaSayfaForm.AddNewProLabel(lblP_TercihKasaBg, 'lblP_TercihBaslik', 'Beslenme Tercihleriniz');</div><div>&nbsp; clComponent.SetupComponent(lblP_TercihBaslik, '{"Align":"Top","MarginTop":15,"MarginBottom":10,"Height":25,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; lytP_CheckList = AnaSayfaForm.AddNewLayout(lblP_TercihKasaBg, 'lytP_CheckList');</div><div>&nbsp; lytP_CheckList.Align = alClient;</div><div><br></div><div>&nbsp; chkP_Laktoz = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Laktoz', ' Laktoz İntoleransı'); chkP_Laktoz.Align = alTop; chkP_Laktoz.Height = 30; chkP_Laktoz.Margins.Left = 20;</div><div>&nbsp; chkP_Diyabet = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Diyabet', ' Diyabet (Şeker Hastalığı)'); chkP_Diyabet.Align = alTop; chkP_Diyabet.Height = 30; chkP_Diyabet.Margins.Left = 20;</div><div>&nbsp; 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;</div><div>&nbsp; chkP_Vejetaryen = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Vejetaryen', ' Vejetaryen'); chkP_Vejetaryen.Align = alTop; chkP_Vejetaryen.Height = 30; chkP_Vejetaryen.Margins.Left = 20;</div><div>&nbsp; chkP_Vegan = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Vegan', ' Vegan'); chkP_Vegan.Align = alTop; chkP_Vegan.Height = 30; chkP_Vegan.Margins.Left = 20;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(chkP_Vegan, tbeOnClick, 'ChkP_VeganClick');&nbsp;</div><div>&nbsp; chkP_Sporcu = AnaSayfaForm.AddNewCheckBox(lytP_CheckList, 'chkP_Sporcu', ' Sporcuyum'); chkP_Sporcu.Align = alTop; chkP_Sporcu.Height = 30; chkP_Sporcu.Margins.Left = 20;</div><div>&nbsp; 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;</div><div>&nbsp;&nbsp;</div><div>&nbsp; if (Pos('Laktoz', KullaniciTercihleri) &gt; 0) { chkP_Laktoz.isChecked = True; }</div><div>&nbsp; if (Pos('Diyabet', KullaniciTercihleri) &gt; 0) { chkP_Diyabet.isChecked = True; }</div><div>&nbsp; if (Pos('Sağlıklı', KullaniciTercihleri) &gt; 0) { chkP_Saglikli.isChecked = True; }</div><div>&nbsp; if (Pos('Vejetaryen', KullaniciTercihleri) &gt; 0) { chkP_Vejetaryen.isChecked = True; }</div><div>&nbsp; if (Pos('Vegan', KullaniciTercihleri) &gt; 0) { chkP_Vegan.isChecked = True; chkP_Vejetaryen.Enabled = False; }</div><div>&nbsp; if (Pos('Sporcu', KullaniciTercihleri) &gt; 0) { chkP_Sporcu.isChecked = True; }</div><div>&nbsp; if (Pos('Çölyak', KullaniciTercihleri) &gt; 0) { chkP_Colyak.isChecked = True; }</div><div><br></div><div>&nbsp; btnP_TercihKaydet = AnaSayfaForm.AddNewProButton(lblP_TercihKasaBg, 'btnP_TercihKaydet', 'GÜNCELLE');</div><div>&nbsp; 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"}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnP_TercihKaydet, tbeOnClick, 'BtnP_TercihKaydetClick');</div><div><br></div><div>&nbsp; lytP_Sifre = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Sifre');</div><div>&nbsp; lytP_Sifre.Align = alTop; lytP_Sifre.Height = 300; lytP_Sifre.Margins.Top = 20; lytP_Sifre.Margins.Left = 20; lytP_Sifre.Margins.Right = 20;</div><div><br></div><div>&nbsp; lblP_SifreKasaBg = AnaSayfaForm.AddNewProLabel(lytP_Sifre, 'lblP_SifreKasaBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblP_SifreKasaBg, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffffff"}');</div><div><br></div><div>&nbsp; lblP_SifreBaslik = AnaSayfaForm.AddNewProLabel(lblP_SifreKasaBg, 'lblP_SifreBaslik', 'Şifre İşlemleri');</div><div>&nbsp; clComponent.SetupComponent(lblP_SifreBaslik, '{"Align":"Top","MarginTop":15,"Height":30,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; edtP_EskiSifre = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_EskiSifre', 'Mevcut Şifreniz'); edtP_EskiSifre.Password = True;</div><div>&nbsp; clComponent.SetupComponent(edtP_EskiSifre, edtSoftStil);</div><div>&nbsp; imgP_EskiSifre = AnaSayfaForm.AddNewProImage(edtP_EskiSifre, 'imgP_EskiSifre');</div><div>&nbsp; clComponent.SetupComponent(imgP_EskiSifre, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}');</div><div>&nbsp; AnaSayfaForm.SetImage(imgP_EskiSifre, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgP_EskiSifre, tbeOnClick, 'P_SifreGizleGosterEski');</div><div>&nbsp;&nbsp;</div><div>&nbsp; edtP_Sifre = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_Sifre', 'Yeni Şifre'); edtP_Sifre.Password = True;</div><div>&nbsp; clComponent.SetupComponent(edtP_Sifre, edtSoftStil);</div><div>&nbsp; imgP_Sifre = AnaSayfaForm.AddNewProImage(edtP_Sifre, 'imgP_Sifre');</div><div>&nbsp; clComponent.SetupComponent(imgP_Sifre, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}');</div><div>&nbsp; AnaSayfaForm.SetImage(imgP_Sifre, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgP_Sifre, tbeOnClick, 'P_SifreGizleGosterYeni');</div><div>&nbsp;&nbsp;</div><div>&nbsp; edtP_SifreTekrar = AnaSayfaForm.AddNewProEdit(lblP_SifreKasaBg, 'edtP_SifreTekrar', 'Yeni Şifre (Tekrar)'); edtP_SifreTekrar.Password = True;</div><div>&nbsp; clComponent.SetupComponent(edtP_SifreTekrar, edtSoftStil);</div><div>&nbsp; imgP_SifreTekrar = AnaSayfaForm.AddNewProImage(edtP_SifreTekrar, 'imgP_SifreTekrar');</div><div>&nbsp; clComponent.SetupComponent(imgP_SifreTekrar, '{"Align":"Right","Width":25,"MarginRight":10,"MarginTop":10,"MarginBottom":10}');</div><div>&nbsp; AnaSayfaForm.SetImage(imgP_SifreTekrar, '<a href="https://i.ibb.co/Z1V7rfXV/kapal-g-z.png" target="_blank" rel="nofollow">https://i.ibb.co/Z1V7rfXV/kapal-g-z.png</a>');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgP_SifreTekrar, tbeOnClick, 'P_SifreGizleGosterTekrar');</div><div><br></div><div>&nbsp; lblP_SifreKurallari = AnaSayfaForm.AddNewProLabel(lblP_SifreKasaBg, 'lblP_SifreKurallari', 'Şifre: 8-50 karakter, 1 büyük, 1 küçük, 1 rakam, 1 özel krk.');</div><div>&nbsp; clComponent.SetupComponent(lblP_SifreKurallari, '{"Align":"Top","MarginTop":5,"MarginLeft":25,"MarginRight":25,"Height":20,"TextColor":"#7f8c8d","TextSize":11,"TextBold":"no"}');</div><div><br></div><div>&nbsp; btnP_SifreKaydet = AnaSayfaForm.AddNewProButton(lblP_SifreKasaBg, 'btnP_SifreKaydet', 'ŞİFREYİ DEĞİŞTİR');</div><div>&nbsp; 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"}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnP_SifreKaydet, tbeOnClick, 'BtnP_SifreKaydetClick');</div><div><br></div><div>&nbsp; lytP_HesapSil = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_HesapSil');</div><div>&nbsp; lytP_HesapSil.Align = alTop; lytP_HesapSil.Height = 55; lytP_HesapSil.Margins.Top = 20; lytP_HesapSil.Margins.Left = 20; lytP_HesapSil.Margins.Right = 20;</div><div>&nbsp;&nbsp;</div><div>&nbsp; btnP_HesapSil = AnaSayfaForm.AddNewProButton(lytP_HesapSil, 'btnP_HesapSil', 'Hesabımı Kalıcı Olarak Sil');</div><div>&nbsp; clComponent.SetupComponent(btnP_HesapSil, '{"Align":"Client","RoundHeight":15,"RoundWidth":15,"BackgroundColor":"#ffe0e0","TextColor":"#d63031","TextSize":14,"TextBold":"yes"}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnP_HesapSil, tbeOnClick, 'BtnP_HesapSilSoru');</div><div><br></div><div>&nbsp; lytP_Bosluk = AnaSayfaForm.AddNewLayout(scrollProfil, 'lytP_Bosluk');</div><div>&nbsp; lytP_Bosluk.Align = alTop;&nbsp;</div><div>&nbsp; lytP_Bosluk.Height = 150;</div><div><br></div><div>&nbsp; lytBottomContainer = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytBottomContainer');</div><div>&nbsp; lytBottomContainer.Align = alBottom;&nbsp;</div><div>&nbsp; lytBottomContainer.Height = 100;&nbsp;</div><div><br></div><div>&nbsp; lytBottomBarBg = AnaSayfaForm.AddNewLayout(lytBottomContainer, 'lytBottomBarBg');</div><div>&nbsp; lytBottomBarBg.Align = alClient;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblBarBg = AnaSayfaForm.AddNewProLabel(lytBottomBarBg, 'lblBarBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblBarBg, '{"Align":"Client","BackgroundColor":"#ffffff","BorderColor":"#e0e0e0","BorderWidth":1.5,"RoundHeight":30,"RoundWidth":30,"MarginLeft":15,"MarginRight":15,"MarginBottom":10,"MarginTop":30}');</div><div><br></div><div>&nbsp; lytIconsLayer = AnaSayfaForm.AddNewLayout(lytBottomContainer, 'lytIconsLayer');</div><div>&nbsp; lytIconsLayer.Align = alClient;&nbsp;</div><div><br></div><div>&nbsp; lytNavLeft = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavLeft');</div><div>&nbsp; lytNavLeft.Align = alLeft;&nbsp;</div><div>&nbsp; lytNavLeft.Width = 80;</div><div>&nbsp; lytNavLeft.Margins.Left = 50;&nbsp;</div><div>&nbsp; lytNavLeft.Margins.Top = 30;&nbsp;</div><div>&nbsp; lytNavLeft.Margins.Bottom = 20;</div><div>&nbsp;&nbsp;</div><div>&nbsp; lblNavLeftBg = AnaSayfaForm.AddNewProLabel(lytNavLeft, 'lblNavLeftBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblNavLeftBg, '{"Align":"Center","Width":70,"Height":70,"BackgroundColor":"#00b894","BorderColor":"#ffffff","BorderWidth":5,"RoundHeight":35,"RoundWidth":35}');</div><div>&nbsp; lblNavLeftBg.Visible = False;&nbsp;</div><div><br></div><div>&nbsp; imgNavLeft = AnaSayfaForm.AddNewImage(lytNavLeft, 'imgNavLeft');</div><div>&nbsp; imgNavLeft.Align = alCenter;</div><div>&nbsp; imgNavLeft.Width = 40; imgNavLeft.Height = 40;&nbsp;</div><div>&nbsp; AnaSayfaForm.SetImage(imgNavLeft, '<a href="https://i.ibb.co/XZstP4XY/profil-T.png" target="_blank" rel="nofollow">https://i.ibb.co/XZstP4XY/profil-T.png</a>');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgNavLeft, tbeOnClick, 'SoldakiButonTikladi');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(lblNavLeftBg, tbeOnClick, 'SoldakiButonTikladi');</div><div>&nbsp; imgNavLeft.BringToFront;&nbsp;</div><div><br></div><div>&nbsp; lytNavMiddle = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavMiddle');</div><div>&nbsp; lytNavMiddle.Align = alCenter;&nbsp;</div><div>&nbsp; lytNavMiddle.Width = 80;&nbsp;</div><div>&nbsp; lytNavMiddle.Margins.Top = 0;&nbsp;</div><div>&nbsp; lytNavMiddle.Margins.Bottom = 30;&nbsp;</div><div><br></div><div>&nbsp; lblNavMiddleBg = AnaSayfaForm.AddNewProLabel(lytNavMiddle, 'lblNavMiddleBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblNavMiddleBg, '{"Align":"Center","Width":70,"Height":70,"BackgroundColor":"#00b894","BorderColor":"#ffffff","BorderWidth":5,"RoundHeight":35,"RoundWidth":35}');</div><div>&nbsp; lblNavMiddleBg.Visible = True;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; imgNavMiddle = AnaSayfaForm.AddNewImage(lytNavMiddle, 'imgNavMiddle');</div><div>&nbsp; imgNavMiddle.Align = alCenter;</div><div>&nbsp; imgNavMiddle.Width = 40; imgNavMiddle.Height = 40;&nbsp;</div><div>&nbsp; AnaSayfaForm.SetImage(imgNavMiddle, '<a href="https://i.ibb.co/wF4GMPzm/home-T.png" target="_blank" rel="nofollow">https://i.ibb.co/wF4GMPzm/home-T.png</a>');&nbsp;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgNavMiddle, tbeOnClick, 'OrtadakiButonTikladi');&nbsp;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(lblNavMiddleBg, tbeOnClick, 'OrtadakiButonTikladi');&nbsp;</div><div>&nbsp; imgNavMiddle.BringToFront;</div><div><br></div><div>&nbsp; lytNavRight = AnaSayfaForm.AddNewLayout(lytIconsLayer, 'lytNavRight');</div><div>&nbsp; lytNavRight.Align = alRight;&nbsp;</div><div>&nbsp; lytNavRight.Width = 80;</div><div>&nbsp; lytNavRight.Margins.Right = 50;&nbsp;</div><div>&nbsp; lytNavRight.Margins.Top = 30;&nbsp;</div><div>&nbsp; lytNavRight.Margins.Bottom = 20;</div><div><br></div><div>&nbsp; imgNavRight = AnaSayfaForm.AddNewImage(lytNavRight, 'imgNavRight');</div><div>&nbsp; imgNavRight.Align = alCenter;</div><div>&nbsp; imgNavRight.Width = 40; imgNavRight.Height = 40;</div><div>&nbsp; AnaSayfaForm.SetImage(imgNavRight, '<a href="https://i.ibb.co/LzrRzZ3t/cikis-T.png" target="_blank" rel="nofollow">https://i.ibb.co/LzrRzZ3t/cikis-T.png</a>');&nbsp;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(imgNavRight, tbeOnClick, 'BtnCikisSoru');</div><div><br></div><div>&nbsp; lytLogoutOverlay = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytLogoutOverlay');</div><div>&nbsp; lytLogoutOverlay.Align = alContents;&nbsp;</div><div>&nbsp; lytLogoutOverlay.Visible = False;</div><div><br></div><div>&nbsp; lblLogoutArkaplan = AnaSayfaForm.AddNewProLabel(lytLogoutOverlay, 'lblLogoutArkaplan', '');</div><div>&nbsp; clComponent.SetupComponent(lblLogoutArkaplan, '{"Align":"Client","BackgroundColor":"#000000"}');&nbsp;</div><div>&nbsp; lblLogoutArkaplan.Opacity = 0.6;&nbsp;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(lblLogoutArkaplan, tbeOnClick, 'BtnCikisIptal');</div><div><br></div><div>&nbsp; lytLogoutKasa = AnaSayfaForm.AddNewLayout(lytLogoutOverlay, 'lytLogoutKasa');</div><div>&nbsp; lytLogoutKasa.Align = alCenter;</div><div>&nbsp; lytLogoutKasa.Width = 320; lytLogoutKasa.Height = 160;</div><div><br></div><div>&nbsp; lblLogoutKasaBg = AnaSayfaForm.AddNewProLabel(lytLogoutKasa, 'lblLogoutKasaBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblLogoutKasaBg, '{"Align":"Client","BackgroundColor":"#ffffff","RoundHeight":20,"RoundWidth":20}');</div><div><br></div><div>&nbsp; lblLogoutSoru = AnaSayfaForm.AddNewProLabel(lblLogoutKasaBg, 'lblLogoutSoru', 'Çıkış yapmak istediğinize' + #13#10 + 'emin misiniz?');</div><div>&nbsp; clComponent.SetupComponent(lblLogoutSoru, '{"Align":"Top","MarginTop":25,"MarginLeft":10,"MarginRight":10,"Height":50,"TextColor":"#2d3436","TextSize":16,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; lytLogoutBtnKasa = AnaSayfaForm.AddNewLayout(lblLogoutKasaBg, 'lytLogoutBtnKasa');</div><div>&nbsp; lytLogoutBtnKasa.Align = alBottom; lytLogoutBtnKasa.Height = 50; lytLogoutBtnKasa.Margins.Bottom = 20; lytLogoutBtnKasa.Margins.Left = 20; lytLogoutBtnKasa.Margins.Right = 20;</div><div><br></div><div>&nbsp; btnLogoutIptal = AnaSayfaForm.AddNewProButton(lytLogoutBtnKasa, 'btnLogoutIptal', 'İptal');</div><div>&nbsp; clComponent.SetupComponent(btnLogoutIptal, '{"Align":"Left","Width":130,"Height":45,"BackgroundColor":"#f1f2f6","TextColor":"#2d3436","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnLogoutIptal, tbeOnClick, 'BtnCikisIptal');</div><div><br></div><div>&nbsp; btnLogoutEvet = AnaSayfaForm.AddNewProButton(lytLogoutBtnKasa, 'btnLogoutEvet', 'Çıkış Yap');</div><div>&nbsp; clComponent.SetupComponent(btnLogoutEvet, '{"Align":"Right","Width":130,"Height":45,"BackgroundColor":"#00b894","TextColor":"#ffffff","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnLogoutEvet, tbeOnClick, 'BtnCikisEvet');</div><div><br></div><div>&nbsp; lytHesapSilOverlay = AnaSayfaForm.AddNewLayout(AnaSayfaForm, 'lytHesapSilOverlay');</div><div>&nbsp; lytHesapSilOverlay.Align = alContents;&nbsp;</div><div>&nbsp; lytHesapSilOverlay.Visible = False;</div><div><br></div><div>&nbsp; lblHesapSilArkaplan = AnaSayfaForm.AddNewProLabel(lytHesapSilOverlay, 'lblHesapSilArkaplan', '');</div><div>&nbsp; clComponent.SetupComponent(lblHesapSilArkaplan, '{"Align":"Client","BackgroundColor":"#000000"}');&nbsp;</div><div>&nbsp; lblHesapSilArkaplan.Opacity = 0.8;&nbsp;</div><div>&nbsp; AnaSayfaForm.AddNewEvent(lblHesapSilArkaplan, tbeOnClick, 'BtnP_HesapSilIptal');</div><div><br></div><div>&nbsp; lytHesapSilKasa = AnaSayfaForm.AddNewLayout(lytHesapSilOverlay, 'lytHesapSilKasa');</div><div>&nbsp; lytHesapSilKasa.Align = alCenter;</div><div>&nbsp; lytHesapSilKasa.Width = 320; lytHesapSilKasa.Height = 180;</div><div><br></div><div>&nbsp; lblHesapSilKasaBg = AnaSayfaForm.AddNewProLabel(lytHesapSilKasa, 'lblHesapSilKasaBg', '');</div><div>&nbsp; clComponent.SetupComponent(lblHesapSilKasaBg, '{"Align":"Client","BackgroundColor":"#ffffff","RoundHeight":25,"RoundWidth":25}');</div><div><br></div><div>&nbsp; lblHesapSilSoru = AnaSayfaForm.AddNewProLabel(lblHesapSilKasaBg, 'lblHesapSilSoru', 'Hesabınızı kalıcı olarak' + #13#10 + 'silmek istediğinize emin misiniz?');</div><div>&nbsp; clComponent.SetupComponent(lblHesapSilSoru, '{"Align":"Top","MarginTop":25,"MarginLeft":10,"MarginRight":10,"Height":50,"TextColor":"#d63031","TextSize":15,"TextBold":"yes","TextHorizontalAlign":"center"}');</div><div><br></div><div>&nbsp; lytHesapSilBtnKasa = AnaSayfaForm.AddNewLayout(lblHesapSilKasaBg, 'lytHesapSilBtnKasa');</div><div>&nbsp; lytHesapSilBtnKasa.Align = alBottom; lytHesapSilBtnKasa.Height = 50; lytHesapSilBtnKasa.Margins.Bottom = 20; lytHesapSilBtnKasa.Margins.Left = 20; lytHesapSilBtnKasa.Margins.Right = 20;</div><div><br></div><div>&nbsp; btnHesapSilIptal = AnaSayfaForm.AddNewProButton(lytHesapSilBtnKasa, 'btnHesapSilIptal', 'İptal');</div><div>&nbsp; clComponent.SetupComponent(btnHesapSilIptal, '{"Align":"Left","Width":130,"Height":45,"BackgroundColor":"#f1f2f6","TextColor":"#2d3436","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnHesapSilIptal, tbeOnClick, 'BtnP_HesapSilIptal');</div><div><br></div><div>&nbsp; btnHesapSilEvet = AnaSayfaForm.AddNewProButton(lytHesapSilBtnKasa, 'btnHesapSilEvet', 'Evet, Sil');</div><div>&nbsp; clComponent.SetupComponent(btnHesapSilEvet, '{"Align":"Right","Width":130,"Height":45,"BackgroundColor":"#ff7675","TextColor":"#ffffff","TextSize":14,"TextBold":"yes","RoundHeight":10,"RoundWidth":10}');</div><div>&nbsp; AnaSayfaForm.AddNewEvent(btnHesapSilEvet, tbeOnClick, 'BtnP_HesapSilEvet');</div><div><br></div><div>&nbsp; AnaSayfaForm.Run;</div><div>}</div><a href="https://static.cloudflareinsights.com/beac&#111;n.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" target="_blank" rel="nofollow">https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516"</a> integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;439455f3e46c40b98dbd42a2f1a954d8&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous">]]>
   </description>
   <pubDate>Mon, 11 May 2026 21:26:25 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1520&amp;PID=3494#3494</guid>
  </item> 
 </channel>
</rss>