Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - kayıt hatası
  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.

kayıt hatası

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


Kayıt Tarihi: 23 Haziran 2026
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı MehmetOzcan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: kayıt hatası
    Gönderim Zamanı: 5 Saat 30 Dakika Önce Saat 11:09
uses udatalib;

var
  AnaForm: TCLForm;
  OlcekliYerlesim: TclScaledLayout;
  
  ArkaPlanPnl: TclProPanel;
  UstBeyazAlanPnl: TclProPanel;
  UstBaslikPnl: TclProPanel;
  OzetKapsayiciPnl: TclProPanel;
  
  IseBaslaKapsayiciPnl: TclProPanel;
  BaslaBtnPnl: TclProPanel;
  BtnIseBasla: TclProButton;
  
  MesaiDurumPnl: TclProPanel;
  DurumIkonDisPnl: TclProPanel;
  DurumIkonImg: TclProImage;
  DurumMetinPnl: TclProPanel;
  LblDurumBaslik: TclProLabel;
  MesaiPillPnl: TclProPanel;
  LblMesaiSaat: TclProLabel;
  LblGirisSaat: TclProLabel;
  BtnCikisYap: TclProButton;

  MesaiBittiPnl: TclProPanel;
  BittiIkonDisPnl: TclProPanel;
  BittiIkonImg: TclProImage;
  BittiMetinAnaPnl: TclProPanel;
  BittiUstMetinPnl: TclProPanel;
  LblBittiBaslik: TclProLabel;
  BittiPillPnl: TclProPanel;
  LblBittiMesaiSaat: TclProLabel;
  LblBittiGirisCikis: TclProLabel;

  AltMenuPnl: TclProPanel;
  IcerikKaydirici: TclVertScrollBox;
  
  TarihLbi: TclProLabel;
  SelamlamaLbi: TclProLabel;
  ZilIkon: TclProImage;
  BtnYeniGunTest: TclProButton;
  
  BekliyorKartPnl: TclProPanel;
  BekleyenSayiLbi: TclProLabel;
  BekleyenYaziLbi: TclProLabel;
  
  TamamlananKartPnl: TclProPanel;
  TamamlananSayiLbi: TclProLabel;
  TamamlananYaziLbi: TclProLabel;
  
  NavPnlGorevler: TclProPanel;
  NavPnlGecmis: TclProPanel;
  NavPnlProfil: TclProPanel;
  NavBtnGorevler: TclProButton;
  NavBtnGecmis: TclProButton;
  NavBtnProfil: TclProButton;
  GorevlerCizgiPnl: TclProPanel;

  GGirisSaati: String;
  GMesaiSaati: String;
  GZamanindaMi: Boolean;
  GPersonelID: Integer;
  GPersonelAd: String;

  QrAnaPnl: TclProPanel;
  QrUstMenuPnl: TclProPanel;
  QrKapatLbi: TclProLabel;
  QrBaslikKapsayiciPnl: TclProPanel;
  QrBaslikLbi: TclProLabel;
  QrLokasyonLbi: TclProLabel;
  QrKartPnl: TclProPanel;
  QrKameraCercevePnl: TclProPanel;
  QrKameraIkonImg: TclProImage;
  QrKameraAktifLbi: TclProLabel;
  QrKodaYoneltLbi: TclProLabel;
  QrAltBilgi1Lbi: TclProLabel;
  QrAltBilgi2Lbi: TclProLabel;
  BtnQrKoduOku: TclProButton;
  EdtGizliQrSonuc: TclProEdit;

  GSeciliGorevID: Integer;
  LQryAd: TClSQLiteQuery;
  
  LAyrac1Temp: Integer;
  LAyrac2Temp: Integer;
  LSimdiSaatTemp: Integer;
  LSimdiDakikaTemp: Integer;
  LGirisSaatTemp: Integer;
  LGirisDakikaTemp: Integer;
  LSimdiToplamDakikaTemp: Integer;
  LGirisToplamDakikaTemp: Integer;
  LQryCikis: TClSQLiteQuery;
  LCikisSaatiTemp: String;

  GtAnaPnl: TclProPanel;
  GtUstMenuPnl: TclProPanel;
  GtKapatLbi: TclProLabel;
  GtBaslikLbi: TclProLabel;
  KanitKartPnl: TclProPanel;
  KanitBaslikLbi: TclProLabel;
  KanitFotoCercevePnl: TclProPanel;
  
  BtnFotoCek: TclProButton;
  NotKartPnl: TclProPanel;
  NotBaslikLbi: TclProLabel;
  EdtDurumNotu: TclMemo;
  BtnGoreviBitir: TclProButton;
  
  KanitGorsel: TclProImage;
  KanitGorselImg: TClImage;

// --- 1. ÖNCE YARDIMCI FONKSİYONLAR ---

void OnMenuTikla;
{
  ShowMessage('Menuye tiklandi: ' + TclProButton(AnaForm.clSender).clTagStr);
}

void OzetKartlariniGuncelle;
var
  LQry: TClSQLiteQuery;
  LBekliyor: Integer;
  LTamamlanan: Integer;
{
  LBekliyor = 0;
  LTamamlanan = 0;

  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT COUNT(*) AS Sayi FROM TblGorevler WHERE AtananPersonelID=' +
      IntToStr(GPersonelID) +
      ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) +
      ' AND Durum=' + QuotedStr('Bekliyor')
    );
    LQry.OpenOrExecute;
    if (LQry.Found)
    {
      LBekliyor = LQry.FieldByName('Sayi').AsInteger;
    }
    LQry.Free;

    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT COUNT(*) AS Sayi FROM TblGorevler WHERE AtananPersonelID=' +
      IntToStr(GPersonelID) +
      ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) +
      ' AND Durum=' + QuotedStr('Tamamlandi')
    );
    LQry.OpenOrExecute;
    if (LQry.Found)
    {
      LTamamlanan = LQry.FieldByName('Sayi').AsInteger;
    }
    LQry.Free;

    BekleyenSayiLbi.Text = IntToStr(LBekliyor);
    TamamlananSayiLbi.Text = IntToStr(LTamamlanan);
  except
    ShowMessage('Ozet guncelleme hatasi: ' + LastExceptionMessage);
  }
}

// --- 2. GÖREV TAMAMLA MODAL ---

void OnGtModalKapatClick;
{
  GtAnaPnl.Visible = False;
}

void OnFotoCekClick;
{
  KanitGorselImg.Visible = True;
  KanitGorsel.Visible = False;
  Clomosy.ImageChooser(AnaForm, KanitGorselImg);
}

void GorevSatiriOlustur(AParent: TclVertScrollBox; AIsim, ABaslik, ASaat, AIconUrl, AGorevID: String);
var
  SatirPnl: TclProPanel;
  IkonDisPnl: TclProPanel;
  IkonImg: TclProImage;
  BilgiPnl: TclProPanel;
  BaslikLbi: TclProLabel;
  SaatLbi: TclProLabel;
  BtnQrOkut: TclProButton;
{
  SatirPnl = AnaForm.AddNewProPanel(AParent, AIsim);
  SatirPnl.Align = alTop;
  SatirPnl.Height = 85;
  SatirPnl.Margins.Top = 10;
  SatirPnl.Margins.Left = 15;
  SatirPnl.Margins.Right = 15;
  SatirPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  SatirPnl.clProSettings.RoundHeight = 15;
  SatirPnl.clProSettings.RoundWidth = 15;
  SatirPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  SatirPnl.clProSettings.BorderWidth = 1;
  SatirPnl.SetclProSettings(SatirPnl.clProSettings);

  IkonDisPnl = AnaForm.AddNewProPanel(SatirPnl, AIsim + 'IkonDis');
  IkonDisPnl.Align = alLeft;
  IkonDisPnl.Width = 50;
  IkonDisPnl.Margins.Left = 15;
  IkonDisPnl.Margins.Top = 17;
  IkonDisPnl.Margins.Bottom = 17;
  IkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  IkonDisPnl.clProSettings.RoundHeight = 15;
  IkonDisPnl.clProSettings.RoundWidth = 15;
  IkonDisPnl.SetclProSettings(IkonDisPnl.clProSettings);

  IkonImg = AnaForm.AddNewProImage(IkonDisPnl, AIsim + 'IkonImg');
  IkonImg.Align = alClient;
  IkonImg.Margins.Left = 10;
  IkonImg.Margins.Right = 10;
  IkonImg.Margins.Top = 10;
  IkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(IkonImg, AIconUrl);

  if (Pos('190411', AIconUrl) == 0)
  {
    BtnQrOkut = AnaForm.AddNewProButton(SatirPnl, AIsim + 'BtnQr', 'QR OKUT');
    BtnQrOkut.Align = alRight;
    BtnQrOkut.Width = 95;
    BtnQrOkut.Margins.Right = 15;
    BtnQrOkut.Margins.Top = 22;
    BtnQrOkut.Margins.Bottom = 22;
    BtnQrOkut.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
    BtnQrOkut.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
    BtnQrOkut.clProSettings.FontSize = 11;
    BtnQrOkut.clProSettings.TextSettings.Font.Style = [fsBold];
    BtnQrOkut.clTagStr = ABaslik + '|' + AGorevID;
    BtnQrOkut.clProSettings.RoundHeight = 10;
    BtnQrOkut.clProSettings.RoundWidth = 10;
    BtnQrOkut.SetclProSettings(BtnQrOkut.clProSettings);
    AnaForm.AddNewEvent(BtnQrOkut, tbeOnClick, 'OnQrOkutClick');
  }

  BilgiPnl = AnaForm.AddNewProPanel(SatirPnl, AIsim + 'BilgiPnl');
  BilgiPnl.Align = alClient;
  BilgiPnl.Margins.Left = 15;
  BilgiPnl.Margins.Top = 20;
  BilgiPnl.clProSettings.IsTransparent = True;
  BilgiPnl.SetclProSettings(BilgiPnl.clProSettings);

  BaslikLbi = AnaForm.AddNewProLabel(BilgiPnl, AIsim + 'Baslik', ABaslik);
  BaslikLbi.Align = alTop;
  BaslikLbi.Height = 20;
  BaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  BaslikLbi.clProSettings.FontSize = 13;
  BaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  BaslikLbi.SetclProSettings(BaslikLbi.clProSettings);

  SaatLbi = AnaForm.AddNewProLabel(BilgiPnl, AIsim + 'Saat', ASaat);
  SaatLbi.Align = alTop;
  SaatLbi.Height = 18;
  SaatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  SaatLbi.clProSettings.FontSize = 11;
  SaatLbi.SetclProSettings(SaatLbi.clProSettings);
}

void GorevListesiniDoldur;
var
  LQry: TClSQLiteQuery;
  LIsim: String;
  LSayac: Integer;
  LIkonUrl: String;
{
  try
    LQry = PersonelGorevleriGetir(GPersonelID);
    LSayac = 1;

    while (not LQry.Eof)
    {
      LIsim = 'Gorev' + IntToStr(LSayac);

      if (LQry.FieldByName('Durum').AsString == 'Tamamlandi')
      {
      }
      else
      {
      }

      GorevSatiriOlustur(
        IcerikKaydirici,
        LIsim,
        LQry.FieldByName('Lokasyon').AsString,
        LQry.FieldByName('PlanlananSaat').AsString,
        LIkonUrl,
        IntToStr(LQry.FieldByName('ID').AsInteger)
      );

      LSayac = LSayac + 1;
      LQry.Next;
    }

    LQry.Free;
  except
    ShowMessage('Gorev listesi yuklenemedi: ' + LastExceptionMessage);
  }
}

void OnGoreviBitirClick;
var
  LResimYolu: String;
  LStream: TClMemoryStream;
{
  LResimYolu = '-'; // Fotoğraf çekilmezse veritabanına tire yazacak

  // Eğer personel butona basıp kamera açtıysa (Görsel görünür olduysa)
  if (KanitGorselImg.Visible == True)
  {
    LResimYolu = Clomosy.AppFilesPath + 'gorev_kanit_' + IntToStr(GSeciliGorevID) + '.jpg';
    
    try
      // TEMİZ YÖNTEM: Görüntüyü önce Stream'e (hafıza akışına) al, oradan da dosyaya kaydet.
      LStream = TClMemoryStream.Create;
      KanitGorselImg.Bitmap.SaveToStream(LStream); 
      LStream.SaveToFile(LResimYolu); // Bu komut asla 2 parametre istemez!
      LStream.Free;
    except
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
      LResimYolu = '-'; // Kayıtta bir hata olursa çökmek yerine veritabanına '-' yazar
    }
  }

  // Veritabanını ve Ekranı Güncelle
  if (GorevTamamla(GSeciliGorevID, EdtDurumNotu.Text, LResimYolu))
  {
    ShowMessage('Görev Başarıyla Tamamlandı!');
    GtAnaPnl.Visible = False;
    OzetKartlariniGuncelle;
    IcerikKaydirici.DeleteChildren; // Listeyi temizle
    GorevListesiniDoldur; // Listeyi yeni haliyle tekrar çiz
  }
}

void OnQrModalKapatClick;
{
  QrAnaPnl.Visible = False;
}

void OnQrKamerayiAc;
{
  AnaForm.CallBarcodeReader(EdtGizliQrSonuc);
}

void OnQrSonucAlindi;
var
  LQrKodu: String;
  LLokasyon: String;
  LQry: TClSQLiteQuery;
{
  LQrKodu = EdtGizliQrSonuc.Text;

  if (LQrKodu <> '')
  {
    try
      LQry = Clomosy.DBSQLiteQueryWith(
        'SELECT Lokasyon FROM TblQRKodlar WHERE QRKodu=' + QuotedStr(LQrKodu)
      );
      LQry.OpenOrExecute;

      if (LQry.Found)
      {
        LLokasyon = LQry.FieldByName('Lokasyon').AsString;
        LQry.Free;

        if (LLokasyon == QrLokasyonLbi.Text)
        {
          GorevBaslat(GSeciliGorevID);
          OzetKartlariniGuncelle;
          QrAnaPnl.Visible = False;
          EdtGizliQrSonuc.Text = '';
          
          EdtDurumNotu.Text = '';
          GtBaslikLbi.Text = 'Gorev: ' + LLokasyon;
          GtAnaPnl.Visible = True;
        }
        else
        {
          ShowMessage('Yanlis oda! Lutfen ' + QrLokasyonLbi.Text + ' alanina gidiniz.');
          EdtGizliQrSonuc.Text = '';
        }
      }
      else
      {
        LQry.Free;
        ShowMessage('Tanimsiz QR Kod: [' + LQrKodu + ']');
        EdtGizliQrSonuc.Text = '';
      }
    except
      ShowMessage('Hata: ' + LastExceptionMessage);
    }
  }
}

void OnQrOkutClick;
var
  TiklananBtn: TclProButton;
  LTag: String;
  LAyrac: Integer;
  LGorevIDStr: String;
{
  TiklananBtn = TclProButton(AnaForm.clSender);
  LTag = TiklananBtn.clTagStr;
  LAyrac = Pos('|', LTag);
  QrLokasyonLbi.Text = Copy(LTag, 1, LAyrac - 1);
  LGorevIDStr = Copy(LTag, LAyrac + 1, Length(LTag));
  GSeciliGorevID = StrToIntDef(LGorevIDStr, 0);
  QrAnaPnl.Visible = True;
  AnaForm.CallBarcodeReader(EdtGizliQrSonuc);
}

// --- 4. MESAİ ---

void OnIseBaslaClick;
var
  LSimdikiSaat: String;
  LQry: TClSQLiteQuery;
  LAyrac1: Integer;
  LAyrac2: Integer;
  LSimdiSaat: Integer;
  LSimdiDakika: Integer;
  LGirisSaat: Integer;
  LGirisDakika: Integer;
  LSimdiToplamDakika: Integer;
  LGirisToplamDakika: Integer;
{
  LSimdikiSaat = FormatDateTime('hh:nn', Now);

  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT GirisSaati FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      GMesaiSaati = LQry.FieldByName('GirisSaati').AsString;
    }
    LQry.Free;

    GGirisSaati = LSimdikiSaat;
    GZamanindaMi = False;

    LAyrac1 = Pos(':', LSimdikiSaat);
    LSimdiSaat = StrToIntDef(Copy(LSimdikiSaat, 1, LAyrac1 - 1), 0);
    LSimdiDakika = StrToIntDef(Copy(LSimdikiSaat, LAyrac1 + 1, Length(LSimdikiSaat)), 0);
    LSimdiToplamDakika = (LSimdiSaat * 60) + LSimdiDakika;

    LAyrac2 = Pos(':', GMesaiSaati);
    LGirisSaat = StrToIntDef(Copy(GMesaiSaati, 1, LAyrac2 - 1), 0);
    LGirisDakika = StrToIntDef(Copy(GMesaiSaati, LAyrac2 + 1, Length(GMesaiSaati)), 0);
    LGirisToplamDakika = (LGirisSaat * 60) + LGirisDakika;

    if (LSimdiToplamDakika <= LGirisToplamDakika)
    {
      GZamanindaMi = True;
    }

    Clomosy.DBSQLiteQuery.Sql.Text =
      'UPDATE TblPersonel SET BugunkuGiris=' + QuotedStr(LSimdikiSaat) +
      ', Durum=' + QuotedStr('Gorevde') +
      ' WHERE ID=' + IntToStr(GPersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    if (not GZamanindaMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text =
        'UPDATE TblPersonel SET Durum=' + QuotedStr('Gecikti') +
        ' WHERE ID=' + IntToStr(GPersonelID);
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }

    LblGirisSaat.Text = 'Giris: ' + GGirisSaati;
    LblMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    if (GZamanindaMi)
    {
      MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
      MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
      DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      LblDurumBaslik.Text = 'Hos Geldiniz';
      LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
    }
    else
    {
      MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
      MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
      DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      LblDurumBaslik.Text = 'Gec Geldi';
      LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
    }

    MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);
    DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);
    MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);
    LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

    BaslaBtnPnl.Visible = False;
    MesaiBittiPnl.Visible = False;
    MesaiDurumPnl.Visible = True;
  except
    ShowMessage('Ise baslama hatasi: ' + LastExceptionMessage);
  }
}

void OnCikisYapClick;
var
  LCikisSaati: String;
{
  LCikisSaati = FormatDateTime('hh:nn', Now);

  try
    Clomosy.DBSQLiteQuery.Sql.Text =
      'UPDATE TblPersonel SET BugunkuCikis=' + QuotedStr(LCikisSaati) +
      ' WHERE ID=' + IntToStr(GPersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    LblBittiGirisCikis.Text = 'Giris: ' + GGirisSaati + ' - Cikis: ' + LCikisSaati;
    LblBittiMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    if (GZamanindaMi)
    {
      MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
      MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
      BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      LblBittiBaslik.Text = 'Gule Gule';
      LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
    }
    else
    {
      MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
      MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
      BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      LblBittiBaslik.Text = 'Gule Gule';
      LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
    }

    MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);
    BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);
    BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);
    LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

    BaslaBtnPnl.Visible = False;
    MesaiDurumPnl.Visible = False;
    MesaiBittiPnl.Visible = True;
  except
    ShowMessage('Cikis hatasi: ' + LastExceptionMessage);
  }
}

void OnYeniGunClick;
{
  MesaiDurumPnl.Visible = False;
  MesaiBittiPnl.Visible = False;
  BaslaBtnPnl.Visible = True;
  ShowMessage('Sistem yeni gune sifirlandı.');
}

// --- 5. GÖREV LİSTESİ ---

// --- 6. EKRAN KURULUM ---

void EkraniKur;
{
  ArkaPlanPnl = AnaForm.AddNewProPanel(OlcekliYerlesim, 'ArkaPlanPnl');
  ArkaPlanPnl.Align = alClient;
  ArkaPlanPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  ArkaPlanPnl.SetclProSettings(ArkaPlanPnl.clProSettings);

  UstBeyazAlanPnl = AnaForm.AddNewProPanel(ArkaPlanPnl, 'UstBeyazAlanPnl');
  UstBeyazAlanPnl.Align = alTop;
  UstBeyazAlanPnl.Height = 270;
  UstBeyazAlanPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  UstBeyazAlanPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  UstBeyazAlanPnl.clProSettings.BorderWidth = 1;
  UstBeyazAlanPnl.SetclProSettings(UstBeyazAlanPnl.clProSettings);

  UstBaslikPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'UstBaslikPnl');
  UstBaslikPnl.Align = alTop;
  UstBaslikPnl.Height = 70;
  UstBaslikPnl.clProSettings.IsTransparent = True;
  UstBaslikPnl.SetclProSettings(UstBaslikPnl.clProSettings);

  ZilIkon = AnaForm.AddNewProImage(UstBaslikPnl, 'ZilIkon');
  ZilIkon.Align = alRight;
  ZilIkon.Width = 25;
  ZilIkon.Margins.Right = 20;
  ZilIkon.Margins.Top = 20;
  ZilIkon.Margins.Bottom = 25;

  BtnYeniGunTest = AnaForm.AddNewProButton(UstBaslikPnl, 'BtnYeniGunTest', 'Yeni Gun');
  BtnYeniGunTest.Align = alRight;
  BtnYeniGunTest.Width = 75;
  BtnYeniGunTest.Margins.Right = 10;
  BtnYeniGunTest.Margins.Top = 20;
  BtnYeniGunTest.Margins.Bottom = 20;
  BtnYeniGunTest.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  BtnYeniGunTest.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  BtnYeniGunTest.clProSettings.FontSize = 10;
  BtnYeniGunTest.clProSettings.RoundHeight = 8;
  BtnYeniGunTest.clProSettings.RoundWidth = 8;
  BtnYeniGunTest.SetclProSettings(BtnYeniGunTest.clProSettings);
  AnaForm.AddNewEvent(BtnYeniGunTest, tbeOnClick, 'OnYeniGunClick');

  TarihLbi = AnaForm.AddNewProLabel(UstBaslikPnl, 'TarihLbi', FormatDateTime('dd mmmm yyyy, dddd', Now));
  TarihLbi.Align = alTop;
  TarihLbi.Height = 20;
  TarihLbi.Margins.Left = 20;
  TarihLbi.Margins.Top = 15;
  TarihLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  TarihLbi.clProSettings.FontSize = 10;
  TarihLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  TarihLbi.SetclProSettings(TarihLbi.clProSettings);

  SelamlamaLbi = AnaForm.AddNewProLabel(UstBaslikPnl, 'SelamlamaLbi', 'Kolay Gelsin, ' + GPersonelAd);
  SelamlamaLbi.Align = alTop;
  SelamlamaLbi.Height = 25;
  SelamlamaLbi.Margins.Left = 20;
  SelamlamaLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  SelamlamaLbi.clProSettings.FontSize = 18;
  SelamlamaLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  SelamlamaLbi.SetclProSettings(SelamlamaLbi.clProSettings);

  OzetKapsayiciPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'OzetKapsayiciPnl');
  OzetKapsayiciPnl.Align = alTop;
  OzetKapsayiciPnl.Height = 85;
  OzetKapsayiciPnl.Margins.Top = 5;
  OzetKapsayiciPnl.clProSettings.IsTransparent = True;
  OzetKapsayiciPnl.SetclProSettings(OzetKapsayiciPnl.clProSettings);

  BekliyorKartPnl = AnaForm.AddNewProPanel(OzetKapsayiciPnl, 'BekliyorKartPnl');
  BekliyorKartPnl.Align = alLeft;
  BekliyorKartPnl.Width = Trunc((OlcekliYerlesim.Width / 2) - 25);
  BekliyorKartPnl.Margins.Left = 20;
  BekliyorKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  BekliyorKartPnl.clProSettings.RoundHeight = 15;
  BekliyorKartPnl.clProSettings.RoundWidth = 15;
  BekliyorKartPnl.SetclProSettings(BekliyorKartPnl.clProSettings);

  BekleyenSayiLbi = AnaForm.AddNewProLabel(BekliyorKartPnl, 'BekleyenSayiLbi', '0');
  BekleyenSayiLbi.Align = alTop;
  BekleyenSayiLbi.Height = 40;
  BekleyenSayiLbi.Margins.Top = 10;
  BekleyenSayiLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  BekleyenSayiLbi.clProSettings.FontSize = 24;
  BekleyenSayiLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  BekleyenSayiLbi.clProSettings.FontHorzAlign = palcenter;
  BekleyenSayiLbi.SetclProSettings(BekleyenSayiLbi.clProSettings);

  BekleyenYaziLbi = AnaForm.AddNewProLabel(BekliyorKartPnl, 'BekleyenYaziLbi', 'Bekliyor');
  BekleyenYaziLbi.Align = alTop;
  BekleyenYaziLbi.Height = 20;
  BekleyenYaziLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  BekleyenYaziLbi.clProSettings.FontSize = 11;
  BekleyenYaziLbi.clProSettings.FontHorzAlign = palcenter;
  BekleyenYaziLbi.SetclProSettings(BekleyenYaziLbi.clProSettings);

  TamamlananKartPnl = AnaForm.AddNewProPanel(OzetKapsayiciPnl, 'TamamlananKartPnl');
  TamamlananKartPnl.Align = alRight;
  TamamlananKartPnl.Width = Trunc((OlcekliYerlesim.Width / 2) - 25);
  TamamlananKartPnl.Margins.Right = 20;
  TamamlananKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
  TamamlananKartPnl.clProSettings.RoundHeight = 15;
  TamamlananKartPnl.clProSettings.RoundWidth = 15;
  TamamlananKartPnl.SetclProSettings(TamamlananKartPnl.clProSettings);

  TamamlananSayiLbi = AnaForm.AddNewProLabel(TamamlananKartPnl, 'TamamlananSayiLbi', '0');
  TamamlananSayiLbi.Align = alTop;
  TamamlananSayiLbi.Height = 40;
  TamamlananSayiLbi.Margins.Top = 10;
  TamamlananSayiLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#059669');
  TamamlananSayiLbi.clProSettings.FontSize = 24;
  TamamlananSayiLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  TamamlananSayiLbi.clProSettings.FontHorzAlign = palcenter;
  TamamlananSayiLbi.SetclProSettings(TamamlananSayiLbi.clProSettings);

  TamamlananYaziLbi = AnaForm.AddNewProLabel(TamamlananKartPnl, 'TamamlananYaziLbi', 'Tamamlandi');
  TamamlananYaziLbi.Align = alTop;
  TamamlananYaziLbi.Height = 20;
  TamamlananYaziLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#059669');
  TamamlananYaziLbi.clProSettings.FontSize = 11;
  TamamlananYaziLbi.clProSettings.FontHorzAlign = palcenter;
  TamamlananYaziLbi.SetclProSettings(TamamlananYaziLbi.clProSettings);

  IseBaslaKapsayiciPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'IseBaslaKapsayiciPnl');
  IseBaslaKapsayiciPnl.Align = alTop;
  IseBaslaKapsayiciPnl.Height = 90;
  IseBaslaKapsayiciPnl.clProSettings.IsTransparent = True;
  IseBaslaKapsayiciPnl.SetclProSettings(IseBaslaKapsayiciPnl.clProSettings);

  BaslaBtnPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'BaslaBtnPnl');
  BaslaBtnPnl.Align = alClient;
  BaslaBtnPnl.clProSettings.IsTransparent = True;
  BaslaBtnPnl.SetclProSettings(BaslaBtnPnl.clProSettings);

  BtnIseBasla = AnaForm.AddNewProButton(BaslaBtnPnl, 'BtnIseBasla', 'ISE BASLA');
  BtnIseBasla.Align = alClient;
  BtnIseBasla.Margins.Left = 20;
  BtnIseBasla.Margins.Right = 20;
  BtnIseBasla.Margins.Top = 15;
  BtnIseBasla.Margins.Bottom = 15;
  BtnIseBasla.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnIseBasla.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
  BtnIseBasla.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnIseBasla.clProSettings.RoundHeight = 15;
  BtnIseBasla.clProSettings.RoundWidth = 15;
  BtnIseBasla.SetclProSettings(BtnIseBasla.clProSettings);
  AnaForm.AddNewEvent(BtnIseBasla, tbeOnClick, 'OnIseBaslaClick');

  MesaiDurumPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'MesaiDurumPnl');
  MesaiDurumPnl.Align = alClient;
  MesaiDurumPnl.Visible = False;
  MesaiDurumPnl.Margins.Left = 20;
  MesaiDurumPnl.Margins.Right = 20;
  MesaiDurumPnl.Margins.Top = 10;
  MesaiDurumPnl.Margins.Bottom = 10;
  MesaiDurumPnl.clProSettings.BorderWidth = 1;
  MesaiDurumPnl.clProSettings.RoundHeight = 25;
  MesaiDurumPnl.clProSettings.RoundWidth = 25;
  MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);

  DurumIkonDisPnl = AnaForm.AddNewProPanel(MesaiDurumPnl, 'DurumIkonDisPnl');
  DurumIkonDisPnl.Align = alLeft;
  DurumIkonDisPnl.Width = 45;
  DurumIkonDisPnl.Margins.Left = 15;
  DurumIkonDisPnl.Margins.Top = 12;
  DurumIkonDisPnl.Margins.Bottom = 12;
  DurumIkonDisPnl.clProSettings.RoundHeight = 15;
  DurumIkonDisPnl.clProSettings.RoundWidth = 15;
  DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);

  DurumIkonImg = AnaForm.AddNewProImage(DurumIkonDisPnl, 'DurumIkonImg');
  DurumIkonImg.Align = alClient;
  DurumIkonImg.Margins.Left = 10;
  DurumIkonImg.Margins.Right = 10;
  DurumIkonImg.Margins.Top = 10;
  DurumIkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(DurumIkonImg, 'https://cdn-icons-png.flaticon.com/128/223/223408.png');

  DurumMetinPnl = AnaForm.AddNewProPanel(MesaiDurumPnl, 'DurumMetinPnl');
  DurumMetinPnl.Align = alLeft;
  DurumMetinPnl.Width = 120;
  DurumMetinPnl.Margins.Left = 10;
  DurumMetinPnl.clProSettings.IsTransparent = True;
  DurumMetinPnl.SetclProSettings(DurumMetinPnl.clProSettings);

  LblDurumBaslik = AnaForm.AddNewProLabel(DurumMetinPnl, 'LblDurumBaslik', 'Gec Geldi');
  LblDurumBaslik.Align = alTop;
  LblDurumBaslik.Height = 20;
  LblDurumBaslik.Margins.Top = 10;
  LblDurumBaslik.clProSettings.FontSize = 13;
  LblDurumBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

  MesaiPillPnl = AnaForm.AddNewProPanel(DurumMetinPnl, 'MesaiPillPnl');
  MesaiPillPnl.Align = alTop;
  MesaiPillPnl.Height = 18;
  MesaiPillPnl.Width = 90;
  MesaiPillPnl.clProSettings.RoundHeight = 8;
  MesaiPillPnl.clProSettings.RoundWidth = 8;
  MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);

  LblMesaiSaat = AnaForm.AddNewProLabel(MesaiPillPnl, 'LblMesaiSaat', 'Mesai: 18:30');
  LblMesaiSaat.Align = alClient;
  LblMesaiSaat.clProSettings.FontColor = clalphacolor.clWhite;
  LblMesaiSaat.clProSettings.FontSize = 10;
  LblMesaiSaat.clProSettings.FontHorzAlign = palcenter;
  LblMesaiSaat.SetclProSettings(LblMesaiSaat.clProSettings);

  LblGirisSaat = AnaForm.AddNewProLabel(DurumMetinPnl, 'LblGirisSaat', 'Giris: --');
  LblGirisSaat.Align = alTop;
  LblGirisSaat.Height = 15;
  LblGirisSaat.Margins.Top = 2;
  LblGirisSaat.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  LblGirisSaat.clProSettings.FontSize = 10;
  LblGirisSaat.SetclProSettings(LblGirisSaat.clProSettings);

  BtnCikisYap = AnaForm.AddNewProButton(MesaiDurumPnl, 'BtnCikisYap', 'Cikis');
  BtnCikisYap.Align = alRight;
  BtnCikisYap.Width = 70;
  BtnCikisYap.Margins.Right = 15;
  BtnCikisYap.Margins.Top = 18;
  BtnCikisYap.Margins.Bottom = 18;
  BtnCikisYap.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnCikisYap.clProSettings.FontColor = clalphacolor.clWhite;
  BtnCikisYap.clProSettings.FontSize = 11;
  BtnCikisYap.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnCikisYap.clProSettings.RoundHeight = 15;
  BtnCikisYap.clProSettings.RoundWidth = 15;
  BtnCikisYap.SetclProSettings(BtnCikisYap.clProSettings);
  AnaForm.AddNewEvent(BtnCikisYap, tbeOnClick, 'OnCikisYapClick');

  MesaiBittiPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'MesaiBittiPnl');
  MesaiBittiPnl.Align = alClient;
  MesaiBittiPnl.Visible = False;
  MesaiBittiPnl.Margins.Left = 20;
  MesaiBittiPnl.Margins.Right = 20;
  MesaiBittiPnl.Margins.Top = 10;
  MesaiBittiPnl.Margins.Bottom = 10;
  MesaiBittiPnl.clProSettings.BorderWidth = 1;
  MesaiBittiPnl.clProSettings.RoundHeight = 25;
  MesaiBittiPnl.clProSettings.RoundWidth = 25;
  MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);

  BittiIkonDisPnl = AnaForm.AddNewProPanel(MesaiBittiPnl, 'BittiIkonDisPnl');
  BittiIkonDisPnl.Align = alLeft;
  BittiIkonDisPnl.Width = 45;
  BittiIkonDisPnl.Margins.Left = 15;
  BittiIkonDisPnl.Margins.Top = 12;
  BittiIkonDisPnl.Margins.Bottom = 12;
  BittiIkonDisPnl.clProSettings.RoundHeight = 15;
  BittiIkonDisPnl.clProSettings.RoundWidth = 15;
  BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);

  BittiIkonImg = AnaForm.AddNewProImage(BittiIkonDisPnl, 'BittiIkonImg');
  BittiIkonImg.Align = alClient;
  BittiIkonImg.Margins.Left = 10;
  BittiIkonImg.Margins.Right = 10;
  BittiIkonImg.Margins.Top = 10;
  BittiIkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(BittiIkonImg, 'https://cdn-icons-png.flaticon.com/128/223/223408.png');

  BittiMetinAnaPnl = AnaForm.AddNewProPanel(MesaiBittiPnl, 'BittiMetinAnaPnl');
  BittiMetinAnaPnl.Align = alClient;
  BittiMetinAnaPnl.Margins.Left = 10;
  BittiMetinAnaPnl.Margins.Top = 15;
  BittiMetinAnaPnl.clProSettings.IsTransparent = True;
  BittiMetinAnaPnl.SetclProSettings(BittiMetinAnaPnl.clProSettings);

  BittiUstMetinPnl = AnaForm.AddNewProPanel(BittiMetinAnaPnl, 'BittiUstMetinPnl');
  BittiUstMetinPnl.Align = alTop;
  BittiUstMetinPnl.Height = 20;
  BittiUstMetinPnl.clProSettings.IsTransparent = True;
  BittiUstMetinPnl.SetclProSettings(BittiUstMetinPnl.clProSettings);

  LblBittiBaslik = AnaForm.AddNewProLabel(BittiUstMetinPnl, 'LblBittiBaslik', 'Gule Gule');
  LblBittiBaslik.Align = alLeft;
  LblBittiBaslik.Width = 85;
  LblBittiBaslik.clProSettings.FontSize = 13;
  LblBittiBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

  BittiPillPnl = AnaForm.AddNewProPanel(BittiUstMetinPnl, 'BittiPillPnl');
  BittiPillPnl.Align = alLeft;
  BittiPillPnl.Width = 80;
  BittiPillPnl.clProSettings.RoundHeight = 8;
  BittiPillPnl.clProSettings.RoundWidth = 8;
  BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);

  LblBittiMesaiSaat = AnaForm.AddNewProLabel(BittiPillPnl, 'LblBittiMesaiSaat', 'Mesai: 08:00');
  LblBittiMesaiSaat.Align = alClient;
  LblBittiMesaiSaat.clProSettings.FontColor = clalphacolor.clWhite;
  LblBittiMesaiSaat.clProSettings.FontSize = 10;
  LblBittiMesaiSaat.clProSettings.FontHorzAlign = palcenter;
  LblBittiMesaiSaat.SetclProSettings(LblBittiMesaiSaat.clProSettings);

  LblBittiGirisCikis = AnaForm.AddNewProLabel(BittiMetinAnaPnl, 'LblBittiGirisCikis', 'Giris: -- - Cikis: --');
  LblBittiGirisCikis.Align = alTop;
  LblBittiGirisCikis.Height = 15;
  LblBittiGirisCikis.Margins.Top = 5;
  LblBittiGirisCikis.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  LblBittiGirisCikis.clProSettings.FontSize = 11;
  LblBittiGirisCikis.SetclProSettings(LblBittiGirisCikis.clProSettings);

  AltMenuPnl = AnaForm.AddNewProPanel(ArkaPlanPnl, 'AltMenuPnl');
  AltMenuPnl.Align = alBottom;
  AltMenuPnl.Height = 65;
  AltMenuPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  AltMenuPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  AltMenuPnl.clProSettings.BorderWidth = 1;
  AltMenuPnl.SetclProSettings(AltMenuPnl.clProSettings);

  NavPnlGorevler = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlGorevler');
  NavPnlGorevler.Align = alLeft;
  NavPnlGorevler.Width = AltMenuPnl.Width / 3;
  NavBtnGorevler = AnaForm.AddNewProButton(NavPnlGorevler, 'NavBtnGorevler', 'Gorevler');
  NavBtnGorevler.Align = alClient;
  NavBtnGorevler.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  NavBtnGorevler.clProSettings.TextSettings.Font.Style = [fsBold];
  NavBtnGorevler.clProSettings.FontHorzAlign = palcenter;
  NavBtnGorevler.clTagStr = 'Gorevler';
  NavBtnGorevler.SetclProSettings(NavBtnGorevler.clProSettings);
  AnaForm.AddNewEvent(NavBtnGorevler, tbeOnClick, 'OnMenuTikla');

  GorevlerCizgiPnl = AnaForm.AddNewProPanel(NavPnlGorevler, 'GorevlerCizgiPnl');
  GorevlerCizgiPnl.Align = alBottom;
  GorevlerCizgiPnl.Height = 3;
  GorevlerCizgiPnl.Margins.Left = 30;
  GorevlerCizgiPnl.Margins.Right = 30;
  GorevlerCizgiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  GorevlerCizgiPnl.SetclProSettings(GorevlerCizgiPnl.clProSettings);

  NavPnlGecmis = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlGecmis');
  NavPnlGecmis.Align = alLeft;
  NavPnlGecmis.Width = AltMenuPnl.Width / 3;
  NavBtnGecmis = AnaForm.AddNewProButton(NavPnlGecmis, 'NavBtnGecmis', 'Gecmis');
  NavBtnGecmis.Align = alClient;
  NavBtnGecmis.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  NavBtnGecmis.clProSettings.FontHorzAlign = palcenter;
  NavBtnGecmis.clTagStr = 'Gecmis';
  NavBtnGecmis.SetclProSettings(NavBtnGecmis.clProSettings);
  AnaForm.AddNewEvent(NavBtnGecmis, tbeOnClick, 'OnMenuTikla');

  NavPnlProfil = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlProfil');
  NavPnlProfil.Align = alLeft;
  NavPnlProfil.Width = AltMenuPnl.Width / 3;
  NavBtnProfil = AnaForm.AddNewProButton(NavPnlProfil, 'NavBtnProfil', 'Profil');
  NavBtnProfil.Align = alClient;
  NavBtnProfil.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  NavBtnProfil.clProSettings.FontHorzAlign = palcenter;
  NavBtnProfil.clTagStr = 'Profil';
  NavBtnProfil.SetclProSettings(NavBtnProfil.clProSettings);
  AnaForm.AddNewEvent(NavBtnProfil, tbeOnClick, 'OnMenuTikla');

  IcerikKaydirici = AnaForm.AddNewVertScrollBox(ArkaPlanPnl, 'IcerikKaydirici');
  IcerikKaydirici.Align = alClient;
  IcerikKaydirici.Margins.Bottom = 10;
  IcerikKaydirici.Margins.Top = 10;

  GorevListesiniDoldur;

  // --- QR MODALI ---
  QrAnaPnl = AnaForm.AddNewProPanel(OlcekliYerlesim, 'QrAnaPnl');
  QrAnaPnl.Align = alClient;
  QrAnaPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  QrAnaPnl.SetclProSettings(QrAnaPnl.clProSettings);
  QrAnaPnl.Visible = False;

  QrUstMenuPnl = AnaForm.AddNewProPanel(QrAnaPnl, 'QrUstMenuPnl');
  QrUstMenuPnl.Align = alTop;
  QrUstMenuPnl.Height = 70;
  QrUstMenuPnl.clProSettings.IsTransparent = True;
  QrUstMenuPnl.SetclProSettings(QrUstMenuPnl.clProSettings);

  QrKapatLbi = AnaForm.AddNewProLabel(QrUstMenuPnl, 'QrKapatLbi', 'X');
  QrKapatLbi.Align = alLeft;
  QrKapatLbi.Width = 50;
  QrKapatLbi.Margins.Top = 15;
  QrKapatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrKapatLbi.clProSettings.FontSize = 20;
  QrKapatLbi.clProSettings.FontHorzAlign = palcenter;
  QrKapatLbi.SetclProSettings(QrKapatLbi.clProSettings);
  QrKapatLbi.HitTest = True;
  AnaForm.AddNewEvent(QrKapatLbi, tbeOnClick, 'OnQrModalKapatClick');

  QrBaslikKapsayiciPnl = AnaForm.AddNewProPanel(QrUstMenuPnl, 'QrBaslikKapsayiciPnl');
  QrBaslikKapsayiciPnl.Align = alClient;
  QrBaslikKapsayiciPnl.Margins.Top = 15;
  QrBaslikKapsayiciPnl.clProSettings.IsTransparent = True;
  QrBaslikKapsayiciPnl.SetclProSettings(QrBaslikKapsayiciPnl.clProSettings);

  QrBaslikLbi = AnaForm.AddNewProLabel(QrBaslikKapsayiciPnl, 'QrBaslikLbi', 'QR Dogrulama');
  QrBaslikLbi.Align = alTop;
  QrBaslikLbi.Height = 22;
  QrBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrBaslikLbi.clProSettings.FontSize = 16;
  QrBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrBaslikLbi.SetclProSettings(QrBaslikLbi.clProSettings);

  QrLokasyonLbi = AnaForm.AddNewProLabel(QrBaslikKapsayiciPnl, 'QrLokasyonLbi','Lokasyon Secilmedi');
  QrLokasyonLbi.Align = alTop;
  QrLokasyonLbi.Height = 20;
  QrLokasyonLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  QrLokasyonLbi.clProSettings.FontSize = 12;
  QrLokasyonLbi.SetclProSettings(QrLokasyonLbi.clProSettings);

  QrKartPnl = AnaForm.AddNewProPanel(QrAnaPnl, 'QrKartPnl');
  QrKartPnl.Align = alTop;
  QrKartPnl.Height = 320;
  QrKartPnl.Margins.Left = 20;
  QrKartPnl.Margins.Right = 20;
  QrKartPnl.Margins.Top = 20;
  QrKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  QrKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  QrKartPnl.clProSettings.BorderWidth = 1;
  QrKartPnl.clProSettings.RoundHeight = 15;
  QrKartPnl.clProSettings.RoundWidth = 15;
  QrKartPnl.SetclProSettings(QrKartPnl.clProSettings);

  QrKameraCercevePnl = AnaForm.AddNewProPanel(QrKartPnl, 'QrKameraCercevePnl');
  QrKameraCercevePnl.Align = alTop;
  QrKameraCercevePnl.Height = 210;
  QrKameraCercevePnl.Margins.Left = 25;
  QrKameraCercevePnl.Margins.Right = 25;
  QrKameraCercevePnl.Margins.Top = 25;
  QrKameraCercevePnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F8FAFC');
  QrKameraCercevePnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#CBD5E1');
  QrKameraCercevePnl.clProSettings.BorderWidth = 2;
  QrKameraCercevePnl.clProSettings.RoundHeight = 20;
  QrKameraCercevePnl.clProSettings.RoundWidth = 20;
  QrKameraCercevePnl.SetclProSettings(QrKameraCercevePnl.clProSettings);
  QrKameraCercevePnl.HitTest = True;
  AnaForm.AddNewEvent(QrKameraCercevePnl, tbeOnClick, 'OnQrKamerayiAc');

  QrKameraIkonImg = AnaForm.AddNewProImage(QrKameraCercevePnl, 'QrKameraIkonImg');
  QrKameraIkonImg.Align = alClient;
  QrKameraIkonImg.Margins.Left = 60;
  QrKameraIkonImg.Margins.Right = 60;
  QrKameraIkonImg.Margins.Top = 30;
  QrKameraIkonImg.Margins.Bottom = 60;
  AnaForm.SetImage(QrKameraIkonImg, 'https://cdn-icons-png.flaticon.com/128/3074/3074768.png');
  QrKameraIkonImg.HitTest = False;

  QrKodaYoneltLbi = AnaForm.AddNewProLabel(QrKameraCercevePnl, 'QrKodaYoneltLbi', 'Buraya dokunun');
  QrKodaYoneltLbi.Align = alBottom;
  QrKodaYoneltLbi.Height = 25;
  QrKodaYoneltLbi.Margins.Bottom = 15;
  QrKodaYoneltLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  QrKodaYoneltLbi.clProSettings.FontSize = 12;
  QrKodaYoneltLbi.clProSettings.FontHorzAlign = palcenter;
  QrKodaYoneltLbi.SetclProSettings(QrKodaYoneltLbi.clProSettings);
  QrKodaYoneltLbi.HitTest = False;

  QrKameraAktifLbi = AnaForm.AddNewProLabel(QrKameraCercevePnl, 'QrKameraAktifLbi', 'Kamerayi Ac');
  QrKameraAktifLbi.Align = alBottom;
  QrKameraAktifLbi.Height = 20;
  QrKameraAktifLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrKameraAktifLbi.clProSettings.FontSize = 13;
  QrKameraAktifLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrKameraAktifLbi.clProSettings.FontHorzAlign = palcenter;
  QrKameraAktifLbi.SetclProSettings(QrKameraAktifLbi.clProSettings);
  QrKameraAktifLbi.HitTest = False;

  QrAltBilgi1Lbi = AnaForm.AddNewProLabel(QrKartPnl, 'QrAltBilgi1Lbi', 'Odadaki QR kodu okutun');
  QrAltBilgi1Lbi.Align = alTop;
  QrAltBilgi1Lbi.Height = 20;
  QrAltBilgi1Lbi.Margins.Top = 20;
  QrAltBilgi1Lbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  QrAltBilgi1Lbi.clProSettings.FontSize = 12;
  QrAltBilgi1Lbi.clProSettings.FontHorzAlign = palcenter;
  QrAltBilgi1Lbi.SetclProSettings(QrAltBilgi1Lbi.clProSettings);

  QrAltBilgi2Lbi = AnaForm.AddNewProLabel(QrKartPnl, 'QrAltBilgi2Lbi', 'Galeriden fotograf secilemez');
  QrAltBilgi2Lbi.Align = alTop;
  QrAltBilgi2Lbi.Height = 20;
  QrAltBilgi2Lbi.Margins.Top = 5;
  QrAltBilgi2Lbi.clProSettings.FontColor = clalphacolor.clHexToColor('#DC2626');
  QrAltBilgi2Lbi.clProSettings.FontSize = 11;
  QrAltBilgi2Lbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrAltBilgi2Lbi.clProSettings.FontHorzAlign = palcenter;
  QrAltBilgi2Lbi.SetclProSettings(QrAltBilgi2Lbi.clProSettings);

  BtnQrKoduOku = AnaForm.AddNewProButton(QrAnaPnl, 'BtnQrKoduOku', 'QR KODU OKU');
  BtnQrKoduOku.Align = alTop;
  BtnQrKoduOku.Height = 55;
  BtnQrKoduOku.Margins.Left = 20;
  BtnQrKoduOku.Margins.Right = 20;
  BtnQrKoduOku.Margins.Top = 20;
  BtnQrKoduOku.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnQrKoduOku.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
  BtnQrKoduOku.clProSettings.FontSize = 13;
  BtnQrKoduOku.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnQrKoduOku.clProSettings.RoundHeight = 15;
  BtnQrKoduOku.clProSettings.RoundWidth = 15;
  BtnQrKoduOku.SetclProSettings(BtnQrKoduOku.clProSettings);
  // Düzeltme: SetclProSettings() parantez yapısı standart nesne metoduna uyarlandı.
  AnaForm.AddNewEvent(BtnQrKoduOku, tbeOnClick, 'OnQrKamerayiAc');

  EdtGizliQrSonuc = AnaForm.AddNewProEdit(QrAnaPnl, 'EdtGizliQrSonuc', '');
  EdtGizliQrSonuc.Visible = False;
  AnaForm.AddNewEvent(EdtGizliQrSonuc, tbeOnChange, 'OnQrSonucAlindi');

  // --- GÖREV TAMAMLAMA (FOTOĞRAF VE NOT) MODAL EKRANI ---
  
  GtAnaPnl = AnaForm.AddNewProPanel(OlcekliYerlesim, 'GtAnaPnl');
  GtAnaPnl.Align = alClient;
  GtAnaPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  GtAnaPnl.SetclProSettings(GtAnaPnl.clProSettings);
  GtAnaPnl.Visible = False; 

  GtUstMenuPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'GtUstMenuPnl');
  GtUstMenuPnl.Align = alTop;
  GtUstMenuPnl.Height = 70;
  GtUstMenuPnl.clProSettings.IsTransparent = True;
  GtUstMenuPnl.SetclProSettings(GtUstMenuPnl.clProSettings);

  GtKapatLbi = AnaForm.AddNewProLabel(GtUstMenuPnl, 'GtKapatLbi', 'X');
  GtKapatLbi.Align = alLeft;
  GtKapatLbi.Width = 50;
  GtKapatLbi.Margins.Top = 15;
  GtKapatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  GtKapatLbi.clProSettings.FontSize = 20;
  GtKapatLbi.clProSettings.FontHorzAlign = palcenter;
  GtKapatLbi.SetclProSettings(GtKapatLbi.clProSettings);
  GtKapatLbi.HitTest = True;
  AnaForm.AddNewEvent(GtKapatLbi, tbeOnClick, 'OnGtModalKapatClick');

  GtBaslikLbi = AnaForm.AddNewProLabel(GtUstMenuPnl, 'GtBaslikLbi', 'Gorevi Tamamla');
  GtBaslikLbi.Align = alClient;
  GtBaslikLbi.Margins.Top = 15;
  GtBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  GtBaslikLbi.clProSettings.FontSize = 16;
  GtBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  GtBaslikLbi.clProSettings.FontHorzAlign = palcenter;
  GtBaslikLbi.SetclProSettings(GtBaslikLbi.clProSettings);

  KanitKartPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'KanitKartPnl');
  KanitKartPnl.Align = alTop;
  KanitKartPnl.Height = 280;
  KanitKartPnl.Margins.Left = 20; KanitKartPnl.Margins.Right = 20; KanitKartPnl.Margins.Top = 10;
  KanitKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  KanitKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  KanitKartPnl.clProSettings.BorderWidth = 1;
  KanitKartPnl.clProSettings.RoundHeight = 15; KanitKartPnl.clProSettings.RoundWidth = 15;
  KanitKartPnl.SetclProSettings(KanitKartPnl.clProSettings);

  KanitBaslikLbi = AnaForm.AddNewProLabel(KanitKartPnl, 'KanitBaslikLbi', 'KANIT FOTOGRAFI');
  KanitBaslikLbi.Align = alTop;
  KanitBaslikLbi.Height = 30;
  KanitBaslikLbi.Margins.Left = 15; KanitBaslikLbi.Margins.Top = 10;
  KanitBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  KanitBaslikLbi.clProSettings.FontSize = 11;
  KanitBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  KanitBaslikLbi.SetclProSettings(KanitBaslikLbi.clProSettings);

  KanitFotoCercevePnl = AnaForm.AddNewProPanel(KanitKartPnl, 'KanitFotoCercevePnl');
  KanitFotoCercevePnl.Align = alTop;
  KanitFotoCercevePnl.Height = 150;
  KanitFotoCercevePnl.Margins.Left = 15; KanitFotoCercevePnl.Margins.Right = 15; KanitFotoCercevePnl.Margins.Top = 5;
  KanitFotoCercevePnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F8FAFC'); 
  KanitFotoCercevePnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#CBD5E1'); 
  KanitFotoCercevePnl.clProSettings.BorderWidth = 2;
  KanitFotoCercevePnl.clProSettings.RoundHeight = 15; KanitFotoCercevePnl.clProSettings.RoundWidth = 15;
  KanitFotoCercevePnl.SetclProSettings(KanitFotoCercevePnl.clProSettings);

  KanitGorsel = AnaForm.AddNewProImage(KanitFotoCercevePnl, 'KanitGorsel');
  KanitGorsel.Align = alClient;
  KanitGorsel.Margins.Left = 5; KanitGorsel.Margins.Right = 5; KanitGorsel.Margins.Top = 5; KanitGorsel.Margins.Bottom = 5;
  
  KanitGorselImg = AnaForm.AddNewImage(KanitFotoCercevePnl, 'KanitGorselImg');
  KanitGorselImg.Align = alClient;
  KanitGorselImg.Visible = False;

  BtnFotoCek = AnaForm.AddNewProButton(KanitKartPnl, 'BtnFotoCek', 'FOTOGRAF CEK');
  BtnFotoCek.Align = alBottom;
  BtnFotoCek.Height = 45;
  BtnFotoCek.Margins.Left = 15; BtnFotoCek.Margins.Right = 15; BtnFotoCek.Margins.Bottom = 15;
  BtnFotoCek.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnFotoCek.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
  BtnFotoCek.clProSettings.FontSize = 11;
  BtnFotoCek.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnFotoCek.clProSettings.RoundHeight = 10; BtnFotoCek.clProSettings.RoundWidth = 10;
  BtnFotoCek.SetclProSettings(BtnFotoCek.clProSettings);
  // Düzeltme: SetclProSettings() parantez yapısı düzeltildi.
  AnaForm.AddNewEvent(BtnFotoCek, tbeOnClick, 'OnFotoCekClick');

  NotKartPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'NotKartPnl');
  NotKartPnl.Align = alTop;
  NotKartPnl.Height = 160;
  NotKartPnl.Margins.Left = 20; NotKartPnl.Margins.Right = 20; NotKartPnl.Margins.Top = 15;
  NotKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  NotKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  NotKartPnl.clProSettings.BorderWidth = 1;
  NotKartPnl.clProSettings.RoundHeight = 15; NotKartPnl.clProSettings.RoundWidth = 15;
  NotKartPnl.SetclProSettings(NotKartPnl.clProSettings);

  NotBaslikLbi = AnaForm.AddNewProLabel(NotKartPnl, 'NotBaslikLbi', 'ACIKLAMA / DURUM NOTU');
  NotBaslikLbi.Align = alTop;
  NotBaslikLbi.Height = 30;
  NotBaslikLbi.Margins.Left = 15; NotBaslikLbi.Margins.Top = 10;
  NotBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  NotBaslikLbi.clProSettings.FontSize = 11;
  NotBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  NotBaslikLbi.SetclProSettings(NotBaslikLbi.clProSettings);

  EdtDurumNotu = AnaForm.AddNewMemo(NotKartPnl, 'EdtDurumNotu', '');
  EdtDurumNotu.Align = alClient;
  EdtDurumNotu.Margins.Left = 15; EdtDurumNotu.Margins.Right = 15; EdtDurumNotu.Margins.Bottom = 15;
  EdtDurumNotu.TextSettings.WordWrap = True;

  BtnGoreviBitir = AnaForm.AddNewProButton(GtAnaPnl, 'BtnGoreviBitir', 'GOREVI TAMAMLA');
  BtnGoreviBitir.Align = alTop;
  BtnGoreviBitir.Height = 55;
  BtnGoreviBitir.Margins.Left = 20; BtnGoreviBitir.Margins.Right = 20; BtnGoreviBitir.Margins.Top = 20;
  BtnGoreviBitir.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#15803D');
  BtnGoreviBitir.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
  BtnGoreviBitir.clProSettings.FontSize = 13;
  BtnGoreviBitir.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnGoreviBitir.clProSettings.RoundHeight = 15; BtnGoreviBitir.clProSettings.RoundWidth = 15;
  BtnGoreviBitir.SetclProSettings(BtnGoreviBitir.clProSettings);
  AnaForm.AddNewEvent(BtnGoreviBitir, tbeOnClick, 'OnGoreviBitirClick');
}

{
  AnaForm = TCLForm.Create(Self);

  OlcekliYerlesim = AnaForm.AddNewScaledLayout(AnaForm, 'OlcekliYerlesim');
  OlcekliYerlesim.Align = alClient;
  OlcekliYerlesim.OriginalHeight = 750;
  OlcekliYerlesim.OriginalWidth = 350;
  OlcekliYerlesim.Margins.Top = -50;

  GPersonelID = StrToIntDef(Clomosy.GlobalVariableString, 0);

  LQryAd = Clomosy.DBSQLiteQueryWith(
    'SELECT AdSoyad, GirisSaati, BugunkuGiris, BugunkuCikis, Durum FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID)
  );
  LQryAd.OpenOrExecute;

  if (LQryAd.Found)
  {
    GPersonelAd = LQryAd.FieldByName('AdSoyad').AsString;
    GMesaiSaati = LQryAd.FieldByName('GirisSaati').AsString;
    GGirisSaati = LQryAd.FieldByName('BugunkuGiris').AsString;
  }
  else
  {
    GPersonelAd = 'Personel';
    GMesaiSaati = '18:30';
    GGirisSaati = '-';
  }

  LQryAd.Free;

  GSeciliGorevID = 0;
  GZamanindaMi = False;

  EkraniKur;
  OzetKartlariniGuncelle;

  if (GGirisSaati <> '-')
  {
    LAyrac1Temp = Pos(':', GGirisSaati);
    LSimdiSaatTemp = StrToIntDef(Copy(GGirisSaati, 1, LAyrac1Temp - 1), 0);
    LSimdiDakikaTemp = StrToIntDef(Copy(GGirisSaati, LAyrac1Temp + 1, Length(GGirisSaati)), 0);
    LSimdiToplamDakikaTemp = (LSimdiSaatTemp * 60) + LSimdiDakikaTemp;

    LAyrac2Temp = Pos(':', GMesaiSaati);
    LGirisSaatTemp = StrToIntDef(Copy(GMesaiSaati, 1, LAyrac2Temp - 1), 0);
    LGirisDakikaTemp = StrToIntDef(Copy(GMesaiSaati, LAyrac2Temp + 1, Length(GMesaiSaati)), 0);
    LGirisToplamDakikaTemp = (LGirisSaatTemp * 60) + LGirisDakikaTemp;

    if (LSimdiToplamDakikaTemp <= LGirisToplamDakikaTemp)
    {
      GZamanindaMi = True;
    }

    LblGirisSaat.Text = 'Giris: ' + GGirisSaati;
    LblMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    LQryCikis = Clomosy.DBSQLiteQueryWith(
      'SELECT BugunkuCikis FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID)
    );
    LQryCikis.OpenOrExecute;

    if (LQryCikis.Found)
    {
      LCikisSaatiTemp = LQryCikis.FieldByName('BugunkuCikis').AsString;

      if (LCikisSaatiTemp <> '-')
      {
        if (GZamanindaMi)
        {
          MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
          MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
          BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          LblBittiBaslik.Text = 'Gule Gule';
          LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
        }
        else
        {
          MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
          MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
          BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          LblBittiBaslik.Text = 'Gule Gule';
          LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
        }

        LblBittiGirisCikis.Text = 'Giris: ' + GGirisSaati + ' - Cikis: ' + LCikisSaatiTemp;
        LblBittiMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

        MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);
        BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);
        BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);
        LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

        BaslaBtnPnl.Visible = False;
        MesaiDurumPnl.Visible = False;
        MesaiBittiPnl.Visible = True;
      }
      else
      {
        if (GZamanindaMi)
        {
          MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
          MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
          DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          LblDurumBaslik.Text = 'Hos Geldiniz';
          LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
        }
        else
        {
          MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
          MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
          DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          LblDurumBaslik.Text = 'Gec Geldi';
          LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
        }

        MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);
        DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);
        MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);
        LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

        BaslaBtnPnl.Visible = False;
        MesaiBittiPnl.Visible = False;
        MesaiDurumPnl.Visible = True;
      }
    }

    LQryCikis.Free;
  }

  AnaForm.FormWaiting.Visible = False;
  AnaForm.BtnFormMenu.Visible = False;
  AnaForm.BtnGoBack.Visible = False;

  AnaForm.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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 Değil
Puanlar: 932
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ı: 2 Saat 23 Dakika Önce Saat 14:16
Bir diğer açtığın konu da hatayı cevapladım bakabilir misin?https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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
MehmetOzcan Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 23 Haziran 2026
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı MehmetOzcan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 48 Dakika Önce Saat 14:51
var
  LDBPath: String;

void DBBaglan;
{
  if (Clomosy.PlatformIsMobile)
  {
    LDBPath = Clomosy.AppFilesPath + 'PristineV2.db3'; // <-- Burayı V2 yaptık
  }
  else
  {
    LDBPath = 'C:\PristineTask\PristineV2.db3'; // <-- Burayı V2 yaptık
  }

  try
    Clomosy.DBSQLiteConnect(LDBPath, '');
  except
    ShowMessage('Veritabani baglanti hatasi: ' + LastExceptionMessage);
  }
}

void TblKullanicilariOlustur;
var
  LTabloVarMi: Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblKullanicilar";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblKullanicilar (ID INTEGER PRIMARY KEY AUTOINCREMENT, AdSoyad TEXT NOT NULL, Eposta TEXT NOT NULL, Sifre TEXT NOT NULL, Rol TEXT NOT NULL, SonSifirlama TEXT DEFAULT ''-'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblKullanicilar (AdSoyad, Eposta, Sifre, Rol, SonSifirlama) VALUES (''Mudur Omer'', ''[email protected]'', ''1'', ''Yonetici'', ''-'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
    else
    {
      try
        Clomosy.DBSQLiteQuery.Sql.Text = 'ALTER TABLE TblKullanicilar ADD COLUMN SonSifirlama TEXT DEFAULT ''-''';
        Clomosy.DBSQLiteQuery.OpenOrExecute;
      except
      }
    }
  except
    ShowMessage('TblKullanicilar hatasi: ' + LastExceptionMessage);
  }
}

void TblPersonelOlustur;
var
  LTabloVarMi: Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblPersonel";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblPersonel (ID INTEGER PRIMARY KEY AUTOINCREMENT, KullaniciID INTEGER NOT NULL, AdSoyad TEXT NOT NULL, Eposta TEXT NOT NULL, Sifre TEXT NOT NULL, Rol TEXT NOT NULL, Durum TEXT NOT NULL, GirisSaati TEXT, BugunkuGiris TEXT, BugunkuCikis TEXT)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('TblPersonel hatasi: ' + LastExceptionMessage);
  }
}

void TblQRKodlarOlustur;
var
  LTabloVarMi: Boolean;
  LSayi: Integer;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblQRKodlar";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblQRKodlar (ID INTEGER PRIMARY KEY AUTOINCREMENT, Lokasyon TEXT NOT NULL, QRKodu TEXT NOT NULL)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }

    // Her durumda veri var mi kontrol et
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT COUNT(*) AS Sayi FROM TblQRKodlar';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LSayi = Clomosy.DBSQLiteQuery.FieldByName('Sayi').AsInteger;

    if (LSayi == 0)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''2. Kat WC'', ''QR-2KAT-WC'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''Ana Giris'', ''QR-ANA-GIRIS'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''Lobi WC'', ''QR-LOBI-WC'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''Oda 312'', ''QR-ODA-312'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''1. Kat Lavabo'', ''QR-1KAT-LAVABO'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''2. Kat Lavabo'', ''QR-2KAT-LAVABO'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''3. Kat Lavabo'', ''QR-3KAT-LAVABO'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''1. Kat Koridor'', ''QR-1KAT-KORIDOR'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''2. Kat Koridor'', ''QR-2KAT-KORIDOR'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblQRKodlar (Lokasyon, QRKodu) VALUES (''3. Kat Koridor'', ''QR-3KAT-KORIDOR'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('TblQRKodlar hatasi: ' + LastExceptionMessage);
  }
}


void TblSabitGorevlerOlustur;
var
  LTabloVarMi: Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblSabitGorevler";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblSabitGorevler (ID INTEGER PRIMARY KEY AUTOINCREMENT, PersonelID INTEGER NOT NULL, Lokasyon TEXT NOT NULL, QRKodu TEXT NOT NULL, PlanlananSaat TEXT NOT NULL)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('TblSabitGorevler hatasi: ' + LastExceptionMessage);
  }
}

void TblGorevlerOlustur;
var
  LTabloVarMi: Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblGorevler";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblGorevler (ID INTEGER PRIMARY KEY AUTOINCREMENT, AtananPersonelID INTEGER NOT NULL, Lokasyon TEXT NOT NULL, Aciklama TEXT, QRKodu TEXT, PlanlananSaat TEXT, BaslangicSaati TEXT, BitisSaati TEXT, Durum TEXT NOT NULL, KanitFotoPath TEXT, DurumNotu TEXT, Tarih TEXT NOT NULL, AcilMi INTEGER DEFAULT 0)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('TblGorevler hatasi: ' + LastExceptionMessage);
  }
}

void TblSikayetlerOlustur;
var
  LTabloVarMi: Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TblSikayetler";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    LTabloVarMi = not Clomosy.DBSQLiteQuery.Eof;

    if not (LTabloVarMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TblSikayetler (ID INTEGER PRIMARY KEY AUTOINCREMENT, Baslik TEXT NOT NULL, Aciklama TEXT NOT NULL, Tarih TEXT NOT NULL, Durum TEXT NOT NULL, AtananPersonelID INTEGER)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSikayetler (Baslik, Aciklama, Tarih, Durum, AtananPersonelID) VALUES (''Oda 312'', ''Banyo kiri giderilmemis, lavabo etrafinda temizlik eksikligi tespit edildi.'', ''22 Haz 14:20'', ''Acik'', 1)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSikayetler (Baslik, Aciklama, Tarih, Durum, AtananPersonelID) VALUES (''Lobi WC'', ''Temizlik vakti gecmis, rutin kontrol cizelgesine gore mudahale yapilmamis.'', ''20 Haz 16:45'', ''Acik'', 2)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSikayetler (Baslik, Aciklama, Tarih, Durum, AtananPersonelID) VALUES (''Oda 415'', ''Corsaflar degistirilmemis, havlu eksigi bulunmakta.'', ''18 Haz 09:15'', ''Cozuldu'', 1)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('TblSikayetler hatasi: ' + LastExceptionMessage);
  }
}

void GunlukSifirla;
var
  LBugunStr: String;
  LQry: TClSQLiteQuery;
  LSonSifirlamaTarihi: String;
{
  LBugunStr = FormatDateTime('yyyy-mm-dd', Now);

  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT SonSifirlama FROM TblKullanicilar WHERE ID=1'
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      LSonSifirlamaTarihi = LQry.FieldByName('SonSifirlama').AsString;
    }
    else
    {
      LSonSifirlamaTarihi = '';
    }

    LQry.Free;

    if (LSonSifirlamaTarihi <> LBugunStr)
    {
      Clomosy.DBSQLiteQuery.Sql.Text =
        'UPDATE TblPersonel SET BugunkuGiris=' + QuotedStr('-') + ', ' +
        'BugunkuCikis=' + QuotedStr('-') + ', ' +
        'Durum=' + QuotedStr('Cevrimdisi');
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text =
        'UPDATE TblKullanicilar SET SonSifirlama=' + QuotedStr(LBugunStr) +
        ' WHERE ID=1';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
  except
    ShowMessage('Gunluk sifirlama hatasi: ' + LastExceptionMessage);
  }
}

void GunlukGorevleriOlusturPersonelIcin(APersonelID: Integer);
var
  LBugun: String;
  LVarMi: Boolean;
  LQry: TClSQLiteQuery;
  LQry2: TClSQLiteQuery;
{
  LBugun = FormatDateTime('yyyy-mm-dd', Now);

  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT ID FROM TblGorevler WHERE AtananPersonelID=' + IntToStr(APersonelID) +
      ' AND Tarih=' + QuotedStr(LBugun) +
      ' AND AcilMi=0 LIMIT 1'
    );
    LQry.OpenOrExecute;
    LVarMi = LQry.Found;
    LQry.Free;

    if not (LVarMi)
    {
      LQry2 = Clomosy.DBSQLiteQueryWith(
        'SELECT * FROM TblSabitGorevler WHERE PersonelID=' + IntToStr(APersonelID)
      );
      LQry2.OpenOrExecute;

      while (not LQry2.Eof)
      {
        Clomosy.DBSQLiteQuery.Sql.Text =
          'INSERT INTO TblGorevler (AtananPersonelID, Lokasyon, Aciklama, QRKodu, PlanlananSaat, BaslangicSaati, BitisSaati, Durum, DurumNotu, Tarih, AcilMi) VALUES (' +
          IntToStr(APersonelID) + ', ' +
          QuotedStr(LQry2.FieldByName('Lokasyon').AsString) + ', ' +
          QuotedStr('Sabit gorev') + ', ' +
          QuotedStr(LQry2.FieldByName('QRKodu').AsString) + ', ' +
          QuotedStr(LQry2.FieldByName('PlanlananSaat').AsString) + ', ' +
          QuotedStr('-') + ', ' +
          QuotedStr('-') + ', ' +
          QuotedStr('Bekliyor') + ', ' +
          QuotedStr('-') + ', ' +
          QuotedStr(LBugun) + ', ' +
          '0)';
        Clomosy.DBSQLiteQuery.OpenOrExecute;
        LQry2.Next;
      }

      LQry2.Free;
    }
  except
    ShowMessage('Gunluk gorev olusturma hatasi: ' + LastExceptionMessage);
  }
}

void GunlukGorevleriOlustur;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith('SELECT ID FROM TblPersonel');
    LQry.OpenOrExecute;

    while (not LQry.Eof)
    {
      GunlukGorevleriOlusturPersonelIcin(LQry.FieldByName('ID').AsInteger);
      LQry.Next;
    }

    LQry.Free;
  except
    ShowMessage('Gunluk gorev olusturma hatasi: ' + LastExceptionMessage);
  }
}

void VeritabaniKur;
{
  DBBaglan;
  TblKullanicilariOlustur;
  TblPersonelOlustur;
  TblQRKodlarOlustur;
  TblSabitGorevlerOlustur;
  TblGorevlerOlustur;
  TblSikayetlerOlustur;
  GunlukSifirla;
  GunlukGorevleriOlustur;
}

function PersonelDogrula(AEposta, ASifre: String): Integer;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT ID FROM TblPersonel WHERE Eposta=' + QuotedStr(AEposta) +
      ' AND Sifre=' + QuotedStr(ASifre)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('ID').AsInteger;
    }
    else
    {
      Result = 0;
    }

    LQry.Free;
  except
    ShowMessage('Personel dogrulama hatasi: ' + LastExceptionMessage);
    Result = 0;
  }
}

function KullaniciDogrula(AEposta, ASifre: String): String;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT Rol FROM TblKullanicilar WHERE Eposta=' + QuotedStr(AEposta) +
      ' AND Sifre=' + QuotedStr(ASifre)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Rol').AsString;
    }
    else
    {
      Result = '';
    }

    LQry.Free;
  except
    ShowMessage('Giris dogrulama hatasi: ' + LastExceptionMessage);
    Result = '';
  }
}

function PersonelListesiGetir: TClSQLiteQuery;
{
  try
    Result = Clomosy.DBSQLiteQueryWith('SELECT * FROM TblPersonel ORDER BY AdSoyad ASC');
    Result.OpenOrExecute;
  except
    ShowMessage('Personel listesi hatasi: ' + LastExceptionMessage);
  }
}

function PersonelEkle(AAdSoyad, AEposta, ASifre, ARol: String): Boolean;
var
  LYeniID: Integer;
  LQry: TClSQLiteQuery;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text =
      'INSERT INTO TblPersonel (KullaniciID, AdSoyad, Eposta, Sifre, Rol, Durum, GirisSaati, BugunkuGiris, BugunkuCikis) VALUES (0, ' +
      QuotedStr(AAdSoyad) + ', ' +
      QuotedStr(AEposta) + ', ' +
      QuotedStr(ASifre) + ', ' +
      QuotedStr(ARol) + ', ' +
      QuotedStr('Cevrimdisi') + ', ' +
      QuotedStr('08:00') + ', ' +
      QuotedStr('-') + ', ' +
      QuotedStr('-') + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT ID FROM TblPersonel WHERE Eposta=' + QuotedStr(AEposta)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      LYeniID = LQry.FieldByName('ID').AsInteger;
    }
    else
    {
      LYeniID = 0;
    }

    LQry.Free;

    if (LYeniID > 0)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''1. Kat Lavabo'', ''QR-1KAT-LAVABO'', ''08:30'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''2. Kat Lavabo'', ''QR-2KAT-LAVABO'', ''10:00'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''3. Kat Lavabo'', ''QR-3KAT-LAVABO'', ''14:00'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''1. Kat Koridor'', ''QR-1KAT-KORIDOR'', ''09:00'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''2. Kat Koridor'', ''QR-2KAT-KORIDOR'', ''11:00'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TblSabitGorevler (PersonelID, Lokasyon, QRKodu, PlanlananSaat) VALUES (' + IntToStr(LYeniID) + ', ''3. Kat Koridor'', ''QR-3KAT-KORIDOR'', ''15:00'')';
      Clomosy.DBSQLiteQuery.OpenOrExecute;

      GunlukGorevleriOlusturPersonelIcin(LYeniID);
    }

    Result = True;
  except
    ShowMessage('Personel ekleme hatasi: ' + LastExceptionMessage);
    Result = False;
  }
}

function PersonelSil(APersonelID: Integer): Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'DELETE FROM TblPersonel WHERE ID=' + IntToStr(APersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Clomosy.DBSQLiteQuery.Sql.Text = 'DELETE FROM TblSabitGorevler WHERE PersonelID=' + IntToStr(APersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Clomosy.DBSQLiteQuery.Sql.Text = 'DELETE FROM TblGorevler WHERE AtananPersonelID=' + IntToStr(APersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Result = True;
  except
    ShowMessage('Personel silme hatasi: ' + LastExceptionMessage);
    Result = False;
  }
}

function PersonelGorevleriGetir(APersonelID: Integer): TClSQLiteQuery;
{
  try
    Result = Clomosy.DBSQLiteQueryWith(
      'SELECT * FROM TblGorevler WHERE AtananPersonelID=' +
      IntToStr(APersonelID) +
      ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) +
      ' ORDER BY PlanlananSaat ASC'
    );
    Result.OpenOrExecute;
  except
    ShowMessage('Gorev listesi hatasi: ' + LastExceptionMessage);
  }
}

function AcilGorevEkle(APersonelID: Integer; ALokasyon, AAciklama: String): Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text =
      'INSERT INTO TblGorevler (AtananPersonelID, Lokasyon, Aciklama, QRKodu, PlanlananSaat, BaslangicSaati, BitisSaati, Durum, DurumNotu, Tarih, AcilMi) VALUES (' +
      IntToStr(APersonelID) + ', ' +
      QuotedStr(ALokasyon) + ', ' +
      QuotedStr(AAciklama) + ', ' +
      QuotedStr('') + ', ' +
      QuotedStr(FormatDateTime('hh:nn', Now)) + ', ' +
      QuotedStr('-') + ', ' +
      QuotedStr('-') + ', ' +
      QuotedStr('Bekliyor') + ', ' +
      QuotedStr('-') + ', ' +
      QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) + ', ' +
      '1)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    Result = True;
  except
    ShowMessage('Acil gorev ekleme hatasi: ' + LastExceptionMessage);
    Result = False;
  }
}

function GorevBaslat(AGorevID: Integer): Boolean;
var
  LQry: TClSQLiteQuery;
  LPersonelID: Integer;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT AtananPersonelID FROM TblGorevler WHERE ID=' + IntToStr(AGorevID)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      LPersonelID = LQry.FieldByName('AtananPersonelID').AsInteger;
    }
    else
    {
      LPersonelID = 0;
    }

    LQry.Free;

    Clomosy.DBSQLiteQuery.Sql.Text =
      'UPDATE TblGorevler SET Durum=' + QuotedStr('DevamEdiyor') + ', ' +
      'BaslangicSaati=' + QuotedStr(FormatDateTime('hh:nn', Now)) +
      ' WHERE ID=' + IntToStr(AGorevID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    if (LPersonelID > 0)
    {
      Clomosy.DBSQLiteQuery.Sql.Text =
        'UPDATE TblPersonel SET Durum=' + QuotedStr('Gorevde') +
        ' WHERE ID=' + IntToStr(LPersonelID);
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }

    Result = True;
  except
    ShowMessage('Gorev baslama hatasi: ' + LastExceptionMessage);
    Result = False;
  }
}

function GorevTamamla(AGorevID: Integer; ADurumNotu, AKanitFotoPath: String): Boolean;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text =
      'UPDATE TblGorevler SET Durum=' + QuotedStr('Tamamlandi') + ', ' +
      'BitisSaati=' + QuotedStr(FormatDateTime('hh:nn', Now)) + ', ' +
      'DurumNotu=' + QuotedStr(ADurumNotu) + ', ' +
      'KanitFotoPath=' + QuotedStr(AKanitFotoPath) +
      ' WHERE ID=' + IntToStr(AGorevID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    Result = True;
  except
    ShowMessage('Gorev tamamlama hatasi: ' + LastExceptionMessage);
    Result = False;
  }
}

function QRKoduDogrula(AQRKodu: String): String;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT Lokasyon FROM TblQRKodlar WHERE QRKodu=' + QuotedStr(AQRKodu)
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Lokasyon').AsString;
    }
    else
    {
      Result = '';
    }

    LQry.Free;
  except
    ShowMessage('QR dogrulama hatasi: ' + LastExceptionMessage);
    Result = '';
  }
}

function SikayetListesiGetir: TClSQLiteQuery;
{
  try
    Result = Clomosy.DBSQLiteQueryWith('SELECT * FROM TblSikayetler ORDER BY ID DESC');
    Result.OpenOrExecute;
  except
    ShowMessage('Sikayet listesi hatasi: ' + LastExceptionMessage);
  }
}

function AktifPersonelSayisi: Integer;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT COUNT(*) AS Sayi FROM TblPersonel WHERE BugunkuGiris <> ' + QuotedStr('-') +
      ' AND BugunkuCikis = ' + QuotedStr('-')
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Sayi').AsInteger;
    }
    else
    {
      Result = 0;
    }

    LQry.Free;
  except
    ShowMessage('Aktif personel sayisi hatasi: ' + LastExceptionMessage);
    Result = 0;
  }
}

function AcikSikayetSayisi: Integer;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT COUNT(*) AS Sayi FROM TblSikayetler WHERE Durum=' + QuotedStr('Acik')
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Sayi').AsInteger;
    }
    else
    {
      Result = 0;
    }

    LQry.Free;
  except
    ShowMessage('Acik sikayet sayisi hatasi: ' + LastExceptionMessage);
    Result = 0;
  }
}

function TamamlananGorevSayisi: Integer;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT COUNT(*) AS Sayi FROM TblGorevler WHERE Durum=' + QuotedStr('Tamamlandi') +
      ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now))
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Sayi').AsInteger;
    }
    else
    {
      Result = 0;
    }

    LQry.Free;
  except
    ShowMessage('Tamamlanan gorev sayisi hatasi: ' + LastExceptionMessage);
    Result = 0;
  }
}

function PersonelAktifKonumGetir(APersonelID: Integer): String;
var
  LQry: TClSQLiteQuery;
{
  try
    LQry = Clomosy.DBSQLiteQueryWith(
      'SELECT Lokasyon FROM TblGorevler WHERE AtananPersonelID=' +
      IntToStr(APersonelID) +
      ' AND Durum=' + QuotedStr('DevamEdiyor') +
      ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) +
      ' ORDER BY BaslangicSaati DESC LIMIT 1'
    );
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      Result = LQry.FieldByName('Lokasyon').AsString;
    }
    else
    {
      Result = 'Gorev Yok';
    }

    LQry.Free;
  except
    ShowMessage('Aktif konum hatasi: ' + LastExceptionMessage);
    Result = '-';
  }
}

function PersonelGecmisiGetir(APersonelID: Integer): TClSQLiteQuery;
{
  try
    Result = Clomosy.DBSQLiteQueryWith(
      'SELECT Lokasyon, DurumNotu, BitisSaati, Tarih, KanitFotoPath FROM TblGorevler WHERE AtananPersonelID=' +
      IntToStr(APersonelID) +
      ' AND Durum=' + QuotedStr('Tamamlandi') +
      ' ORDER BY ID DESC'
    );
    Result.OpenOrExecute;
  except
    ShowMessage('Geçmiş listesi hatası: ' + LastExceptionMessage);
  }
}

{
}
https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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 Değil
Puanlar: 932
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ı: 1 saat 38 Dakika Önce Saat 15:01
uses uDataLib;

var
  AnaForm: TCLForm;
  OlcekliYerlesim: TclScaledLayout;
  ArkaPlanPnl: TclProPanel;
  UstBeyazAlanPnl: TclProPanel;
  UstBaslikPnl: TclProPanel;
  OzetKapsayiciPnl: TclProPanel;
  IseBaslaKapsayiciPnl: TclProPanel;
  BaslaBtnPnl: TclProPanel;
  BtnIseBasla: TclProButton;
  MesaiDurumPnl: TclProPanel;
  DurumIkonDisPnl: TclProPanel;
  DurumIkonImg: TclProImage;
  DurumMetinPnl: TclProPanel;
  LblDurumBaslik: TclProLabel;
  MesaiPillPnl: TclProPanel;
  LblMesaiSaat: TclProLabel;
  LblGirisSaat: TclProLabel;
  BtnCikisYap: TclProButton;
  MesaiBittiPnl: TclProPanel;
  BittiIkonDisPnl: TclProPanel;
  BittiIkonImg: TclProImage;
  BittiMetinAnaPnl: TclProPanel;
  BittiUstMetinPnl: TclProPanel;
  LblBittiBaslik: TclProLabel;
  BittiPillPnl: TclProPanel;
  LblBittiMesaiSaat: TclProLabel;
  LblBittiGirisCikis: TclProLabel;
  AltMenuPnl: TclProPanel;
  IcerikKaydirici: TclVertScrollBox;
  TarihLbi: TclProLabel;
  SelamlamaLbi: TclProLabel;
  ZilIkon: TclProImage;
  BtnYeniGunTest: TclProButton;
  BekliyorKartPnl: TclProPanel;
  BekleyenSayiLbi: TclProLabel;
  BekleyenYaziLbi: TclProLabel;
  TamamlananKartPnl: TclProPanel;
  TamamlananSayiLbi: TclProLabel;
  TamamlananYaziLbi: TclProLabel;
  NavPnlGorevler: TclProPanel;
  NavPnlGecmis: TclProPanel;
  NavPnlProfil: TclProPanel;
  NavBtnGorevler: TclProButton;
  NavBtnGecmis: TclProButton;
  NavBtnProfil: TclProButton;
  GorevlerCizgiPnl: TclProPanel;
  GGirisSaati: String;
  GMesaiSaati: String;
  GZamanindaMi: Boolean;
  GPersonelID: Integer;
  GPersonelAd: String;
  QrAnaPnl: TclProPanel;
  QrUstMenuPnl: TclProPanel;
  QrKapatLbi: TclProLabel;
  QrBaslikKapsayiciPnl: TclProPanel;
  QrBaslikLbi: TclProLabel;
  QrLokasyonLbi: TclProLabel;
  QrKartPnl: TclProPanel;
  QrKameraCercevePnl: TclProPanel;
  QrKameraIkonImg: TclProImage;
  QrKameraAktifLbi: TclProLabel;
  QrKodaYoneltLbi: TclProLabel;
  QrAltBilgi1Lbi: TclProLabel;
  QrAltBilgi2Lbi: TclProLabel;
  BtnQrKoduOku: TclProButton;
  EdtGizliQrSonuc: TclProEdit;
  GSeciliGorevID: Integer;
  LQryAd: TClSQLiteQuery;
  LAyrac1Temp: Integer;
  LAyrac2Temp: Integer;
  LSimdiSaatTemp: Integer;
  LSimdiDakikaTemp: Integer;
  LGirisSaatTemp: Integer;
  LGirisDakikaTemp: Integer;
  LSimdiToplamDakikaTemp: Integer;
  LGirisToplamDakikaTemp: Integer;
  LQryCikis: TClSQLiteQuery;
  LCikisSaatiTemp: String;
  GtAnaPnl: TclProPanel;
  GtUstMenuPnl: TclProPanel;
  GtKapatLbi: TclProLabel;
  GtBaslikLbi: TclProLabel;
  KanitKartPnl: TclProPanel;
  KanitBaslikLbi: TclProLabel;
  KanitFotoCercevePnl: TclProPanel;
  BtnFotoCek: TclProButton;
  NotKartPnl: TclProPanel;
  NotBaslikLbi: TclProLabel;
  EdtDurumNotu: TclMemo;
  BtnGoreviBitir: TclProButton;
  KanitGorsel: TclProImage;
  KanitGorselImg: TClImage;

void OnMenuTikla;
{
  ShowMessage('Menuye tiklandi: ' + TclProButton(AnaForm.clSender).clTagStr);
}

void OzetKartlariniGuncelle;
var
  LQry: TClSQLiteQuery;
  LBekliyor: Integer;
  LTamamlanan: Integer;
{
  LBekliyor = 0;
  LTamamlanan = 0;

  try
    LQry = Clomosy.DBSQLiteQueryWith('SELECT COUNT(*) AS Sayi FROM TblGorevler WHERE AtananPersonelID=' + IntToStr(GPersonelID) + ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) + ' AND Durum=' + QuotedStr('Bekliyor'));
    LQry.OpenOrExecute;
    if (LQry.Found)
    {
      LBekliyor = LQry.FieldByName('Sayi').AsInteger;
    }
    LQry.Free;

    LQry = Clomosy.DBSQLiteQueryWith('SELECT COUNT(*) AS Sayi FROM TblGorevler WHERE AtananPersonelID=' + IntToStr(GPersonelID) + ' AND Tarih=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now)) + ' AND Durum=' + QuotedStr('Tamamlandi'));
    LQry.OpenOrExecute;
    if (LQry.Found)
    {
      LTamamlanan = LQry.FieldByName('Sayi').AsInteger;
    }
    LQry.Free;

    BekleyenSayiLbi.Text = IntToStr(LBekliyor);
    TamamlananSayiLbi.Text = IntToStr(LTamamlanan);
  except
    ShowMessage('Ozet guncelleme hatasi: ' + LastExceptionMessage);
  }
}

void OnGtModalKapatClick;
{
  GtAnaPnl.Visible = False;
}

void OnFotoCekClick;
{
  KanitGorselImg.Visible = True;
  KanitGorsel.Visible = False;
  Clomosy.ImageChooser(AnaForm, KanitGorselImg);
}

void GorevSatiriOlustur(AParent: TclVertScrollBox; AIsim, ABaslik, ASaat, AIconUrl, AGorevID: String);
var
  SatirPnl: TclProPanel;
  IkonDisPnl: TclProPanel;
  IkonImg: TclProImage;
  BilgiPnl: TclProPanel;
  BaslikLbi: TclProLabel;
  SaatLbi: TclProLabel;
  BtnQrOkut: TclProButton;
{
  SatirPnl = AnaForm.AddNewProPanel(AParent, AIsim);
  SatirPnl.Align = alTop;
  SatirPnl.Height = 85;
  SatirPnl.Margins.Top = 10;
  SatirPnl.Margins.Left = 15;
  SatirPnl.Margins.Right = 15;
  SatirPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  SatirPnl.clProSettings.RoundHeight = 15;
  SatirPnl.clProSettings.RoundWidth = 15;
  SatirPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  SatirPnl.clProSettings.BorderWidth = 1;
  SatirPnl.SetclProSettings(SatirPnl.clProSettings);

  IkonDisPnl = AnaForm.AddNewProPanel(SatirPnl, AIsim + 'IkonDis');
  IkonDisPnl.Align = alLeft;
  IkonDisPnl.Width = 50;
  IkonDisPnl.Margins.Left = 15;
  IkonDisPnl.Margins.Top = 17;
  IkonDisPnl.Margins.Bottom = 17;
  IkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  IkonDisPnl.clProSettings.RoundHeight = 15;
  IkonDisPnl.clProSettings.RoundWidth = 15;
  IkonDisPnl.SetclProSettings(IkonDisPnl.clProSettings);

  IkonImg = AnaForm.AddNewProImage(IkonDisPnl, AIsim + 'IkonImg');
  IkonImg.Align = alClient;
  IkonImg.Margins.Left = 10;
  IkonImg.Margins.Right = 10;
  IkonImg.Margins.Top = 10;
  IkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(IkonImg, AIconUrl);

  if (Pos('190411', AIconUrl) == 0)
  {
    BtnQrOkut = AnaForm.AddNewProButton(SatirPnl, AIsim + 'BtnQr', 'QR OKUT');
    BtnQrOkut.Align = alRight;
    BtnQrOkut.Width = 95;
    BtnQrOkut.Margins.Right = 15;
    BtnQrOkut.Margins.Top = 22;
    BtnQrOkut.Margins.Bottom = 22;
    BtnQrOkut.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
    BtnQrOkut.clProSettings.FontColor = clalphacolor.clHexToColor('#FFFFFF');
    BtnQrOkut.clProSettings.FontSize = 11;
    BtnQrOkut.clProSettings.TextSettings.Font.Style = [fsBold];
    BtnQrOkut.clTagStr = ABaslik + '|' + AGorevID;
    BtnQrOkut.clProSettings.RoundHeight = 10;
    BtnQrOkut.clProSettings.RoundWidth = 10;
    BtnQrOkut.SetclProSettings(BtnQrOkut.clProSettings);
    AnaForm.AddNewEvent(BtnQrOkut, tbeOnClick, 'OnQrOkutClick');
  }

  BilgiPnl = AnaForm.AddNewProPanel(SatirPnl, AIsim + 'BilgiPnl');
  BilgiPnl.Align = alClient;
  BilgiPnl.Margins.Left = 15;
  BilgiPnl.Margins.Top = 20;
  BilgiPnl.clProSettings.IsTransparent = True;
  BilgiPnl.SetclProSettings(BilgiPnl.clProSettings);

  BaslikLbi = AnaForm.AddNewProLabel(BilgiPnl, AIsim + 'Baslik', ABaslik);
  BaslikLbi.Align = alTop;
  BaslikLbi.Height = 20;
  BaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  BaslikLbi.clProSettings.FontSize = 13;
  BaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  BaslikLbi.SetclProSettings(BaslikLbi.clProSettings);

  SaatLbi = AnaForm.AddNewProLabel(BilgiPnl, AIsim + 'Saat', ASaat);
  SaatLbi.Align = alTop;
  SaatLbi.Height = 18;
  SaatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  SaatLbi.clProSettings.FontSize = 11;
  SaatLbi.SetclProSettings(SaatLbi.clProSettings);
}

void GorevListesiniDoldur;
var
  LQry: TClSQLiteQuery;
  LIsim: String;
  LSayac: Integer;
  LIkonUrl: String;
{
  try
    LQry = PersonelGorevleriGetir(GPersonelID);
    LSayac = 1;

    while (not LQry.Eof)
    {
      LIsim = 'Gorev' + IntToStr(LSayac);

      if (LQry.FieldByName('Durum').AsString == 'Tamamlandi')
      {
      }
      else
      {
      }

      GorevSatiriOlustur(IcerikKaydirici, LIsim, LQry.FieldByName('Lokasyon').AsString, LQry.FieldByName('PlanlananSaat').AsString, LIkonUrl, IntToStr(LQry.FieldByName('ID').AsInteger));
      LSayac = LSayac + 1;
      LQry.Next;
    }

    LQry.Free;
  except
    ShowMessage('Gorev listesi yuklenemedi: ' + LastExceptionMessage);
  }
}

void OnGoreviBitirClick;
var
  LResimYolu: String;
{
  LResimYolu = '-';

  if (KanitGorselImg.Visible == True)
  {
    if (KanitGorselImg.clProSettings.PictureSource <> '')
    {
      try
        LResimYolu = clPathCombine('gorev_kanit_' + IntToStr(GSeciliGorevID) + '.jpg', Clomosy.AppFilesPath);
        Clomosy.Base64ToFile(LResimYolu, Clomosy.FileToBase64(KanitGorselImg.clProSettings.PictureSource));
      except
        LResimYolu = '-';
      }
    }
  }

  if (GorevTamamla(GSeciliGorevID, EdtDurumNotu.Text, LResimYolu))
  {
    ShowMessage('Görev Başarıyla Tamamlandı!');
    GtAnaPnl.Visible = False;
    OzetKartlariniGuncelle;
    IcerikKaydirici.DeleteChildren;
    GorevListesiniDoldur;
  }
}

void OnQrModalKapatClick;
{
  QrAnaPnl.Visible = False;
}

void OnQrKamerayiAc;
{
  AnaForm.CallBarcodeReader(EdtGizliQrSonuc);
}

void OnQrSonucAlindi;
var
  LQrKodu: String;
  LLokasyon: String;
  LQry: TClSQLiteQuery;
{
  LQrKodu = EdtGizliQrSonuc.Text;

  if (LQrKodu <> '')
  {
    try
      LQry = Clomosy.DBSQLiteQueryWith('SELECT Lokasyon FROM TblQRKodlar WHERE QRKodu=' + QuotedStr(LQrKodu));
      LQry.OpenOrExecute;

      if (LQry.Found)
      {
        LLokasyon = LQry.FieldByName('Lokasyon').AsString;
        LQry.Free;

        if (LLokasyon == QrLokasyonLbi.Text)
        {
          GorevBaslat(GSeciliGorevID);
          OzetKartlariniGuncelle;
          QrAnaPnl.Visible = False;
          EdtGizliQrSonuc.Text = '';
          EdtDurumNotu.Text = '';
          GtBaslikLbi.Text = 'Gorev: ' + LLokasyon;
          GtAnaPnl.Visible = True;
        }
        else
        {
          ShowMessage('Yanlis oda! Lutfen ' + QrLokasyonLbi.Text + ' alanina gidiniz.');
          EdtGizliQrSonuc.Text = '';
        }
      }
      else
      {
        LQry.Free;
        ShowMessage('Tanimsiz QR Kod: [' + LQrKodu + ']');
        EdtGizliQrSonuc.Text = '';
      }
    except
      ShowMessage('Hata: ' + LastExceptionMessage);
    }
  }
}

void OnQrOkutClick;
var
  TiklananBtn: TclProButton;
  LTag: String;
  LAyrac: Integer;
  LGorevIDStr: String;
{
  TiklananBtn = TclProButton(AnaForm.clSender);
  LTag = TiklananBtn.clTagStr;
  LAyrac = Pos('|', LTag);
  QrLokasyonLbi.Text = Copy(LTag, 1, LAyrac - 1);
  LGorevIDStr = Copy(LTag, LAyrac + 1, Length(LTag));
  GSeciliGorevID = StrToIntDef(LGorevIDStr, 0);
  QrAnaPnl.Visible = True;
  AnaForm.CallBarcodeReader(EdtGizliQrSonuc);
}

void OnIseBaslaClick;
var
  LSimdikiSaat: String;
  LQry: TClSQLiteQuery;
  LAyrac1: Integer;
  LAyrac2: Integer;
  LSimdiSaat: Integer;
  LSimdiDakika: Integer;
  LGirisSaat: Integer;
  LGirisDakika: Integer;
  LSimdiToplamDakika: Integer;
  LGirisToplamDakika: Integer;
{
  LSimdikiSaat = FormatDateTime('hh:nn', Now);

  try
    LQry = Clomosy.DBSQLiteQueryWith('SELECT GirisSaati FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID));
    LQry.OpenOrExecute;

    if (LQry.Found)
    {
      GMesaiSaati = LQry.FieldByName('GirisSaati').AsString;
    }
    LQry.Free;

    GGirisSaati = LSimdikiSaat;
    GZamanindaMi = False;

    LAyrac1 = Pos(':', LSimdikiSaat);
    LSimdiSaat = StrToIntDef(Copy(LSimdikiSaat, 1, LAyrac1 - 1), 0);
    LSimdiDakika = StrToIntDef(Copy(LSimdikiSaat, LAyrac1 + 1, Length(LSimdikiSaat)), 0);
    LSimdiToplamDakika = (LSimdiSaat * 60) + LSimdiDakika;

    LAyrac2 = Pos(':', GMesaiSaati);
    LGirisSaat = StrToIntDef(Copy(GMesaiSaati, 1, LAyrac2 - 1), 0);
    LGirisDakika = StrToIntDef(Copy(GMesaiSaati, LAyrac2 + 1, Length(GMesaiSaati)), 0);
    LGirisToplamDakika = (LGirisSaat * 60) + LGirisDakika;

    if (LSimdiToplamDakika <= LGirisToplamDakika)
    {
      GZamanindaMi = True;
    }

    Clomosy.DBSQLiteQuery.Sql.Text = 'UPDATE TblPersonel SET BugunkuGiris=' + QuotedStr(LSimdikiSaat) + ', Durum=' + QuotedStr('Gorevde') + ' WHERE ID=' + IntToStr(GPersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    if (not GZamanindaMi)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'UPDATE TblPersonel SET Durum=' + QuotedStr('Gecikti') + ' WHERE ID=' + IntToStr(GPersonelID);
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }

    LblGirisSaat.Text = 'Giris: ' + GGirisSaati;
    LblMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    if (GZamanindaMi)
    {
      MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
      MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
      DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      LblDurumBaslik.Text = 'Hos Geldiniz';
      LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
    }
    else
    {
      MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
      MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
      DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      LblDurumBaslik.Text = 'Gec Geldi';
      LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
    }

    MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);
    DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);
    MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);
    LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

    BaslaBtnPnl.Visible = False;
    MesaiBittiPnl.Visible = False;
    MesaiDurumPnl.Visible = True;
  except
    ShowMessage('Ise baslama hatasi: ' + LastExceptionMessage);
  }
}

void OnCikisYapClick;
var
  LCikisSaati: String;
{
  LCikisSaati = FormatDateTime('hh:nn', Now);

  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'UPDATE TblPersonel SET BugunkuCikis=' + QuotedStr(LCikisSaati) + ' WHERE ID=' + IntToStr(GPersonelID);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    LblBittiGirisCikis.Text = 'Giris: ' + GGirisSaati + ' - Cikis: ' + LCikisSaati;
    LblBittiMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    if (GZamanindaMi)
    {
      MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
      MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
      BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
      LblBittiBaslik.Text = 'Gule Gule';
      LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
    }
    else
    {
      MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
      MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
      BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
      LblBittiBaslik.Text = 'Gule Gule';
      LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
    }

    MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);
    BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);
    BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);
    LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

    BaslaBtnPnl.Visible = False;
    MesaiDurumPnl.Visible = False;
    MesaiBittiPnl.Visible = True;
  except
    ShowMessage('Cikis hatasi: ' + LastExceptionMessage);
  }
}

void OnYeniGunClick;
{
  MesaiDurumPnl.Visible = False;
  MesaiBittiPnl.Visible = False;
  BaslaBtnPnl.Visible = True;
  ShowMessage('Sistem yeni gune sifirlandı.');
}

void EkraniKur;
{
  ArkaPlanPnl = AnaForm.AddNewProPanel(OlcekliYerlesim, 'ArkaPlanPnl');
  ArkaPlanPnl.Align = alClient;
  ArkaPlanPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  ArkaPlanPnl.SetclProSettings(ArkaPlanPnl.clProSettings);

  UstBeyazAlanPnl = AnaForm.AddNewProPanel(ArkaPlanPnl, 'UstBeyazAlanPnl');
  UstBeyazAlanPnl.Align = alTop;
  UstBeyazAlanPnl.Height = 270;
  UstBeyazAlanPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  UstBeyazAlanPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  UstBeyazAlanPnl.clProSettings.BorderWidth = 1;
  UstBeyazAlanPnl.SetclProSettings(UstBeyazAlanPnl.clProSettings);

  UstBaslikPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'UstBaslikPnl');
  UstBaslikPnl.Align = alTop;
  UstBaslikPnl.Height = 70;
  UstBaslikPnl.clProSettings.IsTransparent = True;
  UstBaslikPnl.SetclProSettings(UstBaslikPnl.clProSettings);

  ZilIkon = AnaForm.AddNewProImage(UstBaslikPnl, 'ZilIkon');
  ZilIkon.Align = alRight;
  ZilIkon.Width = 25;
  ZilIkon.Margins.Right = 20;
  ZilIkon.Margins.Top = 20;
  ZilIkon.Margins.Bottom = 25;

  BtnYeniGunTest = AnaForm.AddNewProButton(UstBaslikPnl, 'BtnYeniGunTest', 'Yeni Gun');
  BtnYeniGunTest.Align = alRight;
  BtnYeniGunTest.Width = 75;
  BtnYeniGunTest.Margins.Right = 10;
  BtnYeniGunTest.Margins.Top = 20;
  BtnYeniGunTest.Margins.Bottom = 20;
  BtnYeniGunTest.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  BtnYeniGunTest.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  BtnYeniGunTest.clProSettings.FontSize = 10;
  BtnYeniGunTest.clProSettings.RoundHeight = 8;
  BtnYeniGunTest.clProSettings.RoundWidth = 8;
  BtnYeniGunTest.SetclProSettings(BtnYeniGunTest.clProSettings);
  AnaForm.AddNewEvent(BtnYeniGunTest, tbeOnClick, 'OnYeniGunClick');

  TarihLbi = AnaForm.AddNewProLabel(UstBaslikPnl, 'TarihLbi', FormatDateTime('dd mmmm yyyy, dddd', Now));
  TarihLbi.Align = alTop;
  TarihLbi.Height = 20;
  TarihLbi.Margins.Left = 20;
  TarihLbi.Margins.Top = 15;
  TarihLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  TarihLbi.clProSettings.FontSize = 10;
  TarihLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  TarihLbi.SetclProSettings(TarihLbi.clProSettings);

  SelamlamaLbi = AnaForm.AddNewProLabel(UstBaslikPnl, 'SelamlamaLbi', 'Kolay Gelsin, ' + GPersonelAd);
  SelamlamaLbi.Align = alTop;
  SelamlamaLbi.Height = 25;
  SelamlamaLbi.Margins.Left = 20;
  SelamlamaLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  SelamlamaLbi.clProSettings.FontSize = 18;
  SelamlamaLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  SelamlamaLbi.SetclProSettings(SelamlamaLbi.clProSettings);

  OzetKapsayiciPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'OzetKapsayiciPnl');
  OzetKapsayiciPnl.Align = alTop;
  OzetKapsayiciPnl.Height = 85;
  OzetKapsayiciPnl.Margins.Top = 5;
  OzetKapsayiciPnl.clProSettings.IsTransparent = True;
  OzetKapsayiciPnl.SetclProSettings(OzetKapsayiciPnl.clProSettings);

  BekliyorKartPnl = AnaForm.AddNewProPanel(OzetKapsayiciPnl, 'BekliyorKartPnl');
  BekliyorKartPnl.Align = alLeft;
  BekliyorKartPnl.Width = Trunc((OlcekliYerlesim.Width / 2) - 25);
  BekliyorKartPnl.Margins.Left = 20;
  BekliyorKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F1F5F9');
  BekliyorKartPnl.clProSettings.RoundHeight = 15;
  BekliyorKartPnl.clProSettings.RoundWidth = 15;
  BekliyorKartPnl.SetclProSettings(BekliyorKartPnl.clProSettings);

  BekleyenSayiLbi = AnaForm.AddNewProLabel(BekliyorKartPnl, 'BekleyenSayiLbi', '0');
  BekleyenSayiLbi.Align = alTop;
  BekleyenSayiLbi.Height = 40;
  BekleyenSayiLbi.Margins.Top = 10;
  BekleyenSayiLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  BekleyenSayiLbi.clProSettings.FontSize = 24;
  BekleyenSayiLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  BekleyenSayiLbi.clProSettings.FontHorzAlign = palcenter;
  BekleyenSayiLbi.SetclProSettings(BekleyenSayiLbi.clProSettings);

  BekleyenYaziLbi = AnaForm.AddNewProLabel(BekliyorKartPnl, 'BekleyenYaziLbi', 'Bekliyor');
  BekleyenYaziLbi.Align = alTop;
  BekleyenYaziLbi.Height = 20;
  BekleyenYaziLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  BekleyenYaziLbi.clProSettings.FontSize = 11;
  BekleyenYaziLbi.clProSettings.FontHorzAlign = palcenter;
  BekleyenYaziLbi.SetclProSettings(BekleyenYaziLbi.clProSettings);

  TamamlananKartPnl = AnaForm.AddNewProPanel(OzetKapsayiciPnl, 'TamamlananKartPnl');
  TamamlananKartPnl.Align = alRight;
  TamamlananKartPnl.Width = Trunc((OlcekliYerlesim.Width / 2) - 25);
  TamamlananKartPnl.Margins.Right = 20;
  TamamlananKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
  TamamlananKartPnl.clProSettings.RoundHeight = 15;
  TamamlananKartPnl.clProSettings.RoundWidth = 15;
  TamamlananKartPnl.SetclProSettings(TamamlananKartPnl.clProSettings);

  TamamlananSayiLbi = AnaForm.AddNewProLabel(TamamlananKartPnl, 'TamamlananSayiLbi', '0');
  TamamlananSayiLbi.Align = alTop;
  TamamlananSayiLbi.Height = 40;
  TamamlananSayiLbi.Margins.Top = 10;
  TamamlananSayiLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#059669');
  TamamlananSayiLbi.clProSettings.FontSize = 24;
  TamamlananSayiLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  TamamlananSayiLbi.clProSettings.FontHorzAlign = palcenter;
  TamamlananSayiLbi.SetclProSettings(TamamlananSayiLbi.clProSettings);

  TamamlananYaziLbi = AnaForm.AddNewProLabel(TamamlananKartPnl, 'TamamlananYaziLbi', 'Tamamlandi');
  TamamlananYaziLbi.Align = alTop;
  TamamlananYaziLbi.Height = 20;
  TamamlananYaziLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#059669');
  TamamlananYaziLbi.clProSettings.FontSize = 11;
  TamamlananYaziLbi.clProSettings.FontHorzAlign = palcenter;
  TamamlananYaziLbi.SetclProSettings(TamamlananYaziLbi.clProSettings);

  IseBaslaKapsayiciPnl = AnaForm.AddNewProPanel(UstBeyazAlanPnl, 'IseBaslaKapsayiciPnl');
  IseBaslaKapsayiciPnl.Align = alTop;
  IseBaslaKapsayiciPnl.Height = 90;
  IseBaslaKapsayiciPnl.clProSettings.IsTransparent = True;
  IseBaslaKapsayiciPnl.SetclProSettings(IseBaslaKapsayiciPnl.clProSettings);

  BaslaBtnPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'BaslaBtnPnl');
  BaslaBtnPnl.Align = alClient;
  BaslaBtnPnl.clProSettings.IsTransparent = True;
  BaslaBtnPnl.SetclProSettings(BaslaBtnPnl.clProSettings);

  BtnIseBasla = AnaForm.AddNewProButton(BaslaBtnPnl, 'BtnIseBasla', 'ISE BASLA');
  BtnIseBasla.Align = alClient;
  BtnIseBasla.Margins.Left = 20;
  BtnIseBasla.Margins.Right = 20;
  BtnIseBasla.Margins.Top = 15;
  BtnIseBasla.Margins.Bottom = 15;
  BtnIseBasla.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnIseBasla.clProSettings.FontColor = clalphacolor.clWhite;
  BtnIseBasla.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnIseBasla.clProSettings.RoundHeight = 15;
  BtnIseBasla.clProSettings.RoundWidth = 15;
  BtnIseBasla.SetclProSettings(BtnIseBasla.clProSettings);
  AnaForm.AddNewEvent(BtnIseBasla, tbeOnClick, 'OnIseBaslaClick');

  MesaiDurumPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'MesaiDurumPnl');
  MesaiDurumPnl.Align = alClient;
  MesaiDurumPnl.Visible = False;
  MesaiDurumPnl.Margins.Left = 20;
  MesaiDurumPnl.Margins.Right = 20;
  MesaiDurumPnl.Margins.Top = 10;
  MesaiDurumPnl.Margins.Bottom = 10;
  MesaiDurumPnl.clProSettings.BorderWidth = 1;
  MesaiDurumPnl.clProSettings.RoundHeight = 25;
  MesaiDurumPnl.clProSettings.RoundWidth = 25;
  MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);

  DurumIkonDisPnl = AnaForm.AddNewProPanel(MesaiDurumPnl, 'DurumIkonDisPnl');
  DurumIkonDisPnl.Align = alLeft;
  DurumIkonDisPnl.Width = 45;
  DurumIkonDisPnl.Margins.Left = 15;
  DurumIkonDisPnl.Margins.Top = 12;
  DurumIkonDisPnl.Margins.Bottom = 12;
  DurumIkonDisPnl.clProSettings.RoundHeight = 15;
  DurumIkonDisPnl.clProSettings.RoundWidth = 15;
  DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);

  DurumIkonImg = AnaForm.AddNewProImage(DurumIkonDisPnl, 'DurumIkonImg');
  DurumIkonImg.Align = alClient;
  DurumIkonImg.Margins.Left = 10;
  DurumIkonImg.Margins.Right = 10;
  DurumIkonImg.Margins.Top = 10;
  DurumIkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(DurumIkonImg, 'https://cdn-icons-png.flaticon.com/128/223/223408.png');

  DurumMetinPnl = AnaForm.AddNewProPanel(MesaiDurumPnl, 'DurumMetinPnl');
  DurumMetinPnl.Align = alLeft;
  DurumMetinPnl.Width = 120;
  DurumMetinPnl.Margins.Left = 10;
  DurumMetinPnl.clProSettings.IsTransparent = True;
  DurumMetinPnl.SetclProSettings(DurumMetinPnl.clProSettings);

  LblDurumBaslik = AnaForm.AddNewProLabel(DurumMetinPnl, 'LblDurumBaslik', 'Gec Geldi');
  LblDurumBaslik.Align = alTop;
  LblDurumBaslik.Height = 20;
  LblDurumBaslik.Margins.Top = 10;
  LblDurumBaslik.clProSettings.FontSize = 13;
  LblDurumBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

  MesaiPillPnl = AnaForm.AddNewProPanel(DurumMetinPnl, 'MesaiPillPnl');
  MesaiPillPnl.Align = alTop;
  MesaiPillPnl.Height = 18;
  MesaiPillPnl.Width = 90;
  MesaiPillPnl.clProSettings.RoundHeight = 8;
  MesaiPillPnl.clProSettings.RoundWidth = 8;
  MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);

  LblMesaiSaat = AnaForm.AddNewProLabel(MesaiPillPnl, 'LblMesaiSaat', 'Mesai: 18:30');
  LblMesaiSaat.Align = alClient;
  LblMesaiSaat.clProSettings.FontColor = clalphacolor.clWhite;
  LblMesaiSaat.clProSettings.FontSize = 10;
  LblMesaiSaat.clProSettings.FontHorzAlign = palcenter;
  LblMesaiSaat.SetclProSettings(LblMesaiSaat.clProSettings);

  LblGirisSaat = AnaForm.AddNewProLabel(DurumMetinPnl, 'LblGirisSaat', 'Giris: --');
  LblGirisSaat.Align = alTop;
  LblGirisSaat.Height = 15;
  LblGirisSaat.Margins.Top = 2;
  LblGirisSaat.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  LblGirisSaat.clProSettings.FontSize = 10;
  LblGirisSaat.SetclProSettings(LblGirisSaat.clProSettings);

  BtnCikisYap = AnaForm.AddNewProButton(MesaiDurumPnl, 'BtnCikisYap', 'Cikis');
  BtnCikisYap.Align = alRight;
  BtnCikisYap.Width = 70;
  BtnCikisYap.Margins.Right = 15;
  BtnCikisYap.Margins.Top = 18;
  BtnCikisYap.Margins.Bottom = 18;
  BtnCikisYap.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnCikisYap.clProSettings.FontColor = clalphacolor.clWhite;
  BtnCikisYap.clProSettings.FontSize = 11;
  BtnCikisYap.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnCikisYap.clProSettings.RoundHeight = 15;
  BtnCikisYap.clProSettings.RoundWidth = 15;
  BtnCikisYap.SetclProSettings(BtnCikisYap.clProSettings);
  AnaForm.AddNewEvent(BtnCikisYap, tbeOnClick, 'OnCikisYapClick');

  MesaiBittiPnl = AnaForm.AddNewProPanel(IseBaslaKapsayiciPnl, 'MesaiBittiPnl');
  MesaiBittiPnl.Align = alClient;
  MesaiBittiPnl.Visible = False;
  MesaiBittiPnl.Margins.Left = 20;
  MesaiBittiPnl.Margins.Right = 20;
  MesaiBittiPnl.Margins.Top = 10;
  MesaiBittiPnl.Margins.Bottom = 10;
  MesaiBittiPnl.clProSettings.BorderWidth = 1;
  MesaiBittiPnl.clProSettings.RoundHeight = 25;
  MesaiBittiPnl.clProSettings.RoundWidth = 25;
  MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);

  BittiIkonDisPnl = AnaForm.AddNewProPanel(MesaiBittiPnl, 'BittiIkonDisPnl');
  BittiIkonDisPnl.Align = alLeft;
  BittiIkonDisPnl.Width = 45;
  BittiIkonDisPnl.Margins.Left = 15;
  BittiIkonDisPnl.Margins.Top = 12;
  BittiIkonDisPnl.Margins.Bottom = 12;
  BittiIkonDisPnl.clProSettings.RoundHeight = 15;
  BittiIkonDisPnl.clProSettings.RoundWidth = 15;
  BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);

  BittiIkonImg = AnaForm.AddNewProImage(BittiIkonDisPnl, 'BittiIkonImg');
  BittiIkonImg.Align = alClient;
  BittiIkonImg.Margins.Left = 10;
  BittiIkonImg.Margins.Right = 10;
  BittiIkonImg.Margins.Top = 10;
  BittiIkonImg.Margins.Bottom = 10;
  AnaForm.SetImage(BittiIkonImg, 'https://cdn-icons-png.flaticon.com/128/223/223408.png');

  BittiMetinAnaPnl = AnaForm.AddNewProPanel(MesaiBittiPnl, 'BittiMetinAnaPnl');
  BittiMetinAnaPnl.Align = alClient;
  BittiMetinAnaPnl.Margins.Left = 10;
  BittiMetinAnaPnl.Margins.Top = 15;
  BittiMetinAnaPnl.clProSettings.IsTransparent = True;
  BittiMetinAnaPnl.SetclProSettings(BittiMetinAnaPnl.clProSettings);

  BittiUstMetinPnl = AnaForm.AddNewProPanel(BittiMetinAnaPnl, 'BittiUstMetinPnl');
  BittiUstMetinPnl.Align = alTop;
  BittiUstMetinPnl.Height = 20;
  BittiUstMetinPnl.clProSettings.IsTransparent = True;
  BittiUstMetinPnl.SetclProSettings(BittiUstMetinPnl.clProSettings);

  LblBittiBaslik = AnaForm.AddNewProLabel(BittiUstMetinPnl, 'LblBittiBaslik', 'Gule Gule');
  LblBittiBaslik.Align = alLeft;
  LblBittiBaslik.Width = 85;
  LblBittiBaslik.clProSettings.FontSize = 13;
  LblBittiBaslik.clProSettings.TextSettings.Font.Style = [fsBold];
  LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

  BittiPillPnl = AnaForm.AddNewProPanel(BittiUstMetinPnl, 'BittiPillPnl');
  BittiPillPnl.Align = alLeft;
  BittiPillPnl.Width = 80;
  BittiPillPnl.clProSettings.RoundHeight = 8;
  BittiPillPnl.clProSettings.RoundWidth = 8;
  BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);

  LblBittiMesaiSaat = AnaForm.AddNewProLabel(BittiPillPnl, 'LblBittiMesaiSaat', 'Mesai: 08:00');
  LblBittiMesaiSaat.Align = alClient;
  LblBittiMesaiSaat.clProSettings.FontColor = clalphacolor.clWhite;
  LblBittiMesaiSaat.clProSettings.FontSize = 10;
  LblBittiMesaiSaat.clProSettings.FontHorzAlign = palcenter;
  LblBittiMesaiSaat.SetclProSettings(LblBittiMesaiSaat.clProSettings);

  LblBittiGirisCikis = AnaForm.AddNewProLabel(BittiMetinAnaPnl, 'LblBittiGirisCikis', 'Giris: -- - Cikis: --');
  LblBittiGirisCikis.Align = alTop;
  LblBittiGirisCikis.Height = 15;
  LblBittiGirisCikis.Margins.Top = 5;
  LblBittiGirisCikis.clProSettings.FontColor = clalphacolor.clHexToColor('#475569');
  LblBittiGirisCikis.clProSettings.FontSize = 11;
  LblBittiGirisCikis.SetclProSettings(LblBittiGirisCikis.clProSettings);

  AltMenuPnl = AnaForm.AddNewProPanel(ArkaPlanPnl, 'AltMenuPnl');
  AltMenuPnl.Align = alBottom;
  AltMenuPnl.Height = 65;
  AltMenuPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  AltMenuPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  AltMenuPnl.clProSettings.BorderWidth = 1;
  AltMenuPnl.SetclProSettings(AltMenuPnl.clProSettings);

  NavPnlGorevler = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlGorevler');
  NavPnlGorevler.Align = alLeft;
  NavPnlGorevler.Width = AltMenuPnl.Width / 3;
  NavBtnGorevler = AnaForm.AddNewProButton(NavPnlGorevler, 'NavBtnGorevler', 'Gorevler');
  NavBtnGorevler.Align = alClient;
  NavBtnGorevler.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  NavBtnGorevler.clProSettings.TextSettings.Font.Style = [fsBold];
  NavBtnGorevler.clProSettings.FontHorzAlign = palcenter;
  NavBtnGorevler.clTagStr = 'Gorevler';
  NavBtnGorevler.SetclProSettings(NavBtnGorevler.clProSettings);
  AnaForm.AddNewEvent(NavBtnGorevler, tbeOnClick, 'OnMenuTikla');

  GorevlerCizgiPnl = AnaForm.AddNewProPanel(NavPnlGorevler, 'GorevlerCizgiPnl');
  GorevlerCizgiPnl.Align = alBottom;
  GorevlerCizgiPnl.Height = 3;
  GorevlerCizgiPnl.Margins.Left = 30;
  GorevlerCizgiPnl.Margins.Right = 30;
  GorevlerCizgiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  GorevlerCizgiPnl.SetclProSettings(GorevlerCizgiPnl.clProSettings);

  NavPnlGecmis = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlGecmis');
  NavPnlGecmis.Align = alLeft;
  NavPnlGecmis.Width = AltMenuPnl.Width / 3;
  NavBtnGecmis = AnaForm.AddNewProButton(NavPnlGecmis, 'NavBtnGecmis', 'Gecmis');
  NavBtnGecmis.Align = alClient;
  NavBtnGecmis.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  NavBtnGecmis.clProSettings.FontHorzAlign = palcenter;
  NavBtnGecmis.clTagStr = 'Gecmis';
  NavBtnGecmis.SetclProSettings(NavBtnGecmis.clProSettings);
  AnaForm.AddNewEvent(NavBtnGecmis, tbeOnClick, 'OnMenuTikla');

  NavPnlProfil = AnaForm.AddNewProPanel(AltMenuPnl, 'NavPnlProfil');
  NavPnlProfil.Align = alLeft;
  NavPnlProfil.Width = AltMenuPnl.Width / 3;
  NavBtnProfil = AnaForm.AddNewProButton(NavPnlProfil, 'NavBtnProfil', 'Profil');
  NavBtnProfil.Align = alClient;
  NavBtnProfil.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  NavBtnProfil.clProSettings.FontHorzAlign = palcenter;
  NavBtnProfil.clTagStr = 'Profil';
  NavBtnProfil.SetclProSettings(NavBtnProfil.clProSettings);
  AnaForm.AddNewEvent(NavBtnProfil, tbeOnClick, 'OnMenuTikla');

  IcerikKaydirici = AnaForm.AddNewVertScrollBox(ArkaPlanPnl, 'IcerikKaydirici');
  IcerikKaydirici.Align = alClient;
  IcerikKaydirici.Margins.Bottom = 10;
  IcerikKaydirici.Margins.Top = 10;

  GorevListesiniDoldur;

  QrAnaPnl = AnaForm.AddNewProPanel(AnaForm, 'QrAnaPnl');
  QrAnaPnl.Align = alClient;
  QrAnaPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  QrAnaPnl.SetclProSettings(QrAnaPnl.clProSettings);
  QrAnaPnl.Visible = False;

  QrUstMenuPnl = AnaForm.AddNewProPanel(QrAnaPnl, 'QrUstMenuPnl');
  QrUstMenuPnl.Align = alTop;
  QrUstMenuPnl.Height = 70;
  QrUstMenuPnl.clProSettings.IsTransparent = True;
  QrUstMenuPnl.SetclProSettings(QrUstMenuPnl.clProSettings);

  QrKapatLbi = AnaForm.AddNewProLabel(QrUstMenuPnl, 'QrKapatLbi', 'X');
  QrKapatLbi.Align = alLeft;
  QrKapatLbi.Width = 50;
  QrKapatLbi.Margins.Top = 15;
  QrKapatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrKapatLbi.clProSettings.FontSize = 20;
  QrKapatLbi.clProSettings.FontHorzAlign = palcenter;
  QrKapatLbi.SetclProSettings(QrKapatLbi.clProSettings);
  QrKapatLbi.HitTest = True;
  AnaForm.AddNewEvent(QrKapatLbi, tbeOnClick, 'OnQrModalKapatClick');

  QrBaslikKapsayiciPnl = AnaForm.AddNewProPanel(QrUstMenuPnl, 'QrBaslikKapsayiciPnl');
  QrBaslikKapsayiciPnl.Align = alClient;
  QrBaslikKapsayiciPnl.Margins.Top = 15;
  QrBaslikKapsayiciPnl.clProSettings.IsTransparent = True;
  QrBaslikKapsayiciPnl.SetclProSettings(QrBaslikKapsayiciPnl.clProSettings);

  QrBaslikLbi = AnaForm.AddNewProLabel(QrBaslikKapsayiciPnl, 'QrBaslikLbi', 'QR Dogrulama');
  QrBaslikLbi.Align = alTop;
  QrBaslikLbi.Height = 22;
  QrBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrBaslikLbi.clProSettings.FontSize = 16;
  QrBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrBaslikLbi.SetclProSettings(QrBaslikLbi.clProSettings);

  QrLokasyonLbi = AnaForm.AddNewProLabel(QrBaslikKapsayiciPnl, 'QrLokasyonLbi','Lokasyon Secilmedi');
  QrLokasyonLbi.Align = alTop;
  QrLokasyonLbi.Height = 20;
  QrLokasyonLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  QrLokasyonLbi.clProSettings.FontSize = 12;
  QrLokasyonLbi.SetclProSettings(QrLokasyonLbi.clProSettings);

  QrKartPnl = AnaForm.AddNewProPanel(QrAnaPnl, 'QrKartPnl');
  QrKartPnl.Align = alTop;
  QrKartPnl.Height = 320;
  QrKartPnl.Margins.Left = 20;
  QrKartPnl.Margins.Right = 20;
  QrKartPnl.Margins.Top = 20;
  QrKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  QrKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  QrKartPnl.clProSettings.BorderWidth = 1;
  QrKartPnl.clProSettings.RoundHeight = 15;
  QrKartPnl.clProSettings.RoundWidth = 15;
  QrKartPnl.SetclProSettings(QrKartPnl.clProSettings);

  QrKameraCercevePnl = AnaForm.AddNewProPanel(QrKartPnl, 'QrKameraCercevePnl');
  QrKameraCercevePnl.Align = alTop;
  QrKameraCercevePnl.Height = 210;
  QrKameraCercevePnl.Margins.Left = 25;
  QrKameraCercevePnl.Margins.Right = 25;
  QrKameraCercevePnl.Margins.Top = 25;
  QrKameraCercevePnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F8FAFC');
  QrKameraCercevePnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#CBD5E1');
  QrKameraCercevePnl.clProSettings.BorderWidth = 2;
  QrKameraCercevePnl.clProSettings.RoundHeight = 20;
  QrKameraCercevePnl.clProSettings.RoundWidth = 20;
  QrKameraCercevePnl.SetclProSettings(QrKameraCercevePnl.clProSettings);
  QrKameraCercevePnl.HitTest = True;
  AnaForm.AddNewEvent(QrKameraCercevePnl, tbeOnClick, 'OnQrKamerayiAc');

  QrKameraIkonImg = AnaForm.AddNewProImage(QrKameraCercevePnl, 'QrKameraIkonImg');
  QrKameraIkonImg.Align = alClient;
  QrKameraIkonImg.Margins.Left = 60;
  QrKameraIkonImg.Margins.Right = 60;
  QrKameraIkonImg.Margins.Top = 30;
  QrKameraIkonImg.Margins.Bottom = 60;
  AnaForm.SetImage(QrKameraIkonImg, 'https://cdn-icons-png.flaticon.com/128/3074/3074768.png');
  QrKameraIkonImg.HitTest = False;

  QrKodaYoneltLbi = AnaForm.AddNewProLabel(QrKameraCercevePnl, 'QrKodaYoneltLbi', 'Buraya dokunun');
  QrKodaYoneltLbi.Align = alBottom;
  QrKodaYoneltLbi.Height = 25;
  QrKodaYoneltLbi.Margins.Bottom = 15;
  QrKodaYoneltLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#94A3B8');
  QrKodaYoneltLbi.clProSettings.FontSize = 12;
  QrKodaYoneltLbi.clProSettings.FontHorzAlign = palcenter;
  QrKodaYoneltLbi.SetclProSettings(QrKodaYoneltLbi.clProSettings);
  QrKodaYoneltLbi.HitTest = False;

  QrKameraAktifLbi = AnaForm.AddNewProLabel(QrKameraCercevePnl, 'QrKameraAktifLbi', 'Kamerayi Ac');
  QrKameraAktifLbi.Align = alBottom;
  QrKameraAktifLbi.Height = 20;
  QrKameraAktifLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  QrKameraAktifLbi.clProSettings.FontSize = 13;
  QrKameraAktifLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrKameraAktifLbi.clProSettings.FontHorzAlign = palcenter;
  QrKameraAktifLbi.SetclProSettings(QrKameraAktifLbi.clProSettings);
  QrKameraAktifLbi.HitTest = False;

  QrAltBilgi1Lbi = AnaForm.AddNewProLabel(QrKartPnl, 'QrAltBilgi1Lbi', 'Odadaki QR kodu okutun');
  QrAltBilgi1Lbi.Align = alTop;
  QrAltBilgi1Lbi.Height = 20;
  QrAltBilgi1Lbi.Margins.Top = 20;
  QrAltBilgi1Lbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  QrAltBilgi1Lbi.clProSettings.FontSize = 12;
  QrAltBilgi1Lbi.clProSettings.FontHorzAlign = palcenter;
  QrAltBilgi1Lbi.SetclProSettings(QrAltBilgi1Lbi.clProSettings);

  QrAltBilgi2Lbi = AnaForm.AddNewProLabel(QrKartPnl, 'QrAltBilgi2Lbi', 'Galeriden fotograf secilemez');
  QrAltBilgi2Lbi.Align = alTop;
  QrAltBilgi2Lbi.Height = 20;
  QrAltBilgi2Lbi.Margins.Top = 5;
  QrAltBilgi2Lbi.clProSettings.FontColor = clalphacolor.clHexToColor('#DC2626');
  QrAltBilgi2Lbi.clProSettings.FontSize = 11;
  QrAltBilgi2Lbi.clProSettings.TextSettings.Font.Style = [fsBold];
  QrAltBilgi2Lbi.clProSettings.FontHorzAlign = palcenter;
  QrAltBilgi2Lbi.SetclProSettings(QrAltBilgi2Lbi.clProSettings);

  BtnQrKoduOku = AnaForm.AddNewProButton(QrAnaPnl, 'BtnQrKoduOku', 'QR KODU OKU');
  BtnQrKoduOku.Align = alTop;
  BtnQrKoduOku.Height = 55;
  BtnQrKoduOku.Margins.Left = 20;
  BtnQrKoduOku.Margins.Right = 20;
  BtnQrKoduOku.Margins.Top = 20;
  BtnQrKoduOku.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnQrKoduOku.clProSettings.FontColor = clalphacolor.clWhite;
  BtnQrKoduOku.clProSettings.FontSize = 13;
  BtnQrKoduOku.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnQrKoduOku.clProSettings.RoundHeight = 15;
  BtnQrKoduOku.clProSettings.RoundWidth = 15;
  BtnQrKoduOku.SetclProSettings(BtnQrKoduOku.clProSettings);
  AnaForm.AddNewEvent(BtnQrKoduOku, tbeOnClick, 'OnQrKamerayiAc');

  EdtGizliQrSonuc = AnaForm.AddNewProEdit(QrAnaPnl, 'EdtGizliQrSonuc', '');
  EdtGizliQrSonuc.Visible = False;
  AnaForm.AddNewEvent(EdtGizliQrSonuc, tbeOnChange, 'OnQrSonucAlindi');

  GtAnaPnl = AnaForm.AddNewProPanel(AnaForm, 'GtAnaPnl');
  GtAnaPnl.Align = alClient;
  GtAnaPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F4F6F9');
  GtAnaPnl.SetclProSettings(GtAnaPnl.clProSettings);
  GtAnaPnl.Visible = False; 

  GtUstMenuPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'GtUstMenuPnl');
  GtUstMenuPnl.Align = alTop;
  GtUstMenuPnl.Height = 70;
  GtUstMenuPnl.clProSettings.IsTransparent = True;
  GtUstMenuPnl.SetclProSettings(GtUstMenuPnl.clProSettings);

  GtKapatLbi = AnaForm.AddNewProLabel(GtUstMenuPnl, 'GtKapatLbi', 'X');
  GtKapatLbi.Align = alLeft;
  GtKapatLbi.Width = 50;
  GtKapatLbi.Margins.Top = 15;
  GtKapatLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  GtKapatLbi.clProSettings.FontSize = 20;
  GtKapatLbi.clProSettings.FontHorzAlign = palcenter;
  GtKapatLbi.SetclProSettings(GtKapatLbi.clProSettings);
  GtKapatLbi.HitTest = True;
  AnaForm.AddNewEvent(GtKapatLbi, tbeOnClick, 'OnGtModalKapatClick');

  GtBaslikLbi = AnaForm.AddNewProLabel(GtUstMenuPnl, 'GtBaslikLbi', 'Gorevi Tamamla');
  GtBaslikLbi.Align = alClient;
  GtBaslikLbi.Margins.Top = 15;
  GtBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#0F172A');
  GtBaslikLbi.clProSettings.FontSize = 16;
  GtBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  GtBaslikLbi.clProSettings.FontHorzAlign = palcenter;
  GtBaslikLbi.SetclProSettings(GtBaslikLbi.clProSettings);

  KanitKartPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'KanitKartPnl');
  KanitKartPnl.Align = alTop;
  KanitKartPnl.Height = 280;
  KanitKartPnl.Margins.Left = 20; KanitKartPnl.Margins.Right = 20; KanitKartPnl.Margins.Top = 10;
  KanitKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  KanitKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  KanitKartPnl.clProSettings.BorderWidth = 1;
  KanitKartPnl.clProSettings.RoundHeight = 15; KanitKartPnl.clProSettings.RoundWidth = 15;
  KanitKartPnl.SetclProSettings(KanitKartPnl.clProSettings);

  KanitBaslikLbi = AnaForm.AddNewProLabel(KanitKartPnl, 'KanitBaslikLbi', 'KANIT FOTOGRAFI');
  KanitBaslikLbi.Align = alTop;
  KanitBaslikLbi.Height = 30;
  KanitBaslikLbi.Margins.Left = 15; KanitBaslikLbi.Margins.Top = 10;
  KanitBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  KanitBaslikLbi.clProSettings.FontSize = 11;
  KanitBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  KanitBaslikLbi.SetclProSettings(KanitBaslikLbi.clProSettings);

  KanitFotoCercevePnl = AnaForm.AddNewProPanel(KanitKartPnl, 'KanitFotoCercevePnl');
  KanitFotoCercevePnl.Align = alTop;
  KanitFotoCercevePnl.Height = 150;
  KanitFotoCercevePnl.Margins.Left = 15; KanitFotoCercevePnl.Margins.Right = 15; KanitFotoCercevePnl.Margins.Top = 5;
  KanitFotoCercevePnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#F8FAFC'); 
  KanitFotoCercevePnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#CBD5E1'); 
  KanitFotoCercevePnl.clProSettings.BorderWidth = 2;
  KanitFotoCercevePnl.clProSettings.RoundHeight = 15; KanitFotoCercevePnl.clProSettings.RoundWidth = 15;
  KanitFotoCercevePnl.SetclProSettings(KanitFotoCercevePnl.clProSettings);

  KanitGorsel = AnaForm.AddNewProImage(KanitFotoCercevePnl, 'KanitGorsel');
  KanitGorsel.Align = alClient;
  KanitGorsel.Margins.Left = 5; KanitGorsel.Margins.Right = 5; KanitGorsel.Margins.Top = 5; KanitGorsel.Margins.Bottom = 5;
  
  KanitGorselImg = AnaForm.AddNewImage(KanitFotoCercevePnl, 'KanitGorselImg');
  KanitGorselImg.Align = alClient;
  KanitGorselImg.Visible = False;

  BtnFotoCek = AnaForm.AddNewProButton(KanitKartPnl, 'BtnFotoCek', 'FOTOGRAF CEK');
  BtnFotoCek.Align = alBottom;
  BtnFotoCek.Height = 45;
  BtnFotoCek.Margins.Left = 15; BtnFotoCek.Margins.Right = 15; BtnFotoCek.Margins.Bottom = 15;
  BtnFotoCek.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#0F172A');
  BtnFotoCek.clProSettings.FontColor = clalphacolor.clWhite;
  BtnFotoCek.clProSettings.FontSize = 11;
  BtnFotoCek.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnFotoCek.clProSettings.RoundHeight = 10; BtnFotoCek.clProSettings.RoundWidth = 10;
  BtnFotoCek.SetclProSettings(BtnFotoCek.clProSettings);
  AnaForm.AddNewEvent(BtnFotoCek, tbeOnClick, 'OnFotoCekClick');

  NotKartPnl = AnaForm.AddNewProPanel(GtAnaPnl, 'NotKartPnl');
  NotKartPnl.Align = alTop;
  NotKartPnl.Height = 160;
  NotKartPnl.Margins.Left = 20; NotKartPnl.Margins.Right = 20; NotKartPnl.Margins.Top = 15;
  NotKartPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FFFFFF');
  NotKartPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#E2E8F0');
  NotKartPnl.clProSettings.BorderWidth = 1;
  NotKartPnl.clProSettings.RoundHeight = 15; NotKartPnl.clProSettings.RoundWidth = 15;
  NotKartPnl.SetclProSettings(NotKartPnl.clProSettings);

  NotBaslikLbi = AnaForm.AddNewProLabel(NotKartPnl, 'NotBaslikLbi', 'ACIKLAMA / DURUM NOTU');
  NotBaslikLbi.Align = alTop;
  NotBaslikLbi.Height = 30;
  NotBaslikLbi.Margins.Left = 15; NotBaslikLbi.Margins.Top = 10;
  NotBaslikLbi.clProSettings.FontColor = clalphacolor.clHexToColor('#64748B');
  NotBaslikLbi.clProSettings.FontSize = 11;
  NotBaslikLbi.clProSettings.TextSettings.Font.Style = [fsBold];
  NotBaslikLbi.SetclProSettings(NotBaslikLbi.clProSettings);

  EdtDurumNotu = AnaForm.AddNewMemo(NotKartPnl, 'EdtDurumNotu', '');
  EdtDurumNotu.Align = alClient;
  EdtDurumNotu.Margins.Left = 15; EdtDurumNotu.Margins.Right = 15; EdtDurumNotu.Margins.Bottom = 15;
  EdtDurumNotu.TextSettings.WordWrap = True;

  BtnGoreviBitir = AnaForm.AddNewProButton(GtAnaPnl, 'BtnGoreviBitir', 'GOREVI TAMAMLA');
  BtnGoreviBitir.Align = alTop;
  BtnGoreviBitir.Height = 55;
  BtnGoreviBitir.Margins.Left = 20; BtnGoreviBitir.Margins.Right = 20; BtnGoreviBitir.Margins.Top = 20;
  BtnGoreviBitir.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#15803D');
  BtnGoreviBitir.clProSettings.FontColor = clalphacolor.clWhite;
  BtnGoreviBitir.clProSettings.FontSize = 13;
  BtnGoreviBitir.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnGoreviBitir.clProSettings.RoundHeight = 15; BtnGoreviBitir.clProSettings.RoundWidth = 15;
  BtnGoreviBitir.SetclProSettings(BtnGoreviBitir.clProSettings);
  AnaForm.AddNewEvent(BtnGoreviBitir, tbeOnClick, 'OnGoreviBitirClick');
}

{
  AnaForm = TCLForm.Create(Self);

  OlcekliYerlesim = AnaForm.AddNewScaledLayout(AnaForm, 'OlcekliYerlesim');
  OlcekliYerlesim.Align = alClient;
  OlcekliYerlesim.OriginalHeight = 750;
  OlcekliYerlesim.OriginalWidth = 350;
  OlcekliYerlesim.Margins.Top = -50;

  GPersonelID = StrToIntDef(Clomosy.GlobalVariableString, 0);

  LQryAd = Clomosy.DBSQLiteQueryWith('SELECT AdSoyad, GirisSaati, BugunkuGiris, BugunkuCikis, Durum FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID));
  LQryAd.OpenOrExecute;

  if (LQryAd.Found)
  {
    GPersonelAd = LQryAd.FieldByName('AdSoyad').AsString;
    GMesaiSaati = LQryAd.FieldByName('GirisSaati').AsString;
    GGirisSaati = LQryAd.FieldByName('BugunkuGiris').AsString;
  }
  else
  {
    GPersonelAd = 'Personel';
    GMesaiSaati = '18:30';
    GGirisSaati = '-';
  }

  LQryAd.Free;

  GSeciliGorevID = 0;
  GZamanindaMi = False;

  EkraniKur;
  OzetKartlariniGuncelle;

  if (GGirisSaati <> '-')
  {
    LAyrac1Temp = Pos(':', GGirisSaati);
    LSimdiSaatTemp = StrToIntDef(Copy(GGirisSaati, 1, LAyrac1Temp - 1), 0);
    LSimdiDakikaTemp = StrToIntDef(Copy(GGirisSaati, LAyrac1Temp + 1, Length(GGirisSaati)), 0);
    LSimdiToplamDakikaTemp = (LSimdiSaatTemp * 60) + LSimdiDakikaTemp;

    LAyrac2Temp = Pos(':', GMesaiSaati);
    LGirisSaatTemp = StrToIntDef(Copy(GMesaiSaati, 1, LAyrac2Temp - 1), 0);
    LGirisDakikaTemp = StrToIntDef(Copy(GMesaiSaati, LAyrac2Temp + 1, Length(GMesaiSaati)), 0);
    LGirisToplamDakikaTemp = (LGirisSaatTemp * 60) + LGirisDakikaTemp;

    if (LSimdiToplamDakikaTemp <= LGirisToplamDakikaTemp)
    {
      GZamanindaMi = True;
    }

    LblGirisSaat.Text = 'Giris: ' + GGirisSaati;
    LblMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

    LQryCikis = Clomosy.DBSQLiteQueryWith('SELECT BugunkuCikis FROM TblPersonel WHERE ID=' + IntToStr(GPersonelID));
    LQryCikis.OpenOrExecute;

    if (LQryCikis.Found)
    {
      LCikisSaatiTemp = LQryCikis.FieldByName('BugunkuCikis').AsString;

      if (LCikisSaatiTemp <> '-')
      {
        if (GZamanindaMi)
        {
          MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
          MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
          BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          LblBittiBaslik.Text = 'Gule Gule';
          LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
        }
        else
        {
          MesaiBittiPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
          MesaiBittiPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
          BittiIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          BittiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          LblBittiBaslik.Text = 'Gule Gule';
          LblBittiBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
        }

        LblBittiGirisCikis.Text = 'Giris: ' + GGirisSaati + ' - Cikis: ' + LCikisSaatiTemp;
        LblBittiMesaiSaat.Text = 'Mesai: ' + GMesaiSaati;

        MesaiBittiPnl.SetclProSettings(MesaiBittiPnl.clProSettings);
        BittiIkonDisPnl.SetclProSettings(BittiIkonDisPnl.clProSettings);
        BittiPillPnl.SetclProSettings(BittiPillPnl.clProSettings);
        LblBittiBaslik.SetclProSettings(LblBittiBaslik.clProSettings);

        BaslaBtnPnl.Visible = False;
        MesaiDurumPnl.Visible = False;
        MesaiBittiPnl.Visible = True;
      }
      else
      {
        if (GZamanindaMi)
        {
          MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#D1FAE5');
          MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#10B981');
          DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#10B981');
          LblDurumBaslik.Text = 'Hos Geldiniz';
          LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#065F46');
        }
        else
        {
          MesaiDurumPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#FEE2E2');
          MesaiDurumPnl.clProSettings.BorderColor = clalphacolor.clHexToColor('#B91C1C');
          DurumIkonDisPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          MesaiPillPnl.clProSettings.BackgroundColor = clalphacolor.clHexToColor('#B91C1C');
          LblDurumBaslik.Text = 'Gec Geldi';
          LblDurumBaslik.clProSettings.FontColor = clalphacolor.clHexToColor('#991B1B');
        }

        MesaiDurumPnl.SetclProSettings(MesaiDurumPnl.clProSettings);
        DurumIkonDisPnl.SetclProSettings(DurumIkonDisPnl.clProSettings);
        MesaiPillPnl.SetclProSettings(MesaiPillPnl.clProSettings);
        LblDurumBaslik.SetclProSettings(LblDurumBaslik.clProSettings);

        BaslaBtnPnl.Visible = False;
        MesaiBittiPnl.Visible = False;
        MesaiDurumPnl.Visible = True;
      }
    }

    LQryCikis.Free;
  }

  AnaForm.FormWaiting.Visible = False;
  AnaForm.BtnFormMenu.Visible = False;
  AnaForm.BtnGoBack.Visible = False;

  AnaForm.Run;
}

kendinde test edip çalıştırır mısın
https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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,066 Saniyede Yüklendi.