Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - operatör 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.

operatör hatası

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


Kayıt Tarihi: 20 Temmuz 2026
Durum: Aktif Değil
Puanlar: 46
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kayra22 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: operatör hatası
    Gönderim Zamanı: 12 Saat 48 Dakika Önce Saat 10:14
var
 FormFiltre, FormGelismis, FormRehber: TclGameForm;
 PnlNavBar, PnlMainCard, PnlFilterButtons, PnlListHost, PnlTabs: TclProPanel;
 GrpTur, GrpPeriyot, GrpAy, GrpYil: TclProPanel;
 BtnBack, BtnUygula, BtnTemizle, BtnGelismisOpen: TclProButton;
 BtnTabYaklasan, BtnTabBekleyen, BtnTabTamamlanan: TclProButton;
 LblTitle, LblTitleFilter, LblTitleList, LblTur, LblPeriyot, LblAy, LblYil, LblEmpty: TclProLabel;
 CmbTur, CmbPeriyot, CmbAy, CmbYil: TclComboBox;
 ScrollForm: TclVertScrollBox;
 CardPanel: array [0..100] of TclProPanel;
 CardTitle: array [0..100] of TclProLabel;
 CardDetail: array [0..100] of TclProLabel;

 KayitTur, KayitBelgeNo, KayitMakine, KayitTip, KayitPlanlanan: array [0..100] of String;
 KayitDurum, KayitAy, KayitYil, KayitPeriyot: array [0..100] of String;
 KayitOperator, KayitBaslangic, KayitBitisTur: array [0..100] of String;
 KayitKisi, KayitAciklama, KayitNeden: array [0..100] of String;

 KayitCount, TmpIndex, TmpVisibleCount, TmpYear: Integer;
 UiFontSize: Integer;
 ThemeKoyuRenk, ThemeAcikRenk, ThemeBorderColor, ThemeBgColor, ThemeTextColor: String;
 OkunanUyariRengi, OkunanYaziRengi, OkunanKartRengi, OkunanZeminRengi, OkunanFontAdi: String;
 OkunanTemaIndex, OkunanBoyutIndex, OkunanStilIndex, OkunanHizaIndex, GlobalAktifDilIndex: Integer;

 // Gelişmiş Form Bileşenleri
 PnlGelismisCard, GrpOperator: TclProPanel;
 LblOperatorTitle, LblOperator: TclProLabel;
 EdtOperator: TclEdit;
 BtnOperatorRehber, BtnGelismisKapat, BtnGelismisUygula: TclProButton;
 SecilenOperatorFiltresi: String;

 // Rehber Formu Bileşenleri
 PnlRehberCard: TclProPanel;
 LblRehberTitle: TclProLabel;
 EdtRehberArama: TclProEdit;
 LsvBelgeRehber: TClProListView;
 RehberJsonData: TclJsonQuery;
 GlobalLookupType: String;

 PnlDetailOverlay, PnlDetailHeader, PnlDetailButtons: TclProPanel;
 DetailScroll: TclVertScrollBox;
 LblDetailTitle: TclProLabel;
 BtnDetailSave, BtnDetailCancel, BtnTamamlandi, BtnErtele: TclProButton;

 DetPnl: array[0..11] of TclProPanel;
 DetLbl: array[0..11] of TclProLabel;
 DetEdt: array[0..11] of TclEdit;
 DetMemoNeden: TclMemo;
 ActiveEditIndex: Integer;
 gAktifDilIndex: Integer;
 AktifSekme: String;
 IsDBConnected: Boolean;

void ConnectToDatabase;
{
 try
  Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
  IsDBConnected = True;
 except
  IsDBConnected = False;
 }
}

function GetText(Key: String): String;
var TKey: String;
{
 TKey = Trim(Key);
 Result = TKey;
 if (TKey == 'FORM_TITLE') { Result = 'Filtre ve Kayitlar'; }
 else if (TKey == 'SEC_FILTER') { Result = 'FILTRELEME KRITERLERI'; }
 else if (TKey == 'SEC_RESULTS') { Result = 'BAKIM VE ARIZA SONUCLARI'; }
 else if (TKey == 'LBL_TUR') { Result = 'Kayit Turu:'; }
 else if (TKey == 'LBL_PERIYOT') { Result = 'Periyot:'; }
 else if (TKey == 'LBL_AY') { Result = 'Ay:'; }
 else if (TKey == 'LBL_YIL') { Result = 'Yil:'; }
 else if (TKey == 'BTN_APPLY') { Result = 'Filtrele'; }
 else if (TKey == 'BTN_CLEAR') { Result = 'Sifirla'; }
 else if (TKey == 'MSG_EMPTY') { Result = 'Secilen kriterlere uygun kayit bulunamadi.'; }
 else if (TKey == 'ALL') { Result = 'Tumu'; }
 else if (Key == 'ARA_OPERATOR') { Result = 'Operator Ara...'; }
 else if (Key == 'LST_BOS') { Result = 'Listede operator yok'; }
}

function GuvenliRenkAl(HamDeger: String): String;
var Temiz: String;
{
 Temiz = Trim(HamDeger);
 if (Length(Temiz) >= 4)
 {
  if (Length(Temiz) > 7) { Result = Copy(Temiz, 1, 7); }
  else { Result = Temiz; }
 }
 else { Result = ''; }
}

function TemizleMetin(HamMetin: String): String;
var
 i: Integer;
 Karakter: String;
{
 Result = '';
 for (i = 1 to Length(HamMetin))
 {
  Karakter = Copy(HamMetin, i, 1);
  if ((Karakter == #13) || (Karakter == #10) || (Karakter == '|')) { Result = Result + ' '; }
  else { Result = Result + Karakter; }
 }
}

void AyarDosyasindanTemayiYukle(TemaIndex: Integer);
{
 ThemeBorderColor = '#CBD5E1';
 ThemeBgColor = '#EEF0F2';
 ThemeTextColor = '#3A3F47';
 ThemeKoyuRenk = '#1E293B'; ThemeAcikRenk = '#3B82F6';
 FormFiltre.SetFormColor(ThemeKoyuRenk, ThemeAcikRenk, clGVertical);
}

void StyleHeaderBar(APanel: TclProPanel);
{
 APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
 APanel.clProSettings.BorderWidth = 0;
 APanel.clProSettings.IsFill = True;
 APanel.SetclProSettings(APanel.clProSettings);
}

void StyleMainCard(APanel: TclProPanel);
{
 APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
 APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E2E8F0');
 APanel.clProSettings.BorderWidth = 1;
 APanel.clProSettings.IsFill = True;
 APanel.clProSettings.IsRound = True;
 APanel.clProSettings.RoundHeight = 12;
 APanel.clProSettings.RoundWidth = 12;
 APanel.SetclProSettings(APanel.clProSettings);
}

void StyleSectionTitle(ALabel: TclProLabel);
{
 ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
 ALabel.clProSettings.FontSize = UiFontSize + 1;
 ALabel.clProSettings.FontName = OkunanFontAdi;
 ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
 ALabel.SetclProSettings(ALabel.clProSettings);
}

void StyleInputPanel(APanel: TclProPanel);
{
 APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
 APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
 APanel.clProSettings.BorderWidth = 1;
 APanel.clProSettings.IsFill = True;
 APanel.clProSettings.IsRound = True;
 APanel.clProSettings.RoundHeight = 8;
 APanel.clProSettings.RoundWidth = 8;
 APanel.SetclProSettings(APanel.clProSettings);
}

void StyleInputLabel(ALabel: TclProLabel);
{
 ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569');
 ALabel.clProSettings.FontSize = UiFontSize - 1;
 ALabel.clProSettings.FontName = OkunanFontAdi;
 ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
 ALabel.SetclProSettings(ALabel.clProSettings);
}

void StylePrimaryButton(AButton: TclProButton);
{
 AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
 AButton.clProSettings.FontColor = clAlphaColor.clWhite;
 AButton.clProSettings.BorderWidth = 0;
 AButton.clProSettings.IsFill = True;
 AButton.clProSettings.IsRound = True;
 AButton.clProSettings.RoundHeight = 8;
 AButton.clProSettings.RoundWidth = 8;
 AButton.clProSettings.FontSize = UiFontSize;
 AButton.clProSettings.FontName = OkunanFontAdi;
 AButton.clProSettings.TextSettings.Font.Style = [fsBold];
 AButton.SetclProSettings(AButton.clProSettings);
}

void StyleSecondaryButton(AButton: TclProButton);
{
 AButton.clProSettings.BackgroundColor = clAlphaColor.clWhite;
 AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
 AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
 AButton.clProSettings.BorderWidth = 1;
 AButton.clProSettings.IsFill = True;
 AButton.clProSettings.IsRound = True;
 AButton.clProSettings.RoundHeight = 8;
 AButton.clProSettings.RoundWidth = 8;
 AButton.clProSettings.FontSize = UiFontSize;
 AButton.clProSettings.FontName = OkunanFontAdi;
 AButton.clProSettings.TextSettings.Font.Style = [fsBold];
 AButton.SetclProSettings(AButton.clProSettings);
}

void StyleTabButton(AButton: TclProButton; IsActive: Boolean);
{
 if (IsActive)
 {
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A');
  AButton.clProSettings.FontColor = clAlphaColor.clWhite;
 }
 else
 {
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1F5F9');
  AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
 }
 AButton.clProSettings.BorderWidth = 0;
 AButton.clProSettings.IsFill = True;
 AButton.clProSettings.IsRound = True;
 AButton.clProSettings.RoundHeight = 6;
 AButton.clProSettings.RoundWidth = 6;
 AButton.clProSettings.FontSize = UiFontSize - 1;
 AButton.clProSettings.TextSettings.Font.Style = [fsBold];
 AButton.SetclProSettings(AButton.clProSettings);
}

void ApplyUiSettings;
var TmpY: Integer;
{
 LblTitle.Text = GetText('FORM_TITLE');
 LblTitleFilter.Text = GetText('SEC_FILTER');
 LblTitleList.Text = GetText('SEC_RESULTS');
 LblTur.Text = GetText('LBL_TUR');
 LblPeriyot.Text = GetText('LBL_PERIYOT');
 LblAy.Text = GetText('LBL_AY');
 LblYil.Text = GetText('LBL_YIL');
 BtnUygula.Text = GetText('BTN_APPLY');
 BtnTemizle.Text = GetText('BTN_CLEAR');
 LblEmpty.Text = GetText('MSG_EMPTY');

 CmbTur.Items.Clear;
 CmbTur.AddItem(GetText('ALL'), 'Tumu');
 CmbTur.AddItem('Bakim', 'Bakim');
 CmbTur.AddItem('Ariza', 'Ariza');
 CmbTur.ItemIndex = 0;

 CmbPeriyot.Items.Clear;
 CmbPeriyot.AddItem(GetText('ALL'), 'Tumu');
 CmbPeriyot.AddItem('Gunluk', 'Gunluk');
 CmbPeriyot.AddItem('Haftalik', 'Haftalik');
 CmbPeriyot.AddItem('Aylik', 'Aylik');
 CmbPeriyot.ItemIndex = 0;

 CmbAy.Items.Clear;
 CmbAy.AddItem(GetText('ALL'), 'Tumu');
 CmbAy.AddItem('01', '01'); CmbAy.AddItem('02', '02'); CmbAy.AddItem('03', '03');
 CmbAy.AddItem('04', '04'); CmbAy.AddItem('05', '05'); CmbAy.AddItem('06', '06');
 CmbAy.AddItem('07', '07'); CmbAy.AddItem('08', '08'); CmbAy.AddItem('09', '09');
 CmbAy.AddItem('10', '10'); CmbAy.AddItem('11', '11'); CmbAy.AddItem('12', '12');
 CmbAy.ItemIndex = 0;

 CmbYil.Items.Clear;
 CmbYil.AddItem(GetText('ALL'), 'Tumu');
 for (TmpY = 2020 to 2035) { CmbYil.AddItem(IntToStr(TmpY), IntToStr(TmpY)); }
 CmbYil.ItemIndex = 0;

 StyleSectionTitle(LblTitleFilter);
 StyleSectionTitle(LblTitleList);
 StylePrimaryButton(BtnUygula);
 StyleSecondaryButton(BtnTemizle);
}

void VerileriDosyadanYukle;
var
 KayitListesi: TclStringList;
 DosyaYolu, KalanVeri, SatirVerisi, IlkKelime: String;
 i, LPos: Integer;
{
 KayitCount = 0;
 DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
 if (clFileExists(DosyaYolu, ''))
 {
  KayitListesi = Clomosy.StringListNew;
  KayitListesi.LoadFromFile(DosyaYolu, 0);
  
  i = KayitListesi.Count - 1;
  while (i >= 0)
  {
   SatirVerisi = Trim(Clomosy.StringListItemString(KayitListesi, i));
   if (SatirVerisi <> '')
   {
    if (KayitCount < 100)
    {
     KalanVeri = SatirVerisi;
     LPos = Pos('|', KalanVeri);
     if (LPos > 0) { IlkKelime = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
     else { IlkKelime = 'Bakim'; }

     if ((IlkKelime == 'Periyodik') || (IlkKelime == 'Bakim') || (IlkKelime == 'Bakım') || (Pos('Periyodik', IlkKelime) > 0))
     { KayitTur[KayitCount] = 'Bakim'; } else { KayitTur[KayitCount] = IlkKelime; }

     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBelgeNo[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBelgeNo[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitMakine[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitMakine[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitTip[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitTip[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPlanlanan[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPlanlanan[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitDurum[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitDurum[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAy[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAy[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitYil[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitYil[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPeriyot[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPeriyot[KayitCount] = KalanVeri; KalanVeri = ''; }
    
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitOperator[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitOperator[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBaslangic[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBaslangic[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBitisTur[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBitisTur[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitKisi[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitKisi[KayitCount] = KalanVeri; KalanVeri = ''; }
     LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAciklama[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAciklama[KayitCount] = KalanVeri; KalanVeri = ''; }
     KayitNeden[KayitCount] = KalanVeri;

     KayitCount = KayitCount + 1;
    }
   }
   i = i - 1;
  }
  KayitListesi.Free;
 }
}

function KayitUygunMu(AIndex: Integer): Boolean;
var
 STurCombo, SPeriyotCombo, SAyCombo, SYilCombo, SDurumHam: String;
{
 Result = True;

 if (CmbTur.ItemIndex <= 0) { STurCombo = 'Tumu'; } else { STurCombo = CmbTur.GetValueIndex(CmbTur.ItemIndex); }
 if (CmbAy.ItemIndex <= 0) { SAyCombo = 'Tumu'; } else { SAyCombo = CmbAy.GetValueIndex(CmbAy.ItemIndex); }
 if (CmbYil.ItemIndex <= 0) { SYilCombo = 'Tumu'; } else { SYilCombo = CmbYil.GetValueIndex(CmbYil.ItemIndex); }
 if (CmbPeriyot.ItemIndex <= 0) { SPeriyotCombo = 'Tumu'; } else { SPeriyotCombo = CmbPeriyot.GetValueIndex(CmbPeriyot.ItemIndex); }

 SDurumHam = Trim(KayitDurum[AIndex]);

 // SEKME KONTROLU (Türkçe karakter duyarlı - Bekleyenler sekmesinde tamamlananlar KESİNLİKLE görünmeyecek)
 if (AktifSekme == 'BEKLEYEN')
 {
  if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
 }
 else if (AktifSekme == 'TAMAMLANAN')
 {
  if ((Pos('Yapildi', SDurumHam) == 0) && (Pos('Yapıldı', SDurumHam) == 0) && (Pos('Tamamlandi', SDurumHam) == 0) && (Pos('Tamamlandı', SDurumHam) == 0)) { Result = False; }
 }
 else if (AktifSekme == 'YAKLASAN')
 {
  if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
 }

 if (STurCombo <> 'Tumu')
 {
  if (STurCombo <> Trim(KayitTur[AIndex])) { Result = False; }
 }

 if (SAyCombo <> 'Tumu') { if (SAyCombo <> Trim(KayitAy[AIndex])) { Result = False; } }
 if (SYilCombo <> 'Tumu') { if (SYilCombo <> Trim(KayitYil[AIndex])) { Result = False; } }
 if (SPeriyotCombo <> 'Tumu') { if ((SPeriyotCombo <> Trim(KayitPeriyot[AIndex])) && (SPeriyotCombo <> Trim(KayitDurum[AIndex]))) { Result = False; } }

 if ((SecilenOperatorFiltresi <> '') && (SecilenOperatorFiltresi <> 'Tumu'))
 {
  // DEĞİŞİKLİK: Pos (içerme) kontrolü yapıldı
  if (Pos(SecilenOperatorFiltresi, KayitOperator[AIndex]) == 0) { Result = False; } 
 }
}

void RefreshListe;
var
 TarihMetni, KartUyariRenk, OzetMetin: String;
{
 TmpVisibleCount = 0;

 // HATA SEBEBİ 3: Fonksiyon içine inline boolean (AktifSekme == 'BEKLEYEN') 
 // göndermek yerine doğrudan True/False gönderiyoruz.
 if (AktifSekme == 'YAKLASAN') { StyleTabButton(BtnTabYaklasan, True); } else { StyleTabButton(BtnTabYaklasan, False); }
 if (AktifSekme == 'BEKLEYEN') { StyleTabButton(BtnTabBekleyen, True); } else { StyleTabButton(BtnTabBekleyen, False); }
 if (AktifSekme == 'TAMAMLANAN') { StyleTabButton(BtnTabTamamlanan, True); } else { StyleTabButton(BtnTabTamamlanan, False); }

 for (TmpIndex = 0 to KayitCount - 1)
 {
  if (KayitUygunMu(TmpIndex))
  {
   TmpVisibleCount = TmpVisibleCount + 1;
   if (TmpVisibleCount > 100) Break;

   CardPanel[TmpVisibleCount].Visible = True;
   CardPanel[TmpVisibleCount].clTagInt = TmpIndex;
   CardTitle[TmpVisibleCount].clTagInt = TmpIndex;
   CardDetail[TmpVisibleCount].clTagInt = TmpIndex;
  
   CardTitle[TmpVisibleCount].Caption = ' [' + Trim(KayitTur[TmpIndex]) + '] ' + Trim(KayitMakine[TmpIndex]);
   TarihMetni = Trim(KayitPlanlanan[TmpIndex]);
  
   OzetMetin = 'Tarih: ' + TarihMetni + #13#10 + 'Tip: ' + Trim(KayitTip[TmpIndex]) + #13#10 + 'Durum: ' + Trim(KayitDurum[TmpIndex]);
   
   if (Trim(KayitOperator[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Operatör: ' + Trim(KayitOperator[TmpIndex]); }
   if (Trim(KayitBaslangic[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Başlangıç: ' + Trim(KayitBaslangic[TmpIndex]); }
   if (Trim(KayitBitisTur[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Süre/Bitiş: ' + Trim(KayitBitisTur[TmpIndex]); }
   if (Trim(KayitAciklama[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Aciklama: ' + Trim(KayitAciklama[TmpIndex]); }

   CardDetail[TmpVisibleCount].Caption = OzetMetin;
   
   CardPanel[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
   CardDetail[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
   CardDetail[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
   CardDetail[TmpVisibleCount].clProSettings.FontSize = UiFontSize;
  
   CardTitle[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clWhite;
   CardTitle[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
   CardTitle[TmpVisibleCount].clProSettings.FontSize = UiFontSize + 1;

   KartUyariRenk = '#1E293B';
   if ((Pos('Bekliyor', KayitDurum[TmpIndex]) > 0) || (Pos('Yapilmadi', KayitDurum[TmpIndex]) > 0) || (AktifSekme == 'YAKLASAN'))
   { KartUyariRenk = '#EF4444'; }
   if (AktifSekme == 'TAMAMLANAN') { KartUyariRenk = '#10B981'; }

   CardTitle[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clHexToColor(KartUyariRenk);
   CardPanel[TmpVisibleCount].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  
   CardTitle[TmpVisibleCount].SetclProSettings(CardTitle[TmpVisibleCount].clProSettings);
   CardDetail[TmpVisibleCount].SetclProSettings(CardDetail[TmpVisibleCount].clProSettings);
   CardPanel[TmpVisibleCount].SetclProSettings(CardPanel[TmpVisibleCount].clProSettings);
  }
 }

 for (TmpIndex = TmpVisibleCount + 1 to 100)
 {
  // '<> nil' kuralı burada da hataya yol açabilir, zaten 100'e kadar dolu oldukları için direkt gizliyoruz.
  CardPanel[TmpIndex].Visible = False; 
 }

 if (TmpVisibleCount == 0)
 {
  LblEmpty.Visible = True;
  PnlListHost.Height = 40;
  PnlMainCard.Height = 1000;
 }
 else
 {
  LblEmpty.Visible = False;
  PnlListHost.Height = (TmpVisibleCount * 170) + 20; 
  PnlMainCard.Height = 650 + PnlListHost.Height;
 }
}
// ==========================================
// REHBER (SEÇİM LİSTESİ) VE SQL OPERATÖR ENTEGRASYONU
// ==========================================
void OnSearchRehber;
{
 // Güvenlik 1: Veri seti oluşmamışsa listeyi filtrelemeye çalışma
 if (RehberJsonData == nil) { Exit; }
 
 if (EdtRehberArama.Text == '')
 {
  RehberJsonData.Filtered = False;
  RehberJsonData.Filter = '';
 }
 else
 {
  RehberJsonData.Filter = 'clCaption Like ' + Chr(39) + '%' + EdtRehberArama.Text + '%' + Chr(39);
  RehberJsonData.Filtered = True;
 }
}
void OnListItemClick;
var
 SecilenAnaMetin, SecilenAltMetin: String;
{
 // KRİTİK DÜZELTME: clCaption ve clText parametreleri tek tırnak içine alındı!
 // Tırnaksız yazıldığında Null (tanımsız değişken) hatasına sebep olup sistemi çökertir.
 SecilenAnaMetin = LsvBelgeRehber.clSelectedItemData('MyJsonStr');
 SecilenAltMetin = LsvBelgeRehber.clSelectedItemData('Text');


 if (SecilenAnaMetin <> GetText('LST_BOS'))
 {
  if (GlobalLookupType == 'OPERATOR')
  {
   EdtOperator.Text = SecilenAnaMetin;
  }
 }
 
 FormRehber.Close;
}

void OpenRehber;
var
 q: TClSqlQuery;
 MyJsonStr: String;
 CleanMain: String;
 CleanSub: String;
{
 if (IsDBConnected <> True)
 { ConnectToDatabase; }

 if (IsDBConnected <> True)
 {
  ShowMessage('Veritabanı bağlantısı kurulamadı! Lütfen ağ/Wi-Fi bağlantınızı kontrol edin.');
  Exit; 
 }

 FormRehber = TclGameForm.Create(Self);
 FormRehber.LytTopBar.Visible = False;
 FormRehber.BtnGoBack.Visible = False;
 FormRehber.BtnFormMenu.Visible = False;
 FormRehber.SetFormColor('#0F172A', '#334155', clGVertical);

 // KRİTİK ÇÖZÜM BURADA: İsim parametrelerini '' (boş) olarak gönderiyoruz. 
 // Böylece formu kaç kez açarsan aç, hafızada isim çakışması (000003F4 hatası) yaşanmaz!
 LsvBelgeRehber = FormRehber.AddNewProListView(FormRehber, '');
 LsvBelgeRehber.Align = alClient; LsvBelgeRehber.Margins.Top = 65; LsvBelgeRehber.Margins.Left = 15; LsvBelgeRehber.Margins.Right = 15; LsvBelgeRehber.Margins.Bottom = 15;
 LsvBelgeRehber.ListType = 'vertical';
 LsvBelgeRehber.clProSettings.ItemHeight = 65;
 LsvBelgeRehber.clProSettings.ItemSpace = 5;
 LsvBelgeRehber.clProSettings.ColCount = 1;
 LsvBelgeRehber.clProSettings.ViewType = lvIcon;
 LsvBelgeRehber.clProSettings.IsFill = False;
 LsvBelgeRehber.SetclProSettings(LsvBelgeRehber.clProSettings);
 FormRehber.AddNewEvent(LsvBelgeRehber, tbeOnItemClick, 'OnListItemClick');

 // Aynı şekilde Edit kutusunun da isim parametresi '' yapıldı.
 EdtRehberArama = FormRehber.AddNewProEdit(FormRehber, '', GetText('ARA_OPERATOR'));
 EdtRehberArama.Align = alTop; EdtRehberArama.Margins.Top = 15; EdtRehberArama.Margins.Left = 15; EdtRehberArama.Margins.Right = 15; EdtRehberArama.Height = 42;
 EdtRehberArama.clProSettings.FontSize = 14;

 q = TClSqlQuery.Create(nil);
 try
  q.Connection = Clomosy.DBSQLServerConnection;
  if (GlobalLookupType == 'OPERATOR')
  {
   q.SQL.Text = 'SELECT OPERATOR_KODU AS MAIN_TEXT, ISNULL(OPERATOR_ADI, '''') AS SUB_TEXT FROM [TBLURTOPERATORSB] WITH (NOLOCK) WHERE ISNULL(PASIF, 0) = 0 ORDER BY OPERATOR_KODU';
  }
  q.Open;

  MyJsonStr = '[';
  while (not q.Eof)
  {
   if (MyJsonStr <> '[') { MyJsonStr = MyJsonStr + ','; }
   
   CleanMain = q.FieldByName('MAIN_TEXT').AsString;
   CleanMain = clGetStringReplace(CleanMain, '"', '\"');
   CleanMain = clGetStringReplace(CleanMain, Chr(13), '');
   CleanMain = clGetStringReplace(CleanMain, Chr(10), '');

   CleanSub = q.FieldByName('SUB_TEXT').AsString;
   CleanSub = clGetStringReplace(CleanSub, '"', '\"');
   CleanSub = clGetStringReplace(CleanSub, Chr(13), '');
   CleanSub = clGetStringReplace(CleanSub, Chr(10), '');

   MyJsonStr = MyJsonStr + '{"clCaption":"' + CleanMain + '", "clText":"' + CleanSub + '"}';
   q.Next;
  }
 finally
  q.Close; 
  q.Free;
 }

 if (MyJsonStr == '[') { MyJsonStr = '[{"clCaption":"' + GetText('LST_BOS') + '", "clText":""}]'; }
 else { MyJsonStr = MyJsonStr + ']'; }

 RehberJsonData = Clomosy.clDataSetFromJSON(MyJsonStr);
 LsvBelgeRehber.clLoadProListViewDataFromDataset(RehberJsonData);
 
 FormRehber.AddNewEvent(EdtRehberArama, tbeOnChange, 'OnSearchRehber');
 FormRehber.Run;
}
void BtnRehberOperatorClick;
{
 GlobalLookupType = 'OPERATOR';
 OpenRehber;
}

void GelismisFormuKapatClick;
{
 FormGelismis.Close;
}

void GelismisFormuUygulaClick;
{
 SecilenOperatorFiltresi = Trim(EdtOperator.Text);
 if (SecilenOperatorFiltresi == '') { SecilenOperatorFiltresi = 'Tumu'; }

 // DÜZELTME: Önce liste yenilenir, tüm işlemler biter.
 RefreshListe;
 
 // İşlem bittikten sonra form güvenle kapatılır.
 FormGelismis.Close;
}
void OpenGelismisForm;
{
 FormGelismis = TclGameForm.Create(Self);
 FormGelismis.LytTopBar.Visible = False;
 FormGelismis.BtnGoBack.Visible = False;
 FormGelismis.BtnFormMenu.Visible = False;
 FormGelismis.SetFormColor('#1E293B', '#3B82F6', clGVertical);

 PnlGelismisCard = FormGelismis.AddNewProPanel(FormGelismis, 'PnlGelismisCard');
 // DEĞİŞİKLİK: Tam ekran yapıldı
 PnlGelismisCard.Align = alClient; 
 PnlGelismisCard.Margins.Top = 15; PnlGelismisCard.Margins.Bottom = 15; PnlGelismisCard.Margins.Left = 15; PnlGelismisCard.Margins.Right = 15;
 PnlGelismisCard.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
 PnlGelismisCard.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
 PnlGelismisCard.clProSettings.BorderWidth = 1; PnlGelismisCard.clProSettings.IsFill = True;
 PnlGelismisCard.clProSettings.IsRound = True; PnlGelismisCard.clProSettings.RoundHeight = 12; PnlGelismisCard.clProSettings.RoundWidth = 12;
 PnlGelismisCard.SetclProSettings(PnlGelismisCard.clProSettings);

 LblOperatorTitle = FormGelismis.AddNewProLabel(PnlGelismisCard, 'LblOperatorTitle', 'Gelişmiş Operatör Filtresi');
 LblOperatorTitle.Align = alTop; LblOperatorTitle.Height = 35; LblOperatorTitle.Margins.Left = 15; LblOperatorTitle.Margins.Top = 15;
 LblOperatorTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
 LblOperatorTitle.clProSettings.FontSize = 16; LblOperatorTitle.clProSettings.TextSettings.Font.Style = [fsBold];
 LblOperatorTitle.SetclProSettings(LblOperatorTitle.clProSettings);

 GrpOperator = FormGelismis.AddNewProPanel(PnlGelismisCard, 'GrpOperator');
 GrpOperator.Align = alTop; GrpOperator.Height = 58; GrpOperator.Margins.Top = 10; GrpOperator.Margins.Left = 15; GrpOperator.Margins.Right = 15;
 GrpOperator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
 GrpOperator.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); GrpOperator.clProSettings.BorderWidth = 1;
 GrpOperator.clProSettings.IsFill = True; GrpOperator.clProSettings.IsRound = True;
 GrpOperator.clProSettings.RoundHeight = 8; GrpOperator.clProSettings.RoundWidth = 8;
 GrpOperator.SetclProSettings(GrpOperator.clProSettings);

 LblOperator = FormGelismis.AddNewProLabel(GrpOperator, 'LblOperator', 'Operatör Kodu:');
 LblOperator.Align = alTop; LblOperator.Height = 18; LblOperator.Margins.Left = 10; LblOperator.Margins.Top = 6;
 LblOperator.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblOperator.clProSettings.FontSize = 12; LblOperator.SetclProSettings(LblOperator.clProSettings);

 EdtOperator = FormGelismis.AddNewEdit(GrpOperator, 'EdtOperator', '');
 EdtOperator.Align = alClient; EdtOperator.Margins.Left = 10; EdtOperator.Margins.Right = 50; EdtOperator.Margins.Bottom = 7; EdtOperator.Margins.Top = 2;
 EdtOperator.ReadOnly = True;

 BtnOperatorRehber = FormGelismis.AddNewProButton(GrpOperator, 'BtnOperatorRehber', '🔍');
 BtnOperatorRehber.Align = alRight; BtnOperatorRehber.Width = 40; BtnOperatorRehber.Margins.Right = 6; BtnOperatorRehber.Margins.Top = 2; BtnOperatorRehber.Margins.Bottom = 6;
 BtnOperatorRehber.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0');
 BtnOperatorRehber.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
 BtnOperatorRehber.clProSettings.IsFill = True; BtnOperatorRehber.clProSettings.IsRound = True;
 BtnOperatorRehber.clProSettings.RoundHeight = 6; BtnOperatorRehber.clProSettings.RoundWidth = 6;
 BtnOperatorRehber.clProSettings.FontSize = 14;
 BtnOperatorRehber.SetclProSettings(BtnOperatorRehber.clProSettings);
 FormGelismis.AddNewEvent(BtnOperatorRehber, tbeOnClick, 'BtnRehberOperatorClick');

 BtnGelismisUygula = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisUygula', 'Filtreyi Uygula');
 BtnGelismisUygula.Align = alTop; BtnGelismisUygula.Height = 40; BtnGelismisUygula.Margins.Top = 20; BtnGelismisUygula.Margins.Left = 15; BtnGelismisUygula.Margins.Right = 15;
 BtnGelismisUygula.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
 BtnGelismisUygula.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisUygula.clProSettings.IsFill = True;
 BtnGelismisUygula.clProSettings.IsRound = True; BtnGelismisUygula.clProSettings.RoundHeight = 8; BtnGelismisUygula.clProSettings.RoundWidth = 8;
 BtnGelismisUygula.SetclProSettings(BtnGelismisUygula.clProSettings);
 FormGelismis.AddNewEvent(BtnGelismisUygula, tbeOnClick, 'GelismisFormuUygulaClick');

 BtnGelismisKapat = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisKapat', 'Kapat');
 BtnGelismisKapat.Align = alTop; BtnGelismisKapat.Height = 35; BtnGelismisKapat.Margins.Top = 8; BtnGelismisKapat.Margins.Left = 15; BtnGelismisKapat.Margins.Right = 15;
 BtnGelismisKapat.clProSettings.BackgroundColor = clAlphaColor.clWhite;
 BtnGelismisKapat.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
 BtnGelismisKapat.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); BtnGelismisKapat.clProSettings.BorderWidth = 1;
 BtnGelismisKapat.clProSettings.IsFill = True; BtnGelismisKapat.clProSettings.IsRound = True;
 BtnGelismisKapat.clProSettings.RoundHeight = 8; BtnGelismisKapat.clProSettings.RoundWidth = 8;
 BtnGelismisKapat.SetclProSettings(BtnGelismisKapat.clProSettings);
 FormGelismis.AddNewEvent(BtnGelismisKapat, tbeOnClick, 'GelismisFormuKapatClick');

 FormGelismis.Run;
}

void ToggleDetailPanel(Goster: Boolean);
var i: Integer;
{
 PnlDetailOverlay.Visible = Goster;
 
 // HATA SEBEBİ 1: 'not Goster' kullanımı iptal edildi, güvenli if-else yapıldı.
 if (Goster == True) { ScrollForm.Visible = False; }
 else { ScrollForm.Visible = True; }
 
 for (i = 0 to 11)
 {
  if (i == 5) { DetPnl[5].Visible = False; DetPnl[5].Height = 0; }
  else if (i == 10)
  {
   if (Goster == True)
   {
    if (Trim(KayitTur[ActiveEditIndex]) == 'Ariza')
    { DetPnl[10].Visible = True; DetPnl[10].Height = 120; }
    else
    { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
   }
   else
   { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
  }
  else 
  { 
   // HATA SEBEBİ 2: '<> nil' kontrolleri Null Variant hatası fırlattığı için kaldırıldı.
   // Zaten nesneleri 0'dan 11'e kadar eksiksiz ürettiğimiz için nil çıkma ihtimalleri yok.
   DetEdt.Visible = Goster; 
  }
 }
}

void ShowDetailPanel;
var TurMetni: String;
{
 TurMetni = Trim(KayitTur[ActiveEditIndex]);
 if ((TurMetni == 'Bakim') || (TurMetni == 'Bakım') || (Pos('Bakim', TurMetni) > 0) || (Pos('Periyodik', TurMetni) > 0))
 {
  LblDetailTitle.Text = 'Bakim Hareketleri Detayi';
  if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Bakim Kodu:'; }
 }
 else
 {
  LblDetailTitle.Text = 'Ariza Hareketleri Detayi';
  if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Ariza Kodu:'; }
 }

 DetEdt[0].Text = KayitBelgeNo[ActiveEditIndex];
 DetEdt[1].Text = KayitPlanlanan[ActiveEditIndex];
 DetEdt[2].Text = KayitMakine[ActiveEditIndex];
 DetEdt[3].Text = KayitOperator[ActiveEditIndex];
 DetEdt[4].Text = KayitTip[ActiveEditIndex];
 DetEdt[6].Text = KayitBaslangic[ActiveEditIndex];
 DetEdt[7].Text = KayitBitisTur[ActiveEditIndex];
 DetEdt[8].Text = KayitKisi[ActiveEditIndex];
 DetEdt[9].Text = KayitAciklama[ActiveEditIndex];
 DetMemoNeden.Text = KayitNeden[ActiveEditIndex];
 DetEdt[11].Text = KayitDurum[ActiveEditIndex];

 ToggleDetailPanel(True);
}

void OnCardLabelClicked;
var ClickedLabel: TclProLabel;
{
 ClickedLabel = TclProLabel(FormFiltre.clSender);
 ActiveEditIndex = ClickedLabel.clTagInt;
 ShowDetailPanel;
}

void OnCardPanelClicked;
var ClickedPanel: TclProPanel;
{
 ClickedPanel = TclProPanel(FormFiltre.clSender);
 ActiveEditIndex = ClickedPanel.clTagInt;
 ShowDetailPanel;
}

void TabClick;
var ClickedBtn: TclProButton;
{
 ClickedBtn = TclProButton(FormFiltre.clSender);
 if (ClickedBtn.clTagInt == 1) { AktifSekme = 'YAKLASAN'; }
 else if (ClickedBtn.clTagInt == 2) { AktifSekme = 'BEKLEYEN'; }
 else if (ClickedBtn.clTagInt == 3) { AktifSekme = 'TAMAMLANAN'; }
 RefreshListe;
}
void SaveEditClick;
var
 DosyaYolu, Satir: String;
 YeniListe: TclStringList;
 i: Integer;
{
 KayitBelgeNo[ActiveEditIndex] = TemizleMetin(DetEdt[0].Text);
 KayitPlanlanan[ActiveEditIndex] = TemizleMetin(DetEdt[1].Text);
 KayitMakine[ActiveEditIndex] = TemizleMetin(DetEdt[2].Text);
 KayitOperator[ActiveEditIndex] = TemizleMetin(DetEdt[3].Text);
 KayitTip[ActiveEditIndex] = TemizleMetin(DetEdt[4].Text);
 KayitBaslangic[ActiveEditIndex] = TemizleMetin(DetEdt[6].Text);
 KayitBitisTur[ActiveEditIndex] = TemizleMetin(DetEdt[7].Text);
 KayitKisi[ActiveEditIndex] = TemizleMetin(DetEdt[8].Text);
 KayitAciklama[ActiveEditIndex] = TemizleMetin(DetEdt[9].Text);
 KayitNeden[ActiveEditIndex] = TemizleMetin(DetMemoNeden.Text);
 KayitDurum[ActiveEditIndex] = TemizleMetin(DetEdt[11].Text);

 YeniListe = Clomosy.StringListNew;
 i = KayitCount - 1;
 while (i >= 0)
 {
  // BÜTÜN DİZİLERE İNDEKSİ EKLENDİ
  Satir = KayitTur + '|' + KayitBelgeNo + '|' + KayitMakine + '|' + KayitTip + '|' +
      KayitPlanlanan + '|' + KayitDurum + '|' + KayitAy + '|' + KayitYil + '|' + KayitPeriyot + '|' +
      KayitOperator + '|KALDIRILDI|' + KayitBaslangic + '|' + KayitBitisTur + '|' +
      KayitKisi + '|' + KayitAciklama + '|' + KayitNeden;
      
  YeniListe.Add(Satir);
  i = i - 1;
 }
 DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
 YeniListe.SaveToFile(DosyaYolu, 0);
 YeniListe.Free;

 ToggleDetailPanel(False);
 RefreshListe;
}

void MarkAsCompletedClick;
{
 DetEdt[11].Text = 'Tamamlandi';
 SaveEditClick;
}

void PostponeClick;
{
 DetEdt[11].Text = '10 Gun Ertelendi';
 SaveEditClick;
}

void CancelEditClick;
{
 ToggleDetailPanel(False);
}

void ApplyFilter;
{
 RefreshListe;
}

void ClearFilter;
{
 CmbTur.ItemIndex = 0;
 CmbAy.ItemIndex = 0;
 CmbYil.ItemIndex = 0;
 CmbPeriyot.ItemIndex = 0;
 
 // EdtOperator.Text = ''; // BU SATIRI SİLİYORUZ (Hatanın sebebi burası)
 SecilenOperatorFiltresi = 'Tumu';
 RefreshListe;
}
void GoBack;
{
 FormFiltre.Close;
}

void AyarlariYenile;
var
 YuklenenAyarlar: TclStringList;
 OkunanDosyaYolu, TmpDeger: String;
{
 VerileriDosyadanYukle;
 OkunanDosyaYolu = clPathCombine('UygulamaAyarlari_V3.txt', Clomosy.AppFilesPath);
 if (clFileExists(OkunanDosyaYolu, ''))
 {
  YuklenenAyarlar = Clomosy.StringListNew;
  YuklenenAyarlar.LoadFromFile(OkunanDosyaYolu, 0);
  if (YuklenenAyarlar.Count > 0) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 0)); if (TmpDeger <> '') { OkunanTemaIndex = StrToInt(TmpDeger); } }
  if (YuklenenAyarlar.Count > 1) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 1)); if (TmpDeger <> '') { OkunanBoyutIndex = StrToInt(TmpDeger); } }
  if (YuklenenAyarlar.Count > 2) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 2)); if (TmpDeger <> '') { gAktifDilIndex = StrToInt(TmpDeger); } }
  if (YuklenenAyarlar.Count > 5) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 5)); if (TmpDeger <> '') { OkunanFontAdi = TmpDeger; } }
  if (OkunanBoyutIndex == 0) { UiFontSize = 12; }
  else if (OkunanBoyutIndex == 2) { UiFontSize = 16; }
  else { UiFontSize = 14; }
  YuklenenAyarlar.Free;
 }

 AyarDosyasindanTemayiYukle(OkunanTemaIndex);
 ApplyUiSettings;
 RefreshListe;
}

{
 FormFiltre = TclGameForm.Create(Self);
 FormFiltre.LytTopBar.Visible = False;
 FormFiltre.BtnGoBack.Visible = False;
 FormFiltre.BtnFormMenu.Visible = False;

 OkunanTemaIndex = 0; UiFontSize = 13;
 OkunanUyariRengi = '#EF4444'; OkunanYaziRengi = '#1E293B';
 OkunanKartRengi = '#FFFFFF'; OkunanZeminRengi = '#F8FAFC';
 OkunanFontAdi = 'Arial'; OkunanStilIndex = 0; OkunanHizaIndex = 1; GlobalAktifDilIndex = 0;
 AktifSekme = 'BEKLEYEN';
 SecilenOperatorFiltresi = 'Tumu';

 AyarDosyasindanTemayiYukle(OkunanTemaIndex);

 PnlNavBar = FormFiltre.AddNewProPanel(FormFiltre, 'PnlNavBar');
 PnlNavBar.Align = alTop; PnlNavBar.Height = 75; StyleHeaderBar(PnlNavBar);

 BtnBack = FormFiltre.AddNewProButton(PnlNavBar, 'BtnBack', '<');
 BtnBack.Align = alLeft; BtnBack.Width = 45; BtnBack.Margins.Top = 20; BtnBack.Margins.Left = 5;
 BtnBack.clProSettings.FontColor = clAlphaColor.clWhite; BtnBack.clProSettings.BorderWidth = 0; BtnBack.clProSettings.IsFill = False;
 BtnBack.clProSettings.FontSize = 20; BtnBack.clProSettings.TextSettings.Font.Style = [fsBold];
 BtnBack.SetclProSettings(BtnBack.clProSettings); FormFiltre.AddNewEvent(BtnBack, tbeOnClick, 'GoBack');

 LblTitle = FormFiltre.AddNewProLabel(PnlNavBar, 'LblTitle', ''); LblTitle.Align = alClient; LblTitle.Margins.Left = 8; LblTitle.Margins.Top = 20;
 LblTitle.clProSettings.FontColor = clAlphaColor.clWhite; LblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
 LblTitle.clProSettings.FontVertAlign = palcenter; LblTitle.SetclProSettings(LblTitle.clProSettings);

 // ÜST MENÜDE YER ALAN GELİŞMİŞ FORM BUTONU
 BtnGelismisOpen = FormFiltre.AddNewProButton(PnlNavBar, 'BtnGelismisOpen', 'Gelişmiş Form');
 BtnGelismisOpen.Align = alRight; BtnGelismisOpen.Width = 110; BtnGelismisOpen.Margins.Top = 18; BtnGelismisOpen.Margins.Bottom = 18; BtnGelismisOpen.Margins.Right = 10;
 BtnGelismisOpen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
 BtnGelismisOpen.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisOpen.clProSettings.IsFill = True;
 BtnGelismisOpen.clProSettings.IsRound = True; BtnGelismisOpen.clProSettings.RoundHeight = 6; BtnGelismisOpen.clProSettings.RoundWidth = 6;
 BtnGelismisOpen.clProSettings.FontSize = 12; BtnGelismisOpen.clProSettings.TextSettings.Font.Style = [fsBold];
 BtnGelismisOpen.SetclProSettings(BtnGelismisOpen.clProSettings);
 FormFiltre.AddNewEvent(BtnGelismisOpen, tbeOnClick, 'OpenGelismisForm');

 ScrollForm = FormFiltre.AddNewVertScrollBox(FormFiltre, 'ScrollForm'); ScrollForm.Align = alClient;

 PnlMainCard = FormFiltre.AddNewProPanel(ScrollForm, 'PnlMainCard'); PnlMainCard.Align = alTop; PnlMainCard.Height = 1050; PnlMainCard.Margins.Top = 12; PnlMainCard.Margins.Left = 10; PnlMainCard.Margins.Right = 10; PnlMainCard.Margins.Bottom = 15;
 StyleMainCard(PnlMainCard);

 LblTitleFilter = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleFilter', ''); LblTitleFilter.Align = alTop; LblTitleFilter.Height = 28; LblTitleFilter.Margins.Left = 12; LblTitleFilter.Margins.Top = 15; StyleSectionTitle(LblTitleFilter);

 GrpTur = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpTur'); GrpTur.Align = alTop; GrpTur.Height = 54; GrpTur.Margins.Top = 8; GrpTur.Margins.Left = 12; GrpTur.Margins.Right = 12; StyleInputPanel(GrpTur);
 LblTur = FormFiltre.AddNewProLabel(GrpTur, 'LblTur', ''); LblTur.Align = alTop; LblTur.Height = 16; LblTur.Margins.Left = 10; LblTur.Margins.Top = 5; StyleInputLabel(LblTur);
 CmbTur = FormFiltre.AddNewComboBox(GrpTur, 'CmbTur'); CmbTur.Align = alClient; CmbTur.Margins.Left = 10; CmbTur.Margins.Right = 10; CmbTur.Margins.Bottom = 6;

 GrpPeriyot = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpPeriyot'); GrpPeriyot.Align = alTop; GrpPeriyot.Height = 54; GrpPeriyot.Margins.Top = 6; GrpPeriyot.Margins.Left = 12; GrpPeriyot.Margins.Right = 12; StyleInputPanel(GrpPeriyot);
 LblPeriyot = FormFiltre.AddNewProLabel(GrpPeriyot, 'LblPeriyot', ''); LblPeriyot.Align = alTop; LblPeriyot.Height = 16; LblPeriyot.Margins.Left = 10; LblPeriyot.Margins.Top = 5; StyleInputLabel(LblPeriyot);
 CmbPeriyot = FormFiltre.AddNewComboBox(GrpPeriyot, 'CmbPeriyot'); CmbPeriyot.Align = alClient; CmbPeriyot.Margins.Left = 10; CmbPeriyot.Margins.Right = 10; CmbPeriyot.Margins.Bottom = 6;

 GrpAy = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpAy'); GrpAy.Align = alTop; GrpAy.Height = 54; GrpAy.Margins.Top = 6; GrpAy.Margins.Left = 12; GrpAy.Margins.Right = 12; StyleInputPanel(GrpAy);
 LblAy = FormFiltre.AddNewProLabel(GrpAy, 'LblAy', ''); LblAy.Align = alTop; LblAy.Height = 16; LblAy.Margins.Left = 10; LblAy.Margins.Top = 5; StyleInputLabel(LblAy);
 CmbAy = FormFiltre.AddNewComboBox(GrpAy, 'CmbAy'); CmbAy.Align = alClient; CmbAy.Margins.Left = 10; CmbAy.Margins.Right = 10; CmbAy.Margins.Bottom = 6;

 GrpYil = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpYil'); GrpYil.Align = alTop; GrpYil.Height = 54; GrpYil.Margins.Top = 6; GrpYil.Margins.Left = 12; GrpYil.Margins.Right = 12; StyleInputPanel(GrpYil);
 LblYil = FormFiltre.AddNewProLabel(GrpYil, 'LblYil', ''); LblYil.Align = alTop; LblYil.Height = 16; LblYil.Margins.Left = 10; LblYil.Margins.Top = 5; StyleInputLabel(LblYil);
 CmbYil = FormFiltre.AddNewComboBox(GrpYil, 'CmbYil'); CmbYil.Align = alClient; CmbYil.Margins.Left = 10; CmbYil.Margins.Right = 10; CmbYil.Margins.Bottom = 6;

 PnlFilterButtons = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlFilterButtons'); PnlFilterButtons.Align = alTop; PnlFilterButtons.Height = 46; PnlFilterButtons.Margins.Top = 14; PnlFilterButtons.Margins.Left = 12; PnlFilterButtons.Margins.Right = 12; PnlFilterButtons.clProSettings.BorderWidth = 0; PnlFilterButtons.SetclProSettings(PnlFilterButtons.clProSettings);
 BtnUygula = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnUygula', ''); BtnUygula.Align = alLeft; BtnUygula.Width = 100; BtnUygula.Margins.Right = 10; StylePrimaryButton(BtnUygula); FormFiltre.AddNewEvent(BtnUygula, tbeOnClick, 'ApplyFilter');
 BtnTemizle = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnTemizle', ''); BtnTemizle.Align = alLeft; BtnTemizle.Width = 90; StyleSecondaryButton(BtnTemizle); FormFiltre.AddNewEvent(BtnTemizle, tbeOnClick, 'ClearFilter');

 LblTitleList = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleList', ''); LblTitleList.Align = alTop; LblTitleList.Height = 28; LblTitleList.Margins.Left = 12; LblTitleList.Margins.Top = 18; StyleSectionTitle(LblTitleList);

 PnlTabs = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlTabs'); PnlTabs.Align = alTop; PnlTabs.Height = 42; PnlTabs.Margins.Left = 12; PnlTabs.Margins.Right = 12; PnlTabs.Margins.Top = 4; PnlTabs.clProSettings.BorderWidth = 0; PnlTabs.SetclProSettings(PnlTabs.clProSettings);

 BtnTabYaklasan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabYaklasan', 'Yaklasan (5 Gun)'); BtnTabYaklasan.Align = alLeft; BtnTabYaklasan.Width = 115; BtnTabYaklasan.Margins.Right = 6; BtnTabYaklasan.clTagInt = 1; FormFiltre.AddNewEvent(BtnTabYaklasan, tbeOnClick, 'TabClick');
 BtnTabBekleyen = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabBekleyen', 'Bekleyenler'); BtnTabBekleyen.Align = alLeft; BtnTabBekleyen.Width = 105; BtnTabBekleyen.Margins.Right = 6; BtnTabBekleyen.clTagInt = 2; FormFiltre.AddNewEvent(BtnTabBekleyen, tbeOnClick, 'TabClick');
 BtnTabTamamlanan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabTamamlanan', 'Tamamlananlar'); BtnTabTamamlanan.Align = alLeft; BtnTabTamamlanan.Width = 115; BtnTabTamamlanan.clTagInt = 3; FormFiltre.AddNewEvent(BtnTabTamamlanan, tbeOnClick, 'TabClick');

 LblEmpty = FormFiltre.AddNewProLabel(PnlMainCard, 'LblEmpty', ''); LblEmpty.Align = alTop; LblEmpty.Height = 28; LblEmpty.Margins.Left = 15; LblEmpty.Margins.Top = 10; LblEmpty.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblEmpty.SetclProSettings(LblEmpty.clProSettings);

 PnlListHost = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlListHost'); PnlListHost.Align = alTop; PnlListHost.clProSettings.BorderWidth = 0; PnlListHost.SetclProSettings(PnlListHost.clProSettings);

 for (TmpIndex = 1 to 100)
 {
  CardPanel[TmpIndex] = FormFiltre.AddNewProPanel(PnlListHost, 'CardPanel' + IntToStr(TmpIndex));
  // DEĞİŞİKLİK: Yükseklik 140'tan 170'e çıkarıldı
  CardPanel[TmpIndex].Align = alTop; CardPanel[TmpIndex].Margins.Top = 10; CardPanel[TmpIndex].Margins.Left = 12; CardPanel[TmpIndex].Margins.Right = 12; CardPanel[TmpIndex].Height = 170;
  CardPanel[TmpIndex].clProSettings.BorderWidth = 1; CardPanel[TmpIndex].clProSettings.IsFill = True; CardPanel[TmpIndex].clProSettings.IsRound = True; CardPanel[TmpIndex].clProSettings.RoundHeight = 8; CardPanel[TmpIndex].clProSettings.RoundWidth = 8; CardPanel[TmpIndex].SetclProSettings(CardPanel[TmpIndex].clProSettings);
  FormFiltre.AddNewEvent(CardPanel[TmpIndex], tbeOnClick, 'OnCardPanelClicked');

  CardTitle[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardTitle' + IntToStr(TmpIndex), '');
  CardTitle[TmpIndex].Align = alTop; CardTitle[TmpIndex].Height = 32;
  CardTitle[TmpIndex].clProSettings.FontColor = clAlphaColor.clWhite; CardTitle[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; CardTitle[TmpIndex].clProSettings.IsFill = True; CardTitle[TmpIndex].clProSettings.IsRound = True; CardTitle[TmpIndex].clProSettings.RoundHeight = 8; CardTitle[TmpIndex].clProSettings.RoundWidth = 8; CardTitle[TmpIndex].SetclProSettings(CardTitle[TmpIndex].clProSettings);
  FormFiltre.AddNewEvent(CardTitle[TmpIndex], tbeOnClick, 'OnCardLabelClicked');

  CardDetail[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardDetail' + IntToStr(TmpIndex), '');
  CardDetail[TmpIndex].Align = alClient; CardDetail[TmpIndex].Margins.Left = 10; CardDetail[TmpIndex].Margins.Right = 10; CardDetail[TmpIndex].Margins.Top = 6; CardDetail[TmpIndex].Margins.Bottom = 6; CardDetail[TmpIndex].clProSettings.WordWrap = True; CardDetail[TmpIndex].SetclProSettings(CardDetail[TmpIndex].clProSettings);
  FormFiltre.AddNewEvent(CardDetail[TmpIndex], tbeOnClick, 'OnCardLabelClicked');
 }

 PnlDetailOverlay = FormFiltre.AddNewProPanel(FormFiltre, 'PnlDetailOverlay');
 PnlDetailOverlay.Align = alClient; PnlDetailOverlay.clProSettings.BackgroundColor = clAlphaColor.clWhite; PnlDetailOverlay.clProSettings.IsFill = True; PnlDetailOverlay.SetclProSettings(PnlDetailOverlay.clProSettings);

 PnlDetailHeader = FormFiltre.AddNewProPanel(PnlDetailOverlay, 'PnlDetailHeader');
 PnlDetailHeader.Align = alTop; PnlDetailHeader.Height = 50;
 PnlDetailHeader.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
 PnlDetailHeader.clProSettings.IsFill = True;
 PnlDetailHeader.SetclProSettings(PnlDetailHeader.clProSettings);

 LblDetailTitle = FormFiltre.AddNewProLabel(PnlDetailHeader, 'LblDetailTitle', 'Hareket Detayi');
 LblDetailTitle.Align = alClient; LblDetailTitle.Margins.Left = 15;
 LblDetailTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
 LblDetailTitle.clProSettings.FontSize = 16;
 LblDetailTitle.clProSettings.TextSettings.Font.Style = [fsBold];
 LblDetailTitle.SetclProSettings(LblDetailTitle.clProSettings);

 DetailScroll = FormFiltre.AddNewVertScrollBox(PnlDetailOverlay, 'DetailScroll');
 DetailScroll.Align = alClient; DetailScroll.Margins.Left = 12; DetailScroll.Margins.Right = 12;

 for (TmpIndex = 0 to 11)
 {
  DetPnl[TmpIndex] = FormFiltre.AddNewProPanel(DetailScroll, 'DetPnl'+IntToStr(TmpIndex));
  DetPnl[TmpIndex].Align = alTop; DetPnl[TmpIndex].Margins.Top = 10;
  DetPnl[TmpIndex].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); DetPnl[TmpIndex].clProSettings.BorderWidth = 1;
  DetPnl[TmpIndex].clProSettings.IsRound = True; DetPnl[TmpIndex].clProSettings.RoundHeight = 8; DetPnl[TmpIndex].clProSettings.RoundWidth = 8;
  DetPnl[TmpIndex].clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  DetPnl[TmpIndex].SetclProSettings(DetPnl[TmpIndex].clProSettings);

  DetLbl[TmpIndex] = FormFiltre.AddNewProLabel(DetPnl[TmpIndex], 'DetLbl'+IntToStr(TmpIndex), '');
  DetLbl[TmpIndex].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B'); DetLbl[TmpIndex].clProSettings.FontSize = 12; DetLbl[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; DetLbl[TmpIndex].SetclProSettings(DetLbl[TmpIndex].clProSettings);

  if (TmpIndex == 10)
  {
   DetPnl[TmpIndex].Height = 120;
   DetLbl[TmpIndex].Align = alTop; DetLbl[TmpIndex].Height = 25; DetLbl[TmpIndex].Margins.Left = 10; DetLbl[TmpIndex].Margins.Top = 5;
   DetMemoNeden = FormFiltre.AddNewMemo(DetPnl[TmpIndex], 'DetMemoNeden', '');
   DetMemoNeden.Align = alClient; DetMemoNeden.Margins.Left = 10; DetMemoNeden.Margins.Right = 10; DetMemoNeden.Margins.Bottom = 10;
  }
  else
  {
   DetPnl[TmpIndex].Height = 50;
   DetLbl[TmpIndex].Align = alLeft; DetLbl[TmpIndex].Width = 140; DetLbl[TmpIndex].Margins.Left = 10;
  
   DetEdt[TmpIndex] = FormFiltre.AddNewEdit(DetPnl[TmpIndex], 'DetEdt'+IntToStr(TmpIndex), '');
   DetEdt[TmpIndex].Align = alClient;
   DetEdt[TmpIndex].Margins.Left = 5;
   DetEdt[TmpIndex].Margins.Right = 10;
   DetEdt[TmpIndex].Margins.Top = 5;
   DetEdt[TmpIndex].Margins.Bottom = 5;
  }
 }

 PnlDetailButtons = FormFiltre.AddNewProPanel(DetailScroll, 'PnlDetailButtons');
 PnlDetailButtons.Align = alTop; PnlDetailButtons.Height = 65; PnlDetailButtons.Margins.Top = 15; PnlDetailButtons.Margins.Bottom = 20; PnlDetailButtons.clProSettings.BorderWidth = 0; PnlDetailButtons.SetclProSettings(PnlDetailButtons.clProSettings);

 BtnDetailSave = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailSave', 'Kaydet');
 BtnDetailSave.Align = alLeft; BtnDetailSave.Width = 85; StylePrimaryButton(BtnDetailSave); FormFiltre.AddNewEvent(BtnDetailSave, tbeOnClick, 'SaveEditClick');

 BtnTamamlandi = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnTamamlandi', 'Tamamlandi');
 BtnTamamlandi.Align = alLeft; BtnTamamlandi.Width = 105; BtnTamamlandi.Margins.Left = 6; StylePrimaryButton(BtnTamamlandi); FormFiltre.AddNewEvent(BtnTamamlandi, tbeOnClick, 'MarkAsCompletedClick');

 BtnErtele = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnErtele', '10 G. Ertele');
 BtnErtele.Align = alLeft; BtnErtele.Width = 95; BtnErtele.Margins.Left = 6; StyleSecondaryButton(BtnErtele); FormFiltre.AddNewEvent(BtnErtele, tbeOnClick, 'PostponeClick');

 BtnDetailCancel = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailCancel', 'Kapat');
 BtnDetailCancel.Align = alRight; BtnDetailCancel.Width = 85; StyleSecondaryButton(BtnDetailCancel); FormFiltre.AddNewEvent(BtnDetailCancel, tbeOnClick, 'CancelEditClick');

 ToggleDetailPanel(False);

 FormFiltre.AddNewEvent(FormFiltre, tbeOnFormActivate, 'AyarlariYenile');
 AyarlariYenile;
 FormFiltre.Run;
}  kodum da olan operatör kısmına basıldığı zaman ---------------------------
Error
---------------------------
Access violation at address 010238D4 in module 'ClomosyLearn.exe' (offset 8538D4). Read of address 000003F4.
---------------------------
Tamam   
---------------------------
  bu hatayı alıyorum  hata vere kısmı değiştirdiğim de ya runtime hatası yada bu hatayı alıyorum
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" 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: 1009
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ı: 12 Saat 25 Dakika Önce Saat 10:37
ilgili prosedürleri bu şekil de güncleller misin



void OnSearchRehber;
var RehberHazir: Boolean;
{
  RehberHazir = False;
  try
    if (RehberJsonData.RecordCount >= 0) { RehberHazir = True; }
  except
    RehberHazir = False;
  }

  if (RehberHazir == False) { Exit; }

  if (EdtRehberArama.Text == '')
  {
    RehberJsonData.Filtered = False;
    RehberJsonData.Filter = '';
  }
  else
  {
    RehberJsonData.Filter = 'clCaption Like ' + Chr(39) + '%' + EdtRehberArama.Text + '%' + Chr(39);
    RehberJsonData.Filtered = True;
  }
}

void OpenRehber;
var
  q: TClSqlQuery;
  MyJsonStr: String;
  CleanMain: String;
  CleanSub: String;
{
  if (IsDBConnected <> True)
  { ConnectToDatabase; }

  if (IsDBConnected <> True)
  {
    ShowMessage('Veritabani baglantisi kurulamadi!');
    Exit;
  }

  MyJsonStr = '[';

  FormRehber = TclGameForm.Create(Self);
  FormRehber.LytTopBar.Visible = False;
  FormRehber.BtnGoBack.Visible = False;
  FormRehber.BtnFormMenu.Visible = False;
  FormRehber.SetFormColor('#0F172A', '#334155', clGVertical);

  LsvBelgeRehber = FormRehber.AddNewProListView(FormRehber, '');
  LsvBelgeRehber.Align = alClient;
  LsvBelgeRehber.Margins.Top = 65;
  LsvBelgeRehber.Margins.Left = 15;
  LsvBelgeRehber.Margins.Right = 15;
  LsvBelgeRehber.Margins.Bottom = 15;
  LsvBelgeRehber.ListType = 'vertical';
  LsvBelgeRehber.clProSettings.ItemHeight = 65;
  LsvBelgeRehber.clProSettings.ItemSpace = 5;
  LsvBelgeRehber.clProSettings.ColCount = 1;
  LsvBelgeRehber.clProSettings.ViewType = lvIcon;
  LsvBelgeRehber.clProSettings.IsFill = False;
  LsvBelgeRehber.SetclProSettings(LsvBelgeRehber.clProSettings);
  FormRehber.AddNewEvent(LsvBelgeRehber, tbeOnItemClick, 'OnListItemClick');

  EdtRehberArama = FormRehber.AddNewProEdit(FormRehber, '', GetText('ARA_OPERATOR'));
  EdtRehberArama.Align = alTop;
  EdtRehberArama.Margins.Top = 15;
  EdtRehberArama.Margins.Left = 15;
  EdtRehberArama.Margins.Right = 15;
  EdtRehberArama.Height = 42;
  EdtRehberArama.clProSettings.FontSize = 14;

  q = TClSqlQuery.Create(nil);
  try
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      if (GlobalLookupType == 'OPERATOR')
      {
        q.SQL.Text = 'SELECT OPERATOR_KODU AS MAIN_TEXT, ISNULL(OPERATOR_ADI, '''') AS SUB_TEXT FROM [TBLURTOPERATORSB] WITH (NOLOCK) WHERE ISNULL(PASIF, 0) = 0 ORDER BY OPERATOR_KODU';
      }
      q.Open;

      while (not q.Eof)
      {
        if (MyJsonStr <> '[') { MyJsonStr = MyJsonStr + ','; }

        CleanMain = q.FieldByName('MAIN_TEXT').AsString;
        CleanMain = clGetStringReplace(CleanMain, '"', '');
        CleanMain = clGetStringReplace(CleanMain, Chr(13), '');
        CleanMain = clGetStringReplace(CleanMain, Chr(10), '');

        CleanSub = q.FieldByName('SUB_TEXT').AsString;
        CleanSub = clGetStringReplace(CleanSub, '"', '');
        CleanSub = clGetStringReplace(CleanSub, Chr(13), '');
        CleanSub = clGetStringReplace(CleanSub, Chr(10), '');

        MyJsonStr = MyJsonStr + '{"clCaption":"' + CleanMain + '", "clText":"' + CleanSub + '"}';
        q.Next;
      }
    except
      ShowMessage('Sorgu hatasi: ' + LastExceptionMessage);
    }
  finally
    q.Close;
    q.Free;
  }

  if (MyJsonStr == '[') { MyJsonStr = '[{"clCaption":"' + GetText('LST_BOS') + '", "clText":""}]'; }
  else { MyJsonStr = MyJsonStr + ']'; }

  RehberJsonData = Clomosy.clDataSetFromJSON(MyJsonStr);
  LsvBelgeRehber.clLoadProListViewDataFromDataset(RehberJsonData);

  FormRehber.AddNewEvent(EdtRehberArama, tbeOnChange, 'OnSearchRehber');
  FormRehber.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" crossorigin="anonymous">
Yukarı Dön
kayra22 Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye


Kayıt Tarihi: 20 Temmuz 2026
Durum: Aktif Değil
Puanlar: 46
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kayra22 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12 Saat 17 Dakika Önce Saat 10:45
var
FormFiltre, FormGelismis, FormRehber: TclGameForm;
PnlNavBar, PnlMainCard, PnlFilterButtons, PnlListHost, PnlTabs: TclProPanel;
GrpTur, GrpPeriyot, GrpAy, GrpYil: TclProPanel;
BtnBack, BtnUygula, BtnTemizle, BtnGelismisOpen: TclProButton;
BtnTabYaklasan, BtnTabBekleyen, BtnTabTamamlanan: TclProButton;
LblTitle, LblTitleFilter, LblTitleList, LblTur, LblPeriyot, LblAy, LblYil, LblEmpty: TclProLabel;
CmbTur, CmbPeriyot, CmbAy, CmbYil: TclComboBox;
ScrollForm: TclVertScrollBox;
CardPanel: array [0..100] of TclProPanel;
CardTitle: array [0..100] of TclProLabel;
CardDetail: array [0..100] of TclProLabel;

KayitTur, KayitBelgeNo, KayitMakine, KayitTip, KayitPlanlanan: array [0..100] of String;
KayitDurum, KayitAy, KayitYil, KayitPeriyot: array [0..100] of String;
KayitOperator, KayitBaslangic, KayitBitisTur: array [0..100] of String;
KayitKisi, KayitAciklama, KayitNeden: array [0..100] of String;

KayitCount, TmpIndex, TmpVisibleCount, TmpYear: Integer;
UiFontSize: Integer;
ThemeKoyuRenk, ThemeAcikRenk, ThemeBorderColor, ThemeBgColor, ThemeTextColor: String;
OkunanUyariRengi, OkunanYaziRengi, OkunanKartRengi, OkunanZeminRengi, OkunanFontAdi: String;
OkunanTemaIndex, OkunanBoyutIndex, OkunanStilIndex, OkunanHizaIndex, GlobalAktifDilIndex: Integer;

// Gelişmiş Form Bileşenleri
PnlGelismisCard, GrpOperator: TclProPanel;
LblOperatorTitle, LblOperator: TclProLabel;
EdtOperator: TclEdit;
BtnOperatorRehber, BtnGelismisKapat, BtnGelismisUygula: TclProButton;
SecilenOperatorFiltresi: String;

// Rehber Formu Bileşenleri
PnlRehberCard: TclProPanel;
LblRehberTitle: TclProLabel;
EdtRehberArama: TclProEdit;
LsvBelgeRehber: TClProListView;
RehberJsonData: TclJsonQuery;
GlobalLookupType: String;

PnlDetailOverlay, PnlDetailHeader, PnlDetailButtons: TclProPanel;
DetailScroll: TclVertScrollBox;
LblDetailTitle: TclProLabel;
BtnDetailSave, BtnDetailCancel, BtnTamamlandi, BtnErtele: TclProButton;

DetPnl: array[0..11] of TclProPanel;
DetLbl: array[0..11] of TclProLabel;
DetEdt: array[0..11] of TclEdit;
DetMemoNeden: TclMemo;
ActiveEditIndex: Integer;
gAktifDilIndex: Integer;
AktifSekme: String;
IsDBConnected: Boolean;

void ConnectToDatabase;
{
try
 Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
 IsDBConnected = True;
except
 IsDBConnected = False;
}
}

function GetText(Key: String): String;
var TKey: String;
{
TKey = Trim(Key);
Result = TKey;
if (TKey == 'FORM_TITLE') { Result = 'Filtre ve Kayitlar'; }
else if (TKey == 'SEC_FILTER') { Result = 'FILTRELEME KRITERLERI'; }
else if (TKey == 'SEC_RESULTS') { Result = 'BAKIM VE ARIZA SONUCLARI'; }
else if (TKey == 'LBL_TUR') { Result = 'Kayit Turu:'; }
else if (TKey == 'LBL_PERIYOT') { Result = 'Periyot:'; }
else if (TKey == 'LBL_AY') { Result = 'Ay:'; }
else if (TKey == 'LBL_YIL') { Result = 'Yil:'; }
else if (TKey == 'BTN_APPLY') { Result = 'Filtrele'; }
else if (TKey == 'BTN_CLEAR') { Result = 'Sifirla'; }
else if (TKey == 'MSG_EMPTY') { Result = 'Secilen kriterlere uygun kayit bulunamadi.'; }
else if (TKey == 'ALL') { Result = 'Tumu'; }
else if (Key == 'ARA_OPERATOR') { Result = 'Operator Ara...'; }
else if (Key == 'LST_BOS') { Result = 'Listede operator yok'; }
}

function GuvenliRenkAl(HamDeger: String): String;
var Temiz: String;
{
Temiz = Trim(HamDeger);
if (Length(Temiz) >= 4)
{
 if (Length(Temiz) > 7) { Result = Copy(Temiz, 1, 7); }
 else { Result = Temiz; }
}
else { Result = ''; }
}

function TemizleMetin(HamMetin: String): String;
var
i: Integer;
Karakter: String;
{
Result = '';
for (i = 1 to Length(HamMetin))
{
 Karakter = Copy(HamMetin, i, 1);
 if ((Karakter == #13) || (Karakter == #10) || (Karakter == '|')) { Result = Result + ' '; }
 else { Result = Result + Karakter; }
}
}

void AyarDosyasindanTemayiYukle(TemaIndex: Integer);
{
ThemeBorderColor = '#CBD5E1';
ThemeBgColor = '#EEF0F2';
ThemeTextColor = '#3A3F47';
ThemeKoyuRenk = '#1E293B'; ThemeAcikRenk = '#3B82F6';
FormFiltre.SetFormColor(ThemeKoyuRenk, ThemeAcikRenk, clGVertical);
}

void StyleHeaderBar(APanel: TclProPanel);
{
APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
APanel.clProSettings.BorderWidth = 0;
APanel.clProSettings.IsFill = True;
APanel.SetclProSettings(APanel.clProSettings);
}

void StyleMainCard(APanel: TclProPanel);
{
APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E2E8F0');
APanel.clProSettings.BorderWidth = 1;
APanel.clProSettings.IsFill = True;
APanel.clProSettings.IsRound = True;
APanel.clProSettings.RoundHeight = 12;
APanel.clProSettings.RoundWidth = 12;
APanel.SetclProSettings(APanel.clProSettings);
}

void StyleSectionTitle(ALabel: TclProLabel);
{
ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
ALabel.clProSettings.FontSize = UiFontSize + 1;
ALabel.clProSettings.FontName = OkunanFontAdi;
ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
ALabel.SetclProSettings(ALabel.clProSettings);
}

void StyleInputPanel(APanel: TclProPanel);
{
APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
APanel.clProSettings.BorderWidth = 1;
APanel.clProSettings.IsFill = True;
APanel.clProSettings.IsRound = True;
APanel.clProSettings.RoundHeight = 8;
APanel.clProSettings.RoundWidth = 8;
APanel.SetclProSettings(APanel.clProSettings);
}

void StyleInputLabel(ALabel: TclProLabel);
{
ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569');
ALabel.clProSettings.FontSize = UiFontSize - 1;
ALabel.clProSettings.FontName = OkunanFontAdi;
ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
ALabel.SetclProSettings(ALabel.clProSettings);
}

void StylePrimaryButton(AButton: TclProButton);
{
AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
AButton.clProSettings.FontColor = clAlphaColor.clWhite;
AButton.clProSettings.BorderWidth = 0;
AButton.clProSettings.IsFill = True;
AButton.clProSettings.IsRound = True;
AButton.clProSettings.RoundHeight = 8;
AButton.clProSettings.RoundWidth = 8;
AButton.clProSettings.FontSize = UiFontSize;
AButton.clProSettings.FontName = OkunanFontAdi;
AButton.clProSettings.TextSettings.Font.Style = [fsBold];
AButton.SetclProSettings(AButton.clProSettings);
}

void StyleSecondaryButton(AButton: TclProButton);
{
AButton.clProSettings.BackgroundColor = clAlphaColor.clWhite;
AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
AButton.clProSettings.BorderWidth = 1;
AButton.clProSettings.IsFill = True;
AButton.clProSettings.IsRound = True;
AButton.clProSettings.RoundHeight = 8;
AButton.clProSettings.RoundWidth = 8;
AButton.clProSettings.FontSize = UiFontSize;
AButton.clProSettings.FontName = OkunanFontAdi;
AButton.clProSettings.TextSettings.Font.Style = [fsBold];
AButton.SetclProSettings(AButton.clProSettings);
}

void StyleTabButton(AButton: TclProButton; IsActive: Boolean);
{
if (IsActive)
{
 AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A');
 AButton.clProSettings.FontColor = clAlphaColor.clWhite;
}
else
{
 AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1F5F9');
 AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
}
AButton.clProSettings.BorderWidth = 0;
AButton.clProSettings.IsFill = True;
AButton.clProSettings.IsRound = True;
AButton.clProSettings.RoundHeight = 6;
AButton.clProSettings.RoundWidth = 6;
AButton.clProSettings.FontSize = UiFontSize - 1;
AButton.clProSettings.TextSettings.Font.Style = [fsBold];
AButton.SetclProSettings(AButton.clProSettings);
}

void ApplyUiSettings;
var TmpY: Integer;
{
LblTitle.Text = GetText('FORM_TITLE');
LblTitleFilter.Text = GetText('SEC_FILTER');
LblTitleList.Text = GetText('SEC_RESULTS');
LblTur.Text = GetText('LBL_TUR');
LblPeriyot.Text = GetText('LBL_PERIYOT');
LblAy.Text = GetText('LBL_AY');
LblYil.Text = GetText('LBL_YIL');
BtnUygula.Text = GetText('BTN_APPLY');
BtnTemizle.Text = GetText('BTN_CLEAR');
LblEmpty.Text = GetText('MSG_EMPTY');

CmbTur.Items.Clear;
CmbTur.AddItem(GetText('ALL'), 'Tumu');
CmbTur.AddItem('Bakim', 'Bakim');
CmbTur.AddItem('Ariza', 'Ariza');
CmbTur.ItemIndex = 0;

CmbPeriyot.Items.Clear;
CmbPeriyot.AddItem(GetText('ALL'), 'Tumu');
CmbPeriyot.AddItem('Gunluk', 'Gunluk');
CmbPeriyot.AddItem('Haftalik', 'Haftalik');
CmbPeriyot.AddItem('Aylik', 'Aylik');
CmbPeriyot.ItemIndex = 0;

CmbAy.Items.Clear;
CmbAy.AddItem(GetText('ALL'), 'Tumu');
CmbAy.AddItem('01', '01'); CmbAy.AddItem('02', '02'); CmbAy.AddItem('03', '03');
CmbAy.AddItem('04', '04'); CmbAy.AddItem('05', '05'); CmbAy.AddItem('06', '06');
CmbAy.AddItem('07', '07'); CmbAy.AddItem('08', '08'); CmbAy.AddItem('09', '09');
CmbAy.AddItem('10', '10'); CmbAy.AddItem('11', '11'); CmbAy.AddItem('12', '12');
CmbAy.ItemIndex = 0;

CmbYil.Items.Clear;
CmbYil.AddItem(GetText('ALL'), 'Tumu');
for (TmpY = 2020 to 2035) { CmbYil.AddItem(IntToStr(TmpY), IntToStr(TmpY)); }
CmbYil.ItemIndex = 0;

StyleSectionTitle(LblTitleFilter);
StyleSectionTitle(LblTitleList);
StylePrimaryButton(BtnUygula);
StyleSecondaryButton(BtnTemizle);
}

void VerileriDosyadanYukle;
var
KayitListesi: TclStringList;
DosyaYolu, KalanVeri, SatirVerisi, IlkKelime: String;
i, LPos: Integer;
{
KayitCount = 0;
DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
if (clFileExists(DosyaYolu, ''))
{
 KayitListesi = Clomosy.StringListNew;
 KayitListesi.LoadFromFile(DosyaYolu, 0);

 i = KayitListesi.Count - 1;
 while (i >= 0)
 {
 SatirVerisi = Trim(Clomosy.StringListItemString(KayitListesi, i));
 if (SatirVerisi <> '')
 {
  if (KayitCount < 100)
  {
  KalanVeri = SatirVerisi;
  LPos = Pos('|', KalanVeri);
  if (LPos > 0) { IlkKelime = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
  else { IlkKelime = 'Bakim'; }

  if ((IlkKelime == 'Periyodik') || (IlkKelime == 'Bakim') || (IlkKelime == 'Bakım') || (Pos('Periyodik', IlkKelime) > 0))
  { KayitTur[KayitCount] = 'Bakim'; } else { KayitTur[KayitCount] = IlkKelime; }

  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBelgeNo[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBelgeNo[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitMakine[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitMakine[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitTip[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitTip[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPlanlanan[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPlanlanan[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitDurum[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitDurum[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAy[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAy[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitYil[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitYil[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPeriyot[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPeriyot[KayitCount] = KalanVeri; KalanVeri = ''; }
 
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitOperator[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitOperator[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBaslangic[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBaslangic[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBitisTur[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBitisTur[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitKisi[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitKisi[KayitCount] = KalanVeri; KalanVeri = ''; }
  LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAciklama[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAciklama[KayitCount] = KalanVeri; KalanVeri = ''; }
  KayitNeden[KayitCount] = KalanVeri;

  KayitCount = KayitCount + 1;
  }
 }
 i = i - 1;
 }
 KayitListesi.Free;
}
}

function KayitUygunMu(AIndex: Integer): Boolean;
var
STurCombo, SPeriyotCombo, SAyCombo, SYilCombo, SDurumHam: String;
{
Result = True;

if (CmbTur.ItemIndex <= 0) { STurCombo = 'Tumu'; } else { STurCombo = CmbTur.GetValueIndex(CmbTur.ItemIndex); }
if (CmbAy.ItemIndex <= 0) { SAyCombo = 'Tumu'; } else { SAyCombo = CmbAy.GetValueIndex(CmbAy.ItemIndex); }
if (CmbYil.ItemIndex <= 0) { SYilCombo = 'Tumu'; } else { SYilCombo = CmbYil.GetValueIndex(CmbYil.ItemIndex); }
if (CmbPeriyot.ItemIndex <= 0) { SPeriyotCombo = 'Tumu'; } else { SPeriyotCombo = CmbPeriyot.GetValueIndex(CmbPeriyot.ItemIndex); }

SDurumHam = Trim(KayitDurum[AIndex]);

// SEKME KONTROLU (Türkçe karakter duyarlı - Bekleyenler sekmesinde tamamlananlar KESİNLİKLE görünmeyecek)
if (AktifSekme == 'BEKLEYEN')
{
 if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
}
else if (AktifSekme == 'TAMAMLANAN')
{
 if ((Pos('Yapildi', SDurumHam) == 0) && (Pos('Yapıldı', SDurumHam) == 0) && (Pos('Tamamlandi', SDurumHam) == 0) && (Pos('Tamamlandı', SDurumHam) == 0)) { Result = False; }
}
else if (AktifSekme == 'YAKLASAN')
{
 if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
}

if (STurCombo <> 'Tumu')
{
 if (STurCombo <> Trim(KayitTur[AIndex])) { Result = False; }
}

if (SAyCombo <> 'Tumu') { if (SAyCombo <> Trim(KayitAy[AIndex])) { Result = False; } }
if (SYilCombo <> 'Tumu') { if (SYilCombo <> Trim(KayitYil[AIndex])) { Result = False; } }
if (SPeriyotCombo <> 'Tumu') { if ((SPeriyotCombo <> Trim(KayitPeriyot[AIndex])) && (SPeriyotCombo <> Trim(KayitDurum[AIndex]))) { Result = False; } }

if ((SecilenOperatorFiltresi <> '') && (SecilenOperatorFiltresi <> 'Tumu'))
{
 // DEĞİŞİKLİK: Pos (içerme) kontrolü yapıldı
 if (Pos(SecilenOperatorFiltresi, KayitOperator[AIndex]) == 0) { Result = False; }
}
}

void RefreshListe;
var
TarihMetni, KartUyariRenk, OzetMetin: String;
{
TmpVisibleCount = 0;

// HATA SEBEBİ 3: Fonksiyon içine inline boolean (AktifSekme == 'BEKLEYEN')
// göndermek yerine doğrudan True/False gönderiyoruz.
if (AktifSekme == 'YAKLASAN') { StyleTabButton(BtnTabYaklasan, True); } else { StyleTabButton(BtnTabYaklasan, False); }
if (AktifSekme == 'BEKLEYEN') { StyleTabButton(BtnTabBekleyen, True); } else { StyleTabButton(BtnTabBekleyen, False); }
if (AktifSekme == 'TAMAMLANAN') { StyleTabButton(BtnTabTamamlanan, True); } else { StyleTabButton(BtnTabTamamlanan, False); }

for (TmpIndex = 0 to KayitCount - 1)
{
 if (KayitUygunMu(TmpIndex))
 {
 TmpVisibleCount = TmpVisibleCount + 1;
 if (TmpVisibleCount > 100) Break;

 CardPanel[TmpVisibleCount].Visible = True;
 CardPanel[TmpVisibleCount].clTagInt = TmpIndex;
 CardTitle[TmpVisibleCount].clTagInt = TmpIndex;
 CardDetail[TmpVisibleCount].clTagInt = TmpIndex;

 CardTitle[TmpVisibleCount].Caption = ' [' + Trim(KayitTur[TmpIndex]) + '] ' + Trim(KayitMakine[TmpIndex]);
 TarihMetni = Trim(KayitPlanlanan[TmpIndex]);

 OzetMetin = 'Tarih: ' + TarihMetni + #13#10 + 'Tip: ' + Trim(KayitTip[TmpIndex]) + #13#10 + 'Durum: ' + Trim(KayitDurum[TmpIndex]);
 
 if (Trim(KayitOperator[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Operatör: ' + Trim(KayitOperator[TmpIndex]); }
 if (Trim(KayitBaslangic[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Başlangıç: ' + Trim(KayitBaslangic[TmpIndex]); }
 if (Trim(KayitBitisTur[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Süre/Bitiş: ' + Trim(KayitBitisTur[TmpIndex]); }
 if (Trim(KayitAciklama[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Aciklama: ' + Trim(KayitAciklama[TmpIndex]); }

 CardDetail[TmpVisibleCount].Caption = OzetMetin;
 
 CardPanel[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
 CardDetail[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
 CardDetail[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
 CardDetail[TmpVisibleCount].clProSettings.FontSize = UiFontSize;

 CardTitle[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clWhite;
 CardTitle[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
 CardTitle[TmpVisibleCount].clProSettings.FontSize = UiFontSize + 1;

 KartUyariRenk = '#1E293B';
 if ((Pos('Bekliyor', KayitDurum[TmpIndex]) > 0) || (Pos('Yapilmadi', KayitDurum[TmpIndex]) > 0) || (AktifSekme == 'YAKLASAN'))
 { KartUyariRenk = '#EF4444'; }
 if (AktifSekme == 'TAMAMLANAN') { KartUyariRenk = '#10B981'; }

 CardTitle[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clHexToColor(KartUyariRenk);
 CardPanel[TmpVisibleCount].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');

 CardTitle[TmpVisibleCount].SetclProSettings(CardTitle[TmpVisibleCount].clProSettings);
 CardDetail[TmpVisibleCount].SetclProSettings(CardDetail[TmpVisibleCount].clProSettings);
 CardPanel[TmpVisibleCount].SetclProSettings(CardPanel[TmpVisibleCount].clProSettings);
 }
}

for (TmpIndex = TmpVisibleCount + 1 to 100)
{
 // '<> nil' kuralı burada da hataya yol açabilir, zaten 100'e kadar dolu oldukları için direkt gizliyoruz.
 CardPanel[TmpIndex].Visible = False;
}

if (TmpVisibleCount == 0)
{
 LblEmpty.Visible = True;
 PnlListHost.Height = 40;
 PnlMainCard.Height = 1000;
}
else
{
 LblEmpty.Visible = False;
 PnlListHost.Height = (TmpVisibleCount * 170) + 20;
 PnlMainCard.Height = 650 + PnlListHost.Height;
}
}
// ==========================================
// REHBER (SEÇİM LİSTESİ) VE SQL OPERATÖR ENTEGRASYONU
// ==========================================
void OnSearchRehber;
{
// Güvenlik 1: Veri seti oluşmamışsa listeyi filtrelemeye çalışma
if (RehberJsonData == nil) { Exit; }

if (EdtRehberArama.Text == '')
{
 RehberJsonData.Filtered = False;
 RehberJsonData.Filter = '';
}
else
{
 RehberJsonData.Filter = 'clCaption Like ' + Chr(39) + '%' + EdtRehberArama.Text + '%' + Chr(39);
 RehberJsonData.Filtered = True;
}
}
void OnListItemClick;
var
SecilenAnaMetin, SecilenAltMetin: String;
{
// KRİTİK DÜZELTME: clCaption ve clText parametreleri tek tırnak içine alındı!
// Tırnaksız yazıldığında Null (tanımsız değişken) hatasına sebep olup sistemi çökertir.
SecilenAnaMetin = LsvBelgeRehber.clSelectedItemData('MyJsonStr');
SecilenAltMetin = LsvBelgeRehber.clSelectedItemData('Text');


if (SecilenAnaMetin <> GetText('LST_BOS'))
{
 if (GlobalLookupType == 'OPERATOR')
 {
 EdtOperator.Text = SecilenAnaMetin;
 }
}

FormRehber.Close;
}
void OpenRehber;
var
q: TClSqlQuery;
MyJsonStr: String;
CleanMain: String;
CleanSub: String;
{
if (IsDBConnected <> True)
{ ConnectToDatabase; }

if (IsDBConnected <> True)
{
 ShowMessage('Veritabanı bağlantısı kurulamadı! Lütfen ağ/Wi-Fi bağlantınızı kontrol edin.');
 Exit;
}

FormRehber = TclGameForm.Create(Self);
FormRehber.LytTopBar.Visible = False;
FormRehber.BtnGoBack.Visible = False;
FormRehber.BtnFormMenu.Visible = False;
FormRehber.SetFormColor('#0F172A', '#334155', clGVertical);

LsvBelgeRehber = FormRehber.AddNewProListView(FormRehber, '');
LsvBelgeRehber.Align = alClient; LsvBelgeRehber.Margins.Top = 65; LsvBelgeRehber.Margins.Left = 15; LsvBelgeRehber.Margins.Right = 15; LsvBelgeRehber.Margins.Bottom = 15;
LsvBelgeRehber.ListType = 'vertical';
LsvBelgeRehber.clProSettings.ItemHeight = 65;
LsvBelgeRehber.clProSettings.ItemSpace = 5;
LsvBelgeRehber.clProSettings.ColCount = 1;
LsvBelgeRehber.clProSettings.ViewType = lvIcon;
LsvBelgeRehber.clProSettings.IsFill = False;
LsvBelgeRehber.SetclProSettings(LsvBelgeRehber.clProSettings);
FormRehber.AddNewEvent(LsvBelgeRehber, tbeOnItemClick, 'OnListItemClick');

EdtRehberArama = FormRehber.AddNewProEdit(FormRehber, '', GetText('ARA_OPERATOR'));
EdtRehberArama.Align = alTop; EdtRehberArama.Margins.Top = 15; EdtRehberArama.Margins.Left = 15; EdtRehberArama.Margins.Right = 15; EdtRehberArama.Height = 42;
EdtRehberArama.clProSettings.FontSize = 14;

q = TClSqlQuery.Create(nil);
try
 q.Connection = Clomosy.DBSQLServerConnection;
 if (GlobalLookupType == 'OPERATOR')
 {
   q.SQL.Text = 'SET NO_BROWSETABLE ON; ' +
                'SET ROWCOUNT 0; ' +
                'SELECT * FROM (' +
                'SELECT TOP 100 PERCENT OPERATOR_KODU AS MAIN_TEXT, ISNULL(OPERATOR_ADI, '''') AS SUB_TEXT ' +
                'FROM [TBLURTOPERATORSB] WITH (NOLOCK) ' +
                'WHERE 1=1 AND ISNULL(PASIF, 0) = 0 ' +
                'AND OPERATOR_KODU IN (SELECT ITEMS FROM dbo.PrgFn_Split(''(OPRTR-001);(OPRTR-002);(OPRTR-003);(OPRTR-004);(OPRTR-005)'', '';'')) ' +
                ') AS REHBERSQL ' +
                'ORDER BY OPERATOR_KODU; ' +
                'SET ROWCOUNT 0; ' +
                'SET NO_BROWSETABLE OFF;';
 }
 q.Open;

 MyJsonStr = '[';
 while (not q.Eof)
 {
 if (MyJsonStr <> '[') { MyJsonStr = MyJsonStr + ','; }
 
 CleanMain = q.FieldByName('MAIN_TEXT').AsString;
 CleanMain = clGetStringReplace(CleanMain, '"', '\"');
 CleanMain = clGetStringReplace(CleanMain, Chr(13), '');
 CleanMain = clGetStringReplace(CleanMain, Chr(10), '');

 CleanSub = q.FieldByName('SUB_TEXT').AsString;
 CleanSub = clGetStringReplace(CleanSub, '"', '\"');
 CleanSub = clGetStringReplace(CleanSub, Chr(13), '');
 CleanSub = clGetStringReplace(CleanSub, Chr(10), '');

 MyJsonStr = MyJsonStr + '{"clCaption":"' + CleanMain + '", "clText":"' + CleanSub + '"}';
 q.Next;
 }
finally
 q.Close;
 q.Free;
}


RehberJsonData = Clomosy.clDataSetFromJSON(MyJsonStr);
LsvBelgeRehber.clLoadProListViewDataFromDataset(RehberJsonData);

FormRehber.AddNewEvent(EdtRehberArama, tbeOnChange, 'OnSearchRehber');
FormRehber.Run;
}
void BtnRehberOperatorClick;
{
GlobalLookupType = 'OPERATOR';
OpenRehber;
}

void GelismisFormuKapatClick;
{
FormGelismis.Close;
}

void GelismisFormuUygulaClick;
{
SecilenOperatorFiltresi = Trim(EdtOperator.Text);
if (SecilenOperatorFiltresi == '') { SecilenOperatorFiltresi = 'Tumu'; }

// DÜZELTME: Önce liste yenilenir, tüm işlemler biter.
RefreshListe;

// İşlem bittikten sonra form güvenle kapatılır.
FormGelismis.Close;
}
void OpenGelismisForm;
{
FormGelismis = TclGameForm.Create(Self);
FormGelismis.LytTopBar.Visible = False;
FormGelismis.BtnGoBack.Visible = False;
FormGelismis.BtnFormMenu.Visible = False;
FormGelismis.SetFormColor('#1E293B', '#3B82F6', clGVertical);

PnlGelismisCard = FormGelismis.AddNewProPanel(FormGelismis, 'PnlGelismisCard');
// DEĞİŞİKLİK: Tam ekran yapıldı
PnlGelismisCard.Align = alClient;
PnlGelismisCard.Margins.Top = 15; PnlGelismisCard.Margins.Bottom = 15; PnlGelismisCard.Margins.Left = 15; PnlGelismisCard.Margins.Right = 15;
PnlGelismisCard.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
PnlGelismisCard.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
PnlGelismisCard.clProSettings.BorderWidth = 1; PnlGelismisCard.clProSettings.IsFill = True;
PnlGelismisCard.clProSettings.IsRound = True; PnlGelismisCard.clProSettings.RoundHeight = 12; PnlGelismisCard.clProSettings.RoundWidth = 12;
PnlGelismisCard.SetclProSettings(PnlGelismisCard.clProSettings);

LblOperatorTitle = FormGelismis.AddNewProLabel(PnlGelismisCard, 'LblOperatorTitle', 'Gelişmiş Operatör Filtresi');
LblOperatorTitle.Align = alTop; LblOperatorTitle.Height = 35; LblOperatorTitle.Margins.Left = 15; LblOperatorTitle.Margins.Top = 15;
LblOperatorTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
LblOperatorTitle.clProSettings.FontSize = 16; LblOperatorTitle.clProSettings.TextSettings.Font.Style = [fsBold];
LblOperatorTitle.SetclProSettings(LblOperatorTitle.clProSettings);

GrpOperator = FormGelismis.AddNewProPanel(PnlGelismisCard, 'GrpOperator');
GrpOperator.Align = alTop; GrpOperator.Height = 58; GrpOperator.Margins.Top = 10; GrpOperator.Margins.Left = 15; GrpOperator.Margins.Right = 15;
GrpOperator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
GrpOperator.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); GrpOperator.clProSettings.BorderWidth = 1;
GrpOperator.clProSettings.IsFill = True; GrpOperator.clProSettings.IsRound = True;
GrpOperator.clProSettings.RoundHeight = 8; GrpOperator.clProSettings.RoundWidth = 8;
GrpOperator.SetclProSettings(GrpOperator.clProSettings);

LblOperator = FormGelismis.AddNewProLabel(GrpOperator, 'LblOperator', 'Operatör Kodu:');
LblOperator.Align = alTop; LblOperator.Height = 18; LblOperator.Margins.Left = 10; LblOperator.Margins.Top = 6;
LblOperator.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblOperator.clProSettings.FontSize = 12; LblOperator.SetclProSettings(LblOperator.clProSettings);

EdtOperator = FormGelismis.AddNewEdit(GrpOperator, 'EdtOperator', '');
EdtOperator.Align = alClient; EdtOperator.Margins.Left = 10; EdtOperator.Margins.Right = 50; EdtOperator.Margins.Bottom = 7; EdtOperator.Margins.Top = 2;
EdtOperator.ReadOnly = True;

BtnOperatorRehber = FormGelismis.AddNewProButton(GrpOperator, 'BtnOperatorRehber', '🔍');
BtnOperatorRehber.Align = alRight; BtnOperatorRehber.Width = 40; BtnOperatorRehber.Margins.Right = 6; BtnOperatorRehber.Margins.Top = 2; BtnOperatorRehber.Margins.Bottom = 6;
BtnOperatorRehber.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0');
BtnOperatorRehber.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
BtnOperatorRehber.clProSettings.IsFill = True; BtnOperatorRehber.clProSettings.IsRound = True;
BtnOperatorRehber.clProSettings.RoundHeight = 6; BtnOperatorRehber.clProSettings.RoundWidth = 6;
BtnOperatorRehber.clProSettings.FontSize = 14;
BtnOperatorRehber.SetclProSettings(BtnOperatorRehber.clProSettings);
FormGelismis.AddNewEvent(BtnOperatorRehber, tbeOnClick, 'BtnRehberOperatorClick');

BtnGelismisUygula = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisUygula', 'Filtreyi Uygula');
BtnGelismisUygula.Align = alTop; BtnGelismisUygula.Height = 40; BtnGelismisUygula.Margins.Top = 20; BtnGelismisUygula.Margins.Left = 15; BtnGelismisUygula.Margins.Right = 15;
BtnGelismisUygula.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
BtnGelismisUygula.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisUygula.clProSettings.IsFill = True;
BtnGelismisUygula.clProSettings.IsRound = True; BtnGelismisUygula.clProSettings.RoundHeight = 8; BtnGelismisUygula.clProSettings.RoundWidth = 8;
BtnGelismisUygula.SetclProSettings(BtnGelismisUygula.clProSettings);
FormGelismis.AddNewEvent(BtnGelismisUygula, tbeOnClick, 'GelismisFormuUygulaClick');

BtnGelismisKapat = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisKapat', 'Kapat');
BtnGelismisKapat.Align = alTop; BtnGelismisKapat.Height = 35; BtnGelismisKapat.Margins.Top = 8; BtnGelismisKapat.Margins.Left = 15; BtnGelismisKapat.Margins.Right = 15;
BtnGelismisKapat.clProSettings.BackgroundColor = clAlphaColor.clWhite;
BtnGelismisKapat.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
BtnGelismisKapat.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); BtnGelismisKapat.clProSettings.BorderWidth = 1;
BtnGelismisKapat.clProSettings.IsFill = True; BtnGelismisKapat.clProSettings.IsRound = True;
BtnGelismisKapat.clProSettings.RoundHeight = 8; BtnGelismisKapat.clProSettings.RoundWidth = 8;
BtnGelismisKapat.SetclProSettings(BtnGelismisKapat.clProSettings);
FormGelismis.AddNewEvent(BtnGelismisKapat, tbeOnClick, 'GelismisFormuKapatClick');

FormGelismis.Run;
}

void ToggleDetailPanel(Goster: Boolean);
var i: Integer;
{
PnlDetailOverlay.Visible = Goster;

// HATA SEBEBİ 1: 'not Goster' kullanımı iptal edildi, güvenli if-else yapıldı.
if (Goster == True) { ScrollForm.Visible = False; }
else { ScrollForm.Visible = True; }

for (i = 0 to 11)
{
 if (i == 5) { DetPnl[5].Visible = False; DetPnl[5].Height = 0; }
 else if (i == 10)
 {
 if (Goster == True)
 {
  if (Trim(KayitTur[ActiveEditIndex]) == 'Ariza')
  { DetPnl[10].Visible = True; DetPnl[10].Height = 120; }
  else
  { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
 }
 else
 { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
 }
 else
 {

 DetEdt.Visible = Goster;
 }
}
}

void ShowDetailPanel;
var TurMetni: String;
{
TurMetni = Trim(KayitTur[ActiveEditIndex]);
if ((TurMetni == 'Bakim') || (TurMetni == 'Bakım') || (Pos('Bakim', TurMetni) > 0) || (Pos('Periyodik', TurMetni) > 0))
{
 LblDetailTitle.Text = 'Bakim Hareketleri Detayi';
 if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Bakim Kodu:'; }
}
else
{
 LblDetailTitle.Text = 'Ariza Hareketleri Detayi';
 if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Ariza Kodu:'; }
}

DetEdt[0].Text = KayitBelgeNo[ActiveEditIndex];
DetEdt[1].Text = KayitPlanlanan[ActiveEditIndex];
DetEdt[2].Text = KayitMakine[ActiveEditIndex];
DetEdt[3].Text = KayitOperator[ActiveEditIndex];
DetEdt[4].Text = KayitTip[ActiveEditIndex];
DetEdt[6].Text = KayitBaslangic[ActiveEditIndex];
DetEdt[7].Text = KayitBitisTur[ActiveEditIndex];
DetEdt[8].Text = KayitKisi[ActiveEditIndex];
DetEdt[9].Text = KayitAciklama[ActiveEditIndex];
DetMemoNeden.Text = KayitNeden[ActiveEditIndex];
DetEdt[11].Text = KayitDurum[ActiveEditIndex];

ToggleDetailPanel(True);
}

void OnCardLabelClicked;
var ClickedLabel: TclProLabel;
{
ClickedLabel = TclProLabel(FormFiltre.clSender);
ActiveEditIndex = ClickedLabel.clTagInt;
ShowDetailPanel;
}

void OnCardPanelClicked;
var ClickedPanel: TclProPanel;
{
ClickedPanel = TclProPanel(FormFiltre.clSender);
ActiveEditIndex = ClickedPanel.clTagInt;
ShowDetailPanel;
}

void TabClick;
var ClickedBtn: TclProButton;
{
ClickedBtn = TclProButton(FormFiltre.clSender);
if (ClickedBtn.clTagInt == 1) { AktifSekme = 'YAKLASAN'; }
else if (ClickedBtn.clTagInt == 2) { AktifSekme = 'BEKLEYEN'; }
else if (ClickedBtn.clTagInt == 3) { AktifSekme = 'TAMAMLANAN'; }
RefreshListe;
}
void SaveEditClick;
var
DosyaYolu, Satir: String;
YeniListe: TclStringList;
i: Integer;
{
KayitBelgeNo[ActiveEditIndex] = TemizleMetin(DetEdt[0].Text);
KayitPlanlanan[ActiveEditIndex] = TemizleMetin(DetEdt[1].Text);
KayitMakine[ActiveEditIndex] = TemizleMetin(DetEdt[2].Text);
KayitOperator[ActiveEditIndex] = TemizleMetin(DetEdt[3].Text);
KayitTip[ActiveEditIndex] = TemizleMetin(DetEdt[4].Text);
KayitBaslangic[ActiveEditIndex] = TemizleMetin(DetEdt[6].Text);
KayitBitisTur[ActiveEditIndex] = TemizleMetin(DetEdt[7].Text);
KayitKisi[ActiveEditIndex] = TemizleMetin(DetEdt[8].Text);
KayitAciklama[ActiveEditIndex] = TemizleMetin(DetEdt[9].Text);
KayitNeden[ActiveEditIndex] = TemizleMetin(DetMemoNeden.Text);
KayitDurum[ActiveEditIndex] = TemizleMetin(DetEdt[11].Text);

YeniListe = Clomosy.StringListNew;
i = KayitCount - 1;
while (i >= 0)
{
 // BÜTÜN DİZİLERE İNDEKSİ EKLENDİ
 Satir = KayitTur + '|' + KayitBelgeNo + '|' + KayitMakine + '|' + KayitTip + '|' +
   KayitPlanlanan + '|' + KayitDurum + '|' + KayitAy + '|' + KayitYil + '|' + KayitPeriyot + '|' +
   KayitOperator + '|KALDIRILDI|' + KayitBaslangic + '|' + KayitBitisTur + '|' +
   KayitKisi + '|' + KayitAciklama + '|' + KayitNeden;
  
 YeniListe.Add(Satir);
 i = i - 1;
}
DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
YeniListe.SaveToFile(DosyaYolu, 0);
YeniListe.Free;

ToggleDetailPanel(False);
RefreshListe;
}

void MarkAsCompletedClick;
{
DetEdt[11].Text = 'Tamamlandi';
SaveEditClick;
}

void PostponeClick;
{
DetEdt[11].Text = '10 Gun Ertelendi';
SaveEditClick;
}

void CancelEditClick;
{
ToggleDetailPanel(False);
}

void ApplyFilter;
{
RefreshListe;
}

void ClearFilter;
{
CmbTur.ItemIndex = 0;
CmbAy.ItemIndex = 0;
CmbYil.ItemIndex = 0;
CmbPeriyot.ItemIndex = 0;

// EdtOperator.Text = ''; // BU SATIRI SİLİYORUZ (Hatanın sebebi burası)
SecilenOperatorFiltresi = 'Tumu';
RefreshListe;
}
void GoBack;
{
FormFiltre.Close;
}

void AyarlariYenile;
var
YuklenenAyarlar: TclStringList;
OkunanDosyaYolu, TmpDeger: String;
{
VerileriDosyadanYukle;
OkunanDosyaYolu = clPathCombine('UygulamaAyarlari_V3.txt', Clomosy.AppFilesPath);
if (clFileExists(OkunanDosyaYolu, ''))
{
 YuklenenAyarlar = Clomosy.StringListNew;
 YuklenenAyarlar.LoadFromFile(OkunanDosyaYolu, 0);
 if (YuklenenAyarlar.Count > 0) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 0)); if (TmpDeger <> '') { OkunanTemaIndex = StrToInt(TmpDeger); } }
 if (YuklenenAyarlar.Count > 1) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 1)); if (TmpDeger <> '') { OkunanBoyutIndex = StrToInt(TmpDeger); } }
 if (YuklenenAyarlar.Count > 2) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 2)); if (TmpDeger <> '') { gAktifDilIndex = StrToInt(TmpDeger); } }
 if (YuklenenAyarlar.Count > 5) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 5)); if (TmpDeger <> '') { OkunanFontAdi = TmpDeger; } }
 if (OkunanBoyutIndex == 0) { UiFontSize = 12; }
 else if (OkunanBoyutIndex == 2) { UiFontSize = 16; }
 else { UiFontSize = 14; }
 YuklenenAyarlar.Free;
}

AyarDosyasindanTemayiYukle(OkunanTemaIndex);
ApplyUiSettings;
RefreshListe;
}

{
FormFiltre = TclGameForm.Create(Self);
FormFiltre.LytTopBar.Visible = False;
FormFiltre.BtnGoBack.Visible = False;
FormFiltre.BtnFormMenu.Visible = False;

OkunanTemaIndex = 0; UiFontSize = 13;
OkunanUyariRengi = '#EF4444'; OkunanYaziRengi = '#1E293B';
OkunanKartRengi = '#FFFFFF'; OkunanZeminRengi = '#F8FAFC';
OkunanFontAdi = 'Arial'; OkunanStilIndex = 0; OkunanHizaIndex = 1; GlobalAktifDilIndex = 0;
AktifSekme = 'BEKLEYEN';
SecilenOperatorFiltresi = 'Tumu';

AyarDosyasindanTemayiYukle(OkunanTemaIndex);

PnlNavBar = FormFiltre.AddNewProPanel(FormFiltre, 'PnlNavBar');
PnlNavBar.Align = alTop; PnlNavBar.Height = 75; StyleHeaderBar(PnlNavBar);

BtnBack = FormFiltre.AddNewProButton(PnlNavBar, 'BtnBack', '<');
BtnBack.Align = alLeft; BtnBack.Width = 45; BtnBack.Margins.Top = 20; BtnBack.Margins.Left = 5;
BtnBack.clProSettings.FontColor = clAlphaColor.clWhite; BtnBack.clProSettings.BorderWidth = 0; BtnBack.clProSettings.IsFill = False;
BtnBack.clProSettings.FontSize = 20; BtnBack.clProSettings.TextSettings.Font.Style = [fsBold];
BtnBack.SetclProSettings(BtnBack.clProSettings); FormFiltre.AddNewEvent(BtnBack, tbeOnClick, 'GoBack');

LblTitle = FormFiltre.AddNewProLabel(PnlNavBar, 'LblTitle', ''); LblTitle.Align = alClient; LblTitle.Margins.Left = 8; LblTitle.Margins.Top = 20;
LblTitle.clProSettings.FontColor = clAlphaColor.clWhite; LblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
LblTitle.clProSettings.FontVertAlign = palcenter; LblTitle.SetclProSettings(LblTitle.clProSettings);

// ÜST MENÜDE YER ALAN GELİŞMİŞ FORM BUTONU
BtnGelismisOpen = FormFiltre.AddNewProButton(PnlNavBar, 'BtnGelismisOpen', 'Gelişmiş Form');
BtnGelismisOpen.Align = alRight; BtnGelismisOpen.Width = 110; BtnGelismisOpen.Margins.Top = 18; BtnGelismisOpen.Margins.Bottom = 18; BtnGelismisOpen.Margins.Right = 10;
BtnGelismisOpen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
BtnGelismisOpen.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisOpen.clProSettings.IsFill = True;
BtnGelismisOpen.clProSettings.IsRound = True; BtnGelismisOpen.clProSettings.RoundHeight = 6; BtnGelismisOpen.clProSettings.RoundWidth = 6;
BtnGelismisOpen.clProSettings.FontSize = 12; BtnGelismisOpen.clProSettings.TextSettings.Font.Style = [fsBold];
BtnGelismisOpen.SetclProSettings(BtnGelismisOpen.clProSettings);
FormFiltre.AddNewEvent(BtnGelismisOpen, tbeOnClick, 'OpenGelismisForm');

ScrollForm = FormFiltre.AddNewVertScrollBox(FormFiltre, 'ScrollForm'); ScrollForm.Align = alClient;

PnlMainCard = FormFiltre.AddNewProPanel(ScrollForm, 'PnlMainCard'); PnlMainCard.Align = alTop; PnlMainCard.Height = 1050; PnlMainCard.Margins.Top = 12; PnlMainCard.Margins.Left = 10; PnlMainCard.Margins.Right = 10; PnlMainCard.Margins.Bottom = 15;
StyleMainCard(PnlMainCard);

LblTitleFilter = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleFilter', ''); LblTitleFilter.Align = alTop; LblTitleFilter.Height = 28; LblTitleFilter.Margins.Left = 12; LblTitleFilter.Margins.Top = 15; StyleSectionTitle(LblTitleFilter);

GrpTur = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpTur'); GrpTur.Align = alTop; GrpTur.Height = 54; GrpTur.Margins.Top = 8; GrpTur.Margins.Left = 12; GrpTur.Margins.Right = 12; StyleInputPanel(GrpTur);
LblTur = FormFiltre.AddNewProLabel(GrpTur, 'LblTur', ''); LblTur.Align = alTop; LblTur.Height = 16; LblTur.Margins.Left = 10; LblTur.Margins.Top = 5; StyleInputLabel(LblTur);
CmbTur = FormFiltre.AddNewComboBox(GrpTur, 'CmbTur'); CmbTur.Align = alClient; CmbTur.Margins.Left = 10; CmbTur.Margins.Right = 10; CmbTur.Margins.Bottom = 6;

GrpPeriyot = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpPeriyot'); GrpPeriyot.Align = alTop; GrpPeriyot.Height = 54; GrpPeriyot.Margins.Top = 6; GrpPeriyot.Margins.Left = 12; GrpPeriyot.Margins.Right = 12; StyleInputPanel(GrpPeriyot);
LblPeriyot = FormFiltre.AddNewProLabel(GrpPeriyot, 'LblPeriyot', ''); LblPeriyot.Align = alTop; LblPeriyot.Height = 16; LblPeriyot.Margins.Left = 10; LblPeriyot.Margins.Top = 5; StyleInputLabel(LblPeriyot);
CmbPeriyot = FormFiltre.AddNewComboBox(GrpPeriyot, 'CmbPeriyot'); CmbPeriyot.Align = alClient; CmbPeriyot.Margins.Left = 10; CmbPeriyot.Margins.Right = 10; CmbPeriyot.Margins.Bottom = 6;

GrpAy = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpAy'); GrpAy.Align = alTop; GrpAy.Height = 54; GrpAy.Margins.Top = 6; GrpAy.Margins.Left = 12; GrpAy.Margins.Right = 12; StyleInputPanel(GrpAy);
LblAy = FormFiltre.AddNewProLabel(GrpAy, 'LblAy', ''); LblAy.Align = alTop; LblAy.Height = 16; LblAy.Margins.Left = 10; LblAy.Margins.Top = 5; StyleInputLabel(LblAy);
CmbAy = FormFiltre.AddNewComboBox(GrpAy, 'CmbAy'); CmbAy.Align = alClient; CmbAy.Margins.Left = 10; CmbAy.Margins.Right = 10; CmbAy.Margins.Bottom = 6;

GrpYil = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpYil'); GrpYil.Align = alTop; GrpYil.Height = 54; GrpYil.Margins.Top = 6; GrpYil.Margins.Left = 12; GrpYil.Margins.Right = 12; StyleInputPanel(GrpYil);
LblYil = FormFiltre.AddNewProLabel(GrpYil, 'LblYil', ''); LblYil.Align = alTop; LblYil.Height = 16; LblYil.Margins.Left = 10; LblYil.Margins.Top = 5; StyleInputLabel(LblYil);
CmbYil = FormFiltre.AddNewComboBox(GrpYil, 'CmbYil'); CmbYil.Align = alClient; CmbYil.Margins.Left = 10; CmbYil.Margins.Right = 10; CmbYil.Margins.Bottom = 6;

PnlFilterButtons = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlFilterButtons'); PnlFilterButtons.Align = alTop; PnlFilterButtons.Height = 46; PnlFilterButtons.Margins.Top = 14; PnlFilterButtons.Margins.Left = 12; PnlFilterButtons.Margins.Right = 12; PnlFilterButtons.clProSettings.BorderWidth = 0; PnlFilterButtons.SetclProSettings(PnlFilterButtons.clProSettings);
BtnUygula = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnUygula', ''); BtnUygula.Align = alLeft; BtnUygula.Width = 100; BtnUygula.Margins.Right = 10; StylePrimaryButton(BtnUygula); FormFiltre.AddNewEvent(BtnUygula, tbeOnClick, 'ApplyFilter');
BtnTemizle = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnTemizle', ''); BtnTemizle.Align = alLeft; BtnTemizle.Width = 90; StyleSecondaryButton(BtnTemizle); FormFiltre.AddNewEvent(BtnTemizle, tbeOnClick, 'ClearFilter');

LblTitleList = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleList', ''); LblTitleList.Align = alTop; LblTitleList.Height = 28; LblTitleList.Margins.Left = 12; LblTitleList.Margins.Top = 18; StyleSectionTitle(LblTitleList);

PnlTabs = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlTabs'); PnlTabs.Align = alTop; PnlTabs.Height = 42; PnlTabs.Margins.Left = 12; PnlTabs.Margins.Right = 12; PnlTabs.Margins.Top = 4; PnlTabs.clProSettings.BorderWidth = 0; PnlTabs.SetclProSettings(PnlTabs.clProSettings);

BtnTabYaklasan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabYaklasan', 'Yaklasan (5 Gun)'); BtnTabYaklasan.Align = alLeft; BtnTabYaklasan.Width = 115; BtnTabYaklasan.Margins.Right = 6; BtnTabYaklasan.clTagInt = 1; FormFiltre.AddNewEvent(BtnTabYaklasan, tbeOnClick, 'TabClick');
BtnTabBekleyen = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabBekleyen', 'Bekleyenler'); BtnTabBekleyen.Align = alLeft; BtnTabBekleyen.Width = 105; BtnTabBekleyen.Margins.Right = 6; BtnTabBekleyen.clTagInt = 2; FormFiltre.AddNewEvent(BtnTabBekleyen, tbeOnClick, 'TabClick');
BtnTabTamamlanan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabTamamlanan', 'Tamamlananlar'); BtnTabTamamlanan.Align = alLeft; BtnTabTamamlanan.Width = 115; BtnTabTamamlanan.clTagInt = 3; FormFiltre.AddNewEvent(BtnTabTamamlanan, tbeOnClick, 'TabClick');

LblEmpty = FormFiltre.AddNewProLabel(PnlMainCard, 'LblEmpty', ''); LblEmpty.Align = alTop; LblEmpty.Height = 28; LblEmpty.Margins.Left = 15; LblEmpty.Margins.Top = 10; LblEmpty.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblEmpty.SetclProSettings(LblEmpty.clProSettings);

PnlListHost = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlListHost'); PnlListHost.Align = alTop; PnlListHost.clProSettings.BorderWidth = 0; PnlListHost.SetclProSettings(PnlListHost.clProSettings);

for (TmpIndex = 1 to 100)
{
 CardPanel[TmpIndex] = FormFiltre.AddNewProPanel(PnlListHost, 'CardPanel' + IntToStr(TmpIndex));
 // DEĞİŞİKLİK: Yükseklik 140'tan 170'e çıkarıldı
 CardPanel[TmpIndex].Align = alTop; CardPanel[TmpIndex].Margins.Top = 10; CardPanel[TmpIndex].Margins.Left = 12; CardPanel[TmpIndex].Margins.Right = 12; CardPanel[TmpIndex].Height = 170;
 CardPanel[TmpIndex].clProSettings.BorderWidth = 1; CardPanel[TmpIndex].clProSettings.IsFill = True; CardPanel[TmpIndex].clProSettings.IsRound = True; CardPanel[TmpIndex].clProSettings.RoundHeight = 8; CardPanel[TmpIndex].clProSettings.RoundWidth = 8; CardPanel[TmpIndex].SetclProSettings(CardPanel[TmpIndex].clProSettings);
 FormFiltre.AddNewEvent(CardPanel[TmpIndex], tbeOnClick, 'OnCardPanelClicked');

 CardTitle[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardTitle' + IntToStr(TmpIndex), '');
 CardTitle[TmpIndex].Align = alTop; CardTitle[TmpIndex].Height = 32;
 CardTitle[TmpIndex].clProSettings.FontColor = clAlphaColor.clWhite; CardTitle[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; CardTitle[TmpIndex].clProSettings.IsFill = True; CardTitle[TmpIndex].clProSettings.IsRound = True; CardTitle[TmpIndex].clProSettings.RoundHeight = 8; CardTitle[TmpIndex].clProSettings.RoundWidth = 8; CardTitle[TmpIndex].SetclProSettings(CardTitle[TmpIndex].clProSettings);
 FormFiltre.AddNewEvent(CardTitle[TmpIndex], tbeOnClick, 'OnCardLabelClicked');

 CardDetail[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardDetail' + IntToStr(TmpIndex), '');
 CardDetail[TmpIndex].Align = alClient; CardDetail[TmpIndex].Margins.Left = 10; CardDetail[TmpIndex].Margins.Right = 10; CardDetail[TmpIndex].Margins.Top = 6; CardDetail[TmpIndex].Margins.Bottom = 6; CardDetail[TmpIndex].clProSettings.WordWrap = True; CardDetail[TmpIndex].SetclProSettings(CardDetail[TmpIndex].clProSettings);
 FormFiltre.AddNewEvent(CardDetail[TmpIndex], tbeOnClick, 'OnCardLabelClicked');
}

PnlDetailOverlay = FormFiltre.AddNewProPanel(FormFiltre, 'PnlDetailOverlay');
PnlDetailOverlay.Align = alClient; PnlDetailOverlay.clProSettings.BackgroundColor = clAlphaColor.clWhite; PnlDetailOverlay.clProSettings.IsFill = True; PnlDetailOverlay.SetclProSettings(PnlDetailOverlay.clProSettings);

PnlDetailHeader = FormFiltre.AddNewProPanel(PnlDetailOverlay, 'PnlDetailHeader');
PnlDetailHeader.Align = alTop; PnlDetailHeader.Height = 50;
PnlDetailHeader.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
PnlDetailHeader.clProSettings.IsFill = True;
PnlDetailHeader.SetclProSettings(PnlDetailHeader.clProSettings);

LblDetailTitle = FormFiltre.AddNewProLabel(PnlDetailHeader, 'LblDetailTitle', 'Hareket Detayi');
LblDetailTitle.Align = alClient; LblDetailTitle.Margins.Left = 15;
LblDetailTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
LblDetailTitle.clProSettings.FontSize = 16;
LblDetailTitle.clProSettings.TextSettings.Font.Style = [fsBold];
LblDetailTitle.SetclProSettings(LblDetailTitle.clProSettings);

DetailScroll = FormFiltre.AddNewVertScrollBox(PnlDetailOverlay, 'DetailScroll');
DetailScroll.Align = alClient; DetailScroll.Margins.Left = 12; DetailScroll.Margins.Right = 12;

for (TmpIndex = 0 to 11)
{
 DetPnl[TmpIndex] = FormFiltre.AddNewProPanel(DetailScroll, 'DetPnl'+IntToStr(TmpIndex));
 DetPnl[TmpIndex].Align = alTop; DetPnl[TmpIndex].Margins.Top = 10;
 DetPnl[TmpIndex].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); DetPnl[TmpIndex].clProSettings.BorderWidth = 1;
 DetPnl[TmpIndex].clProSettings.IsRound = True; DetPnl[TmpIndex].clProSettings.RoundHeight = 8; DetPnl[TmpIndex].clProSettings.RoundWidth = 8;
 DetPnl[TmpIndex].clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
 DetPnl[TmpIndex].SetclProSettings(DetPnl[TmpIndex].clProSettings);

 DetLbl[TmpIndex] = FormFiltre.AddNewProLabel(DetPnl[TmpIndex], 'DetLbl'+IntToStr(TmpIndex), '');
 DetLbl[TmpIndex].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B'); DetLbl[TmpIndex].clProSettings.FontSize = 12; DetLbl[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; DetLbl[TmpIndex].SetclProSettings(DetLbl[TmpIndex].clProSettings);

 if (TmpIndex == 10)
 {
 DetPnl[TmpIndex].Height = 120;
 DetLbl[TmpIndex].Align = alTop; DetLbl[TmpIndex].Height = 25; DetLbl[TmpIndex].Margins.Left = 10; DetLbl[TmpIndex].Margins.Top = 5;
 DetMemoNeden = FormFiltre.AddNewMemo(DetPnl[TmpIndex], 'DetMemoNeden', '');
 DetMemoNeden.Align = alClient; DetMemoNeden.Margins.Left = 10; DetMemoNeden.Margins.Right = 10; DetMemoNeden.Margins.Bottom = 10;
 }
 else
 {
 DetPnl[TmpIndex].Height = 50;
 DetLbl[TmpIndex].Align = alLeft; DetLbl[TmpIndex].Width = 140; DetLbl[TmpIndex].Margins.Left = 10;

 DetEdt[TmpIndex] = FormFiltre.AddNewEdit(DetPnl[TmpIndex], 'DetEdt'+IntToStr(TmpIndex), '');
 DetEdt[TmpIndex].Align = alClient;
 DetEdt[TmpIndex].Margins.Left = 5;
 DetEdt[TmpIndex].Margins.Right = 10;
 DetEdt[TmpIndex].Margins.Top = 5;
 DetEdt[TmpIndex].Margins.Bottom = 5;
 }
}

PnlDetailButtons = FormFiltre.AddNewProPanel(DetailScroll, 'PnlDetailButtons');
PnlDetailButtons.Align = alTop; PnlDetailButtons.Height = 65; PnlDetailButtons.Margins.Top = 15; PnlDetailButtons.Margins.Bottom = 20; PnlDetailButtons.clProSettings.BorderWidth = 0; PnlDetailButtons.SetclProSettings(PnlDetailButtons.clProSettings);

BtnDetailSave = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailSave', 'Kaydet');
BtnDetailSave.Align = alLeft; BtnDetailSave.Width = 85; StylePrimaryButton(BtnDetailSave); FormFiltre.AddNewEvent(BtnDetailSave, tbeOnClick, 'SaveEditClick');

BtnTamamlandi = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnTamamlandi', 'Tamamlandi');
BtnTamamlandi.Align = alLeft; BtnTamamlandi.Width = 105; BtnTamamlandi.Margins.Left = 6; StylePrimaryButton(BtnTamamlandi); FormFiltre.AddNewEvent(BtnTamamlandi, tbeOnClick, 'MarkAsCompletedClick');

BtnErtele = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnErtele', '10 G. Ertele');
BtnErtele.Align = alLeft; BtnErtele.Width = 95; BtnErtele.Margins.Left = 6; StyleSecondaryButton(BtnErtele); FormFiltre.AddNewEvent(BtnErtele, tbeOnClick, 'PostponeClick');

BtnDetailCancel = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailCancel', 'Kapat');
BtnDetailCancel.Align = alRight; BtnDetailCancel.Width = 85; StyleSecondaryButton(BtnDetailCancel); FormFiltre.AddNewEvent(BtnDetailCancel, tbeOnClick, 'CancelEditClick');

ToggleDetailPanel(False);

FormFiltre.AddNewEvent(FormFiltre, tbeOnFormActivate, 'AyarlariYenile');
AyarlariYenile;
FormFiltre.Run;
}   
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" 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: 1009
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ı: 11 Saat 57 Dakika Önce Saat 11:05
Kayra, 
listview de bileşenin de designerpanel olmadan çalışmadığı için rehber ekranında liste boş kalıyor olay tetiklenmiyor.
ayrıca clSelectedItemData metodu main_text ve sub_text alanları ile eşitlenmeli
clCaption yerine main_text olmalı


var
FormFiltre, FormGelismis, FormRehber: TclGameForm;
PnlNavBar, PnlMainCard, PnlFilterButtons, PnlListHost, PnlTabs: TclProPanel;
GrpTur, GrpPeriyot, GrpAy, GrpYil: TclProPanel;
BtnBack, BtnUygula, BtnTemizle, BtnGelismisOpen: TclProButton;
BtnTabYaklasan, BtnTabBekleyen, BtnTabTamamlanan: TclProButton;
LblTitle, LblTitleFilter, LblTitleList, LblTur, LblPeriyot, LblAy, LblYil, LblEmpty: TclProLabel;
CmbTur, CmbPeriyot, CmbAy, CmbYil: TclComboBox;
ScrollForm: TclVertScrollBox;
CardPanel: array [0..100] of TclProPanel;
CardTitle: array [0..100] of TclProLabel;
CardDetail: array [0..100] of TclProLabel;

KayitTur, KayitBelgeNo, KayitMakine, KayitTip, KayitPlanlanan: array [0..100] of String;
KayitDurum, KayitAy, KayitYil, KayitPeriyot: array [0..100] of String;
KayitOperator, KayitBaslangic, KayitBitisTur: array [0..100] of String;
KayitKisi, KayitAciklama, KayitNeden: array [0..100] of String;

KayitCount, TmpIndex, TmpVisibleCount, TmpYear: Integer;
UiFontSize: Integer;
ThemeKoyuRenk, ThemeAcikRenk, ThemeBorderColor, ThemeBgColor, ThemeTextColor: String;
OkunanUyariRengi, OkunanYaziRengi, OkunanKartRengi, OkunanZeminRengi, OkunanFontAdi: String;
OkunanTemaIndex, OkunanBoyutIndex, OkunanStilIndex, OkunanHizaIndex, GlobalAktifDilIndex: Integer;

PnlGelismisCard, GrpOperator: TclProPanel;
LblOperatorTitle, LblOperator: TclProLabel;
EdtOperator: TclEdit;
BtnOperatorRehber, BtnGelismisKapat, BtnGelismisUygula: TclProButton;
SecilenOperatorFiltresi: String;

PnlRehberCard: TclProPanel;
LblRehberTitle: TclProLabel;
EdtRehberArama: TclProEdit;
LsvBelgeRehber: TclListView;
RehberJsonData: TclJsonQuery;
GlobalLookupType: String;

PnlDetailOverlay, PnlDetailHeader, PnlDetailButtons: TclProPanel;
DetailScroll: TclVertScrollBox;
LblDetailTitle: TclProLabel;
BtnDetailSave, BtnDetailCancel, BtnTamamlandi, BtnErtele: TclProButton;

DetPnl: array[0..11] of TclProPanel;
DetLbl: array[0..11] of TclProLabel;
DetEdt: array[0..11] of TclEdit;
DetMemoNeden: TclMemo;
ActiveEditIndex: Integer;
gAktifDilIndex: Integer;
AktifSekme: String;
IsDBConnected: Boolean;

void ConnectToDatabase;
{
  try
    Clomosy.DBSQLServerConnect('SQL Server','192.168.1.20','sa','1','ATIKER2026',50000);
    IsDBConnected = True;
  except
    IsDBConnected = False;
  }
}

function GetText(Key: String): String;
var TKey: String;
{
  TKey = Trim(Key);
  Result = TKey;
  if (TKey == 'FORM_TITLE') { Result = 'Filtre ve Kayitlar'; }
  else if (TKey == 'SEC_FILTER') { Result = 'FILTRELEME KRITERLERI'; }
  else if (TKey == 'SEC_RESULTS') { Result = 'BAKIM VE ARIZA SONUCLARI'; }
  else if (TKey == 'LBL_TUR') { Result = 'Kayit Turu:'; }
  else if (TKey == 'LBL_PERIYOT') { Result = 'Periyot:'; }
  else if (TKey == 'LBL_AY') { Result = 'Ay:'; }
  else if (TKey == 'LBL_YIL') { Result = 'Yil:'; }
  else if (TKey == 'BTN_APPLY') { Result = 'Filtrele'; }
  else if (TKey == 'BTN_CLEAR') { Result = 'Sifirla'; }
  else if (TKey == 'MSG_EMPTY') { Result = 'Secilen kriterlere uygun kayit bulunamadi.'; }
  else if (TKey == 'ALL') { Result = 'Tumu'; }
  else if (Key == 'ARA_OPERATOR') { Result = 'Operator Ara...'; }
  else if (Key == 'LST_BOS') { Result = 'Listede operator yok'; }
}

function GuvenliRenkAl(HamDeger: String): String;
var Temiz: String;
{
  Temiz = Trim(HamDeger);
  if (Length(Temiz) >= 4)
  {
    if (Length(Temiz) > 7) { Result = Copy(Temiz, 1, 7); }
    else { Result = Temiz; }
  }
  else { Result = ''; }
}

function TemizleMetin(HamMetin: String): String;
var
  i: Integer;
  Karakter: String;
{
  Result = '';
  for (i = 1 to Length(HamMetin))
  {
    Karakter = Copy(HamMetin, i, 1);
    if ((Karakter == #13) || (Karakter == #10) || (Karakter == '|')) { Result = Result + ' '; }
    else { Result = Result + Karakter; }
  }
}

void AyarDosyasindanTemayiYukle(TemaIndex: Integer);
{
  ThemeBorderColor = '#CBD5E1';
  ThemeBgColor = '#EEF0F2';
  ThemeTextColor = '#3A3F47';
  ThemeKoyuRenk = '#1E293B'; 
  ThemeAcikRenk = '#3B82F6';
  FormFiltre.SetFormColor(ThemeKoyuRenk, ThemeAcikRenk, clGVertical);
}

void StyleHeaderBar(APanel: TclProPanel);
{
  APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  APanel.clProSettings.BorderWidth = 0;
  APanel.clProSettings.IsFill = True;
  APanel.SetclProSettings(APanel.clProSettings);
}

void StyleMainCard(APanel: TclProPanel);
{
  APanel.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E2E8F0');
  APanel.clProSettings.BorderWidth = 1;
  APanel.clProSettings.IsFill = True;
  APanel.clProSettings.IsRound = True;
  APanel.clProSettings.RoundHeight = 12;
  APanel.clProSettings.RoundWidth = 12;
  APanel.SetclProSettings(APanel.clProSettings);
}

void StyleSectionTitle(ALabel: TclProLabel);
{
  ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
  ALabel.clProSettings.FontSize = UiFontSize + 1;
  ALabel.clProSettings.FontName = OkunanFontAdi;
  ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
  ALabel.SetclProSettings(ALabel.clProSettings);
}

void StyleInputPanel(APanel: TclProPanel);
{
  APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  APanel.clProSettings.BorderWidth = 1;
  APanel.clProSettings.IsFill = True;
  APanel.clProSettings.IsRound = True;
  APanel.clProSettings.RoundHeight = 8;
  APanel.clProSettings.RoundWidth = 8;
  APanel.SetclProSettings(APanel.clProSettings);
}

void StyleInputLabel(ALabel: TclProLabel);
{
  ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569');
  ALabel.clProSettings.FontSize = UiFontSize - 1;
  ALabel.clProSettings.FontName = OkunanFontAdi;
  ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
  ALabel.SetclProSettings(ALabel.clProSettings);
}

void StylePrimaryButton(AButton: TclProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
  AButton.clProSettings.FontColor = clAlphaColor.clWhite;
  AButton.clProSettings.BorderWidth = 0;
  AButton.clProSettings.IsFill = True;
  AButton.clProSettings.IsRound = True;
  AButton.clProSettings.RoundHeight = 8;
  AButton.clProSettings.RoundWidth = 8;
  AButton.clProSettings.FontSize = UiFontSize;
  AButton.clProSettings.FontName = OkunanFontAdi;
  AButton.clProSettings.TextSettings.Font.Style = [fsBold];
  AButton.SetclProSettings(AButton.clProSettings);
}

void StyleSecondaryButton(AButton: TclProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
  AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  AButton.clProSettings.BorderWidth = 1;
  AButton.clProSettings.IsFill = True;
  AButton.clProSettings.IsRound = True;
  AButton.clProSettings.RoundHeight = 8;
  AButton.clProSettings.RoundWidth = 8;
  AButton.clProSettings.FontSize = UiFontSize;
  AButton.clProSettings.FontName = OkunanFontAdi;
  AButton.clProSettings.TextSettings.Font.Style = [fsBold];
  AButton.SetclProSettings(AButton.clProSettings);
}

void StyleTabButton(AButton: TclProButton; IsActive: Boolean);
{
  if (IsActive)
  {
    AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A');
    AButton.clProSettings.FontColor = clAlphaColor.clWhite;
  }
  else
  {
    AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1F5F9');
    AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
  }
  AButton.clProSettings.BorderWidth = 0;
  AButton.clProSettings.IsFill = True;
  AButton.clProSettings.IsRound = True;
  AButton.clProSettings.RoundHeight = 6;
  AButton.clProSettings.RoundWidth = 6;
  AButton.clProSettings.FontSize = UiFontSize - 1;
  AButton.clProSettings.TextSettings.Font.Style = [fsBold];
  AButton.SetclProSettings(AButton.clProSettings);
}

void ApplyUiSettings;
var TmpY: Integer;
{
  LblTitle.Text = GetText('FORM_TITLE');
  LblTitleFilter.Text = GetText('SEC_FILTER');
  LblTitleList.Text = GetText('SEC_RESULTS');
  LblTur.Text = GetText('LBL_TUR');
  LblPeriyot.Text = GetText('LBL_PERIYOT');
  LblAy.Text = GetText('LBL_AY');
  LblYil.Text = GetText('LBL_YIL');
  BtnUygula.Text = GetText('BTN_APPLY');
  BtnTemizle.Text = GetText('BTN_CLEAR');
  LblEmpty.Text = GetText('MSG_EMPTY');

  CmbTur.Items.Clear;
  CmbTur.AddItem(GetText('ALL'), 'Tumu');
  CmbTur.AddItem('Bakim', 'Bakim');
  CmbTur.AddItem('Ariza', 'Ariza');
  CmbTur.ItemIndex = 0;

  CmbPeriyot.Items.Clear;
  CmbPeriyot.AddItem(GetText('ALL'), 'Tumu');
  CmbPeriyot.AddItem('Gunluk', 'Gunluk');
  CmbPeriyot.AddItem('Haftalik', 'Haftalik');
  CmbPeriyot.AddItem('Aylik', 'Aylik');
  CmbPeriyot.ItemIndex = 0;

  CmbAy.Items.Clear;
  CmbAy.AddItem(GetText('ALL'), 'Tumu');
  CmbAy.AddItem('01', '01'); CmbAy.AddItem('02', '02'); CmbAy.AddItem('03', '03');
  CmbAy.AddItem('04', '04'); CmbAy.AddItem('05', '05'); CmbAy.AddItem('06', '06');
  CmbAy.AddItem('07', '07'); CmbAy.AddItem('08', '08'); CmbAy.AddItem('09', '09');
  CmbAy.AddItem('10', '10'); CmbAy.AddItem('11', '11'); CmbAy.AddItem('12', '12');
  CmbAy.ItemIndex = 0;

  CmbYil.Items.Clear;
  CmbYil.AddItem(GetText('ALL'), 'Tumu');
  for (TmpY = 2020 to 2035) { CmbYil.AddItem(IntToStr(TmpY), IntToStr(TmpY)); }
  CmbYil.ItemIndex = 0;

  StyleSectionTitle(LblTitleFilter);
  StyleSectionTitle(LblTitleList);
  StylePrimaryButton(BtnUygula);
  StyleSecondaryButton(BtnTemizle);
}

void VerileriDosyadanYukle;
var
  KayitListesi: TclStringList;
  DosyaYolu, KalanVeri, SatirVerisi, IlkKelime: String;
  i, LPos: Integer;
{
  KayitCount = 0;
  DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
  if (clFileExists(DosyaYolu, ''))
  {
    KayitListesi = Clomosy.StringListNew;
    KayitListesi.LoadFromFile(DosyaYolu, 0);

    i = KayitListesi.Count - 1;
    while (i >= 0)
    {
      SatirVerisi = Trim(Clomosy.StringListItemString(KayitListesi, i));
      if (SatirVerisi <> '')
      {
        if (KayitCount < 100)
        {
          KalanVeri = SatirVerisi;
          LPos = Pos('|', KalanVeri);
          if (LPos > 0) { IlkKelime = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
          else { IlkKelime = 'Bakim'; }

          if ((IlkKelime == 'Periyodik') || (IlkKelime == 'Bakim') || (IlkKelime == 'Bakım') || (Pos('Periyodik', IlkKelime) > 0))
          { KayitTur[KayitCount] = 'Bakim'; } else { KayitTur[KayitCount] = IlkKelime; }

          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBelgeNo[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBelgeNo[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitMakine[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitMakine[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitTip[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitTip[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPlanlanan[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPlanlanan[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitDurum[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitDurum[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAy[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAy[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitYil[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitYil[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitPeriyot[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitPeriyot[KayitCount] = KalanVeri; KalanVeri = ''; }
         
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitOperator[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitOperator[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBaslangic[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBaslangic[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitBitisTur[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitBitisTur[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitKisi[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitKisi[KayitCount] = KalanVeri; KalanVeri = ''; }
          LPos = Pos('|', KalanVeri); if (LPos > 0) { KayitAciklama[KayitCount] = Copy(KalanVeri, 1, LPos - 1); KalanVeri = Copy(KalanVeri, LPos + 1, Length(KalanVeri)); } else { KayitAciklama[KayitCount] = KalanVeri; KalanVeri = ''; }
          KayitNeden[KayitCount] = KalanVeri;

          KayitCount = KayitCount + 1;
        }
      }
      i = i - 1;
    }
    KayitListesi.Free;
  }
}

function KayitUygunMu(AIndex: Integer): Boolean;
var
  STurCombo, SPeriyotCombo, SAyCombo, SYilCombo, SDurumHam: String;
{
  Result = True;

  if (CmbTur.ItemIndex <= 0) { STurCombo = 'Tumu'; } else { STurCombo = CmbTur.GetValueIndex(CmbTur.ItemIndex); }
  if (CmbAy.ItemIndex <= 0) { SAyCombo = 'Tumu'; } else { SAyCombo = CmbAy.GetValueIndex(CmbAy.ItemIndex); }
  if (CmbYil.ItemIndex <= 0) { SYilCombo = 'Tumu'; } else { SYilCombo = CmbYil.GetValueIndex(CmbYil.ItemIndex); }
  if (CmbPeriyot.ItemIndex <= 0) { SPeriyotCombo = 'Tumu'; } else { SPeriyotCombo = CmbPeriyot.GetValueIndex(CmbPeriyot.ItemIndex); }

  SDurumHam = Trim(KayitDurum[AIndex]);

  if (AktifSekme == 'BEKLEYEN')
  {
    if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
  }
  else if (AktifSekme == 'TAMAMLANAN')
  {
    if ((Pos('Yapildi', SDurumHam) == 0) && (Pos('Yapıldı', SDurumHam) == 0) && (Pos('Tamamlandi', SDurumHam) == 0) && (Pos('Tamamlandı', SDurumHam) == 0)) { Result = False; }
  }
  else if (AktifSekme == 'YAKLASAN')
  {
    if ((Pos('Yapildi', SDurumHam) > 0) || (Pos('Yapıldı', SDurumHam) > 0) || (Pos('Tamamlandi', SDurumHam) > 0) || (Pos('Tamamlandı', SDurumHam) > 0)) { Result = False; }
  }

  if (STurCombo <> 'Tumu')
  {
    if (STurCombo <> Trim(KayitTur[AIndex])) { Result = False; }
  }

  if (SAyCombo <> 'Tumu') { if (SAyCombo <> Trim(KayitAy[AIndex])) { Result = False; } }
  if (SYilCombo <> 'Tumu') { if (SYilCombo <> Trim(KayitYil[AIndex])) { Result = False; } }
  if (SPeriyotCombo <> 'Tumu') { if ((SPeriyotCombo <> Trim(KayitPeriyot[AIndex])) && (SPeriyotCombo <> Trim(KayitDurum[AIndex]))) { Result = False; } }

  if ((SecilenOperatorFiltresi <> '') && (SecilenOperatorFiltresi <> 'Tumu'))
  {
    if (Pos(SecilenOperatorFiltresi, KayitOperator[AIndex]) == 0) { Result = False; }
  }
}

void RefreshListe;
var
  TarihMetni, KartUyariRenk, OzetMetin: String;
{
  TmpVisibleCount = 0;

  if (AktifSekme == 'YAKLASAN') { StyleTabButton(BtnTabYaklasan, True); } else { StyleTabButton(BtnTabYaklasan, False); }
  if (AktifSekme == 'BEKLEYEN') { StyleTabButton(BtnTabBekleyen, True); } else { StyleTabButton(BtnTabBekleyen, False); }
  if (AktifSekme == 'TAMAMLANAN') { StyleTabButton(BtnTabTamamlanan, True); } else { StyleTabButton(BtnTabTamamlanan, False); }

  for (TmpIndex = 0 to KayitCount - 1)
  {
    if (KayitUygunMu(TmpIndex))
    {
      TmpVisibleCount = TmpVisibleCount + 1;
      if (TmpVisibleCount > 100) Break;

      CardPanel[TmpVisibleCount].Visible = True;
      CardPanel[TmpVisibleCount].clTagInt = TmpIndex;
      CardTitle[TmpVisibleCount].clTagInt = TmpIndex;
      CardDetail[TmpVisibleCount].clTagInt = TmpIndex;

      CardTitle[TmpVisibleCount].Caption = ' [' + Trim(KayitTur[TmpIndex]) + '] ' + Trim(KayitMakine[TmpIndex]);
      TarihMetni = Trim(KayitPlanlanan[TmpIndex]);

      OzetMetin = 'Tarih: ' + TarihMetni + #13#10 + 'Tip: ' + Trim(KayitTip[TmpIndex]) + #13#10 + 'Durum: ' + Trim(KayitDurum[TmpIndex]);
      
      if (Trim(KayitOperator[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Operatör: ' + Trim(KayitOperator[TmpIndex]); }
      if (Trim(KayitBaslangic[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Başlangıç: ' + Trim(KayitBaslangic[TmpIndex]); }
      if (Trim(KayitBitisTur[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Süre/Bitiş: ' + Trim(KayitBitisTur[TmpIndex]); }
      if (Trim(KayitAciklama[TmpIndex]) <> '') { OzetMetin = OzetMetin + #13#10 + 'Aciklama: ' + Trim(KayitAciklama[TmpIndex]); }

      CardDetail[TmpVisibleCount].Caption = OzetMetin;
      
      CardPanel[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clWhite;
      CardDetail[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
      CardDetail[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
      CardDetail[TmpVisibleCount].clProSettings.FontSize = UiFontSize;

      CardTitle[TmpVisibleCount].clProSettings.FontColor = clAlphaColor.clWhite;
      CardTitle[TmpVisibleCount].clProSettings.FontName = OkunanFontAdi;
      CardTitle[TmpVisibleCount].clProSettings.FontSize = UiFontSize + 1;

      KartUyariRenk = '#1E293B';
      if ((Pos('Bekliyor', KayitDurum[TmpIndex]) > 0) || (Pos('Yapilmadi', KayitDurum[TmpIndex]) > 0) || (AktifSekme == 'YAKLASAN'))
      { KartUyariRenk = '#EF4444'; }
      if (AktifSekme == 'TAMAMLANAN') { KartUyariRenk = '#10B981'; }

      CardTitle[TmpVisibleCount].clProSettings.BackgroundColor = clAlphaColor.clHexToColor(KartUyariRenk);
      CardPanel[TmpVisibleCount].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');

      CardTitle[TmpVisibleCount].SetclProSettings(CardTitle[TmpVisibleCount].clProSettings);
      CardDetail[TmpVisibleCount].SetclProSettings(CardDetail[TmpVisibleCount].clProSettings);
      CardPanel[TmpVisibleCount].SetclProSettings(CardPanel[TmpVisibleCount].clProSettings);
    }
  }

  for (TmpIndex = TmpVisibleCount + 1 to 100)
  {
    CardPanel[TmpIndex].Visible = False;
  }

  if (TmpVisibleCount == 0)
  {
    LblEmpty.Visible = True;
    PnlListHost.Height = 40;
    PnlMainCard.Height = 1000;
  }
  else
  {
    LblEmpty.Visible = False;
    PnlListHost.Height = (TmpVisibleCount * 170) + 20;
    PnlMainCard.Height = 650 + PnlListHost.Height;
  }
}

void OnSearchRehber;
var RehberHazir: Boolean;
{
  RehberHazir = False;
  try
    if (RehberJsonData.RecordCount >= 0) { RehberHazir = True; }
  except
    RehberHazir = False;
  }

  if (RehberHazir == False) { Exit; }

  if (EdtRehberArama.Text == '')
  {
    RehberJsonData.Filtered = False;
    RehberJsonData.Filter = '';
  }
  else
  {
    RehberJsonData.Filter = 'MAIN_TEXT Like ' + Chr(39) + '%' + EdtRehberArama.Text + '%' + Chr(39);
    RehberJsonData.Filtered = True;
  }
}

void OnListItemClick;
var
  SecilenAnaMetin, SecilenAltMetin: String;
{
  SecilenAnaMetin = LsvBelgeRehber.clSelectedItemData('MAIN_TEXT');
  SecilenAltMetin = LsvBelgeRehber.clSelectedItemData('SUB_TEXT');

  if (SecilenAnaMetin <> GetText('LST_BOS'))
  {
    if (GlobalLookupType == 'OPERATOR')
    {
      EdtOperator.Text = SecilenAnaMetin;
    }
  }

  FormRehber.Close;
}

void OpenRehber;
var
  q: TClSqlQuery;
  MyJsonStr: String;
  CleanMain: String;
  CleanSub: String;
{
  if (IsDBConnected <> True)
  { 
    ConnectToDatabase; 
  }

  if (IsDBConnected <> True)
  {
    ShowMessage('Veritabani baglantisi kurulamadi!');
    Exit;
  }

  MyJsonStr = '[';

  FormRehber = TclGameForm.Create(Self);
  FormRehber.LytTopBar.Visible = False;
  FormRehber.BtnGoBack.Visible = False;
  FormRehber.BtnFormMenu.Visible = False;
  FormRehber.SetFormColor('#0F172A', '#334155', clGVertical);

  LsvBelgeRehber = FormRehber.AddNewListView(FormRehber, 'LsvBelgeRehber');
  LsvBelgeRehber.Align = alClient;
  LsvBelgeRehber.Margins.Top = 65;
  LsvBelgeRehber.Margins.Left = 15;
  LsvBelgeRehber.Margins.Right = 15;
  LsvBelgeRehber.Margins.Bottom = 15;
  FormRehber.AddNewEvent(LsvBelgeRehber, tbeOnItemClick, 'OnListItemClick');

  EdtRehberArama = FormRehber.AddNewProEdit(FormRehber, '', GetText('ARA_OPERATOR'));
  EdtRehberArama.Align = alTop;
  EdtRehberArama.Margins.Top = 15;
  EdtRehberArama.Margins.Left = 15;
  EdtRehberArama.Margins.Right = 15;
  EdtRehberArama.Height = 42;
  EdtRehberArama.clProSettings.FontSize = 14;

  q = TClSqlQuery.Create(nil);
  try
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      if (GlobalLookupType == 'OPERATOR')
      {
        q.SQL.Text = 'SELECT OPERATOR_KODU AS MAIN_TEXT, ISNULL(OPERATOR_ADI, '''') AS SUB_TEXT FROM [TBLURTOPERATORSB] WITH (NOLOCK) WHERE ISNULL(PASIF, 0) = 0 ORDER BY OPERATOR_KODU';
      }
      q.Open;

      while (not q.Eof)
      {
        if (MyJsonStr <> '[') { MyJsonStr = MyJsonStr + ','; }

        CleanMain = q.FieldByName('MAIN_TEXT').AsString;
        CleanMain = clGetStringReplace(CleanMain, '"', '');
        CleanMain = clGetStringReplace(CleanMain, Chr(13), '');
        CleanMain = clGetStringReplace(CleanMain, Chr(10), '');

        CleanSub = q.FieldByName('SUB_TEXT').AsString;
        CleanSub = clGetStringReplace(CleanSub, '"', '');
        CleanSub = clGetStringReplace(CleanSub, Chr(13), '');
        CleanSub = clGetStringReplace(CleanSub, Chr(10), '');

        MyJsonStr = MyJsonStr + '{"MAIN_TEXT":"' + CleanMain + '", "SUB_TEXT":"' + CleanSub + '"}';
        q.Next;
      }
    except
      ShowMessage('Sorgu hatasi: ' + LastExceptionMessage);
    }
  finally
    q.Close;
    q.Free;
  }

  if (MyJsonStr == '[') { MyJsonStr = '[{"MAIN_TEXT":"' + GetText('LST_BOS') + '", "SUB_TEXT":""}]'; }
  else { MyJsonStr = MyJsonStr + ']'; }

  RehberJsonData = Clomosy.clDataSetFromJSON(MyJsonStr);
  LsvBelgeRehber.clLoadListViewDataFromDataset(RehberJsonData);

  FormRehber.AddNewEvent(EdtRehberArama, tbeOnChange, 'OnSearchRehber');
  FormRehber.Run;
}

void BtnRehberOperatorClick;
{
  GlobalLookupType = 'OPERATOR';
  OpenRehber;
}

void GelismisFormuKapatClick;
{
  FormGelismis.Close;
}

void GelismisFormuUygulaClick;
{
  SecilenOperatorFiltresi = Trim(EdtOperator.Text);
  if (SecilenOperatorFiltresi == '') { SecilenOperatorFiltresi = 'Tumu'; }
  RefreshListe;
  FormGelismis.Close;
}

void OpenGelismisForm;
{
  FormGelismis = TclGameForm.Create(Self);
  FormGelismis.LytTopBar.Visible = False;
  FormGelismis.BtnGoBack.Visible = False;
  FormGelismis.BtnFormMenu.Visible = False;
  FormGelismis.SetFormColor('#1E293B', '#3B82F6', clGVertical);

  PnlGelismisCard = FormGelismis.AddNewProPanel(FormGelismis, 'PnlGelismisCard');
  PnlGelismisCard.Align = alClient;
  PnlGelismisCard.Margins.Top = 15; PnlGelismisCard.Margins.Bottom = 15; PnlGelismisCard.Margins.Left = 15; PnlGelismisCard.Margins.Right = 15;
  PnlGelismisCard.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  PnlGelismisCard.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  PnlGelismisCard.clProSettings.BorderWidth = 1; PnlGelismisCard.clProSettings.IsFill = True;
  PnlGelismisCard.clProSettings.IsRound = True; PnlGelismisCard.clProSettings.RoundHeight = 12; PnlGelismisCard.clProSettings.RoundWidth = 12;
  PnlGelismisCard.SetclProSettings(PnlGelismisCard.clProSettings);

  LblOperatorTitle = FormGelismis.AddNewProLabel(PnlGelismisCard, 'LblOperatorTitle', 'Gelişmiş Operatör Filtresi');
  LblOperatorTitle.Align = alTop; LblOperatorTitle.Height = 35; LblOperatorTitle.Margins.Left = 15; LblOperatorTitle.Margins.Top = 15;
  LblOperatorTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
  LblOperatorTitle.clProSettings.FontSize = 16; LblOperatorTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblOperatorTitle.SetclProSettings(LblOperatorTitle.clProSettings);

  GrpOperator = FormGelismis.AddNewProPanel(PnlGelismisCard, 'GrpOperator');
  GrpOperator.Align = alTop; GrpOperator.Height = 58; GrpOperator.Margins.Top = 10; GrpOperator.Margins.Left = 15; GrpOperator.Margins.Right = 15;
  GrpOperator.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  GrpOperator.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); GrpOperator.clProSettings.BorderWidth = 1;
  GrpOperator.clProSettings.IsFill = True; GrpOperator.clProSettings.IsRound = True;
  GrpOperator.clProSettings.RoundHeight = 8; GrpOperator.clProSettings.RoundWidth = 8;
  GrpOperator.SetclProSettings(GrpOperator.clProSettings);

  LblOperator = FormGelismis.AddNewProLabel(GrpOperator, 'LblOperator', 'Operatör Kodu:');
  LblOperator.Align = alTop; LblOperator.Height = 18; LblOperator.Margins.Left = 10; LblOperator.Margins.Top = 6;
  LblOperator.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblOperator.clProSettings.FontSize = 12; LblOperator.SetclProSettings(LblOperator.clProSettings);

  EdtOperator = FormGelismis.AddNewEdit(GrpOperator, 'EdtOperator', '');
  EdtOperator.Align = alClient; EdtOperator.Margins.Left = 10; EdtOperator.Margins.Right = 50; EdtOperator.Margins.Bottom = 7; EdtOperator.Margins.Top = 2;
  EdtOperator.ReadOnly = True;

  BtnOperatorRehber = FormGelismis.AddNewProButton(GrpOperator, 'BtnOperatorRehber', '🔍');
  BtnOperatorRehber.Align = alRight; BtnOperatorRehber.Width = 40; BtnOperatorRehber.Margins.Right = 6; BtnOperatorRehber.Margins.Top = 2; BtnOperatorRehber.Margins.Bottom = 6;
  BtnOperatorRehber.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0');
  BtnOperatorRehber.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
  BtnOperatorRehber.clProSettings.IsFill = True; BtnOperatorRehber.clProSettings.IsRound = True;
  BtnOperatorRehber.clProSettings.RoundHeight = 6; BtnOperatorRehber.clProSettings.RoundWidth = 6;
  BtnOperatorRehber.clProSettings.FontSize = 14;
  BtnOperatorRehber.SetclProSettings(BtnOperatorRehber.clProSettings);
  FormGelismis.AddNewEvent(BtnOperatorRehber, tbeOnClick, 'BtnRehberOperatorClick');

  BtnGelismisUygula = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisUygula', 'Filtreyi Uygula');
  BtnGelismisUygula.Align = alTop; BtnGelismisUygula.Height = 40; BtnGelismisUygula.Margins.Top = 20; BtnGelismisUygula.Margins.Left = 15; BtnGelismisUygula.Margins.Right = 15;
  BtnGelismisUygula.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
  BtnGelismisUygula.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisUygula.clProSettings.IsFill = True;
  BtnGelismisUygula.clProSettings.IsRound = True; BtnGelismisUygula.clProSettings.RoundHeight = 8; BtnGelismisUygula.clProSettings.RoundWidth = 8;
  BtnGelismisUygula.SetclProSettings(BtnGelismisUygula.clProSettings);
  FormGelismis.AddNewEvent(BtnGelismisUygula, tbeOnClick, 'GelismisFormuUygulaClick');

  BtnGelismisKapat = FormGelismis.AddNewProButton(PnlGelismisCard, 'BtnGelismisKapat', 'Kapat');
  BtnGelismisKapat.Align = alTop; BtnGelismisKapat.Height = 35; BtnGelismisKapat.Margins.Top = 8; BtnGelismisKapat.Margins.Left = 15; BtnGelismisKapat.Margins.Right = 15;
  BtnGelismisKapat.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  BtnGelismisKapat.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
  BtnGelismisKapat.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); BtnGelismisKapat.clProSettings.BorderWidth = 1;
  BtnGelismisKapat.clProSettings.IsFill = True; BtnGelismisKapat.clProSettings.IsRound = True;
  BtnGelismisKapat.clProSettings.RoundHeight = 8; BtnGelismisKapat.clProSettings.RoundWidth = 8;
  BtnGelismisKapat.SetclProSettings(BtnGelismisKapat.clProSettings);
  FormGelismis.AddNewEvent(BtnGelismisKapat, tbeOnClick, 'GelismisFormuKapatClick');

  FormGelismis.Run;
}

void ToggleDetailPanel(Goster: Boolean);
var i: Integer;
{
  PnlDetailOverlay.Visible = Goster;

  if (Goster == True) { ScrollForm.Visible = False; }
  else { ScrollForm.Visible = True; }

  for (i = 0 to 11)
  {
    if (i == 5) { DetPnl[5].Visible = False; DetPnl[5].Height = 0; }
    else if (i == 10)
    {
      if (Goster == True)
      {
        if (Trim(KayitTur[ActiveEditIndex]) == 'Ariza')
        { DetPnl[10].Visible = True; DetPnl[10].Height = 120; }
        else
        { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
      }
      else
      { DetPnl[10].Visible = False; DetPnl[10].Height = 0; }
    }
  }
}

void ShowDetailPanel;
var TurMetni: String;
{
  TurMetni = Trim(KayitTur[ActiveEditIndex]);
  if ((TurMetni == 'Bakim') || (TurMetni == 'Bakım') || (Pos('Bakim', TurMetni) > 0) || (Pos('Periyodik', TurMetni) > 0))
  {
    LblDetailTitle.Text = 'Bakim Hareketleri Detayi';
    if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Bakim Kodu:'; }
  }
  else
  {
    LblDetailTitle.Text = 'Ariza Hareketleri Detayi';
    if (DetLbl[4] <> nil) { DetLbl[4].Text = 'Ariza Kodu:'; }
  }

  DetEdt[0].Text = KayitBelgeNo[ActiveEditIndex];
  DetEdt[1].Text = KayitPlanlanan[ActiveEditIndex];
  DetEdt[2].Text = KayitMakine[ActiveEditIndex];
  DetEdt[3].Text = KayitOperator[ActiveEditIndex];
  DetEdt[4].Text = KayitTip[ActiveEditIndex];
  DetEdt[6].Text = KayitBaslangic[ActiveEditIndex];
  DetEdt[7].Text = KayitBitisTur[ActiveEditIndex];
  DetEdt[8].Text = KayitKisi[ActiveEditIndex];
  DetEdt[9].Text = KayitAciklama[ActiveEditIndex];
  DetMemoNeden.Text = KayitNeden[ActiveEditIndex];
  DetEdt[11].Text = KayitDurum[ActiveEditIndex];

  ToggleDetailPanel(True);
}

void OnCardLabelClicked;
var ClickedLabel: TclProLabel;
{
  ClickedLabel = TclProLabel(FormFiltre.clSender);
  ActiveEditIndex = ClickedLabel.clTagInt;
  ShowDetailPanel;
}

void OnCardPanelClicked;
var ClickedPanel: TclProPanel;
{
  ClickedPanel = TclProPanel(FormFiltre.clSender);
  ActiveEditIndex = ClickedPanel.clTagInt;
  ShowDetailPanel;
}

void TabClick;
var ClickedBtn: TclProButton;
{
  ClickedBtn = TclProButton(FormFiltre.clSender);
  if (ClickedBtn.clTagInt == 1) { AktifSekme = 'YAKLASAN'; }
  else if (ClickedBtn.clTagInt == 2) { AktifSekme = 'BEKLEYEN'; }
  else if (ClickedBtn.clTagInt == 3) { AktifSekme = 'TAMAMLANAN'; }
  RefreshListe;
}

void SaveEditClick;
var
  DosyaYolu, Satir: String;
  YeniListe: TclStringList;
  i: Integer;
{
  KayitBelgeNo[ActiveEditIndex] = TemizleMetin(DetEdt[0].Text);
  KayitPlanlanan[ActiveEditIndex] = TemizleMetin(DetEdt[1].Text);
  KayitMakine[ActiveEditIndex] = TemizleMetin(DetEdt[2].Text);
  KayitOperator[ActiveEditIndex] = TemizleMetin(DetEdt[3].Text);
  KayitTip[ActiveEditIndex] = TemizleMetin(DetEdt[4].Text);
  KayitBaslangic[ActiveEditIndex] = TemizleMetin(DetEdt[6].Text);
  KayitBitisTur[ActiveEditIndex] = TemizleMetin(DetEdt[7].Text);
  KayitKisi[ActiveEditIndex] = TemizleMetin(DetEdt[8].Text);
  KayitAciklama[ActiveEditIndex] = TemizleMetin(DetEdt[9].Text);
  KayitNeden[ActiveEditIndex] = TemizleMetin(DetMemoNeden.Text);
  KayitDurum[ActiveEditIndex] = TemizleMetin(DetEdt[11].Text);

  YeniListe = Clomosy.StringListNew;
  i = KayitCount - 1;
  while (i >= 0)
  {
    Satir = KayitTur + '|' + KayitBelgeNo + '|' + KayitMakine + '|' + KayitTip + '|' +
      KayitPlanlanan + '|' + KayitDurum + '|' + KayitAy + '|' + KayitYil + '|' + KayitPeriyot + '|' +
      KayitOperator + '|KALDIRILDI|' + KayitBaslangic + '|' + KayitBitisTur + '|' +
      KayitKisi + '|' + KayitAciklama + '|' + KayitNeden;
    
    YeniListe.Add(Satir);
    i = i - 1;
  }
  DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
  YeniListe.SaveToFile(DosyaYolu, 0);
  YeniListe.Free;

  ToggleDetailPanel(False);
  RefreshListe;
}

void MarkAsCompletedClick;
{
  DetEdt[11].Text = 'Tamamlandi';
  SaveEditClick;
}

void PostponeClick;
{
  DetEdt[11].Text = '10 Gun Ertelendi';
  SaveEditClick;
}

void CancelEditClick;
{
  ToggleDetailPanel(False);
}

void ApplyFilter;
{
  RefreshListe;
}

void ClearFilter;
{
  CmbTur.ItemIndex = 0;
  CmbAy.ItemIndex = 0;
  CmbYil.ItemIndex = 0;
  CmbPeriyot.ItemIndex = 0;
  SecilenOperatorFiltresi = 'Tumu';
  RefreshListe;
}

void GoBack;
{
  FormFiltre.Close;
}

void AyarlariYenile;
var
  YuklenenAyarlar: TclStringList;
  OkunanDosyaYolu, TmpDeger: String;
{
  VerileriDosyadanYukle;
  OkunanDosyaYolu = clPathCombine('UygulamaAyarlari_V3.txt', Clomosy.AppFilesPath);
  if (clFileExists(OkunanDosyaYolu, ''))
  {
    YuklenenAyarlar = Clomosy.StringListNew;
    YuklenenAyarlar.LoadFromFile(OkunanDosyaYolu, 0);
    if (YuklenenAyarlar.Count > 0) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 0)); if (TmpDeger <> '') { OkunanTemaIndex = StrToInt(TmpDeger); } }
    if (YuklenenAyarlar.Count > 1) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 1)); if (TmpDeger <> '') { OkunanBoyutIndex = StrToInt(TmpDeger); } }
    if (YuklenenAyarlar.Count > 2) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 2)); if (TmpDeger <> '') { gAktifDilIndex = StrToInt(TmpDeger); } }
    if (YuklenenAyarlar.Count > 5) { TmpDeger = Trim(Clomosy.StringListItemString(YuklenenAyarlar, 5)); if (TmpDeger <> '') { OkunanFontAdi = TmpDeger; } }
    if (OkunanBoyutIndex == 0) { UiFontSize = 12; }
    else if (OkunanBoyutIndex == 2) { UiFontSize = 16; }
    else { UiFontSize = 14; }
    YuklenenAyarlar.Free;
  }

  AyarDosyasindanTemayiYukle(OkunanTemaIndex);
  ApplyUiSettings;
  RefreshListe;
}

{
  FormFiltre = TclGameForm.Create(Self);
  FormFiltre.LytTopBar.Visible = False;
  FormFiltre.BtnGoBack.Visible = False;
  FormFiltre.BtnFormMenu.Visible = False;

  OkunanTemaIndex = 0; UiFontSize = 13;
  OkunanUyariRengi = '#EF4444'; OkunanYaziRengi = '#1E293B';
  OkunanKartRengi = '#FFFFFF'; OkunanZeminRengi = '#F8FAFC';
  OkunanFontAdi = 'Arial'; OkunanStilIndex = 0; OkunanHizaIndex = 1; GlobalAktifDilIndex = 0;
  AktifSekme = 'BEKLEYEN';
  SecilenOperatorFiltresi = 'Tumu';

  AyarDosyasindanTemayiYukle(OkunanTemaIndex);

  PnlNavBar = FormFiltre.AddNewProPanel(FormFiltre, 'PnlNavBar');
  PnlNavBar.Align = alTop; PnlNavBar.Height = 75; StyleHeaderBar(PnlNavBar);

  BtnBack = FormFiltre.AddNewProButton(PnlNavBar, 'BtnBack', '<');
  BtnBack.Align = alLeft; BtnBack.Width = 45; BtnBack.Margins.Top = 20; BtnBack.Margins.Left = 5;
  BtnBack.clProSettings.FontColor = clAlphaColor.clWhite; BtnBack.clProSettings.BorderWidth = 0; BtnBack.clProSettings.IsFill = False;
  BtnBack.clProSettings.FontSize = 20; BtnBack.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnBack.SetclProSettings(BtnBack.clProSettings); FormFiltre.AddNewEvent(BtnBack, tbeOnClick, 'GoBack');

  LblTitle = FormFiltre.AddNewProLabel(PnlNavBar, 'LblTitle', ''); LblTitle.Align = alClient; LblTitle.Margins.Left = 8; LblTitle.Margins.Top = 20;
  LblTitle.clProSettings.FontColor = clAlphaColor.clWhite; LblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblTitle.clProSettings.FontVertAlign = palcenter; LblTitle.SetclProSettings(LblTitle.clProSettings);

  BtnGelismisOpen = FormFiltre.AddNewProButton(PnlNavBar, 'BtnGelismisOpen', 'Gelişmiş Form');
  BtnGelismisOpen.Align = alRight; BtnGelismisOpen.Width = 110; BtnGelismisOpen.Margins.Top = 18; BtnGelismisOpen.Margins.Bottom = 18; BtnGelismisOpen.Margins.Right = 10;
  BtnGelismisOpen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0284C7');
  BtnGelismisOpen.clProSettings.FontColor = clAlphaColor.clWhite; BtnGelismisOpen.clProSettings.IsFill = True;
  BtnGelismisOpen.clProSettings.IsRound = True; BtnGelismisOpen.clProSettings.RoundHeight = 6; BtnGelismisOpen.clProSettings.RoundWidth = 6;
  BtnGelismisOpen.clProSettings.FontSize = 12; BtnGelismisOpen.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnGelismisOpen.SetclProSettings(BtnGelismisOpen.clProSettings);
  FormFiltre.AddNewEvent(BtnGelismisOpen, tbeOnClick, 'OpenGelismisForm');

  ScrollForm = FormFiltre.AddNewVertScrollBox(FormFiltre, 'ScrollForm'); ScrollForm.Align = alClient;

  PnlMainCard = FormFiltre.AddNewProPanel(ScrollForm, 'PnlMainCard'); PnlMainCard.Align = alTop; PnlMainCard.Height = 1050; PnlMainCard.Margins.Top = 12; PnlMainCard.Margins.Left = 10; PnlMainCard.Margins.Right = 10; PnlMainCard.Margins.Bottom = 15;
  StyleMainCard(PnlMainCard);

  LblTitleFilter = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleFilter', ''); LblTitleFilter.Align = alTop; LblTitleFilter.Height = 28; LblTitleFilter.Margins.Left = 12; LblTitleFilter.Margins.Top = 15; StyleSectionTitle(LblTitleFilter);

  GrpTur = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpTur'); GrpTur.Align = alTop; GrpTur.Height = 54; GrpTur.Margins.Top = 8; GrpTur.Margins.Left = 12; GrpTur.Margins.Right = 12; StyleInputPanel(GrpTur);
  LblTur = FormFiltre.AddNewProLabel(GrpTur, 'LblTur', ''); LblTur.Align = alTop; LblTur.Height = 16; LblTur.Margins.Left = 10; LblTur.Margins.Top = 5; StyleInputLabel(LblTur);
  CmbTur = FormFiltre.AddNewComboBox(GrpTur, 'CmbTur'); CmbTur.Align = alClient; CmbTur.Margins.Left = 10; CmbTur.Margins.Right = 10; CmbTur.Margins.Bottom = 6;

  GrpPeriyot = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpPeriyot'); GrpPeriyot.Align = alTop; GrpPeriyot.Height = 54; GrpPeriyot.Margins.Top = 6; GrpPeriyot.Margins.Left = 12; GrpPeriyot.Margins.Right = 12; StyleInputPanel(GrpPeriyot);
  LblPeriyot = FormFiltre.AddNewProLabel(GrpPeriyot, 'LblPeriyot', ''); LblPeriyot.Align = alTop; LblPeriyot.Height = 16; LblPeriyot.Margins.Left = 10; LblPeriyot.Margins.Top = 5; StyleInputLabel(LblPeriyot);
  CmbPeriyot = FormFiltre.AddNewComboBox(GrpPeriyot, 'CmbPeriyot'); CmbPeriyot.Align = alClient; CmbPeriyot.Margins.Left = 10; CmbPeriyot.Margins.Right = 10; CmbPeriyot.Margins.Bottom = 6;

  GrpAy = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpAy'); GrpAy.Align = alTop; GrpAy.Height = 54; GrpAy.Margins.Top = 6; GrpAy.Margins.Left = 12; GrpAy.Margins.Right = 12; StyleInputPanel(GrpAy);
  LblAy = FormFiltre.AddNewProLabel(GrpAy, 'LblAy', ''); LblAy.Align = alTop; LblAy.Height = 16; LblAy.Margins.Left = 10; LblAy.Margins.Top = 5; StyleInputLabel(LblAy);
  CmbAy = FormFiltre.AddNewComboBox(GrpAy, 'CmbAy'); CmbAy.Align = alClient; CmbAy.Margins.Left = 10; CmbAy.Margins.Right = 10; CmbAy.Margins.Bottom = 6;

  GrpYil = FormFiltre.AddNewProPanel(PnlMainCard, 'GrpYil'); GrpYil.Align = alTop; GrpYil.Height = 54; GrpYil.Margins.Top = 6; GrpYil.Margins.Left = 12; GrpYil.Margins.Right = 12; StyleInputPanel(GrpYil);
  LblYil = FormFiltre.AddNewProLabel(GrpYil, 'LblYil', ''); LblYil.Align = alTop; LblYil.Height = 16; LblYil.Margins.Left = 10; LblYil.Margins.Top = 5; StyleInputLabel(LblYil);
  CmbYil = FormFiltre.AddNewComboBox(GrpYil, 'CmbYil'); CmbYil.Align = alClient; CmbYil.Margins.Left = 10; CmbYil.Margins.Right = 10; CmbYil.Margins.Bottom = 6;

  PnlFilterButtons = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlFilterButtons'); PnlFilterButtons.Align = alTop; PnlFilterButtons.Height = 46; PnlFilterButtons.Margins.Top = 14; PnlFilterButtons.Margins.Left = 12; PnlFilterButtons.Margins.Right = 12; PnlFilterButtons.clProSettings.BorderWidth = 0; PnlFilterButtons.SetclProSettings(PnlFilterButtons.clProSettings);
  BtnUygula = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnUygula', ''); BtnUygula.Align = alLeft; BtnUygula.Width = 100; BtnUygula.Margins.Right = 10; StylePrimaryButton(BtnUygula); FormFiltre.AddNewEvent(BtnUygula, tbeOnClick, 'ApplyFilter');
  BtnTemizle = FormFiltre.AddNewProButton(PnlFilterButtons, 'BtnTemizle', ''); BtnTemizle.Align = alLeft; BtnTemizle.Width = 90; StyleSecondaryButton(BtnTemizle); FormFiltre.AddNewEvent(BtnTemizle, tbeOnClick, 'ClearFilter');

  LblTitleList = FormFiltre.AddNewProLabel(PnlMainCard, 'LblTitleList', ''); LblTitleList.Align = alTop; LblTitleList.Height = 28; LblTitleList.Margins.Left = 12; LblTitleList.Margins.Top = 18; StyleSectionTitle(LblTitleList);

  PnlTabs = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlTabs'); PnlTabs.Align = alTop; PnlTabs.Height = 42; PnlTabs.Margins.Left = 12; PnlTabs.Margins.Right = 12; PnlTabs.Margins.Top = 4; PnlTabs.clProSettings.BorderWidth = 0; PnlTabs.SetclProSettings(PnlTabs.clProSettings);

  BtnTabYaklasan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabYaklasan', 'Yaklasan (5 Gun)'); BtnTabYaklasan.Align = alLeft; BtnTabYaklasan.Width = 115; BtnTabYaklasan.Margins.Right = 6; BtnTabYaklasan.clTagInt = 1; FormFiltre.AddNewEvent(BtnTabYaklasan, tbeOnClick, 'TabClick');
  BtnTabBekleyen = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabBekleyen', 'Bekleyenler'); BtnTabBekleyen.Align = alLeft; BtnTabBekleyen.Width = 105; BtnTabBekleyen.Margins.Right = 6; BtnTabBekleyen.clTagInt = 2; FormFiltre.AddNewEvent(BtnTabBekleyen, tbeOnClick, 'TabClick');
  BtnTabTamamlanan = FormFiltre.AddNewProButton(PnlTabs, 'BtnTabTamamlanan', 'Tamamlananlar'); BtnTabTamamlanan.Align = alLeft; BtnTabTamamlanan.Width = 115; BtnTabTamamlanan.clTagInt = 3; FormFiltre.AddNewEvent(BtnTabTamamlanan, tbeOnClick, 'TabClick');

  LblEmpty = FormFiltre.AddNewProLabel(PnlMainCard, 'LblEmpty', ''); LblEmpty.Align = alTop; LblEmpty.Height = 28; LblEmpty.Margins.Left = 15; LblEmpty.Margins.Top = 10; LblEmpty.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569'); LblEmpty.SetclProSettings(LblEmpty.clProSettings);

  PnlListHost = FormFiltre.AddNewProPanel(PnlMainCard, 'PnlListHost'); PnlListHost.Align = alTop; PnlListHost.clProSettings.BorderWidth = 0; PnlListHost.SetclProSettings(PnlListHost.clProSettings);

  for (TmpIndex = 1 to 100)
  {
    CardPanel[TmpIndex] = FormFiltre.AddNewProPanel(PnlListHost, 'CardPanel' + IntToStr(TmpIndex));
    CardPanel[TmpIndex].Align = alTop; CardPanel[TmpIndex].Margins.Top = 10; CardPanel[TmpIndex].Margins.Left = 12; CardPanel[TmpIndex].Margins.Right = 12; CardPanel[TmpIndex].Height = 170;
    CardPanel[TmpIndex].clProSettings.BorderWidth = 1; CardPanel[TmpIndex].clProSettings.IsFill = True; CardPanel[TmpIndex].clProSettings.IsRound = True; CardPanel[TmpIndex].clProSettings.RoundHeight = 8; CardPanel[TmpIndex].clProSettings.RoundWidth = 8; CardPanel[TmpIndex].SetclProSettings(CardPanel[TmpIndex].clProSettings);
    FormFiltre.AddNewEvent(CardPanel[TmpIndex], tbeOnClick, 'OnCardPanelClicked');

    CardTitle[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardTitle' + IntToStr(TmpIndex), '');
    CardTitle[TmpIndex].Align = alTop; CardTitle[TmpIndex].Height = 32;
    CardTitle[TmpIndex].clProSettings.FontColor = clAlphaColor.clWhite; CardTitle[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; CardTitle[TmpIndex].clProSettings.IsFill = True; CardTitle[TmpIndex].clProSettings.IsRound = True; CardTitle[TmpIndex].clProSettings.RoundHeight = 8; CardTitle[TmpIndex].clProSettings.RoundWidth = 8; CardTitle[TmpIndex].SetclProSettings(CardTitle[TmpIndex].clProSettings);
    FormFiltre.AddNewEvent(CardTitle[TmpIndex], tbeOnClick, 'OnCardLabelClicked');

    CardDetail[TmpIndex] = FormFiltre.AddNewProLabel(CardPanel[TmpIndex], 'CardDetail' + IntToStr(TmpIndex), '');
    CardDetail[TmpIndex].Align = alClient; CardDetail[TmpIndex].Margins.Left = 10; CardDetail[TmpIndex].Margins.Right = 10; CardDetail[TmpIndex].Margins.Top = 6; CardDetail[TmpIndex].Margins.Bottom = 6; CardDetail[TmpIndex].clProSettings.WordWrap = True; CardDetail[TmpIndex].SetclProSettings(CardDetail[TmpIndex].clProSettings);
    FormFiltre.AddNewEvent(CardDetail[TmpIndex], tbeOnClick, 'OnCardLabelClicked');
  }

  PnlDetailOverlay = FormFiltre.AddNewProPanel(FormFiltre, 'PnlDetailOverlay');
  PnlDetailOverlay.Align = alClient; PnlDetailOverlay.clProSettings.BackgroundColor = clAlphaColor.clWhite; PnlDetailOverlay.clProSettings.IsFill = True; PnlDetailOverlay.SetclProSettings(PnlDetailOverlay.clProSettings);

  PnlDetailHeader = FormFiltre.AddNewProPanel(PnlDetailOverlay, 'PnlDetailHeader');
  PnlDetailHeader.Align = alTop; PnlDetailHeader.Height = 50;
  PnlDetailHeader.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  PnlDetailHeader.clProSettings.IsFill = True;
  PnlDetailHeader.SetclProSettings(PnlDetailHeader.clProSettings);

  LblDetailTitle = FormFiltre.AddNewProLabel(PnlDetailHeader, 'LblDetailTitle', 'Hareket Detayi');
  LblDetailTitle.Align = alClient; LblDetailTitle.Margins.Left = 15;
  LblDetailTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B');
  LblDetailTitle.clProSettings.FontSize = 16;
  LblDetailTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblDetailTitle.SetclProSettings(LblDetailTitle.clProSettings);

  DetailScroll = FormFiltre.AddNewVertScrollBox(PnlDetailOverlay, 'DetailScroll');
  DetailScroll.Align = alClient; DetailScroll.Margins.Left = 12; DetailScroll.Margins.Right = 12;

  for (TmpIndex = 0 to 11)
  {
    DetPnl[TmpIndex] = FormFiltre.AddNewProPanel(DetailScroll, 'DetPnl'+IntToStr(TmpIndex));
    DetPnl[TmpIndex].Align = alTop; DetPnl[TmpIndex].Margins.Top = 10;
    DetPnl[TmpIndex].clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1'); DetPnl[TmpIndex].clProSettings.BorderWidth = 1;
    DetPnl[TmpIndex].clProSettings.IsRound = True; DetPnl[TmpIndex].clProSettings.RoundHeight = 8; DetPnl[TmpIndex].clProSettings.RoundWidth = 8;
    DetPnl[TmpIndex].clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
    DetPnl[TmpIndex].SetclProSettings(DetPnl[TmpIndex].clProSettings);

    DetLbl[TmpIndex] = FormFiltre.AddNewProLabel(DetPnl[TmpIndex], 'DetLbl'+IntToStr(TmpIndex), '');
    DetLbl[TmpIndex].clProSettings.FontColor = clAlphaColor.clHexToColor('#1E293B'); DetLbl[TmpIndex].clProSettings.FontSize = 12; DetLbl[TmpIndex].clProSettings.TextSettings.Font.Style = [fsBold]; DetLbl[TmpIndex].SetclProSettings(DetLbl[TmpIndex].clProSettings);

    if (TmpIndex == 10)
    {
      DetPnl[TmpIndex].Height = 120;
      DetLbl[TmpIndex].Align = alTop; DetLbl[TmpIndex].Height = 25; DetLbl[TmpIndex].Margins.Left = 10; DetLbl[TmpIndex].Margins.Top = 5;
      DetMemoNeden = FormFiltre.AddNewMemo(DetPnl[TmpIndex], 'DetMemoNeden', '');
      DetMemoNeden.Align = alClient; DetMemoNeden.Margins.Left = 10; DetMemoNeden.Margins.Right = 10; DetMemoNeden.Margins.Bottom = 10;
    }
    else
    {
      DetPnl[TmpIndex].Height = 50;
      DetLbl[TmpIndex].Align = alLeft; DetLbl[TmpIndex].Width = 140; DetLbl[TmpIndex].Margins.Left = 10;

      DetEdt[TmpIndex] = FormFiltre.AddNewEdit(DetPnl[TmpIndex], 'DetEdt'+IntToStr(TmpIndex), '');
      DetEdt[TmpIndex].Align = alClient;
      DetEdt[TmpIndex].Margins.Left = 5;
      DetEdt[TmpIndex].Margins.Right = 10;
      DetEdt[TmpIndex].Margins.Top = 5;
      DetEdt[TmpIndex].Margins.Bottom = 5;
    }
  }

  PnlDetailButtons = FormFiltre.AddNewProPanel(DetailScroll, 'PnlDetailButtons');
  PnlDetailButtons.Align = alTop; PnlDetailButtons.Height = 65; PnlDetailButtons.Margins.Top = 15; PnlDetailButtons.Margins.Bottom = 20; PnlDetailButtons.clProSettings.BorderWidth = 0; PnlDetailButtons.SetclProSettings(PnlDetailButtons.clProSettings);

  BtnDetailSave = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailSave', 'Kaydet');
  BtnDetailSave.Align = alLeft; BtnDetailSave.Width = 85; StylePrimaryButton(BtnDetailSave); FormFiltre.AddNewEvent(BtnDetailSave, tbeOnClick, 'SaveEditClick');

  BtnTamamlandi = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnTamamlandi', 'Tamamlandi');
  BtnTamamlandi.Align = alLeft; BtnTamamlandi.Width = 105; BtnTamamlandi.Margins.Left = 6; StylePrimaryButton(BtnTamamlandi); FormFiltre.AddNewEvent(BtnTamamlandi, tbeOnClick, 'MarkAsCompletedClick');

  BtnErtele = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnErtele', '10 G. Ertele');
  BtnErtele.Align = alLeft; BtnErtele.Width = 95; BtnErtele.Margins.Left = 6; StyleSecondaryButton(BtnErtele); FormFiltre.AddNewEvent(BtnErtele, tbeOnClick, 'PostponeClick');

  BtnDetailCancel = FormFiltre.AddNewProButton(PnlDetailButtons, 'BtnDetailCancel', 'Kapat');
  BtnDetailCancel.Align = alRight; BtnDetailCancel.Width = 85; StyleSecondaryButton(BtnDetailCancel); FormFiltre.AddNewEvent(BtnDetailCancel, tbeOnClick, 'CancelEditClick');

  ToggleDetailPanel(False);

  FormFiltre.AddNewEvent(FormFiltre, tbeOnFormActivate, 'AyarlariYenile');
  AyarlariYenile;
  FormFiltre.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" 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,078 Saniyede Yüklendi.