Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Clomosy ile değişken kullanımı
  Aktif Konular Aktif Konular RSS - Uygulama kapanıyor
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

Uygulama kapanıyor

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


Kayıt Tarihi: 23 Saat 18 Dakika Önce
Durum: Aktif Değil
Puanlar: 5
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı zeynepdeniz Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Uygulama kapanıyor
    Gönderim Zamanı: 10 Saat 5 Dakika Önce Saat 12:26
void FormuKapatAction;
{
  if (FormHesap <> nil) 
  { FormHesap.Close; }
  if (FormSifre <> nil) 
  { FormSifre.Close; }
  if (FormBildirim <> nil) 
  {  FormBildirim.Close; }
}

void AltSayfaBaslikEkle(AForm, ABaslik);
var
  pnl: TclProPanel;
  lblBaslik, lblGeri: TclProLabel;
{
  pnl = AForm.AddNewProPanel(AForm, 'PnlSubHeader');
  pnl.Align = alTop;
  pnl.Height = 75;
  pnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  pnl.SetclProSettings(pnl.clProSettings);

  lblGeri = AForm.AddNewProLabel(pnl, 'LblBackIcon', '‹');
  lblGeri.Align = alLeft;
  lblGeri.Width = 55;
  lblGeri.Margins.Left = 5;
  lblGeri.Margins.Top = 5;
  lblGeri.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  lblGeri.clProSettings.FontSize = 35;
  lblGeri.clProSettings.FontHorzAlign = palCenter;
  lblGeri.clProSettings.FontVertAlign = palCenter;
  lblGeri.SetclProSettings(lblGeri.clProSettings);

  AForm.AddNewEvent(lblGeri, tbeOnClick, 'FormuKapatAction');
  lblBaslik = AForm.AddNewProLabel(pnl, 'LblSubTitle', ABaslik);
  lblBaslik.Align = alClient;
  lblBaslik.Margins.Left = 2;
  lblBaslik.Margins.Top = 10;
  lblBaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  lblBaslik.clProSettings.FontSize = 17;
  lblBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  lblBaslik.clProSettings.FontHorzAlign = palLeading;
  lblBaslik.clProSettings.FontVertAlign = palCenter;
  lblBaslik.SetclProSettings(lblBaslik.clProSettings);
}

void EditGrupEkle(AForm, AParent, AEdit, ATag, ABaslik, ADeger, AHeight);
var 
  lbl: TclProLabel;
{
  lbl = AForm.AddNewProLabel(AParent, 'LblEdt' + ATag, ABaslik);
  lbl.Align = alTop;
  lbl.Height = 20;
  lbl.Margins.Top = 15;
  lbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9');
  lbl.clProSettings.FontSize = 11;
  lbl.SetclProSettings(lbl.clProSettings);

  AEdit = AForm.AddNewProEdit(AParent, 'Edt' + ATag, ADeger);
  AEdit.Align = alTop;
  AEdit.Height = AHeight;
  AEdit.Margins.Top = 5;
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB');
  AEdit.clProSettings.RoundHeight = 8;
  AEdit.clProSettings.RoundWidth = 8;
  AEdit.Margins.Left = 5;
  AEdit.Margins.Right = 5;
  AEdit.SetclProSettings(AEdit.clProSettings);
}

void WebSiteGitAction;
{
  TClomosyOS.OpenURL('https://konyaradar.netlify.app/');
}

void WhatsAppGitAction;
{
  TClomosyOS.OpenURL('+90 5416777543');
}

void MailGitAction;
{
  TClomosyOS.OpenURL('[email protected]');
}

void OncelikGuncelle;
var
  metin: String;
{
  metin = LowerCase(EditBaslik.Text + ' ' + MemoAciklama.Text);
  if (EditBaslik.Text == '' && MemoAciklama.Text == '') 
  { 
    LblOncelik.Text = 'Henüz Belirlenmedi'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#5D6D7E'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D5D8DC'); 
  }
  else if (Pos('acil', metin) > 0 || Pos('tehlike', metin) > 0 || Pos('patlak', metin) > 0 || Pos('kaza', metin) > 0) 
  { 
    LblOncelik.Text = 'Yüksek Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#C0392B'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FDEDEC'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#F5B7B1'); 
  }
  else if (Pos('boya', metin) > 0 || Pos('cicek', metin) > 0 || Pos('bilgi', metin) > 0) 
  { 
    LblOncelik.Text = 'Düşük Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#27AE60'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E9F7EF'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ABEBC6'); 
  }
  else 
  { 
    LblOncelik.Text = 'Orta Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#D35400'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FEF5E7'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#F5CBA7'); 
  }
  LblOncelik.SetclProSettings(LblOncelik.clProSettings); 
  PnlOncelik.SetclProSettings(PnlOncelik.clProSettings);
}
void FotografSec;

  Clomosy.ImageChooser(MainForm, ImgOnizleme); 
  LblFotoAcik.Visible = False; 
  ImgOnizleme.Visible = True; 

  PnlFotoBox.clProSettings.BackgroundColor = clAlphaColor.clWhite; 
  PnlFotoBox.clProSettings.BorderColor = clAlphaColor.clHexToColor('#27AE60'); 
  PnlFotoBox.SetclProSettings(PnlFotoBox.clProSettings); 
  secilenFotoBase64 = 'gercek_fotograf_secildi'; 
}

void KonumAl;
var
  konumVerisi: String;
{
  LblKonum.Text = 'Konum alınıyor...';
  LblKonum.clProSettings.FontColor = clAlphaColor.clHexToColor('#D35400');
  LblKonum.SetclProSettings(LblKonum.clProSettings);

  Clomosy.GetCurrentLocation; 
  konumVerisi = Clomosy.LocationValue;
  gpsEnlem  = clGetStringTo(konumVerisi, '|');
  gpsBoylam = clGetStringAfter(konumVerisi, '|');
  gpsEnlem  = clGetStringReplace(gpsEnlem, ',', '.');
  gpsBoylam = clGetStringReplace(gpsBoylam, ',', '.');
  
  if (gpsEnlem <> '' && gpsBoylam <> '')
  {
    LblKonum.Text = 'Konum alındı (' + Copy(gpsEnlem, 1, 6) + ', ' + Copy(gpsBoylam, 1, 6) + ')';
    LblKonum.clProSettings.FontColor = clAlphaColor.clHexToColor('#27AE60');
  }
  else
  {
    LblKonum.Text = 'Konum alınamadı. İzinleri kontrol edin.';
  }
  LblKonum.SetclProSettings(LblKonum.clProSettings);
}

void MenuRenkSifirla;
{
  BtnNavAnaSayfa.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavSikayetler.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavYeni.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavProfil.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5');

  BtnNavAnaSayfa.SetclProSettings(BtnNavAnaSayfa.clProSettings); 
  BtnNavSikayetler.SetclProSettings(BtnNavSikayetler.clProSettings); 
  BtnNavYeni.SetclProSettings(BtnNavYeni.clProSettings); 
  BtnNavProfil.SetclProSettings(BtnNavProfil.clProSettings);
}

void GoAnaSayfa;

  MenuRenkSifirla(); 
  BtnNavAnaSayfa.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavAnaSayfa.SetclProSettings(BtnNavAnaSayfa.clProSettings); 
  
  // TclUnit yapısıyla sayfayı çağırıyoruz
  uAna.UnitName = 'AnasayfaUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoSikayetler;

  MenuRenkSifirla(); 
  BtnNavSikayetler.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavSikayetler.SetclProSettings(BtnNavSikayetler.clProSettings);
  
  uAna.UnitName = 'SikayetlerimUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoYeni;

  MenuRenkSifirla(); 
  BtnNavYeni.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavYeni.SetclProSettings(BtnNavYeni.clProSettings); 
  
  uAna.UnitName = 'YeniSikayetUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoProfil;

  MenuRenkSifirla(); 
  BtnNavProfil.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavProfil.SetclProSettings(BtnNavProfil.clProSettings); 
  
  uAna.UnitName = 'ProfilUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

 void KategorileriYukle;
var
  clRest: TclRest;
  response, jsonGelen: String;
  qry: TCLJSONQuery;
{
  CmbKategori.Items.Clear;
  CmbKategori.Items.Add('Kategori Seçin ▾');
    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/kategoriler'; 
    clRest.Method = rmGet;
    clRest.Execute;
    response = clRest.Response;

    if (response <> '')
    {
      if (Pos('[', response) == 0) 
      {
        jsonGelen = '[' + response + ']';
      } 
      else 
      {
        jsonGelen = response;
      }
      qry = Clomosy.ClDataSetFromJSON(jsonGelen);
      if (qry <> nil)
      {
        if (qry.RecordCount > 0)
        {
          qry.First;
          while (not qry.EOF)
          {
            CmbKategori.Items.Add(qry.FieldByName('kategori_adi').AsString);
            qry.Next;
          }
        }
      }
    }
    CmbKategori.ItemIndex = 0;
}

void MahalleleriYukle;
var
  clRest: TclRest;
  response, jsonGelen: String;
  qry: TCLJSONQuery;
{
  CmbMahalle.Items.Clear;
  CmbMahalle.Items.Add('Mahalle Seçin ▾');
  CmbMahalle.ItemIndex = 0;
 
    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/mahalleler'; 
    clRest.Method = rmGet;
    clRest.Execute;
    response = clRest.Response;
    if (response <> '')
    {
      if (Pos('[', response) == 0) 
      {
        jsonGelen = '[' + response + ']';
      } 
      else 
      {
        jsonGelen = response;
      }
      qry = Clomosy.ClDataSetFromJSON(jsonGelen);
      if (qry.RecordCount > 0)
      {
        qry.First;
        while (not qry.EOF)

        {
          CmbMahalle.Items.Add(qry.FieldByName('mahalle_adi').AsString);
          qry.Next;
        }
      }
    }
}

void HesapGuncelleAction;

  g_AdSoyad = EdtAdSoyad.Text; 
  if (LblProfilAd <> nil) { LblProfilAd.Text = g_AdSoyad; } 
  clShowMessage('Kaydedildi.'); 
  FormHesap.Close; 
}

void BildirimKaydetAction;

  clShowMessage('Bildirim ayarları güncellendi.'); 
  FormBildirim.Close; 
}

void AddSwitchRow(AForm, AParent, ATag, ATitle, ASub, IsActive, IsLast);
var
  lytRow: TclLayout; 
  pnlSwBg, pnlSwKnob, pnlLine: TclProPanel; 
  lblT, lblS: TclProLabel; 
  activeColor, passiveColor: String;
{
  activeColor = '#FFBF00'; passiveColor = '#D1D5DB';

  lytRow = AForm.AddNewLayout(AParent, 'LytR' + ATag); lytRow.Align = alTop; lytRow.Height = 70;

  lblT = AForm.AddNewProLabel(lytRow, 'LblT' + ATag, ATitle);
  lblT.Align = alTop; lblT.Height = 25; lblT.Margins.Left = 15; lblT.Margins.Top = 12;
  lblT.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636'); lblT.clProSettings.FontSize = 14; 
  lblT.clProSettings.TextSettings.Font.Style = [fsBold]; lblT.SetclProSettings(lblT.clProSettings);

  lblS = AForm.AddNewProLabel(lytRow, 'LblS' + ATag, ASub);
  lblS.Align = alTop; lblS.Height = 20; lblS.Margins.Left = 15;
  lblS.clProSettings.FontColor = clAlphaColor.clHexToColor('#8A98A5'); lblS.clProSettings.FontSize = 11; 
  lblS.SetclProSettings(lblS.clProSettings);

  pnlSwBg = AForm.AddNewProPanel(lytRow, 'SwBg' + ATag);
  pnlSwBg.Align = alRight; pnlSwBg.Width = 46; pnlSwBg.Height = 24; pnlSwBg.Margins.Right = 15; pnlSwBg.Margins.Top = 22; pnlSwBg.Margins.Bottom = 22;

if (IsActive)
{
  pnlSwBg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(activeColor);
}
else
{
  pnlSwBg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(passiveColor);
}
  pnlSwBg.clProSettings.RoundHeight = 12; pnlSwBg.clProSettings.RoundWidth = 12; pnlSwBg.SetclProSettings(pnlSwBg.clProSettings);
  pnlSwKnob = AForm.AddNewProPanel(pnlSwBg, 'SwK' + ATag);
  pnlSwKnob.Width = 18; pnlSwKnob.Height = 18; pnlSwKnob.Margins.Top = 3;

if (IsActive)
{
  pnlSwKnob.Margins.Left = 24;
}
else
{
  pnlSwKnob.Margins.Left = 4;
}
  pnlSwKnob.clProSettings.BackgroundColor = clAlphaColor.clWhite; pnlSwKnob.clProSettings.RoundHeight = 9; 
  pnlSwKnob.clProSettings.RoundWidth = 9; pnlSwKnob.SetclProSettings(pnlSwKnob.clProSettings);

  if (not IsLast) {
    pnlLine = AForm.AddNewProPanel(AParent, 'Line' + ATag); pnlLine.Align = alTop; pnlLine.Height = 1; 
    pnlLine.Margins.Left = 15; pnlLine.Margins.Right = 15; pnlLine.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4');
    pnlLine.SetclProSettings(pnlLine.clProSettings);
  }
}

void UpdateSwitchUI(ABg, AKnob, AState);
{
  if (AState) {
    ABg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); AKnob.Margins.Left = 22; AKnob.Margins.Right = 2;
  } else {
    ABg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D5D8DC'); AKnob.Margins.Left = 2; AKnob.Margins.Right = 22;
  }
  ABg.SetclProSettings(ABg.clProSettings); AKnob.SetclProSettings(AKnob.clProSettings); 
}

void BildirimSatiriEkle(AForm, AParent, ABg, AKnob, SID, SBaslik, SAlt, SEvent, IsOn, IsLast);
var
  pnlSatir, pnlAyrac: TclProPanel; 
  lblB, lblA: TclProLabel; 
  lytText: TclLayout;
{
  pnlSatir = AForm.AddNewProPanel(AParent, 'BSat_' + SID); 
  pnlSatir.Align = alTop; pnlSatir.Height = 70;
  pnlSatir.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  pnlSatir.SetclProSettings(pnlSatir.clProSettings);

  ABg = AForm.AddNewProPanel(pnlSatir, 'BSwBg_' + SID);
  ABg.Align = alRight; ABg.Width = 48; ABg.Height = 26; 
  ABg.Margins.Right = 15; ABg.Margins.Top = 22; ABg.Margins.Bottom = 22;
  ABg.clProSettings.RoundHeight = 13; ABg.clProSettings.RoundWidth = 13;

  AKnob = AForm.AddNewProPanel(ABg, 'BSwKnob_' + SID); 
  AKnob.Align = alClient;
  AKnob.Margins.Top = 3; AKnob.Margins.Bottom = 3; 
  AKnob.clProSettings.RoundHeight = 10; AKnob.clProSettings.RoundWidth = 10;
  AKnob.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); 
  AKnob.SetclProSettings(AKnob.clProSettings);

  UpdateSwitchUI(ABg, AKnob, IsOn);

  lytText = AForm.AddNewLayout(pnlSatir, 'BLyt_' + SID); 
  lytText.Align = alClient; lytText.Margins.Left = 15; lytText.Margins.Top = 15;

  lblB = AForm.AddNewProLabel(lytText, 'BLblB_' + SID, SBaslik);
  lblB.Align = alTop; lblB.Height = 20; 
  lblB.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636');
  lblB.clProSettings.FontSize = 13; lblB.SetclProSettings(lblB.clProSettings);

  lblA = AForm.AddNewProLabel(lytText, 'BLblA_' + SID, SAlt);
  lblA.Align = alTop; lblA.Height = 18; 
  lblA.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E');
  lblA.clProSettings.FontSize = 11; lblA.SetclProSettings(lblA.clProSettings);

  if (SEvent <> '') { 
    AForm.AddNewEvent(pnlSatir, tbeOnClick, SEvent); 
    AForm.AddNewEvent(ABg, tbeOnClick, SEvent); 
  }

  if (not IsLast) {
    pnlAyrac = AForm.AddNewProPanel(AParent, 'BAy_' + SID); 
    pnlAyrac.Align = alTop; pnlAyrac.Height = 1; 
    pnlAyrac.Margins.Left = 15; pnlAyrac.Margins.Right = 15; 
    pnlAyrac.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4');
    pnlAyrac.SetclProSettings(pnlAyrac.clProSettings);
  }
}

void ToggleB4;

  g_NotifDuyuru = not g_NotifDuyuru; 
  UpdateSwitchUI(PnlSwBg4, PnlSwKnob4, g_NotifDuyuru); 
}

void ToggleB5;

  g_NotifEposta = not g_NotifEposta; 
  UpdateSwitchUI(PnlSwBg5, PnlSwKnob5, g_NotifEposta); 
}

void ToggleMevcutSifre;
{
  EdtMevcutSifre.Password = not EdtMevcutSifre.Password;
  if (EdtMevcutSifre.Password) {
    BtnGosterMevcut.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterMevcut.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterMevcut.SetclProSettings(BtnGosterMevcut.clProSettings);
}
void ToggleYeniSifre;
{
  EdtYeniSifre.Password = not EdtYeniSifre.Password;
  if (EdtYeniSifre.Password) {
    BtnGosterYeni.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterYeni.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterYeni.SetclProSettings(BtnGosterYeni.clProSettings);
}

void ToggleYeniTekrar;
{
  EdtYeniSifreTekrar.Password = not EdtYeniSifreTekrar.Password;
  if (EdtYeniSifreTekrar.Password) {
    BtnGosterYeniTekrar.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterYeniTekrar.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterYeniTekrar.SetclProSettings(BtnGosterYeniTekrar.clProSettings);
}

void ToggleLoginSifre;
{
  EditSifre.Password = not EditSifre.Password;
  if (EditSifre.Password) {
    BtnGosterLogin.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterLogin.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterLogin.SetclProSettings(BtnGosterLogin.clProSettings);
}

void ToggleKayitSifre;
{
  EdtSifre.Password = not EdtSifre.Password;
  if (EdtSifre.Password) {
    BtnGosterSifre.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterSifre.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterSifre.SetclProSettings(BtnGosterSifre.clProSettings);
}

void ToggleKayitSifre2;
{
  EdtSifre2.Password = not EdtSifre2.Password;
  if (EdtSifre2.Password) {
    BtnGosterSifre2.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterSifre2.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterSifre2.SetclProSettings(BtnGosterSifre2.clProSettings);
}

void ToggleMevcutSifreSafe;

  if (EdtMevcutSifre <> nil) EdtMevcutSifre.Password = not EdtMevcutSifre.Password; 
}

void ToggleYeniSifreSafe;

  if (EdtYeniSifre <> nil) EdtYeniSifre.Password = not EdtYeniSifre.Password; 
}

void ToggleYeniTekrarSafe;

  if (EdtYeniSifreTekrar <> nil) EdtYeniSifreTekrar.Password = not EdtYeniSifreTekrar.Password; 
}

void SifreEditGrupEkle(AForm, AParent, AEdit, ABtn, ABaslik, ATag, AToggleOlay);
var
  lbl: TclProLabel; 
  pnlEdit: TclProPanel;
{
  lbl = AForm.AddNewProLabel(AParent, 'LblEdt' + ATag, ABaslik);
  lbl.Align = alTop; lbl.Height = 20; lbl.Margins.Top = 15;
  lbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9');
  lbl.clProSettings.FontSize = 11; lbl.SetclProSettings(lbl.clProSettings);

  pnlEdit = AForm.AddNewProPanel(AParent, 'PnlEdt' + ATag);
  pnlEdit.Align = alTop; pnlEdit.Height = 45; pnlEdit.Margins.Top = 5;
  pnlEdit.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  pnlEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB');
  pnlEdit.clProSettings.BorderWidth = 1; pnlEdit.clProSettings.RoundHeight = 8; 
  pnlEdit.clProSettings.RoundWidth = 8; pnlEdit.SetclProSettings(pnlEdit.clProSettings);

  ABtn = AForm.AddNewProButton(pnlEdit, 'BtnGoster' + ATag, '👁');
  ABtn.Align = alRight; ABtn.Width = 40; 
  ABtn.clProSettings.BackgroundColor = clAlphaColor.clNull;
  ABtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); ABtn.clProSettings.FontSize = 16;
  ABtn.SetclProSettings(ABtn.clProSettings);
  AForm.AddNewEvent(ABtn, tbeOnClick, AToggleOlay);

  AEdit = AForm.AddNewProEdit(pnlEdit, 'Edt' + ATag, '');
  AEdit.Align = alClient; AEdit.Margins.Left = 10; AEdit.Margins.Right = 5;
  AEdit.Password = True; AEdit.clProSettings.BackgroundColor = clAlphaColor.clNull;
  AEdit.clProSettings.BorderColor = clAlphaColor.clNull; AEdit.SetclProSettings(AEdit.clProSettings);

}

void SifreGuncelleAction;
var
  clRest: TclRest; 
  jsonBody, response: String;
{
  if (EdtMevcutSifre.Text == '' || EdtYeniSifre.Text == '') { ShowMessage('Lütfen tüm alanları doldurunuz.');  }
  if (EdtYeniSifre.Text <> EdtYeniSifreTekrar.Text) { ShowMessage('Yeni şifreler birbiriyle eşleşmiyor.');  }

    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/kullanici-guncelle/' + IntToStr(g_KullaniciId);
    clRest.Accept = 'application/json'; clRest.Method = rmPut;
    jsonBody = '{"ad_soyad": "' + g_AdSoyad + '", "tc_no": "' + g_KullaniciTc + '", "telefon": "' + g_Telefon + '", "eposta": "' + g_Email + '", "sifre": "' + EdtYeniSifre.Text + '"}';

    clRest.AddBody(jsonBody, 'application/json'); clRest.Execute; response = clRest.Response;

    if (response <> '' && Pos('başarıyla', response) > 0) {
      ShowMessage('Şifreniz güncellendi.');
      if (FormSifre <> nil) FormSifre.Close;
    } else { ShowMessage('Hata: ' + response); }
  } 

void MenuSatiriEkle(pGrup, sID, sBaslik, sOlay, isLast);
var
  pSatir, pAyrac: TclProPanel; 
  lblMetin, lblOk: TclProLabel;
{
  pSatir = MainForm.AddNewProPanel(pGrup, 'PS_' + sID); 
  pSatir.Align = alTop; pSatir.Height = 50; pSatir.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  pSatir.SetclProSettings(pSatir.clProSettings);

  lblMetin = MainForm.AddNewProLabel(pSatir, 'LblM_' + sID, sBaslik);
  lblMetin.Align = alLeft; lblMetin.Width = 250; lblMetin.Margins.Left = 15;
  lblMetin.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636'); lblMetin.clProSettings.FontSize = 14; 
  lblMetin.clProSettings.FontHorzAlign = palLeading; lblMetin.clProSettings.FontVertAlign = palCenter; 
  lblMetin.SetclProSettings(lblMetin.clProSettings);

  lblOk = MainForm.AddNewProLabel(pSatir, 'OK_' + sID, '›');
  lblOk.Align = alRight; lblOk.Width = 30; lblOk.Margins.Right = 10;
  lblOk.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9'); lblOk.clProSettings.FontSize = 18;
  lblOk.clProSettings.FontHorzAlign = palCenter; lblOk.clProSettings.FontVertAlign = palCenter; 
  lblOk.SetclProSettings(lblOk.clProSettings);

  if (sOlay <> '') { 
    MainForm.AddNewEvent(pSatir, tbeOnClick, sOlay); 
    MainForm.AddNewEvent(lblMetin, tbeOnClick, sOlay); 
    MainForm.AddNewEvent(lblOk, tbeOnClick, sOlay); 
  }

  if (not isLast) {
    pAyrac = MainForm.AddNewProPanel(pGrup, 'AY_' + sID); 
    pAyrac.Align = alTop; pAyrac.Height = 1; pAyrac.Margins.Left = 15;
    pAyrac.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4'); 
    pAyrac.SetclProSettings(pAyrac.clProSettings);
  }
}

void GirisEkraniniCiz;
var
  ScrollLogin: TclVertScrollBox;
  PnlHeroLogin, PnlKartLogin: TclProPanel;
  ImgLogo: TclImage;
  LblAppAdi, LblAppAlt, LblEmail, LblSifre: TclProLabel;
  BtnGosterLogin, BtnGiris, BtnKayitOl: TclProButton;
  LytBodyLogin: TclLayout;
{
  MainForm.SetFormColor('#414446', '', clGNone); PnlBottomMenu.Visible = False; LytMainContent.DeleteChildren;
  ScrollLogin = MainForm.AddNewVertScrollBox(LytMainContent, 'ScrollLogin'); ScrollLogin.Align = alClient; 
  PnlHeroLogin = MainForm.AddNewProPanel(ScrollLogin, 'PnlHeroLogin'); PnlHeroLogin.Align = alTop; PnlHeroLogin.Height = 340; PnlHeroLogin.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446'); PnlHeroLogin.SetclProSettings(PnlHeroLogin.clProSettings);
  ImgLogo = MainForm.AddNewImage(PnlHeroLogin, 'ImgLogo'); ImgLogo.Align = alTop; ImgLogo.Margins.Top = 80; ImgLogo.Height = 100;
  MainForm.SetImage(ImgLogo, 'https://upload.wikimedia.org/wikipedia/tr/2/2c/Konya_B%C3%BCy%C3%BCk%C5%9Fehir_Belediyesi_logosu.png');

  LblAppAdi = MainForm.AddNewProLabel(PnlHeroLogin, 'LblAppAdi', 'Belediye Çözüm'); LblAppAdi.Align = alTop; LblAppAdi.Height = 40; LblAppAdi.Margins.Top = 15; LblAppAdi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); LblAppAdi.clProSettings.FontSize = 28; LblAppAdi.clProSettings.FontHorzAlign = palCenter; LblAppAdi.clProSettings.TextSettings.Font.Style = [fsBold]; LblAppAdi.SetclProSettings(LblAppAdi.clProSettings);
  LblAppAlt = MainForm.AddNewProLabel(PnlHeroLogin, 'LblAppAlt', 'Konya Büyükşehir Belediyesi'); LblAppAlt.Align = alTop; LblAppAlt.Height = 30; LblAppAlt.clProSettings.FontColor = clAlphaColor.clHexToColor('#E5E7EB'); LblAppAlt.clProSettings.FontSize = 14; LblAppAlt.clProSettings.FontHorzAlign = palCenter; LblAppAlt.SetclProSettings(LblAppAlt.clProSettings);
  LytBodyLogin = MainForm.AddNewLayout(ScrollLogin, 'LytBodyLogin'); LytBodyLogin.Align = alTop; LytBodyLogin.Height = 310; LytBodyLogin.Margins.Left = 30; LytBodyLogin.Margins.Right = 30; LytBodyLogin.Margins.Top = -20; 
  PnlKartLogin = MainForm.AddNewProPanel(LytBodyLogin, 'PnlKartLogin'); PnlKartLogin.Align = alClient; PnlKartLogin.clProSettings.BackgroundColor = clAlphaColor.clWhite; PnlKartLogin.clProSettings.RoundHeight = 10; PnlKartLogin.clProSettings.RoundWidth = 10; PnlKartLogin.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB'); PnlKartLogin.clProSettings.BorderWidth = 1; PnlKartLogin.SetclProSettings(PnlKartLogin.clProSettings);
  LblEmail = MainForm.AddNewProLabel(PnlKartLogin, 'LblEmail', 'TC Kimlik No / E-posta'); LblEmail.Align = alTop; LblEmail.Height = 25; LblEmail.Margins.Top = 20; LblEmail.Margins.Left = 20; LblEmail.clProSettings.FontColor = clAlphaColor.clHexToColor('#4B5563'); LblEmail.clProSettings.FontSize = 13; LblEmail.SetclProSettings(LblEmail.clProSettings);
  EditEmail = MainForm.AddNewProEdit(PnlKartLogin, 'EditEmail', '[email protected]'); EditEmail.Align = alTop; EditEmail.Height = 45; EditEmail.Margins.Top = 5; EditEmail.Margins.Left = 20; EditEmail.Margins.Right = 20; EditEmail.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); EditEmail.clProSettings.BorderWidth = 1; EditEmail.clProSettings.RoundHeight = 5; EditEmail.SetclProSettings(EditEmail.clProSettings);
  LblSifre = MainForm.AddNewProLabel(PnlKartLogin, 'LblSifre', 'Şifre'); LblSifre.Align = alTop; LblSifre.Height = 25; LblSifre.Margins.Top = 15; LblSifre.Margins.Left = 20; LblSifre.clProSettings.FontColor = clAlphaColor.clHexToColor('#4B5563'); LblSifre.clProSettings.FontSize = 13; LblSifre.SetclProSettings(LblSifre.clProSettings); 
  EditSifre = MainForm.AddNewProEdit(PnlKartLogin, 'EditSifre', '******'); EditSifre.Align = alTop; EditSifre.Height = 45; EditSifre.Margins.Top = 5; EditSifre.Margins.Left = 20; EditSifre.Margins.Right = 20; EditSifre.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); EditSifre.clProSettings.BorderWidth = 1; EditSifre.clProSettings.RoundHeight = 5; EditSifre.Password = True; EditSifre.SetclProSettings(EditSifre.clProSettings);
  BtnGosterLogin = MainForm.AddNewProButton(EditSifre, 'BtnGosterLogin', '👁'); BtnGosterLogin.Align = alRight; BtnGosterLogin.Width = 40; BtnGosterLogin.clProSettings.BackgroundColor = clAlphaColor.clNull; BtnGosterLogin.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); BtnGosterLogin.clProSettings.FontSize = 16; BtnGosterLogin.SetclProSettings(BtnGosterLogin.clProSettings);
  MainForm.AddNewEvent(BtnGosterLogin, tbeOnClick, 'ToggleLoginSifre');
  BtnGiris = MainForm.AddNewProButton(PnlKartLogin, 'BtnGiris', 'Giriş Yap'); BtnGiris.Align = alTop; BtnGiris.Height = 55; BtnGiris.Margins.Top = 35; BtnGiris.Margins.Left = 20; BtnGiris.Margins.Right = 20; BtnGiris.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); BtnGiris.clProSettings.FontColor = clAlphaColor.clBlack; BtnGiris.clProSettings.RoundHeight = 8; BtnGiris.clProSettings.FontSize = 16; BtnGiris.clProSettings.TextSettings.Font.Style = [fsBold]; BtnGiris.SetclProSettings(BtnGiris.clProSettings);
  MainForm.AddNewEvent(BtnGiris, tbeOnClick, 'GirisYapAction');
  BtnKayitOl = MainForm.AddNewProButton(ScrollLogin, 'BtnKayitOl', 'Hesabınız yok mu? Kayıt Ol'); BtnKayitOl.Align = alTop; BtnKayitOl.Height = 40; BtnKayitOl.Margins.Top = 10; BtnKayitOl.clProSettings.BackgroundColor = clAlphaColor.clNull; BtnKayitOl.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); BtnKayitOl.clProSettings.FontSize = 13; BtnKayitOl.clProSettings.FontHorzAlign = palCenter; BtnKayitOl.SetclProSettings(BtnKayitOl.clProSettings);
  MainForm.AddNewEvent(BtnKayitOl, tbeOnClick, 'KayitOlEkrani');
}

 void KayitOlKontrol;
var
  clRest: TclRest;
  jsonBody, response: String;
{
  if (EdtAd.Text == '' || EdtSoyad.Text == '') { ShowMessage('Lütfen Ad ve Soyad alanlarını doldurunuz.'); Exit; }
  if (EdtTC.Text == '') { ShowMessage('Lütfen TC Kimlik numaranızı giriniz.'); Exit; }
  if (EdtMail.Text == '') { ShowMessage('Lütfen E-posta adresinizi giriniz.'); Exit; }
  if (EdtTel.Text == '') { ShowMessage('Lütfen Telefon numaranızı giriniz.'); Exit; }
  if (CmbMahalle.ItemIndex < 0) { ShowMessage('Lütfen geçerli bir mahalle seçiniz.'); Exit; }
  if (EdtSifre.Text == '' || EdtSifre2.Text == '') { ShowMessage('Lütfen şifre alanlarını doldurunuz.'); Exit; }
  if (EdtSifre.Text <> EdtSifre2.Text) { ShowMessage('Girdiğiniz şifreler birbiriyle eşleşmiyor.'); Exit; }
  if (not ChkKVKK.IsChecked) { ShowMessage('Devam etmek için KVKK Aydınlatma Metnini onaylamanız gerekmektedir.'); Exit; }

BtnKayit.Enabled = False;
clRest = TclRest.Create;
clRest.BaseURL = g_ApiUrl + '/api/kayit';
clRest.Accept = 'application/json';
clRest.Method = rmPost;

    jsonBody = '{"ad_soyad": "' + EdtAd.Text + ' ' + EdtSoyad.Text + '", "tc_no": "' + EdtTC.Text + '", "mahalle_id": ' + IntToStr(CmbMahalle.ItemIndex + 1) + ', "telefon": "' + EdtTel.Text + '", "eposta": "' + EdtMail.Text + '", "sifre": "' + EdtSifre.Text + '"}';
   
    clRest.AddBody(jsonBody, 'application/json');
    clRest.Execute;
    response = clRest.Response;
   
    if (response <> '') {
      if (Pos('başarıyla', response) > 0) {
        ShowMessage('Kayıt Başarılı!');
        // GirisEkraniniCiz();
      }
      else {
        ShowMessage(response);
      }
    } else {
      ShowMessage('Sunucudan boş yanıt döndü veya bağlantı kurulamadı.');
    }
  BtnKayit.Enabled = True;
}


void KayitOlEkrani;
var
  ScrollKayit: TclVertScrollBox;
  PnlHero, PnlForm, LytAdSoyad, LytMahalleKapsayici, LytKVKK: TclProPanel;
  ImgLogo: TclImage;
  LblTitle, LblAd, LblSoyad, LblTC, LblMail, LblTel, LblMah, LblSifre, LblSifre2, LblKVKKDuz, LblFooterYazi: TclProLabel;
  EdtAd, EdtSoyad, EdtTC, EdtMail, EdtTel, EdtSifre, EdtSifre2: TclProEdit;
  BtnGosterSifre, BtnGosterSifre2, BtnKVKKLink, BtnKayit, BtnGirisYonlendir: TclProButton;
{

  MainForm.SetFormColor('#414446', '', clGNone); 
  LytMainContent.DeleteChildren();
  ScrollKayit = MainForm.AddNewVertScrollBox(LytMainContent, 'ScrollKayit'); 
  ScrollKayit.Align = alClient;

  PnlHero = MainForm.AddNewProPanel(ScrollKayit, 'PnlHero');
  PnlHero.Align = alTop; PnlHero.Height = 180; 
  PnlHero.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  PnlHero.SetclProSettings(PnlHero.clProSettings); 

  ImgLogo = MainForm.AddNewImage(PnlHero, 'ImgLogo');
  ImgLogo.Align = alTop; ImgLogo.Height = 70; ImgLogo.Margins.Top = 20;
  MainForm.SetImage(ImgLogo, 'https://upload.wikimedia.org/wikipedia/tr/2/2c/Konya_B%C3%BCy%C3%BCk%C5%9Fehir_Belediyesi_logosu.png');

  LblTitle = MainForm.AddNewProLabel(PnlHero, 'LblTitle', 'Belediye Çözüm');
  LblTitle.Align = alTop; LblTitle.Height = 30; LblTitle.Margins.Top = 15; 
  LblTitle.clProSettings.FontColor = clAlphaColor.clWhite;
  LblTitle.clProSettings.FontSize = 22; LblTitle.clProSettings.FontHorzAlign = palCenter;
  LblTitle.clProSettings.TextSettings.Font.Style = [fsBold]; 
  LblTitle.SetclProSettings(LblTitle.clProSettings);

  PnlForm = MainForm.AddNewProPanel(ScrollKayit, 'PnlForm');
  PnlForm.Align = alTop; PnlForm.Height = 680; 
  PnlForm.Margins.Left = 20; PnlForm.Margins.Right = 20; PnlForm.Margins.Top = 10;
  PnlForm.clProSettings.BackgroundColor = clAlphaColor.clWhite; 
  PnlForm.clProSettings.RoundHeight = 15; PnlForm.clProSettings.RoundWidth = 15;
  PnlForm.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB'); 
  PnlForm.clProSettings.BorderWidth = 1; 
  PnlForm.SetclProSettings(PnlForm.clProSettings);

  LytAdSoyad = MainForm.AddNewProPanel(PnlForm, 'LytAdSoyad');
  LytAdSoyad.Align = alTop; LytAdSoyad.Height = 75; LytAdSoyad.Margins.Top = 25;
  LytAdSoyad.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytAdSoyad.SetclProSettings(LytAdSoyad.clProSettings);

  LblAd = MainForm.AddNewProLabel(LytAdSoyad, 'LblAd', 'Ad');
  LblAd.Align = alNone; LblAd.Position.X = 15; LblAd.Position.Y = 5; 
  LblAd.clProSettings.FontSize = 11; LblAd.SetclProSettings(LblAd.clProSettings);

  EdtAd = MainForm.AddNewProEdit(LytAdSoyad, 'EdtAd', '');
  EdtAd.Align = alNone; EdtAd.Width = 140; EdtAd.Height = 40; 
  EdtAd.Position.X = 15; EdtAd.Position.Y = 25;
  EdtAd.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtAd.clProSettings.BorderWidth = 1; EdtAd.clProSettings.RoundHeight = 5; 
  EdtAd.SetclProSettings(EdtAd.clProSettings);

  LblSoyad = MainForm.AddNewProLabel(LytAdSoyad, 'LblSoyad', 'Soyad');
  LblSoyad.Align = alNone; LblSoyad.Position.X = 165; LblSoyad.Position.Y = 5; 
  LblSoyad.clProSettings.FontSize = 11; LblSoyad.SetclProSettings(LblSoyad.clProSettings);

  EdtSoyad = MainForm.AddNewProEdit(LytAdSoyad, 'EdtSoyad', '');
  EdtSoyad.Align = alNone; EdtSoyad.Width = 140; EdtSoyad.Height = 40; 
  EdtSoyad.Position.X = 165; EdtSoyad.Position.Y = 25;
  EdtSoyad.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSoyad.clProSettings.BorderWidth = 1; EdtSoyad.clProSettings.RoundHeight = 5; 
  EdtSoyad.SetclProSettings(EdtSoyad.clProSettings);

  LblTC = MainForm.AddNewProLabel(PnlForm, 'LblTC', 'TC Kimlik No');
  LblTC.Align = alTop; LblTC.Margins.Left = 15; LblTC.Margins.Top = 10; 
  LblTC.clProSettings.FontSize = 11; LblTC.SetclProSettings(LblTC.clProSettings);

  EdtTC = MainForm.AddNewProEdit(PnlForm, 'EdtTC', '');
  EdtTC.Align = alTop; EdtTC.Height = 40; EdtTC.Margins.Left = 15; EdtTC.Margins.Right = 15;
  EdtTC.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtTC.clProSettings.BorderWidth = 1; EdtTC.SetclProSettings(EdtTC.clProSettings);

  LblMail = MainForm.AddNewProLabel(PnlForm, 'LblMail', 'E-Posta');
  LblMail.Align = alTop; LblMail.Margins.Left = 15; LblMail.Margins.Top = 10; 
  LblMail.clProSettings.FontSize = 11; LblMail.SetclProSettings(LblMail.clProSettings);

  EdtMail = MainForm.AddNewProEdit(PnlForm, 'EdtMail', '');
  EdtMail.Align = alTop; EdtMail.Height = 40; EdtMail.Margins.Left = 15; EdtMail.Margins.Right = 15;
  EdtMail.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtMail.clProSettings.BorderWidth = 1; EdtMail.SetclProSettings(EdtMail.clProSettings);

  LblTel = MainForm.AddNewProLabel(PnlForm, 'LblTel', 'Telefon');
  LblTel.Align = alTop; LblTel.Margins.Left = 15; LblTel.Margins.Top = 10; 
  LblTel.clProSettings.FontSize = 11; LblTel.SetclProSettings(LblTel.clProSettings);

  EdtTel = MainForm.AddNewProEdit(PnlForm, 'EdtTel', '');
  EdtTel.Align = alTop; EdtTel.Height = 40; EdtTel.Margins.Left = 15; EdtTel.Margins.Right = 15;
  EdtTel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtTel.clProSettings.BorderWidth = 1; EdtTel.SetclProSettings(EdtTel.clProSettings);

  LytMahalleKapsayici = MainForm.AddNewProPanel(PnlForm, 'LytMahalleKapsayici');
  LytMahalleKapsayici.Align = alTop; LytMahalleKapsayici.Margins.Top = 15; LytMahalleKapsayici.Height = 80;
  LytMahalleKapsayici.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytMahalleKapsayici.SetclProSettings(LytMahalleKapsayici.clProSettings);

  LblMah = MainForm.AddNewProLabel(LytMahalleKapsayici, 'LblMah', 'Mahalle');
  LblMah.Align = alTop; LblMah.Margins.Left = 15; 
  LblMah.clProSettings.FontSize = 11; LblMah.SetclProSettings(LblMah.clProSettings);

  CmbMahalle = MainForm.AddNewComboBox(LytMahalleKapsayici, 'CmbMahalleKayit');
  CmbMahalle.Align = alTop; CmbMahalle.Height = 40; 
  CmbMahalle.Margins.Left = 15; CmbMahalle.Margins.Right = 15; CmbMahalle.Margins.Top = 5;
  CmbMahalle.AddItem('Seçiniz', '0'); CmbMahalle.ItemIndex = 0; 
  MahalleleriYukle();

  LblSifre = MainForm.AddNewProLabel(PnlForm, 'LblSifre', 'Şifre');
  LblSifre.Align = alTop; LblSifre.Margins.Left = 15; LblSifre.Margins.Top = 10; 
  LblSifre.clProSettings.FontSize = 11; LblSifre.SetclProSettings(LblSifre.clProSettings);

  EdtSifre = MainForm.AddNewProEdit(PnlForm, 'EdtSifre', '');
  EdtSifre.Align = alTop; EdtSifre.Height = 40; EdtSifre.Margins.Left = 15; EdtSifre.Margins.Right = 15; EdtSifre.Password = True;
  EdtSifre.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSifre.clProSettings.BorderWidth = 1; EdtSifre.SetclProSettings(EdtSifre.clProSettings);

  BtnGosterSifre = MainForm.AddNewProButton(EdtSifre, 'BtnGosterSifre', '👁');
  BtnGosterSifre.Align = alRight; BtnGosterSifre.Width = 35; 
  BtnGosterSifre.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGosterSifre.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); 
  BtnGosterSifre.SetclProSettings(BtnGosterSifre.clProSettings);
  MainForm.AddNewEvent(BtnGosterSifre, tbeOnClick, 'ToggleKayitSifre');

  LblSifre2 = MainForm.AddNewProLabel(PnlForm,'LblSifre2', 'Şifre Tekrar');
  LblSifre2.Align = alTop; LblSifre2.Margins.Left = 15; LblSifre2.Margins.Top = 10; 
  LblSifre2.clProSettings.FontSize = 11; LblSifre2.SetclProSettings(LblSifre2.clProSettings);

  EdtSifre2 = MainForm.AddNewProEdit(PnlForm, 'EdtSifre2', '');
  EdtSifre2.Align = alTop; EdtSifre2.Height = 40; EdtSifre2.Margins.Left = 15; EdtSifre2.Margins.Right = 15; EdtSifre2.Password = True;
  EdtSifre2.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSifre2.clProSettings.BorderWidth = 1; EdtSifre2.SetclProSettings(EdtSifre2.clProSettings);

  BtnGosterSifre2 = MainForm.AddNewProButton(EdtSifre2, 'BtnGosterSifre2', '👁');
  BtnGosterSifre2.Align = alRight; BtnGosterSifre2.Width = 35; 
  BtnGosterSifre2.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGosterSifre2.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); 
  BtnGosterSifre2.SetclProSettings(BtnGosterSifre2.clProSettings);
  MainForm.AddNewEvent(BtnGosterSifre2, tbeOnClick, 'ToggleKayitSifre2');

  LytKVKK = MainForm.AddNewProPanel(PnlForm, 'LytKVKK');
  LytKVKK.Align = alTop; LytKVKK.Height = 40; LytKVKK.Margins.Top = 10; 
  LytKVKK.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytKVKK.SetclProSettings(LytKVKK.clProSettings);

  ChkKVKK = MainForm.AddNewCheckBox(LytKVKK, 'ChkKVKK', '');
  ChkKVKK.Align = alNone; ChkKVKK.Width = 25; ChkKVKK.Height = 25; 
  ChkKVKK.Position.X = 15; ChkKVKK.Position.Y = 10;

  BtnKVKKLink = MainForm.AddNewProButton(LytKVKK, 'BtnKVKKLink', 'KVKK Aydınlatma Metnini');
  BtnKVKKLink.Align = alNone; BtnKVKKLink.Width = 115; BtnKVKKLink.Height = 40; 
  BtnKVKKLink.Position.X = 45; BtnKVKKLink.Position.Y = 2;
  BtnKVKKLink.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  BtnKVKKLink.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  BtnKVKKLink.clProSettings.FontSize = 10; BtnKVKKLink.clProSettings.FontHorzAlign = alLeft; 
  BtnKVKKLink.SetclProSettings(BtnKVKKLink.clProSettings);
  MainForm.AddNewEvent(BtnKVKKLink, tbeOnClick, 'ShowKVKKMessage');

  LblKVKKDuz = MainForm.AddNewProLabel(LytKVKK, 'LblKVKKDuz', 'okudum ve onaylıyorum.');
  LblKVKKDuz.Align = alNone; LblKVKKDuz.Width = 140; LblKVKKDuz.Height = 40; 
  LblKVKKDuz.Position.X = 130; LblKVKKDuz.Position.Y = 16;
  LblKVKKDuz.clProSettings.FontSize = 10; LblKVKKDuz.clProSettings.FontColor = clAlphaColor.clGray; 
  LblKVKKDuz.clProSettings.FontHorzAlign = alLeft; LblKVKKDuz.SetclProSettings(LblKVKKDuz.clProSettings);

  BtnKayit = MainForm.AddNewProButton(PnlForm, 'BtnKayit', 'Hesap Oluştur');
  BtnKayit.Align = alTop; BtnKayit.Height = 50; 
  BtnKayit.Margins.Top = 10; BtnKayit.Margins.Left = 15; BtnKayit.Margins.Right = 15;
  BtnKayit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnKayit.clProSettings.FontColor = clAlphaColor.clBlack;
  BtnKayit.clProSettings.RoundHeight = 10; BtnKayit.clProSettings.TextSettings.Font.Style = [fsBold]; 
  BtnKayit.SetclProSettings(BtnKayit.clProSettings);

  LblFooterYazi = MainForm.AddNewProLabel(ScrollKayit, 'LblFooterYazi', 'Zaten hesabın var mı?');
  LblFooterYazi.Align = alTop; LblFooterYazi.Height = 20; LblFooterYazi.Margins.Top = 15; 
  LblFooterYazi.clProSettings.FontHorzAlign = palCenter; LblFooterYazi.clProSettings.FontColor = clAlphaColor.clGray; 
  LblFooterYazi.SetclProSettings(LblFooterYazi.clProSettings);

  BtnGirisYonlendir = MainForm.AddNewProButton(ScrollKayit, 'BtnGirisYonlendir', 'Giriş Yap');
  BtnGirisYonlendir.Align = alTop; BtnGirisYonlendir.Height = 55; BtnGirisYonlendir.Margins.Bottom = 30; 
  BtnGirisYonlendir.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGirisYonlendir.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnGirisYonlendir.clProSettings.FontSize = 16;
  BtnGirisYonlendir.clProSettings.TextSettings.Font.Style = [fsBold]; 
  BtnGirisYonlendir.SetclProSettings(BtnGirisYonlendir.clProSettings);
  MainForm.AddNewEvent(BtnGirisYonlendir, tbeOnClick, 'GirisEkraniniCiz');
  MainForm.AddNewEvent(BtnKayit, tbeOnClick, 'KayitOlKontrol');
}

void ShowKVKKMessage;
{
  ShowMessage('Bu aydınlatma metni...');
}

void GirisYapAction;
var
  clRest: TclRest; 
  jsonGelen, responseBody, strKullanici: String; 
  qryKullanici: TCLJSONQuery; 
  tempMahId: Integer;
  posKullanici: Integer;
{
  if ((EditEmail.Text == '') || (EditSifre.Text == '')) {
    ShowMessage('Lütfen e-posta ve şifrenizi girin.');
    Exit;
  }
  BtnGiris.Enabled = False; 
  BtnGiris.Text = 'Giriş Yapılıyor...';
    clRest = TclRest.Create; 
    clRest.BaseURL = g_ApiUrl + '/api/giris';
    clRest.Accept = 'application/json'; 
    clRest.Method = rmPost;
    responseBody = '{"eposta": "' + EditEmail.Text + '", "sifre": "' + EditSifre.Text + '"}';
    clRest.AddBody(responseBody, 'application/json'); 
    clRest.Execute; 
    jsonGelen = clRest.Response;
    posKullanici = Pos('"kullanici":', jsonGelen);
    if ((jsonGelen <> '') && (posKullanici > 0)) 
    {
      strKullanici = Copy(jsonGelen, posKullanici + 12, Length(jsonGelen)); 
      strKullanici = Copy(strKullanici, 1, Pos('}', strKullanici)); 
      if (strKullanici <> '') 
      {
          strKullanici = '[' + strKullanici + ']'; 
          qryKullanici = Clomosy.ClDataSetFromJSON(strKullanici);

          if (qryKullanici.RecordCount > 0) 
          {
            g_KullaniciId = qryKullanici.FieldByName('id').AsInteger;
            g_AdSoyad = qryKullanici.FieldByName('ad_soyad').AsString;
            g_Email = qryKullanici.FieldByName('eposta').AsString;
            g_KullaniciTc = qryKullanici.FieldByName('tc_no').AsString;
            g_Telefon = qryKullanici.FieldByName('telefon').AsString;

            if (CmbMahalle <> nil) 
            {
              tempMahId = qryKullanici.FieldByName('mahalle_id').AsInteger;
              if (tempMahId > 0) 
              {
                 g_MahalleAdi = 'Mahalle Kayıtlı'; 
              }
            }

            MainForm.SetFormColor('#F4F6F8', '', clGNone); 
            PnlBottomMenu.Visible = True; 
            GoAnaSayfa();
          }
      }
    } 
    else 
    { 
      ShowMessage('Giriş başarısız. Bilgilerinizi kontrol edin.'); 
    }

  BtnGiris.Enabled = True; 
  BtnGiris.Text = 'Giriş Yap';
}

void CikisYap;
{
  ShowMessage('Oturum kapatıldı.');
  GirisEkraniniCiz();
}

{
  g_ApiUrl = 'https://belediye-backend-qc7f.onrender.com'; 
  MainForm = TclForm.Create(Self); MainForm.LytTopBar.Visible = False; MainForm.BtnGoBack.Visible = False; MainForm.BtnFormMenu.Visible = False; 
  CmbMahalle = MainForm.AddNewComboBox(MainForm, 'CmbMahalle'); CmbMahalle.Visible = False;
  MahalleleriYukle(); 
  LytMainContent = MainForm.AddNewLayout(MainForm, 'LytMainContent'); LytMainContent.Align = alClient;
  PnlBottomMenu = MainForm.AddNewProPanel(MainForm, 'PnlBottomMenu');
  PnlBottomMenu.Align = alBottom; PnlBottomMenu.Height = 65;
  PnlBottomMenu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  PnlBottomMenu.SetclProSettings(PnlBottomMenu.clProSettings);
  BtnNavAnaSayfa = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavAnaSayfa', 'Ana Sayfa');
  BtnNavAnaSayfa.Align = alLeft; BtnNavAnaSayfa.Width = (MainForm.clWidth / 4);
  BtnNavAnaSayfa.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavAnaSayfa.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavAnaSayfa, tbeOnClick, 'GoAnaSayfa');
  BtnNavSikayetler = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavSikayetler', 'Şikayetler');
  BtnNavSikayetler.Align = alLeft; BtnNavSikayetler.Width = (MainForm.clWidth / 4);
  BtnNavSikayetler.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavSikayetler.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavSikayetler, tbeOnClick, 'GoSikayetler');
  BtnNavYeni = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavYeni', 'Şikayet Ekle');
  BtnNavYeni.Align = alLeft; BtnNavYeni.Width = (MainForm.clWidth / 4);
  BtnNavYeni.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavYeni.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavYeni, tbeOnClick, 'GoYeni');
  BtnNavProfil = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavProfil', 'Profil');
  BtnNavProfil.Align = alLeft; BtnNavProfil.Width = (MainForm.clWidth / 4);
  BtnNavProfil.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavProfil.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavProfil, tbeOnClick, 'GoProfil');
  uAna = TclUnit.Create;
  uProfil = TclUnit.Create;
  uSikayetlerim = TclUnit.Create;
  uYeni = TclUnit.Create;
  GirisEkraniniCiz(); 
  MainForm.Run();


Hocam Giriş Yap veya Kayıt ol butonuna tıkladığımda uygulama kendiliğinden kapanıyor herhangi bir hata da vermiyor sebep ne olabilir?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">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif
Puanlar: 909
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 9 Saat 9 Dakika Önce Saat 13:22
Merhaba Zeynep 

Uygykamanın hata vermeden kapanmasının nedeni genel de hafıza erişimi veya oluşturulmayan bir nesneye erişmeye çalışmasından kaynaklanır. 

Sorunun kaynağı uygulama içerisinde LytMainContent.DeleteChildren yer alan komut. 
Ekranı sürekli temizleyip yeniden çiziyor. 

*ilk olarak nesne kontrolü ekleyebiliriz. 
if (EditEmail == nil || EditSifre == nil) {
  GirisEkraniniCiz(); // Nesneler yoksa ekranı tekrar çiz
  Exit;
}
if ((EditEmail.Text == '') || (EditSifre.Text == '')) { ... }


* Eklendiğin nesneleri global olarak tanımlar mısın? mesela local de kalan bazı EdtAd,EdtSoyad gibi değişkenleri global olarak tanımla.


*TclRest işlemleri asenkron çalıştığı için bazen yanıt gelmeden form kapanırsa çökme yaşanabilir. 
Execute yerine ExecuteAsync kullanmak daha sağlıklı 



void GirisYapAction;
var
  clRest: TclRest; 
  jsonGelen, responseBody, strKullanici: String; 
  qryKullanici: TCLJSONQuery; 
  tempMahId: Integer;
  posKullanici: Integer;
{
  if (EditEmail == nil || EditSifre == nil) 
  {
    GirisEkraniniCiz(); 
    Exit;
  }

  if ((EditEmail.Text == '') || (EditSifre.Text == '')) 
  {
    ShowMessage('Lütfen e-posta ve şifrenizi girin.');
    Exit;
  }
  
  if (BtnGiris <> nil)
  {
    BtnGiris.Enabled = False; 
    BtnGiris.Text = 'Giriş Yapılıyor...';
  }

  try
    clRest = TclRest.Create; 
    clRest.BaseURL = g_ApiUrl + '/api/giris';
    clRest.Accept = 'application/json'; 
    clRest.Method = rmPost;
    responseBody = '{"eposta": "' + EditEmail.Text + '", "sifre": "' + EditSifre.Text + '"}';
    clRest.AddBody(responseBody, 'application/json'); 
    clRest.Execute; 
    jsonGelen = clRest.Response;
    
    //posKullanici işlemleri
  except
    ShowMessage('Bağlantı hatası: ' + LastExceptionMessage);
  finally
    if (BtnGiris <> nil) {
      BtnGiris.Enabled = True;
      BtnGiris.Text = 'Giriş Yap';
    }
  }
}

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">
Yukarı Dön
zeynepdeniz Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 23 Saat 18 Dakika Önce
Durum: Aktif Değil
Puanlar: 5
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı zeynepdeniz Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 5 Saat 32 Dakika Önce Saat 16:59
 var
  MainForm, FormSifre, FormHesap, FormBildirim, FormYardim, AForm: TclForm;
  LytMainContent, LytAvatarContainer, LytBody5, LytStatInner,   LytFooter, LytBenimListesi, LytBodyLogin, LytBaslikContainer, LytKayitGovde, LytSikayetListesi, LytBody3, LytRowCombo, LytKat, LytMah: TclLayout;
  PnlBottomMenu, PnlTopBar, PnlStats, LytMahalleKapsayici, PnlBekleyen, PnlDevamda, PnlCozuldu,  PnlKartLogin,PnlHeroLogin, PnlTopBar3, PnlOncelik, LytAdSoyad, LytKVKK, PnlMemoContainer, PnlFotoBox, PnlToplam, PnlKonumRow, PnlTopBar4, PnlKeyboardSpace, PnlSwBg1, PnlSwKnob1, PnlSwBg2, PnlSwKnob2, PnlSwBg3, PnlSwKnob3, PnlSwBg4, PnlSwKnob4, PnlSwBg5, PnlSwKnob5,PnlHero5, PnlAvatar, PnlStats5, PnlMenuGrup, PnlStat1, PnlStat2, PnlStat3, LblMahalleStat, LblMahalleStatLbl, LblToplamSikayet, LblToplamLbl, LblCozulenSikayet, LblCozulenLbl, LblAvatar, LblProfilAd, LblProfilEmail, LblTS, LblCS, LblMS, PnlHero, PnlForm: TclProPanel;
  BtnNavAnaSayfa, BtnTumunuGor, BtnNavSikayetler, BtnGiris, BtnNavYeni, BtnNavProfil, BtnKayit, BtnKVKKLink, BtnGirisYonlendir, BtnGosterLogin, BtnGosterSifre, BtnGosterSifre2, BtnKayitOl, BtnKayitTamamla, BtnGeri, BtnKonum, BtnGonder, BtnGosterMevcut, BtnGosterYeni, BtnGosterYeniTekrar, BtnCikis: TclProButton;
  ScrollLogin, ScrollKayit, ScrollBody, ScrollBody4: TclVertScrollBox;
  g_ApiUrl, g_AdSoyad,g_KullaniciTc, g_Email, g_Telefon, g_MahalleAdi, secilenFotoBase64, gpsEnlem, gpsBoylam: String;
  g_KullaniciId, bekleyen, devamda2, cozuldu: Integer;
  ImgTopLogo, ImgLogo, ImgOnizleme: TclImage;
  LblAppAdi, LblAppAlt, LblEmail, LblSifre, LblKayitOl, LblFormBaslik3, LblHos, LblSehir, LblBekleyen, LblBekleyenLbl, LblDevamda, LblDevandaLbl, LblCozuldu, LblCozulduLbl, LblMahSikayetler,  LblOncelik, LblBslkLbl, LblKatLbl, LblMahLbl, LblAcikLbl, LblFotoLbl, LblKonumLbl, LblFotoAcik, LblKonum,  LblKayitBaslik, LblTopBaslik4, LblBosEkran, LblToplam,  LblSifremi, LblTitle, LblSubtitle, LblAd, LblSoyad, LblTC, LblMail, LblTel, LblMah, LblSifre2, LblKVKKDuz, LblFooterYazi: TclProLabel;
  EditEmail, EditSifre, EditBaslik, EdtAd, EdtSoyad, EdtTC, EdtMail, EdtTel, EdtMah, EdtSifre, EdtSifre2, EditKayitAd, EditKayitTC, EditKayitSifre, EdtMevcutSifre, EdtYeniSifre, EdtYeniSifreTekrar, EdtAdSoyad, EdtEmail: TclProEdit;
  ImgGoz1, ImgGoz2 : TClProImage;
  isSifreGizli1, isSifreGizli2, g_NotifDurum, g_NotifCozum, g_NotifYorum, g_NotifDuyuru, g_NotifEposta : Boolean;
  ChkKVKK: TclCheckBox;
  qrySikayetler, qryBenim: TCLJSONQuery;
  CmbKategori, CmbMahalle: TclComboBox; 
  MemoAciklama: TclMemo; 
  uAna: TclUnit;
  uProfil: TclUnit;
  uSikayetlerim: TclUnit;
  uYeni: TclUnit;
  
void FormuKapatAction;
{
  if (FormHesap <> nil) 
  { FormHesap.Close; }
  if (FormSifre <> nil) 
  { FormSifre.Close; }
  if (FormBildirim <> nil) 
  {  FormBildirim.Close; }
}

void AltSayfaBaslikEkle(AForm, ABaslik);
var
  pnl: TclProPanel;
  lblBaslik, lblGeri: TclProLabel;
{
  pnl = AForm.AddNewProPanel(AForm, 'PnlSubHeader');
  pnl.Align = alTop;
  pnl.Height = 75;
  pnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  pnl.SetclProSettings(pnl.clProSettings);

  lblGeri = AForm.AddNewProLabel(pnl, 'LblBackIcon', '‹');
  lblGeri.Align = alLeft;
  lblGeri.Width = 55;
  lblGeri.Margins.Left = 5;
  lblGeri.Margins.Top = 5;
  lblGeri.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  lblGeri.clProSettings.FontSize = 35;
  lblGeri.clProSettings.FontHorzAlign = palCenter;
  lblGeri.clProSettings.FontVertAlign = palCenter;
  lblGeri.SetclProSettings(lblGeri.clProSettings);

  AForm.AddNewEvent(lblGeri, tbeOnClick, 'FormuKapatAction');
  lblBaslik = AForm.AddNewProLabel(pnl, 'LblSubTitle', ABaslik);
  lblBaslik.Align = alClient;
  lblBaslik.Margins.Left = 2;
  lblBaslik.Margins.Top = 10;
  lblBaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  lblBaslik.clProSettings.FontSize = 17;
  lblBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  lblBaslik.clProSettings.FontHorzAlign = palLeading;
  lblBaslik.clProSettings.FontVertAlign = palCenter;
  lblBaslik.SetclProSettings(lblBaslik.clProSettings);
}

void EditGrupEkle(AForm, AParent, AEdit, ATag, ABaslik, ADeger, AHeight);
var 
  lbl: TclProLabel;
{
  lbl = AForm.AddNewProLabel(AParent, 'LblEdt' + ATag, ABaslik);
  lbl.Align = alTop;
  lbl.Height = 20;
  lbl.Margins.Top = 15;
  lbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9');
  lbl.clProSettings.FontSize = 11;
  lbl.SetclProSettings(lbl.clProSettings);

  AEdit = AForm.AddNewProEdit(AParent, 'Edt' + ATag, ADeger);
  AEdit.Align = alTop;
  AEdit.Height = AHeight;
  AEdit.Margins.Top = 5;
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB');
  AEdit.clProSettings.RoundHeight = 8;
  AEdit.clProSettings.RoundWidth = 8;
  AEdit.Margins.Left = 5;
  AEdit.Margins.Right = 5;
  AEdit.SetclProSettings(AEdit.clProSettings);
}

void WebSiteGitAction;
{
  TClomosyOS.OpenURL('https://konyaradar.netlify.app/');
}

void WhatsAppGitAction;
{
  TClomosyOS.OpenURL('+90 5416777543');
}

void MailGitAction;
{
  TClomosyOS.OpenURL('[email protected]');
}

void OncelikGuncelle;
var
  metin: String;
{
  metin = LowerCase(EditBaslik.Text + ' ' + MemoAciklama.Text);
  if (EditBaslik.Text == '' && MemoAciklama.Text == '') 
  { 
    LblOncelik.Text = 'Henüz Belirlenmedi'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#5D6D7E'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D5D8DC'); 
  }
  else if (Pos('acil', metin) > 0 || Pos('tehlike', metin) > 0 || Pos('patlak', metin) > 0 || Pos('kaza', metin) > 0) 
  { 
    LblOncelik.Text = 'Yüksek Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#C0392B'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FDEDEC'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#F5B7B1'); 
  }
  else if (Pos('boya', metin) > 0 || Pos('cicek', metin) > 0 || Pos('bilgi', metin) > 0) 
  { 
    LblOncelik.Text = 'Düşük Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#27AE60'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E9F7EF'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ABEBC6'); 
  }
  else 
  { 
    LblOncelik.Text = 'Orta Öncelik'; 
    LblOncelik.clProSettings.FontColor = clAlphaColor.clHexToColor('#D35400'); 
    PnlOncelik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FEF5E7'); 
    PnlOncelik.clProSettings.BorderColor = clAlphaColor.clHexToColor('#F5CBA7'); 
  }
  LblOncelik.SetclProSettings(LblOncelik.clProSettings); 
  PnlOncelik.SetclProSettings(PnlOncelik.clProSettings);
}
void FotografSec;

  Clomosy.ImageChooser(MainForm, ImgOnizleme); 
  LblFotoAcik.Visible = False; 
  ImgOnizleme.Visible = True; 

  PnlFotoBox.clProSettings.BackgroundColor = clAlphaColor.clWhite; 
  PnlFotoBox.clProSettings.BorderColor = clAlphaColor.clHexToColor('#27AE60'); 
  PnlFotoBox.SetclProSettings(PnlFotoBox.clProSettings); 
  secilenFotoBase64 = 'gercek_fotograf_secildi'; 
}

void KonumAl;
var
  konumVerisi: String;
{
  LblKonum.Text = 'Konum alınıyor...';
  LblKonum.clProSettings.FontColor = clAlphaColor.clHexToColor('#D35400');
  LblKonum.SetclProSettings(LblKonum.clProSettings);

  Clomosy.GetCurrentLocation; 
  konumVerisi = Clomosy.LocationValue;
  gpsEnlem  = clGetStringTo(konumVerisi, '|');
  gpsBoylam = clGetStringAfter(konumVerisi, '|');
  gpsEnlem  = clGetStringReplace(gpsEnlem, ',', '.');
  gpsBoylam = clGetStringReplace(gpsBoylam, ',', '.');
  
  if (gpsEnlem <> '' && gpsBoylam <> '')
  {
    LblKonum.Text = 'Konum alındı (' + Copy(gpsEnlem, 1, 6) + ', ' + Copy(gpsBoylam, 1, 6) + ')';
    LblKonum.clProSettings.FontColor = clAlphaColor.clHexToColor('#27AE60');
  }
  else
  {
    LblKonum.Text = 'Konum alınamadı. İzinleri kontrol edin.';
  }
  LblKonum.SetclProSettings(LblKonum.clProSettings);
}

void MenuRenkSifirla;
{
  BtnNavAnaSayfa.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavSikayetler.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavYeni.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5'); 
  BtnNavProfil.clProSettings.FontColor = clAlphaColor.clHexToColor('#A0AAB5');

  BtnNavAnaSayfa.SetclProSettings(BtnNavAnaSayfa.clProSettings); 
  BtnNavSikayetler.SetclProSettings(BtnNavSikayetler.clProSettings); 
  BtnNavYeni.SetclProSettings(BtnNavYeni.clProSettings); 
  BtnNavProfil.SetclProSettings(BtnNavProfil.clProSettings);
}

void GoAnaSayfa;

  MenuRenkSifirla(); 
  BtnNavAnaSayfa.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavAnaSayfa.SetclProSettings(BtnNavAnaSayfa.clProSettings); 
  
  uAna.UnitName = 'AnasayfaUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoSikayetler;

  MenuRenkSifirla(); 
  BtnNavSikayetler.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavSikayetler.SetclProSettings(BtnNavSikayetler.clProSettings);
  
  uAna.UnitName = 'SikayetlerimUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoYeni;

  MenuRenkSifirla(); 
  BtnNavYeni.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavYeni.SetclProSettings(BtnNavYeni.clProSettings); 
  
  uAna.UnitName = 'YeniSikayetUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

void GoProfil;

  MenuRenkSifirla(); 
  BtnNavProfil.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnNavProfil.SetclProSettings(BtnNavProfil.clProSettings); 
  
  uAna.UnitName = 'ProfilUnit';
  uAna.CallerForm = MainForm;
  uAna.Run;
}

 void KategorileriYukle;
var
  clRest: TclRest;
  response, jsonGelen: String;
  qry: TCLJSONQuery;
{
  CmbKategori.Items.Clear;
  CmbKategori.Items.Add('Kategori Seçin ▾');
    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/kategoriler'; 
    clRest.Method = rmGet;
    clRest.ExecuteAsync;
    response = clRest.Response;

    if (response <> '')
    {
      if (Pos('[', response) == 0) 
      {
        jsonGelen = '[' + response + ']';
      } 
      else 
      {
        jsonGelen = response;
      }
      qry = Clomosy.ClDataSetFromJSON(jsonGelen);
      if (qry <> nil)
      {
        if (qry.RecordCount > 0)
        {
          qry.First;
          while (not qry.EOF)
          {
            CmbKategori.Items.Add(qry.FieldByName('kategori_adi').AsString);
            qry.Next;
          }
        }
      }
    }
    CmbKategori.ItemIndex = 0;
}

void MahalleleriYukle;
var
  clRest: TclRest;
  response, jsonGelen: String;
  qry: TCLJSONQuery;
{
  CmbMahalle.Items.Clear;
  CmbMahalle.Items.Add('Mahalle Seçin ▾');
  CmbMahalle.ItemIndex = 0;
 
    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/mahalleler'; 
    clRest.Method = rmGet;
    clRest.ExecuteAsync;
    response = clRest.Response;
    if (response <> '')
    {
      if (Pos('[', response) == 0) 
      {
        jsonGelen = '[' + response + ']';
      } 
      else 
      {
        jsonGelen = response;
      }
      qry = Clomosy.ClDataSetFromJSON(jsonGelen);
      if (qry.RecordCount > 0)
      {
        qry.First;
        while (not qry.EOF)

        {
          CmbMahalle.Items.Add(qry.FieldByName('mahalle_adi').AsString);
          qry.Next;
        }
      }
    }
}

void HesapGuncelleAction;

  g_AdSoyad = EdtAdSoyad.Text; 
  if (LblProfilAd <> nil) { LblProfilAd.Text = g_AdSoyad; } 
  clShowMessage('Kaydedildi.'); 
  FormHesap.Close; 
}

void BildirimKaydetAction;

  clShowMessage('Bildirim ayarları güncellendi.'); 
  FormBildirim.Close; 
}

void AddSwitchRow(AForm, AParent, ATag, ATitle, ASub, IsActive, IsLast);
var
  lytRow: TclLayout; 
  pnlSwBg, pnlSwKnob, pnlLine: TclProPanel; 
  lblT, lblS: TclProLabel; 
  activeColor, passiveColor: String;
{
  activeColor = '#FFBF00'; passiveColor = '#D1D5DB';

  lytRow = AForm.AddNewLayout(AParent, 'LytR' + ATag); lytRow.Align = alTop; lytRow.Height = 70;

  lblT = AForm.AddNewProLabel(lytRow, 'LblT' + ATag, ATitle);
  lblT.Align = alTop; lblT.Height = 25; lblT.Margins.Left = 15; lblT.Margins.Top = 12;
  lblT.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636'); lblT.clProSettings.FontSize = 14; 
  lblT.clProSettings.TextSettings.Font.Style = [fsBold]; lblT.SetclProSettings(lblT.clProSettings);

  lblS = AForm.AddNewProLabel(lytRow, 'LblS' + ATag, ASub);
  lblS.Align = alTop; lblS.Height = 20; lblS.Margins.Left = 15;
  lblS.clProSettings.FontColor = clAlphaColor.clHexToColor('#8A98A5'); lblS.clProSettings.FontSize = 11; 
  lblS.SetclProSettings(lblS.clProSettings);

  pnlSwBg = AForm.AddNewProPanel(lytRow, 'SwBg' + ATag);
  pnlSwBg.Align = alRight; pnlSwBg.Width = 46; pnlSwBg.Height = 24; pnlSwBg.Margins.Right = 15; pnlSwBg.Margins.Top = 22; pnlSwBg.Margins.Bottom = 22;

if (IsActive)
{
  pnlSwBg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(activeColor);
}
else
{
  pnlSwBg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(passiveColor);
}
  pnlSwBg.clProSettings.RoundHeight = 12; pnlSwBg.clProSettings.RoundWidth = 12; pnlSwBg.SetclProSettings(pnlSwBg.clProSettings);
  pnlSwKnob = AForm.AddNewProPanel(pnlSwBg, 'SwK' + ATag);
  pnlSwKnob.Width = 18; pnlSwKnob.Height = 18; pnlSwKnob.Margins.Top = 3;

if (IsActive)
{
  pnlSwKnob.Margins.Left = 24;
}
else
{
  pnlSwKnob.Margins.Left = 4;
}
  pnlSwKnob.clProSettings.BackgroundColor = clAlphaColor.clWhite; pnlSwKnob.clProSettings.RoundHeight = 9; 
  pnlSwKnob.clProSettings.RoundWidth = 9; pnlSwKnob.SetclProSettings(pnlSwKnob.clProSettings);

  if (not IsLast) {
    pnlLine = AForm.AddNewProPanel(AParent, 'Line' + ATag); pnlLine.Align = alTop; pnlLine.Height = 1; 
    pnlLine.Margins.Left = 15; pnlLine.Margins.Right = 15; pnlLine.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4');
    pnlLine.SetclProSettings(pnlLine.clProSettings);
  }
}

void UpdateSwitchUI(ABg, AKnob, AState);
{
  if (AState) {
    ABg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); AKnob.Margins.Left = 22; AKnob.Margins.Right = 2;
  } else {
    ABg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D5D8DC'); AKnob.Margins.Left = 2; AKnob.Margins.Right = 22;
  }
  ABg.SetclProSettings(ABg.clProSettings); AKnob.SetclProSettings(AKnob.clProSettings); 
}

void BildirimSatiriEkle(AForm, AParent, ABg, AKnob, SID, SBaslik, SAlt, SEvent, IsOn, IsLast);
var
  pnlSatir, pnlAyrac: TclProPanel; 
  lblB, lblA: TclProLabel; 
  lytText: TclLayout;
{
  pnlSatir = AForm.AddNewProPanel(AParent, 'BSat_' + SID); 
  pnlSatir.Align = alTop; pnlSatir.Height = 70;
  pnlSatir.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  pnlSatir.SetclProSettings(pnlSatir.clProSettings);

  ABg = AForm.AddNewProPanel(pnlSatir, 'BSwBg_' + SID);
  ABg.Align = alRight; ABg.Width = 48; ABg.Height = 26; 
  ABg.Margins.Right = 15; ABg.Margins.Top = 22; ABg.Margins.Bottom = 22;
  ABg.clProSettings.RoundHeight = 13; ABg.clProSettings.RoundWidth = 13;

  AKnob = AForm.AddNewProPanel(ABg, 'BSwKnob_' + SID); 
  AKnob.Align = alClient;
  AKnob.Margins.Top = 3; AKnob.Margins.Bottom = 3; 
  AKnob.clProSettings.RoundHeight = 10; AKnob.clProSettings.RoundWidth = 10;
  AKnob.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); 
  AKnob.SetclProSettings(AKnob.clProSettings);

  UpdateSwitchUI(ABg, AKnob, IsOn);

  lytText = AForm.AddNewLayout(pnlSatir, 'BLyt_' + SID); 
  lytText.Align = alClient; lytText.Margins.Left = 15; lytText.Margins.Top = 15;

  lblB = AForm.AddNewProLabel(lytText, 'BLblB_' + SID, SBaslik);
  lblB.Align = alTop; lblB.Height = 20; 
  lblB.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636');
  lblB.clProSettings.FontSize = 13; lblB.SetclProSettings(lblB.clProSettings);

  lblA = AForm.AddNewProLabel(lytText, 'BLblA_' + SID, SAlt);
  lblA.Align = alTop; lblA.Height = 18; 
  lblA.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E');
  lblA.clProSettings.FontSize = 11; lblA.SetclProSettings(lblA.clProSettings);

  if (SEvent <> '') { 
    AForm.AddNewEvent(pnlSatir, tbeOnClick, SEvent); 
    AForm.AddNewEvent(ABg, tbeOnClick, SEvent); 
  }

  if (not IsLast) {
    pnlAyrac = AForm.AddNewProPanel(AParent, 'BAy_' + SID); 
    pnlAyrac.Align = alTop; pnlAyrac.Height = 1; 
    pnlAyrac.Margins.Left = 15; pnlAyrac.Margins.Right = 15; 
    pnlAyrac.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4');
    pnlAyrac.SetclProSettings(pnlAyrac.clProSettings);
  }
}

void ToggleB4;

  g_NotifDuyuru = not g_NotifDuyuru; 
  UpdateSwitchUI(PnlSwBg4, PnlSwKnob4, g_NotifDuyuru); 
}

void ToggleB5;

  g_NotifEposta = not g_NotifEposta; 
  UpdateSwitchUI(PnlSwBg5, PnlSwKnob5, g_NotifEposta); 
}

void ToggleMevcutSifre;
{
  EdtMevcutSifre.Password = not EdtMevcutSifre.Password;
  if (EdtMevcutSifre.Password) {
    BtnGosterMevcut.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterMevcut.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterMevcut.SetclProSettings(BtnGosterMevcut.clProSettings);
}
void ToggleYeniSifre;
{
  EdtYeniSifre.Password = not EdtYeniSifre.Password;
  if (EdtYeniSifre.Password) {
    BtnGosterYeni.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterYeni.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterYeni.SetclProSettings(BtnGosterYeni.clProSettings);
}

void ToggleYeniTekrar;
{
  EdtYeniSifreTekrar.Password = not EdtYeniSifreTekrar.Password;
  if (EdtYeniSifreTekrar.Password) {
    BtnGosterYeniTekrar.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterYeniTekrar.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterYeniTekrar.SetclProSettings(BtnGosterYeniTekrar.clProSettings);
}

void ToggleLoginSifre;
{
  EditSifre.Password = not EditSifre.Password;
  if (EditSifre.Password) {
    BtnGosterLogin.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterLogin.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterLogin.SetclProSettings(BtnGosterLogin.clProSettings);
}

void ToggleKayitSifre;
{
  EdtSifre.Password = not EdtSifre.Password;
  if (EdtSifre.Password) {
    BtnGosterSifre.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterSifre.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterSifre.SetclProSettings(BtnGosterSifre.clProSettings);
}

void ToggleKayitSifre2;
{
  EdtSifre2.Password = not EdtSifre2.Password;
  if (EdtSifre2.Password) {
    BtnGosterSifre2.clProSettings.TextSettings.Font.Style = []; 
  } else {
    BtnGosterSifre2.clProSettings.TextSettings.Font.Style = [fsStrikeOut];
  }
  BtnGosterSifre2.SetclProSettings(BtnGosterSifre2.clProSettings);
}

void ToggleMevcutSifreSafe;

  if (EdtMevcutSifre <> nil) EdtMevcutSifre.Password = not EdtMevcutSifre.Password; 
}

void ToggleYeniSifreSafe;

  if (EdtYeniSifre <> nil) EdtYeniSifre.Password = not EdtYeniSifre.Password; 
}

void ToggleYeniTekrarSafe;

  if (EdtYeniSifreTekrar <> nil) EdtYeniSifreTekrar.Password = not EdtYeniSifreTekrar.Password; 
}

void SifreEditGrupEkle(AForm, AParent, AEdit, ABtn, ABaslik, ATag, AToggleOlay);
var
  lbl: TclProLabel; 
  pnlEdit: TclProPanel;
{
  lbl = AForm.AddNewProLabel(AParent, 'LblEdt' + ATag, ABaslik);
  lbl.Align = alTop; lbl.Height = 20; lbl.Margins.Top = 15;
  lbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9');
  lbl.clProSettings.FontSize = 11; lbl.SetclProSettings(lbl.clProSettings);

  pnlEdit = AForm.AddNewProPanel(AParent, 'PnlEdt' + ATag);
  pnlEdit.Align = alTop; pnlEdit.Height = 45; pnlEdit.Margins.Top = 5;
  pnlEdit.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  pnlEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB');
  pnlEdit.clProSettings.BorderWidth = 1; pnlEdit.clProSettings.RoundHeight = 8; 
  pnlEdit.clProSettings.RoundWidth = 8; pnlEdit.SetclProSettings(pnlEdit.clProSettings);

  ABtn = AForm.AddNewProButton(pnlEdit, 'BtnGoster' + ATag, '👁');
  ABtn.Align = alRight; ABtn.Width = 40; 
  ABtn.clProSettings.BackgroundColor = clAlphaColor.clNull;
  ABtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); ABtn.clProSettings.FontSize = 16;
  ABtn.SetclProSettings(ABtn.clProSettings);
  AForm.AddNewEvent(ABtn, tbeOnClick, AToggleOlay);

  AEdit = AForm.AddNewProEdit(pnlEdit, 'Edt' + ATag, '');
  AEdit.Align = alClient; AEdit.Margins.Left = 10; AEdit.Margins.Right = 5;
  AEdit.Password = True; AEdit.clProSettings.BackgroundColor = clAlphaColor.clNull;
  AEdit.clProSettings.BorderColor = clAlphaColor.clNull; AEdit.SetclProSettings(AEdit.clProSettings);

}

void SifreGuncelleAction;
var
  clRest: TclRest; 
  jsonBody, response: String;
{
  if (EdtMevcutSifre.Text == '' || EdtYeniSifre.Text == '') { ShowMessage('Lütfen tüm alanları doldurunuz.');  }
  if (EdtYeniSifre.Text <> EdtYeniSifreTekrar.Text) { ShowMessage('Yeni şifreler birbiriyle eşleşmiyor.');  }

    clRest = TclRest.Create;
    clRest.BaseURL = g_ApiUrl + '/api/kullanici-guncelle/' + IntToStr(g_KullaniciId);
    clRest.Accept = 'application/json'; clRest.Method = rmPut;
    jsonBody = '{"ad_soyad": "' + g_AdSoyad + '", "tc_no": "' + g_KullaniciTc + '", "telefon": "' + g_Telefon + '", "eposta": "' + g_Email + '", "sifre": "' + EdtYeniSifre.Text + '"}';

    clRest.AddBody(jsonBody, 'application/json'); clRest.ExecuteAsync; response = clRest.Response;

    if (response <> '' && Pos('başarıyla', response) > 0) {
      ShowMessage('Şifreniz güncellendi.');
      if (FormSifre <> nil) FormSifre.Close;
    } else { ShowMessage('Hata: ' + response); }
  } 

void MenuSatiriEkle(pGrup, sID, sBaslik, sOlay, isLast);
var
  pSatir, pAyrac: TclProPanel; 
  lblMetin, lblOk: TclProLabel;
{
  pSatir = MainForm.AddNewProPanel(pGrup, 'PS_' + sID); 
  pSatir.Align = alTop; pSatir.Height = 50; pSatir.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  pSatir.SetclProSettings(pSatir.clProSettings);

  lblMetin = MainForm.AddNewProLabel(pSatir, 'LblM_' + sID, sBaslik);
  lblMetin.Align = alLeft; lblMetin.Width = 250; lblMetin.Margins.Left = 15;
  lblMetin.clProSettings.FontColor = clAlphaColor.clHexToColor('#1A2636'); lblMetin.clProSettings.FontSize = 14; 
  lblMetin.clProSettings.FontHorzAlign = palLeading; lblMetin.clProSettings.FontVertAlign = palCenter; 
  lblMetin.SetclProSettings(lblMetin.clProSettings);

  lblOk = MainForm.AddNewProLabel(pSatir, 'OK_' + sID, '›');
  lblOk.Align = alRight; lblOk.Width = 30; lblOk.Margins.Right = 10;
  lblOk.clProSettings.FontColor = clAlphaColor.clHexToColor('#ABB2B9'); lblOk.clProSettings.FontSize = 18;
  lblOk.clProSettings.FontHorzAlign = palCenter; lblOk.clProSettings.FontVertAlign = palCenter; 
  lblOk.SetclProSettings(lblOk.clProSettings);

  if (sOlay <> '') { 
    MainForm.AddNewEvent(pSatir, tbeOnClick, sOlay); 
    MainForm.AddNewEvent(lblMetin, tbeOnClick, sOlay); 
    MainForm.AddNewEvent(lblOk, tbeOnClick, sOlay); 
  }

  if (not isLast) {
    pAyrac = MainForm.AddNewProPanel(pGrup, 'AY_' + sID); 
    pAyrac.Align = alTop; pAyrac.Height = 1; pAyrac.Margins.Left = 15;
    pAyrac.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F2F4F4'); 
    pAyrac.SetclProSettings(pAyrac.clProSettings);
  }
}

void GirisEkraniniCiz;
{

  MainForm.SetFormColor('#414446', '', clGNone); 
  if (PnlBottomMenu <> nil) PnlBottomMenu.Visible = False;
  ScrollLogin = MainForm.AddNewVertScrollBox(LytMainContent, ''); 
  ScrollLogin.Align = alClient;

  PnlHeroLogin = MainForm.AddNewProPanel(ScrollLogin, ''); 
  PnlHeroLogin.Align = alTop; 
  PnlHeroLogin.Height = 340; 
  PnlHeroLogin.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446'); 
  PnlHeroLogin.SetclProSettings(PnlHeroLogin.clProSettings);

  ImgLogo = MainForm.AddNewImage(PnlHeroLogin, ''); 
  ImgLogo.Align = alTop; 
  ImgLogo.Margins.Top = 80; 
  ImgLogo.Height = 100;
  MainForm.SetImage(ImgLogo, 'https://upload.wikimedia.org/wikipedia/tr/2/2c/Konya_B%C3%BCy%C3%BCk%C5%9Fehir_Belediyesi_logosu.png');

  LblAppAdi = MainForm.AddNewProLabel(PnlHeroLogin, '', 'Belediye Çözüm'); 
  LblAppAdi.Align = alTop; 
  LblAppAdi.Height = 40; 
  LblAppAdi.Margins.Top = 15; 
  LblAppAdi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  LblAppAdi.clProSettings.FontSize = 28; 
  LblAppAdi.clProSettings.FontHorzAlign = palCenter; 
  LblAppAdi.clProSettings.TextSettings.Font.Style = [fsBold]; 
  LblAppAdi.SetclProSettings(LblAppAdi.clProSettings);

  LblAppAlt = MainForm.AddNewProLabel(PnlHeroLogin, '', 'Konya Büyükşehir Belediyesi'); 
  LblAppAlt.Align = alTop; 
  LblAppAlt.Height = 30; 
  LblAppAlt.clProSettings.FontColor = clAlphaColor.clHexToColor('#E5E7EB'); 
  LblAppAlt.clProSettings.FontSize = 14; 
  LblAppAlt.clProSettings.FontHorzAlign = palCenter; 
  LblAppAlt.SetclProSettings(LblAppAlt.clProSettings);

  LytBodyLogin = MainForm.AddNewLayout(ScrollLogin, ''); 
  LytBodyLogin.Align = alTop; 
  LytBodyLogin.Height = 310; 
  LytBodyLogin.Margins.Left = 30; 
  LytBodyLogin.Margins.Right = 30; 
  LytBodyLogin.Margins.Top = -20; 

  PnlKartLogin = MainForm.AddNewProPanel(LytBodyLogin, ''); 
  PnlKartLogin.Align = alClient; 
  PnlKartLogin.clProSettings.BackgroundColor = clAlphaColor.clWhite; 
  PnlKartLogin.clProSettings.RoundHeight = 10; 
  PnlKartLogin.clProSettings.RoundWidth = 10; 
  PnlKartLogin.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB'); 
  PnlKartLogin.clProSettings.BorderWidth = 1; 
  PnlKartLogin.SetclProSettings(PnlKartLogin.clProSettings);

  LblEmail = MainForm.AddNewProLabel(PnlKartLogin, '', 'TC Kimlik No / E-posta'); 
  LblEmail.Align = alTop; 
  LblEmail.Height = 25; 
  LblEmail.Margins.Top = 20; 
  LblEmail.Margins.Left = 20; 
  LblEmail.clProSettings.FontColor = clAlphaColor.clHexToColor('#4B5563'); 
  LblEmail.clProSettings.FontSize = 13; 
  LblEmail.SetclProSettings(LblEmail.clProSettings);

  EditEmail = MainForm.AddNewProEdit(PnlKartLogin, 'EditEmail', '[email protected]'); 
  EditEmail.Align = alTop; 
  EditEmail.Height = 45; 
  EditEmail.Margins.Top = 5; 
  EditEmail.Margins.Left = 20; 
  EditEmail.Margins.Right = 20; 
  EditEmail.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EditEmail.clProSettings.BorderWidth = 1; 
  EditEmail.clProSettings.RoundHeight = 5; 
  EditEmail.SetclProSettings(EditEmail.clProSettings);

  LblSifre = MainForm.AddNewProLabel(PnlKartLogin, '', 'Şifre'); 
  LblSifre.Align = alTop; 
  LblSifre.Height = 25; 
  LblSifre.Margins.Top = 15; 
  LblSifre.Margins.Left = 20; 
  LblSifre.clProSettings.FontColor = clAlphaColor.clHexToColor('#4B5563'); 
  LblSifre.clProSettings.FontSize = 13; 
  LblSifre.SetclProSettings(LblSifre.clProSettings); 

  EditSifre = MainForm.AddNewProEdit(PnlKartLogin, 'EditSifre', '******'); 
  EditSifre.Align = alTop; 
  EditSifre.Height = 45; 
  EditSifre.Margins.Top = 5; 
  EditSifre.Margins.Left = 20; 
  EditSifre.Margins.Right = 20; 
  EditSifre.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EditSifre.clProSettings.BorderWidth = 1; 
  EditSifre.clProSettings.RoundHeight = 5; 
  EditSifre.Password = True; 
  EditSifre.SetclProSettings(EditSifre.clProSettings);

  BtnGiris = MainForm.AddNewProButton(PnlKartLogin, 'BtnGiris', 'Giriş Yap'); 
  BtnGiris.Align = alTop; 
  BtnGiris.Height = 55; 
  BtnGiris.Margins.Top = 35; 
  BtnGiris.Margins.Left = 20; 
  BtnGiris.Margins.Right = 20; 
  BtnGiris.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnGiris.clProSettings.FontColor = clAlphaColor.clBlack; 
  BtnGiris.clProSettings.RoundHeight = 8; 
  BtnGiris.clProSettings.FontSize = 16; 
  BtnGiris.clProSettings.TextSettings.Font.Style = [fsBold]; 
  BtnGiris.SetclProSettings(BtnGiris.clProSettings);
  MainForm.AddNewEvent(BtnGiris, tbeOnClick, 'GirisYapAction');

  BtnKayitOl = MainForm.AddNewProButton(ScrollLogin, '', 'Hesabınız yok mu? Kayıt Ol'); 
  BtnKayitOl.Align = alTop; 
  BtnKayitOl.Height = 40; 
  BtnKayitOl.Margins.Top = 10; 
  BtnKayitOl.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  BtnKayitOl.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnKayitOl.clProSettings.FontSize = 13; 
  BtnKayitOl.clProSettings.FontHorzAlign = palCenter; 
  BtnKayitOl.SetclProSettings(BtnKayitOl.clProSettings);
  MainForm.AddNewEvent(BtnKayitOl, tbeOnClick, 'KayitOlEkrani');
}

 void KayitOlKontrol;
var
  clRest: TclRest;
  jsonBody, response: String;
{
  if (EdtAd.Text == '' || EdtSoyad.Text == '') { ShowMessage('Lütfen Ad ve Soyad alanlarını doldurunuz.'); Exit; }
  if (EdtTC.Text == '') { ShowMessage('Lütfen TC Kimlik numaranızı giriniz.'); Exit; }
  if (EdtMail.Text == '') { ShowMessage('Lütfen E-posta adresinizi giriniz.'); Exit; }
  if (EdtTel.Text == '') { ShowMessage('Lütfen Telefon numaranızı giriniz.'); Exit; }
  if (CmbMahalle.ItemIndex < 0) { ShowMessage('Lütfen geçerli bir mahalle seçiniz.'); Exit; }
  if (EdtSifre.Text == '' || EdtSifre2.Text == '') { ShowMessage('Lütfen şifre alanlarını doldurunuz.'); Exit; }
  if (EdtSifre.Text <> EdtSifre2.Text) { ShowMessage('Girdiğiniz şifreler birbiriyle eşleşmiyor.'); Exit; }
  if (not ChkKVKK.IsChecked) { ShowMessage('Devam etmek için KVKK Aydınlatma Metnini onaylamanız gerekmektedir.'); Exit; }

BtnKayit.Enabled = False;
clRest = TclRest.Create;
clRest.BaseURL = g_ApiUrl + '/api/kayit';
clRest.Accept = 'application/json';
clRest.Method = rmPost;

    jsonBody = '{"ad_soyad": "' + EdtAd.Text + ' ' + EdtSoyad.Text + '", "tc_no": "' + EdtTC.Text + '", "mahalle_id": ' + IntToStr(CmbMahalle.ItemIndex + 1) + ', "telefon": "' + EdtTel.Text + '", "eposta": "' + EdtMail.Text + '", "sifre": "' + EdtSifre.Text + '"}';
   
    clRest.AddBody(jsonBody, 'application/json');
    clRest.ExecuteAsync;
    response = clRest.Response;
   
    if (response <> '') {
      if (Pos('başarıyla', response) > 0) {
        ShowMessage('Kayıt Başarılı!');
        // GirisEkraniniCiz();
      }
      else {
        ShowMessage(response);
      }
    } else {
      ShowMessage('Sunucudan boş yanıt döndü veya bağlantı kurulamadı.');
    }
  BtnKayit.Enabled = True;
}


void KayitOlEkrani;
{

  MainForm.SetFormColor('#414446', '', clGNone); 
  
  ScrollKayit = MainForm.AddNewVertScrollBox(LytMainContent, 'ScrollKayit'); 
  ScrollKayit.Align = alClient;

  PnlHero = MainForm.AddNewProPanel(ScrollKayit, 'PnlHero');
  PnlHero.Align = alTop; PnlHero.Height = 180; 
  PnlHero.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  PnlHero.SetclProSettings(PnlHero.clProSettings); 

  ImgLogo = MainForm.AddNewImage(PnlHero, 'ImgLogo');
  ImgLogo.Align = alTop; ImgLogo.Height = 70; ImgLogo.Margins.Top = 20;
  MainForm.SetImage(ImgLogo, 'https://upload.wikimedia.org/wikipedia/tr/2/2c/Konya_B%C3%BCy%C3%BCk%C5%9Fehir_Belediyesi_logosu.png');

  LblTitle = MainForm.AddNewProLabel(PnlHero, 'LblTitle', 'Belediye Çözüm');
  LblTitle.Align = alTop; LblTitle.Height = 30; LblTitle.Margins.Top = 15; 
  LblTitle.clProSettings.FontColor = clAlphaColor.clWhite;
  LblTitle.clProSettings.FontSize = 22; LblTitle.clProSettings.FontHorzAlign = palCenter;
  LblTitle.clProSettings.TextSettings.Font.Style = [fsBold]; 
  LblTitle.SetclProSettings(LblTitle.clProSettings);

  PnlForm = MainForm.AddNewProPanel(ScrollKayit, 'PnlForm');
  PnlForm.Align = alTop; PnlForm.Height = 680; 
  PnlForm.Margins.Left = 20; PnlForm.Margins.Right = 20; PnlForm.Margins.Top = 10;
  PnlForm.clProSettings.BackgroundColor = clAlphaColor.clWhite; 
  PnlForm.clProSettings.RoundHeight = 15; PnlForm.clProSettings.RoundWidth = 15;
  PnlForm.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E5E7EB'); 
  PnlForm.clProSettings.BorderWidth = 1; 
  PnlForm.SetclProSettings(PnlForm.clProSettings);

  LytAdSoyad = MainForm.AddNewProPanel(PnlForm, 'LytAdSoyad');
  LytAdSoyad.Align = alTop; LytAdSoyad.Height = 75; LytAdSoyad.Margins.Top = 25;
  LytAdSoyad.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytAdSoyad.SetclProSettings(LytAdSoyad.clProSettings);

  LblAd = MainForm.AddNewProLabel(LytAdSoyad, 'LblAd', 'Ad');
  LblAd.Align = alNone; LblAd.Position.X = 15; LblAd.Position.Y = 5; 
  LblAd.clProSettings.FontSize = 11; LblAd.SetclProSettings(LblAd.clProSettings);

  EdtAd = MainForm.AddNewProEdit(LytAdSoyad, 'EdtAd', '');
  EdtAd.Align = alNone; EdtAd.Width = 140; EdtAd.Height = 40; 
  EdtAd.Position.X = 15; EdtAd.Position.Y = 25;
  EdtAd.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtAd.clProSettings.BorderWidth = 1; EdtAd.clProSettings.RoundHeight = 5; 
  EdtAd.SetclProSettings(EdtAd.clProSettings);

  LblSoyad = MainForm.AddNewProLabel(LytAdSoyad, 'LblSoyad', 'Soyad');
  LblSoyad.Align = alNone; LblSoyad.Position.X = 165; LblSoyad.Position.Y = 5; 
  LblSoyad.clProSettings.FontSize = 11; LblSoyad.SetclProSettings(LblSoyad.clProSettings);

  EdtSoyad = MainForm.AddNewProEdit(LytAdSoyad, 'EdtSoyad', '');
  EdtSoyad.Align = alNone; EdtSoyad.Width = 140; EdtSoyad.Height = 40; 
  EdtSoyad.Position.X = 165; EdtSoyad.Position.Y = 25;
  EdtSoyad.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSoyad.clProSettings.BorderWidth = 1; EdtSoyad.clProSettings.RoundHeight = 5; 
  EdtSoyad.SetclProSettings(EdtSoyad.clProSettings);

  LblTC = MainForm.AddNewProLabel(PnlForm, 'LblTC', 'TC Kimlik No');
  LblTC.Align = alTop; LblTC.Margins.Left = 15; LblTC.Margins.Top = 10; 
  LblTC.clProSettings.FontSize = 11; LblTC.SetclProSettings(LblTC.clProSettings);

  EdtTC = MainForm.AddNewProEdit(PnlForm, 'EdtTC', '');
  EdtTC.Align = alTop; EdtTC.Height = 40; EdtTC.Margins.Left = 15; EdtTC.Margins.Right = 15;
  EdtTC.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtTC.clProSettings.BorderWidth = 1; EdtTC.SetclProSettings(EdtTC.clProSettings);

  LblMail = MainForm.AddNewProLabel(PnlForm, 'LblMail', 'E-Posta');
  LblMail.Align = alTop; LblMail.Margins.Left = 15; LblMail.Margins.Top = 10; 
  LblMail.clProSettings.FontSize = 11; LblMail.SetclProSettings(LblMail.clProSettings);

  EdtMail = MainForm.AddNewProEdit(PnlForm, 'EdtMail', '');
  EdtMail.Align = alTop; EdtMail.Height = 40; EdtMail.Margins.Left = 15; EdtMail.Margins.Right = 15;
  EdtMail.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtMail.clProSettings.BorderWidth = 1; EdtMail.SetclProSettings(EdtMail.clProSettings);

  LblTel = MainForm.AddNewProLabel(PnlForm, 'LblTel', 'Telefon');
  LblTel.Align = alTop; LblTel.Margins.Left = 15; LblTel.Margins.Top = 10; 
  LblTel.clProSettings.FontSize = 11; LblTel.SetclProSettings(LblTel.clProSettings);

  EdtTel = MainForm.AddNewProEdit(PnlForm, 'EdtTel', '');
  EdtTel.Align = alTop; EdtTel.Height = 40; EdtTel.Margins.Left = 15; EdtTel.Margins.Right = 15;
  EdtTel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtTel.clProSettings.BorderWidth = 1; EdtTel.SetclProSettings(EdtTel.clProSettings);

  LytMahalleKapsayici = MainForm.AddNewProPanel(PnlForm, 'LytMahalleKapsayici');
  LytMahalleKapsayici.Align = alTop; LytMahalleKapsayici.Margins.Top = 15; LytMahalleKapsayici.Height = 80;
  LytMahalleKapsayici.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytMahalleKapsayici.SetclProSettings(LytMahalleKapsayici.clProSettings);

  LblMah = MainForm.AddNewProLabel(LytMahalleKapsayici, 'LblMah', 'Mahalle');
  LblMah.Align = alTop; LblMah.Margins.Left = 15; 
  LblMah.clProSettings.FontSize = 11; LblMah.SetclProSettings(LblMah.clProSettings);

  CmbMahalle = MainForm.AddNewComboBox(LytMahalleKapsayici, 'CmbMahalleKayit');
  CmbMahalle.Align = alTop; CmbMahalle.Height = 40; 
  CmbMahalle.Margins.Left = 15; CmbMahalle.Margins.Right = 15; CmbMahalle.Margins.Top = 5;
  CmbMahalle.AddItem('Seçiniz', '0'); CmbMahalle.ItemIndex = 0; 
  MahalleleriYukle();

  LblSifre = MainForm.AddNewProLabel(PnlForm, 'LblSifre', 'Şifre');
  LblSifre.Align = alTop; LblSifre.Margins.Left = 15; LblSifre.Margins.Top = 10; 
  LblSifre.clProSettings.FontSize = 11; LblSifre.SetclProSettings(LblSifre.clProSettings);

  EdtSifre = MainForm.AddNewProEdit(PnlForm, 'EdtSifre', '');
  EdtSifre.Align = alTop; EdtSifre.Height = 40; EdtSifre.Margins.Left = 15; EdtSifre.Margins.Right = 15; EdtSifre.Password = True;
  EdtSifre.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSifre.clProSettings.BorderWidth = 1; EdtSifre.SetclProSettings(EdtSifre.clProSettings);

  BtnGosterSifre = MainForm.AddNewProButton(EdtSifre, 'BtnGosterSifre', '👁');
  BtnGosterSifre.Align = alRight; BtnGosterSifre.Width = 35; 
  BtnGosterSifre.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGosterSifre.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); 
  BtnGosterSifre.SetclProSettings(BtnGosterSifre.clProSettings);
  MainForm.AddNewEvent(BtnGosterSifre, tbeOnClick, 'ToggleKayitSifre');

  LblSifre2 = MainForm.AddNewProLabel(PnlForm,'LblSifre2', 'Şifre Tekrar');
  LblSifre2.Align = alTop; LblSifre2.Margins.Left = 15; LblSifre2.Margins.Top = 10; 
  LblSifre2.clProSettings.FontSize = 11; LblSifre2.SetclProSettings(LblSifre2.clProSettings);

  EdtSifre2 = MainForm.AddNewProEdit(PnlForm, 'EdtSifre2', '');
  EdtSifre2.Align = alTop; EdtSifre2.Height = 40; EdtSifre2.Margins.Left = 15; EdtSifre2.Margins.Right = 15; EdtSifre2.Password = True;
  EdtSifre2.clProSettings.BorderColor = clAlphaColor.clHexToColor('#D1D5DB'); 
  EdtSifre2.clProSettings.BorderWidth = 1; EdtSifre2.SetclProSettings(EdtSifre2.clProSettings);

  BtnGosterSifre2 = MainForm.AddNewProButton(EdtSifre2, 'BtnGosterSifre2', '👁');
  BtnGosterSifre2.Align = alRight; BtnGosterSifre2.Width = 35; 
  BtnGosterSifre2.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGosterSifre2.clProSettings.FontColor = clAlphaColor.clHexToColor('#85929E'); 
  BtnGosterSifre2.SetclProSettings(BtnGosterSifre2.clProSettings);
  MainForm.AddNewEvent(BtnGosterSifre2, tbeOnClick, 'ToggleKayitSifre2');

  LytKVKK = MainForm.AddNewProPanel(PnlForm, 'LytKVKK');
  LytKVKK.Align = alTop; LytKVKK.Height = 40; LytKVKK.Margins.Top = 10; 
  LytKVKK.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  LytKVKK.SetclProSettings(LytKVKK.clProSettings);

  ChkKVKK = MainForm.AddNewCheckBox(LytKVKK, 'ChkKVKK', '');
  ChkKVKK.Align = alNone; ChkKVKK.Width = 25; ChkKVKK.Height = 25; 
  ChkKVKK.Position.X = 15; ChkKVKK.Position.Y = 10;

  BtnKVKKLink = MainForm.AddNewProButton(LytKVKK, 'BtnKVKKLink', 'KVKK Aydınlatma Metnini');
  BtnKVKKLink.Align = alNone; BtnKVKKLink.Width = 115; BtnKVKKLink.Height = 40; 
  BtnKVKKLink.Position.X = 45; BtnKVKKLink.Position.Y = 2;
  BtnKVKKLink.clProSettings.BackgroundColor = clAlphaColor.clNull; 
  BtnKVKKLink.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00');
  BtnKVKKLink.clProSettings.FontSize = 10; BtnKVKKLink.clProSettings.FontHorzAlign = alLeft; 
  BtnKVKKLink.SetclProSettings(BtnKVKKLink.clProSettings);
  MainForm.AddNewEvent(BtnKVKKLink, tbeOnClick, 'ShowKVKKMessage');

  LblKVKKDuz = MainForm.AddNewProLabel(LytKVKK, 'LblKVKKDuz', 'okudum ve onaylıyorum.');
  LblKVKKDuz.Align = alNone; LblKVKKDuz.Width = 140; LblKVKKDuz.Height = 40; 
  LblKVKKDuz.Position.X = 130; LblKVKKDuz.Position.Y = 16;
  LblKVKKDuz.clProSettings.FontSize = 10; LblKVKKDuz.clProSettings.FontColor = clAlphaColor.clGray; 
  LblKVKKDuz.clProSettings.FontHorzAlign = alLeft; LblKVKKDuz.SetclProSettings(LblKVKKDuz.clProSettings);

  BtnKayit = MainForm.AddNewProButton(PnlForm, 'BtnKayit', 'Hesap Oluştur');
  BtnKayit.Align = alTop; BtnKayit.Height = 50; 
  BtnKayit.Margins.Top = 10; BtnKayit.Margins.Left = 15; BtnKayit.Margins.Right = 15;
  BtnKayit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnKayit.clProSettings.FontColor = clAlphaColor.clBlack;
  BtnKayit.clProSettings.RoundHeight = 10; BtnKayit.clProSettings.TextSettings.Font.Style = [fsBold]; 
  BtnKayit.SetclProSettings(BtnKayit.clProSettings);

  LblFooterYazi = MainForm.AddNewProLabel(ScrollKayit, 'LblFooterYazi', 'Zaten hesabın var mı?');
  LblFooterYazi.Align = alTop; LblFooterYazi.Height = 20; LblFooterYazi.Margins.Top = 15; 
  LblFooterYazi.clProSettings.FontHorzAlign = palCenter; LblFooterYazi.clProSettings.FontColor = clAlphaColor.clGray; 
  LblFooterYazi.SetclProSettings(LblFooterYazi.clProSettings);

  BtnGirisYonlendir = MainForm.AddNewProButton(ScrollKayit, 'BtnGirisYonlendir', 'Giriş Yap');
  BtnGirisYonlendir.Align = alTop; BtnGirisYonlendir.Height = 55; BtnGirisYonlendir.Margins.Bottom = 30; 
  BtnGirisYonlendir.clProSettings.BackgroundColor = clAlphaColor.clNull;
  BtnGirisYonlendir.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFBF00'); 
  BtnGirisYonlendir.clProSettings.FontSize = 16;
  BtnGirisYonlendir.clProSettings.TextSettings.Font.Style = [fsBold]; 
  BtnGirisYonlendir.SetclProSettings(BtnGirisYonlendir.clProSettings);


  MainForm.AddNewEvent(BtnGirisYonlendir, tbeOnClick, 'GirisEkraniniCiz');
  MainForm.AddNewEvent(BtnKayit, tbeOnClick, 'KayitOlKontrol');

}

void ShowKVKKMessage;
{
  ShowMessage('Bu aydınlatma metni, 6698 sayılı Kişisel Verilerin Korunması Kanununun 10 uncu maddesi ile Aydınlatma Yükümlülüğünün Yerine Getirilmesinde Uyulacak Usul ve Esaslar Hakkında Tebliğ kapsamında veri sorumlusu sıfatıyla Kişisel Verileri Koruma Kurumu (Kurum) tarafından hazırlanmıştır.
Kurum tarafından, insan kaynakları süreçlerinin yönetilmesi, çalışanlar için iş akdi ve mevzuattan kaynaklı yükümlülüklerin yerine getirilmesi, çalışanlar için yan haklar ve menfaatleri süreçlerinin yürütülmesi, eğitim faaliyetlerinin yürütülmesi, iş sağlığı ve güvenliği faaliyetlerinin yürütülmesi ile sözleşme süreçlerinin yürütülmesi amacıyla özlük dosyaları kapsamında çalışanlara ait kişisel veriler (ad soyad, TC kimlik no, iletişim, diploma, adli sicil kaydı, eğitim, sağlık, mesleğe ilişkin veriler, mal beyanı, askerlik durumu, fotoğraf, sosyal güvenlik bilgileri, güvenlik soruşturması, izin bilgisi, disiplin bilgisi, bakmakla yükümlü olduğu kişilerin çalışma durumu, kimlik verileri, okul ve sağlık verileri, çocukların öz üvey olma durum bilgisi, çocukların cinsiyeti verileri) işlenmektedir.
Söz konusu kişisel verilerden; 
- sağlık verileri kanunlarda öngörülme (6331 sayılı İş Sağlığı ve Güvenliği Kanunu), istihdam ve iş sağlığı ve güvenliği alanındaki hukuki yükümlülüklerin (Devlet Memurlarına Verilecek Hastalık Raporları ile Hastalık ve Refakat İznine İlişkin Usul ve Esaslar Hakkında Yönetmelik) yerine getirilmesi için zorunlu olması hukuki sebebine, Adli sicil kaydı verileri kanunlarda öngörülme (5352 sayılı Adli Sicil Kanunu) hukuki sebebine, Sendika üyeliğine ilişkin veriler kanunlarda öngörülme (6356 sayılı Sendikalar ve Toplu İş Sözleşmesi Kanunu, 4688 sayılı Kamu Görevlileri Sendikaları ve Toplu Sözleşme Kanunu) hukuki sebebine,
- diğer kişisel veriler ise kanunlarda öngörülme (4857 sayılı İş Kanunu, 657 sayılı Devlet Memurları Kanunu, 5510 sayılı Sosyal Sigortalar ve Genel Sağlık Sigortası Kanunu, 5188 sayılı Özel Güvenlik Hizmetlerine Dair Kanun ve ilgili diğer kanunlar) ve hukuki yükümlülüğün yerine getirilmesi hukuki sebebine,
dayalı olarak elden teslim, posta, kargo aracılığıyla manuel yolla veya ilgili Kurum ve Kuruluşlarla entegrasyon aracılığıyla otomatik yolla işlenmektedir. 
Bu veriler ilgili kanunları gereği yetkili kamu kurum ve kuruluşları ile paylaşılabilecektir. Ayrıca hukuki uyuşmazlıkların giderilmesi veya ilgili mevzuatı gereği talep halinde adli makamlar veya ilgili kolluk kuvvetlerine aktarılabilecektir. 
Kişisel Verileri Koruma Kurumunca hazırlanan Kişisel Verilerin İşlenmesi Aydınlatma Metnini okudum, bilgi edindim.');
}

void GirisYapAction;
var
  clRest: TclRest; 
  jsonGelen, responseBody, strKullanici: String; 
  qryKullanici: TCLJSONQuery; 
  tempMahId: Integer;
  posKullanici: Integer;
{
  if (EditEmail == nil || EditSifre == nil) 
  {
    GirisEkraniniCiz(); 
    Exit;
  }

  if ((EditEmail.Text == '') || (EditSifre.Text == '')) 
  {
    ShowMessage('Lütfen e-posta ve şifrenizi girin.');
    Exit;
  }
  
  if (BtnGiris <> nil)
  {
    BtnGiris.Enabled = False; 
    BtnGiris.Text = 'Giriş Yapılıyor...';
  }

  try
    clRest = TclRest.Create; 
    clRest.BaseURL = g_ApiUrl + '/api/giris';
    clRest.Accept = 'application/json'; 
    clRest.Method = rmPost;
    responseBody = '{"eposta": "' + EditEmail.Text + '", "sifre": "' + EditSifre.Text + '"}';
    clRest.AddBody(responseBody, 'application/json'); 
    clRest.Execute; 
    jsonGelen = clRest.Response;
  finally
    if (BtnGiris <> nil) {
      BtnGiris.Enabled = True;
      BtnGiris.Text = 'Giriş Yap';
    }
  }
}

void CikisYap;
{
  ShowMessage('Oturum kapatıldı.');
  GirisEkraniniCiz();
}

{
  g_ApiUrl = 'https://belediye-backend-qc7f.onrender.com'; 
  MainForm = TclForm.Create(Self); MainForm.LytTopBar.Visible = False; MainForm.BtnGoBack.Visible = False; MainForm.BtnFormMenu.Visible = False; 
  CmbMahalle = MainForm.AddNewComboBox(MainForm, 'CmbMahalle'); CmbMahalle.Visible = False;
  MahalleleriYukle(); 
  LytMainContent = MainForm.AddNewLayout(MainForm, 'LytMainContent'); LytMainContent.Align = alClient;
  PnlBottomMenu = MainForm.AddNewProPanel(MainForm, 'PnlBottomMenu');
  PnlBottomMenu.Align = alBottom; PnlBottomMenu.Height = 65;
  PnlBottomMenu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  PnlBottomMenu.SetclProSettings(PnlBottomMenu.clProSettings);
  BtnNavAnaSayfa = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavAnaSayfa', 'Ana Sayfa');
  BtnNavAnaSayfa.Align = alLeft; BtnNavAnaSayfa.Width = (MainForm.clWidth / 4);
  BtnNavAnaSayfa.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavAnaSayfa.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavAnaSayfa, tbeOnClick, 'GoAnaSayfa');
  BtnNavSikayetler = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavSikayetler', 'Şikayetler');
  BtnNavSikayetler.Align = alLeft; BtnNavSikayetler.Width = (MainForm.clWidth / 4);
  BtnNavSikayetler.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavSikayetler.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavSikayetler, tbeOnClick, 'GoSikayetler');
  BtnNavYeni = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavYeni', 'Şikayet Ekle');
  BtnNavYeni.Align = alLeft; BtnNavYeni.Width = (MainForm.clWidth / 4);
  BtnNavYeni.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavYeni.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavYeni, tbeOnClick, 'GoYeni');
  BtnNavProfil = MainForm.AddNewProButton(PnlBottomMenu, 'BtnNavProfil', 'Profil');
  BtnNavProfil.Align = alLeft; BtnNavProfil.Width = (MainForm.clWidth / 4);
  BtnNavProfil.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#414446');
  BtnNavProfil.clProSettings.FontSize = 11; MainForm.AddNewEvent(BtnNavProfil, tbeOnClick, 'GoProfil');
  uAna = TclUnit.Create;
  uProfil = TclUnit.Create;
  uSikayetlerim = TclUnit.Create;
  uYeni = TclUnit.Create;
  GirisEkraniniCiz(); 
  MainForm.Run();




Hocam dediğiniz gibi yaptım ama uygulama aynı şekilde çökmeye devam ediyor 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">
Yukarı Dön
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 239
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 31 Dakika Önce Saat 18:00
Problemin nedeni Emre hocanın dediği kısımları düzeltilmemiş olması hala senin kodunda 

senin kodunda ise 
  if (EditEmail == nil || EditSifre == nil) 

bu şekilde olmalı
if ((EditEmail.Text == '') || (EditSifre.Text == '')) { ... }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">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,055 Saniyede Yüklendi.