![]() |
| 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
|
| Yazar | |
kayra22
Deneyimli Üye
Kayıt Tarihi: 20 Temmuz 2026 Durum: Aktif Değil Puanlar: 46 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: operatör hatasıGönderim Zamanı: 13 Saat 36 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">
|
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 1009 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 13 Saat 13 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">
|
|
![]() |
|
kayra22
Deneyimli Üye
Kayıt Tarihi: 20 Temmuz 2026 Durum: Aktif Değil Puanlar: 46 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 13 Saat 5 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">
|
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 1009 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 12 Saat 45 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">
|
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |