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: 18
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ı: 3 Saat 48 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: 930
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ı: 41 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: 18
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ı: 6 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
 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.