Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - stok ekleme
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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

stok ekleme

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


Kayıt Tarihi: 23 Aralık 2024
Durum: Aktif Değil
Puanlar: 61
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kayra12 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: stok ekleme
    Gönderim Zamanı: 17 Saat 31 Dakika Önce Saat 17:01

Var
  BakimForm, RehberForm, StokFiltreForm: TclGameForm;
  LsvRehber: TClProListView; 
  EdtAramaRehber: TclProEdit;
  DataRehber: TclJsonQuery;
  GlobalLookupType: String; 

  PnlNavBar, PnlHeaderTop, PnlMainCard: TclProPanel;
  BtnScroll: TclHorzScrollBox;
  LblNavTitle, LblSect1Title, LblGridTitle, LblPhotoTitle, LblTalimatTitle: TClProLabel;
  BtnGeri, BtnYeni, BtnKaydet, BtnYazdir, BtnResimCek, BtnOperatorKaydet: TClProButton; 
  BtnRehberAc, BtnBakimKoduRehber, BtnMakineKoduRehber, BtnBaglantiRehber, BtnCariKoduRehber: TClProButton;
  GrpBelgeNo, GrpTarih, GrpBakimTipi, GrpBakimTuru, GrpBakimKodu, GrpMakineKodu, GrpBaglanti, GrpCariKodu: TclProPanel;
  GrpBaslangic, GrpGirisZamani, GrpPlanlananBitis, GrpBakimDurumu, GrpKisiSayisi, GrpOperatorGrup, GrpOperator, GrpOperatorBilgisi, GrpAciklama: TclProPanel;
  LblBelgeNo, LblTarih, LblBakimTipi, LblBakimTuru, LblBakimKodu, LblMakineKodu, LblBaglanti, LblCariKodu: TClProLabel;
  LblBaslangic, LblGirisZamani, LblPlanlananBitis, LblBakimDurumu, LblKisiSayisi, LblOperatorGrup, LblOperator, LblOperatorBilgisi, LblAciklama: TClProLabel;
  EdtBelgeNo, EdtTarih, EdtBakimKodu, EdtMakineKodu, EdtBaglanti, EdtCariKodu: TclProEdit;
  EdtBaslangic, EdtBaslangicSaat, EdtGirisZamani, EdtKisiSayisi, EdtOperatorBilgisi, EdtAciklama: TclProEdit;
  CmbBakimTipi, CmbBakimTuru, CmbOperatorGrup, CmbOperator, CmbYeniOperatorGrup, CmbPlanlananBitis, CmbBakimDurumu: TClComboBox;

  // TABLO TASARIMI İÇİN BİLEŞENLER
  HScrollGrid: TclHorzScrollBox;
  PnlGridContainer, PnlGridHeader, PnlGridTitleArea: TclProPanel;
  ListGrid: TClProListView; 
  ListGridDesigner: TClProListViewDesignerPanel;
  LblCol1, LblCol2, LblCol3, LblCol4, LblCol5, LblCol6: TClProLabel;
  LblD1, LblD2, LblD3, LblD4, LblD5, LblD6: TClProLabel;
  BtnStokEkleAnaForm: TClProButton; 

  PnlTalimatKutu, PnlPhotoKutu: TclProPanel;
  MemTabContent: TclMemo;
  ScrollForm: TclVertScrollBox;
  ImgPhoto, ImgBelge, ImgBakim, ImgMakine, ImgBaglanti, ImgCari: TclImage;

  MyJsonItems, KayitliOperatorA, KayitliOperatorB, KayitliOperatorC: String;
  UiFontSize, OkunanStilIndex: Integer;
  OkunanFontAdi: String;
  ThemeKoyuRenk, ThemeAcikRenk: String;
  ThemeBgColor, ThemeBorderColor, ThemeTextColor: String;

  gAktifDilIndex: Integer;
  gTabletModuAktif: Integer;
  gTabletYonIndex: Integer;
  gCounter: Integer; // EŞSİZ İSİMLENDİRME İÇİN SAYAÇ

  // STOK FILTRELEME FORMU BİLEŞENLERİ
  PnlFiltreSag, PnlFiltreSagUst, PnlFiltreSagAlt, PnlFiltreAramaKutu, PnlEklemeKutu, PnlAktarKutu: TclProPanel;
  LsvKisitUyanlar, LsvEklenecekler: TClProListView;
  LsvKisitDP, LsvEklenecekDP: TclProListViewDesignerPanel;
  LblKisitD1, LblKisitD2, LblEkleD1, LblEkleD2, LblEkleD3, LblFiltreStokKodu: TClProLabel;
  BtnKodRehber: TclProButton;
  EdtFiltreStokKodu, EdtBilesenMiktar: TclProEdit;
  BtnFiltreAra, BtnBilesenEkle, BtnAktar: TClProButton;
  JsonEkleneceklerHavuzu, SecilenStokKodu, SecilenStokAdi: String;

void OnKeyboardShow; { ScrollForm.Margins.Bottom = BakimForm.clVKBoundsHeight; }
void OnKeyboardHide; { ScrollForm.Margins.Bottom = 0; }

// =====================================================================
// --- DİL MOTORU ---
// =====================================================================
function GetText(Key: String): String;
{
  Result = Key;
  
  if (gAktifDilIndex == 1) { 
    if (Key == 'NAV_TITLE') { Result = 'Maintenance Movements'; } 
    else if (Key == 'YENI') { Result = 'New'; } 
    else if (Key == 'KAYDET') { Result = 'Save'; } 
    else if (Key == 'YAZDIR') { Result = 'Print'; } 
    else if (Key == 'SECT1') { Result = '1. GENERAL INFO'; } 
    else if (Key == 'SECT2') { Result = '2. MATERIAL & COST'; } 
    else if (Key == 'SECT3') { Result = '3. VISUALS'; } 
    else if (Key == 'SECT4') { Result = '4. INSTRUCTIONS'; } 
    else if (Key == 'BELGE_NO') { Result = 'Doc No:'; } 
    else if (Key == 'TARIH') { Result = 'Date:'; } 
    else if (Key == 'BAKIM_TIPI') { Result = 'Maint. Type:'; } 
    else if (Key == 'BAKIM_TURU') { Result = 'Maint. Category:'; } 
    else if (Key == 'BAKIM_KODU') { Result = 'Maint. Code:'; } 
    else if (Key == 'MAKINE_KODU') { Result = 'Machine Code:'; } 
    else if (Key == 'BAGLANTI') { Result = 'Connection:'; } 
    else if (Key == 'CARI_KODU') { Result = 'Current Code:'; } 
    else if (Key == 'BASLANGIC') { Result = 'Start Date/Time:'; } 
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Entry Time:'; } 
    else if (Key == 'PLANLANAN') { Result = 'Planned End Time:'; } 
    else if (Key == 'BAKIM_DURUMU') { Result = 'Maintenance Status:'; } 
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Done (Completed)'; } 
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Not Done (Pending)'; } 
    else if (Key == 'KISI_SAYISI') { Result = 'Headcount:'; } 
    else if (Key == 'OP_GRUP') { Result = 'Operator Group:'; } 
    else if (Key == 'OPERATOR') { Result = 'Operator in Charge:'; } 
    else if (Key == 'OP_BILGI') { Result = 'New Operator Info:'; } 
    else if (Key == 'ACIKLAMA') { Result = 'Description:'; } 
    else if (Key == 'KAMERA') { Result = 'Open Camera'; } 
    else if (Key == 'OP_KAYDET') { Result = 'Save'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Cut off machine power.' + #13#10 + '2. Attach safety lock.' + #13#10 + '3. Check bearing housings.' + #13#10 + '4. Tighten and align.' + #13#10 + '5. Perform a test run.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Form cleared.'; } 
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Please enter Doc No before saving!'; } 
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Please select maintenance status!'; } 
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'SAVE SUCCESSFUL!'; } 
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Added Data: '; } 
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Please enter Operator Info first.'; } 
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Please select a group for the operator.'; } 
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operator saved.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Search Document...'; } 
    else if (Key == 'GRID_COL1') { Result = 'Item Code'; } 
    else if (Key == 'GRID_COL2') { Result = 'Item Name'; } 
    else if (Key == 'GRID_COL3') { Result = 'Qty'; } 
    else if (Key == 'GRID_COL4') { Result = 'Unit'; } 
    else if (Key == 'GRID_COL5') { Result = 'Price'; } 
    else if (Key == 'GRID_COL6') { Result = 'Amount'; } 
    else if (Key == 'STOK_EKLE') { Result = '+ Add Stock'; }
    else if (Key == 'LST_BOS') { Result = 'No material records found.'; }
  } 
  else if (gAktifDilIndex == 2) { 
    if (Key == 'NAV_TITLE') { Result = 'Wartungsbewegungen'; } 
    else if (Key == 'YENI') { Result = 'Neu'; } 
    else if (Key == 'KAYDET') { Result = 'Speichern'; } 
    else if (Key == 'YAZDIR') { Result = 'Drucken'; }
    else if (Key == 'SECT1') { Result = '1. ALLGEMEINE INFO'; } 
    else if (Key == 'SECT2') { Result = '2. MATERIAL & KOSTEN'; } 
    else if (Key == 'SECT3') { Result = '3. VISUALS'; } 
    else if (Key == 'SECT4') { Result = '4. ANWEISUNGEN'; } 
    else if (Key == 'BELGE_NO') { Result = 'Dokumenten-Nr.:'; } 
    else if (Key == 'TARIH') { Result = 'Datum:'; } 
    else if (Key == 'BAKIM_TIPI') { Result = 'Wartungsart:'; } 
    else if (Key == 'BAKIM_TURU') { Result = 'Wartungskategorie:'; } 
    else if (Key == 'BAKIM_KODU') { Result = 'Wartungscode:'; } 
    else if (Key == 'MAKINE_KODU') { Result = 'Maschinencode:'; } 
    else if (Key == 'BAGLANTI') { Result = 'Verbindung:'; } 
    else if (Key == 'CARI_KODU') { Result = 'Aktueller Code:'; } 
    else if (Key == 'BASLANGIC') { Result = 'Startdatum/-zeit:'; } 
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Eintrittszeit:'; } 
    else if (Key == 'PLANLANAN') { Result = 'Geplante Endzeit:'; } 
    else if (Key == 'BAKIM_DURUMU') { Result = 'Wartungsstatus:'; } 
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Erledigt'; } 
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Nicht Erledigt'; } 
    else if (Key == 'KISI_SAYISI') { Result = 'Kopfzahl:'; } 
    else if (Key == 'OP_GRUP') { Result = 'Bedienergruppe:'; } 
    else if (Key == 'OPERATOR') { Result = 'Zuständiger Bediener:'; } 
    else if (Key == 'OP_BILGI') { Result = 'Neue Bedienerinfo:'; } 
    else if (Key == 'ACIKLAMA') { Result = 'Beschreibung:'; } 
    else if (Key == 'KAMERA') { Result = 'Kamera öffnen'; } 
    else if (Key == 'OP_KAYDET') { Result = 'Speichern'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Maschinenstrom abschalten.' + #13#10 + '2. Sicherheitsschloss anbringen.' + #13#10 + '3. Lagergehäuse prüfen.' + #13#10 + '4. Festziehen und ausrichten.' + #13#10 + '5. Testlauf durchführen.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Formular geleert.'; } 
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Bitte Dokumenten-Nr. vor dem Speichern eingeben!'; } 
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Bitte Wartungsstatus auswählen!'; } 
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'SPEICHERN ERFOLGREICH!'; } 
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Hinzugefügte Daten: '; } 
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Bitte zuerst Bedienerinfo eingeben.'; } 
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Bitte eine Gruppe für den Bediener auswählen.'; } 
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Bediener gespeichert.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Dokument suchen...'; } 
    else if (Key == 'GRID_COL1') { Result = 'Artikelnr.'; } 
    else if (Key == 'GRID_COL2') { Result = 'Artikelname'; } 
    else if (Key == 'GRID_COL3') { Result = 'Menge'; } 
    else if (Key == 'GRID_COL4') { Result = 'Einh.'; } 
    else if (Key == 'GRID_COL5') { Result = 'Preis'; } 
    else if (Key == 'GRID_COL6') { Result = 'Betrag'; } 
    else if (Key == 'STOK_EKLE') { Result = '+ Bestand Hzfg'; }
    else if (Key == 'LST_BOS') { Result = 'Keine Materialdatensätze gefunden.'; }
  }
  else if (gAktifDilIndex == 3) { 
    if (Key == 'NAV_TITLE') { Result = 'Mouvements de Maint'; } 
    else if (Key == 'YENI') { Result = 'Nouveau'; } 
    else if (Key == 'KAYDET') { Result = 'Enregistrer'; } 
    else if (Key == 'YAZDIR') { Result = 'Imprimer'; }
    else if (Key == 'SECT1') { Result = '1. INFOS GENERALES'; } 
    else if (Key == 'SECT2') { Result = '2. MATERIEL ET COUT'; } 
    else if (Key == 'SECT3') { Result = '3. VISUELS'; } 
    else if (Key == 'SECT4') { Result = '4. INSTRUCTIONS'; } 
    else if (Key == 'BELGE_NO') { Result = 'N Doc:'; } 
    else if (Key == 'TARIH') { Result = 'Date:'; } 
    else if (Key == 'BAKIM_TIPI') { Result = 'Type Maint.:'; } 
    else if (Key == 'BAKIM_TURU') { Result = 'Categorie Maint.:'; } 
    else if (Key == 'BAKIM_KODU') { Result = 'Code Maint.:'; } 
    else if (Key == 'MAKINE_KODU') { Result = 'Code Machine:'; } 
    else if (Key == 'BAGLANTI') { Result = 'Connexion:'; } 
    else if (Key == 'CARI_KODU') { Result = 'Code Courant:'; } 
    else if (Key == 'BASLANGIC') { Result = 'Date/Heure Debut:'; } 
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Heure d Entree:'; } 
    else if (Key == 'PLANLANAN') { Result = 'Heure de Fin Prevue:'; } 
    else if (Key == 'BAKIM_DURUMU') { Result = 'Statut de Maint.:'; } 
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Fait (Termine)'; } 
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Non Fait (En attente)'; } 
    else if (Key == 'KISI_SAYISI') { Result = 'Effectif:'; } 
    else if (Key == 'OP_GRUP') { Result = 'Groupe d Operateurs:'; } 
    else if (Key == 'OPERATOR') { Result = 'Operateur Responsable:'; } 
    else if (Key == 'OP_BILGI') { Result = 'Infos Nouvel Operateur:'; } 
    else if (Key == 'ACIKLAMA') { Result = 'Description:'; } 
    else if (Key == 'KAMERA') { Result = 'Ouvrir Camera'; } 
    else if (Key == 'OP_KAYDET') { Result = 'Enregistrer'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Couper l alimentation.' + #13#10 + '2. Fixer le verrou de securite.' + #13#10 + '3. Verifier les paliers.' + #13#10 + '4. Serrer et aligner.' + #13#10 + '5. Faire un essai.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Formulaire efface.'; } 
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Veuillez saisir le N Doc avant d enregistrer !'; } 
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Veuillez selectionner le statut !'; } 
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'ENREGISTREMENT REUSSI !'; } 
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Donnees ajoutees : '; } 
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Veuillez d abord saisir les infos de l operateur.'; } 
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Veuillez selectionner un groupe pour l operateur.'; } 
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operateur enregistre.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Rechercher un document...'; } 
    else if (Key == 'GRID_COL1') { Result = 'Code Article'; } 
    else if (Key == 'GRID_COL2') { Result = 'Nom Article'; } 
    else if (Key == 'GRID_COL3') { Result = 'Qte'; } 
    else if (Key == 'GRID_COL4') { Result = 'Unite'; } 
    else if (Key == 'GRID_COL5') { Result = 'Prix'; } 
    else if (Key == 'GRID_COL6') { Result = 'Montant'; } 
    else if (Key == 'STOK_EKLE') { Result = '+ Ajouter Stock'; }
    else if (Key == 'LST_BOS') { Result = 'Aucun enregistrement de materiel trouve.'; }
  }
  else { 
    if (Key == 'NAV_TITLE') { Result = 'Bakım Hareketleri'; } 
    else if (Key == 'YENI') { Result = 'Yeni'; } 
    else if (Key == 'KAYDET') { Result = 'Kaydet'; } 
    else if (Key == 'YAZDIR') { Result = 'Yazdır'; }
    else if (Key == 'SECT1') { Result = '1. GENEL BİLGİLER'; } 
    else if (Key == 'SECT2') { Result = 'Kullanılan Malzemeler'; } 
    else if (Key == 'SECT3') { Result = '3. GÖRSEL'; } 
    else if (Key == 'SECT4') { Result = '4. BAKIM TALİMATLARI'; } 
    else if (Key == 'BELGE_NO') { Result = 'Belge No:'; } 
    else if (Key == 'TARIH') { Result = 'Tarih:'; } 
    else if (Key == 'BAKIM_TIPI') { Result = 'Bakım Tipi:'; } 
    else if (Key == 'BAKIM_TURU') { Result = 'Bakım Türü:'; } 
    else if (Key == 'BAKIM_KODU') { Result = 'Bakım Kodu:'; } 
    else if (Key == 'MAKINE_KODU') { Result = 'Makine Kodu:'; } 
    else if (Key == 'BAGLANTI') { Result = 'Bakım Bağlantısı:'; } 
    else if (Key == 'CARI_KODU') { Result = 'Bakım Cari Kodu:'; } 
    else if (Key == 'BASLANGIC') { Result = 'Başlangıç Trh/Saat:'; } 
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Giriş Zamanı:'; } 
    else if (Key == 'PLANLANAN') { Result = 'Planlanan Bitiş Süresi:'; } 
    else if (Key == 'BAKIM_DURUMU') { Result = 'Bakım Durumu:'; } 
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Yapıldı (Tamamlandı)'; } 
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Yapılmadı (Bekliyor)'; } 
    else if (Key == 'KISI_SAYISI') { Result = 'Kişi Sayısı:'; } 
    else if (Key == 'OP_GRUP') { Result = 'Operatör Grubu:'; } 
    else if (Key == 'OPERATOR') { Result = 'Sorumlu Operatör:'; } 
    else if (Key == 'OP_BILGI') { Result = 'Yeni Operatör (Ad Soyad):'; } 
    else if (Key == 'ACIKLAMA') { Result = 'Genel Açıklama:'; } 
    else if (Key == 'KAMERA') { Result = 'Kamera / Galeri Aç'; } 
    else if (Key == 'OP_KAYDET') { Result = 'Kaydet'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Makine enerjisini kesin.' + #13#10 + '2. Guvenlik kilidini takin.' + #13#10 + '3. Rulman yataklarini kontrol edin.' + #13#10 + '4. Sikma ve hizalama yapin.' + #13#10 + '5. Test calismasi yapin.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Form temizlendi.'; } 
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Lütfen kaydetmeden önce Belge No giriniz!'; } 
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Lütfen bakım durumunu seçiniz!'; } 
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'KAYIT BAŞARILI!'; } 
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Eklenen Veri: '; } 
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Lütfen önce Operatör Bilgisi giriniz.'; } 
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Lütfen kaydedilecek operatörün grubunu seçiniz.'; } 
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operatör kaydedildi.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Belge No Ara...'; } 
    else if (Key == 'GRID_COL1') { Result = 'Stok Kodu'; } 
    else if (Key == 'GRID_COL2') { Result = 'Stok Adı'; } 
    else if (Key == 'GRID_COL3') { Result = 'Miktar'; } 
    else if (Key == 'GRID_COL4') { Result = 'Ölçü Br.'; } 
    else if (Key == 'GRID_COL5') { Result = 'Br. Fiyat'; } 
    else if (Key == 'GRID_COL6') { Result = 'Tutar'; } 
    else if (Key == 'STOK_EKLE') { Result = '+ Stok Ekle'; }
    else if (Key == 'LST_BOS') { Result = 'Malzeme kaydı bulunamadı.'; }
  }
}

// =====================================================================
// --- ORTAK DOSYA FORMATINA UYGUN OKUMA MOTORU ---
// =====================================================================
void AyarlariYukle;
var
  OkunanDosyaYolu, TemaKodu, tmpStr : String;
  YuklenenAyarlar: TclStringList;
  OkunanBoyutIndex: Integer;
{
  UiFontSize = 15; OkunanFontAdi = 'Arial';
  gAktifDilIndex = 0; TemaKodu = '0';

  OkunanDosyaYolu = clPathCombine('UygulamaAyarlari_V3.txt', Clomosy.AppFilesPath);
  if (clFileExists(OkunanDosyaYolu, ''))
  {
    YuklenenAyarlar = Clomosy.StringListNew;
    YuklenenAyarlar.LoadFromFile(OkunanDosyaYolu, 0);
    if (YuklenenAyarlar.Count >= 5) 
    { 
      TemaKodu = Clomosy.StringListItemString(YuklenenAyarlar, 0);
      tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 1);
      if (tmpStr <> '') {
        OkunanBoyutIndex = StrToInt(tmpStr);
        if (OkunanBoyutIndex == 0) { UiFontSize = 15; }
        else if (OkunanBoyutIndex == 1) { UiFontSize = 17; }
        else if (OkunanBoyutIndex == 2) { UiFontSize = 19; }
      }
      
      tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 2);
      if (tmpStr <> '') { gAktifDilIndex = StrToInt(tmpStr); }
      
      if (YuklenenAyarlar.Count >= 6) {
        tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 5);
        if (tmpStr <> '') { OkunanFontAdi = tmpStr; }
        
        tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 6);
        if (tmpStr <> '') { OkunanStilIndex = StrToInt(tmpStr); }
      }
    }
    if (YuklenenAyarlar <> nil) { YuklenenAyarlar.Free; }
  }

  if (TemaKodu == '1') { BakimForm.SetFormColor('#111827','#2563EB',clGVertical); } 
  else if (TemaKodu == '2') { BakimForm.SetFormColor('#0F172A','#0EA5E9',clGVertical); } 
  else if (TemaKodu == '3') { BakimForm.SetFormColor('#14532D','#22C55E',clGVertical); } 
  else if (TemaKodu == '4') { BakimForm.SetFormColor('#312E81','#8B5CF6',clGVertical); } 
  else if (TemaKodu == '5') { BakimForm.SetFormColor('#78350F','#F59E0B',clGVertical); } 
  else if (TemaKodu == '6') { BakimForm.SetFormColor('#7F1D1D','#EF4444',clGVertical); } 
  else if (TemaKodu == '7') { BakimForm.SetFormColor('#831843','#EC4899',clGVertical); } 
  else if (TemaKodu == '8') { BakimForm.SetFormColor('#172554','#3B82F6',clGVertical); } 
  else if (TemaKodu == '9') { BakimForm.SetFormColor('#064E3B','#10B981',clGVertical); } 
  else if (TemaKodu == '10') { BakimForm.SetFormColor('#450A0A','#F97316',clGVertical); } 
  else if (TemaKodu == '11') { BakimForm.SetFormColor('#082F49','#06B6D4',clGVertical); } 
  else if (TemaKodu == '12') { BakimForm.SetFormColor('#020617','#4F46E5',clGVertical); } 
  else if (TemaKodu == '13') { BakimForm.SetFormColor('#4A044E','#D946EF',clGVertical); } 
  else if (TemaKodu == '14') { BakimForm.SetFormColor('#7F1D1D','#F59E0B',clGVertical); } 
  else if (TemaKodu == '15') { BakimForm.SetFormColor('#451A03','#EAB308',clGVertical); } 
  else if (TemaKodu == '16') { BakimForm.SetFormColor('#4C0519','#F43F5E',clGVertical); } 
  else if (TemaKodu == '17') { BakimForm.SetFormColor('#022C22','#84CC16',clGVertical); } 
  else if (TemaKodu == '18') { BakimForm.SetFormColor('#1E293B','#64748B',clGVertical); } 
  else if (TemaKodu == '19') { BakimForm.SetFormColor('#2E1065','#A855F7',clGVertical); } 
  else if (TemaKodu == '20') { BakimForm.SetFormColor('#3F3F46','#A1A1AA',clGVertical); } 
  else { BakimForm.SetFormColor('#334155','#94A3B8',clGVertical); } 

  ThemeBgColor = '#FFFFFF'; ThemeBorderColor = '#CBD5E1'; ThemeTextColor = '#111827';
  if (TemaKodu == '0') { ThemeKoyuRenk = '#334155'; ThemeAcikRenk = '#94A3B8'; } 
  else if (TemaKodu == '1') { ThemeKoyuRenk = '#111827'; ThemeAcikRenk = '#2563EB'; } 
  else if (TemaKodu == '2') { ThemeKoyuRenk = '#0F172A'; ThemeAcikRenk = '#0EA5E9'; } 
  else if (TemaKodu == '3') { ThemeKoyuRenk = '#14532D'; ThemeAcikRenk = '#22C55E'; } 
  else if (TemaKodu == '4') { ThemeKoyuRenk = '#312E81'; ThemeAcikRenk = '#8B5CF6'; } 
  else if (TemaKodu == '5') { ThemeKoyuRenk = '#78350F'; ThemeAcikRenk = '#F59E0B'; } 
  else if (TemaKodu == '6') { ThemeKoyuRenk = '#7F1D1D'; ThemeAcikRenk = '#EF4444'; } 
  else if (TemaKodu == '7') { ThemeKoyuRenk = '#831843'; ThemeAcikRenk = '#EC4899'; } 
  else if (TemaKodu == '8') { ThemeKoyuRenk = '#172554'; ThemeAcikRenk = '#3B82F6'; } 
  else if (TemaKodu == '9') { ThemeKoyuRenk = '#064E3B'; ThemeAcikRenk = '#10B981'; } 
  else if (TemaKodu == '10') { ThemeKoyuRenk = '#450A0A'; ThemeAcikRenk = '#F97316'; } 
  else if (TemaKodu == '11') { ThemeKoyuRenk = '#082F49'; ThemeAcikRenk = '#06B6D4'; } 
  else if (TemaKodu == '12') { ThemeKoyuRenk = '#020617'; ThemeAcikRenk = '#4F46E5'; } 
  else if (TemaKodu == '13') { ThemeKoyuRenk = '#4A044E'; ThemeAcikRenk = '#D946EF'; } 
  else if (TemaKodu == '14') { ThemeKoyuRenk = '#7F1D1D'; ThemeAcikRenk = '#F59E0B'; } 
  else if (TemaKodu == '15') { ThemeKoyuRenk = '#451A03'; ThemeAcikRenk = '#EAB308'; } 
  else if (TemaKodu == '16') { ThemeKoyuRenk = '#4C0519'; ThemeAcikRenk = '#F43F5E'; } 
  else if (TemaKodu == '17') { ThemeKoyuRenk = '#022C22'; ThemeAcikRenk = '#84CC16'; } 
  else if (TemaKodu == '18') { ThemeKoyuRenk = '#1E293B'; ThemeAcikRenk = '#64748B'; } 
  else if (TemaKodu == '19') { ThemeKoyuRenk = '#2E1065'; ThemeAcikRenk = '#A855F7'; } 
  else if (TemaKodu == '20') { ThemeKoyuRenk = '#3F3F46'; ThemeAcikRenk = '#A1A1AA'; }
}

// =====================================================================
// TEMA VE STİL PROSEDÜRLERİ 
// =====================================================================
void StyleMainCard(APanel: TclProPanel); { APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeBgColor); APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); APanel.clProSettings.BorderWidth = 1;
  APanel.clProSettings.IsFill = True; APanel.clProSettings.IsRound = True; APanel.clProSettings.RoundHeight = 16; APanel.clProSettings.RoundWidth = 16; APanel.SetclProSettings(APanel.clProSettings); }
void StyleHeaderBar(APanel: TclProPanel); { APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  APanel.clProSettings.BorderWidth = 0; APanel.clProSettings.IsFill = True; APanel.SetclProSettings(APanel.clProSettings); }

void StyleTopBtnYeni(AButton: TClProButton);
{ AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280'); 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 StyleTopBtnKaydet(AButton: TClProButton); { AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280');
  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 StyleTopBtnYazdir(AButton: TClProButton); { AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280'); 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 StyleActionButton(AButton: TClProButton); { AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC'); AButton.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  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 StylePrimaryButton(AButton: TClProButton); { AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk); AButton.clProSettings.FontColor = clAlphaColor.clWhite; AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  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 StyleDangerButton(AButton: TClProButton); { AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#EF4444'); 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 StyleUncoloredOutlineButton(AButton: TClProButton); 
  AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155'); 
  AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor('#94A3B8'); 
  AButton.clProSettings.BorderWidth = 2; 
  AButton.clProSettings.IsFill = False; 
  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 StyleInputPanel(APanel: TclProPanel); { APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC'); APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); 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(ThemeTextColor); ALabel.clProSettings.FontSize = UiFontSize;
  ALabel.clProSettings.FontName = OkunanFontAdi; if (OkunanStilIndex == 0) { ALabel.clProSettings.TextSettings.Font.Style = [];
  } else if (OkunanStilIndex == 1) { ALabel.clProSettings.TextSettings.Font.Style = [fsBold]; } ALabel.SetclProSettings(ALabel.clProSettings); }
void StyleInputEdit(AEdit: TclProEdit); { AEdit.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); AEdit.clProSettings.BackgroundColor = clAlphaColor.clWhite; AEdit.clProSettings.BorderWidth = 1; AEdit.clProSettings.IsFill = True; AEdit.clProSettings.IsRound = True; AEdit.clProSettings.RoundHeight = 6;
  AEdit.clProSettings.RoundWidth = 6; AEdit.clProSettings.FontSize = UiFontSize; AEdit.clProSettings.FontName = OkunanFontAdi; AEdit.SetclProSettings(AEdit.clProSettings); }
void StyleReadonlyEdit(AEdit: TclProEdit); { 
  AEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); 
  AEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0'); 
  AEdit.clProSettings.BorderWidth = 1; 
  AEdit.clProSettings.IsFill = True; 
  AEdit.clProSettings.IsRound = True; 
  AEdit.clProSettings.RoundHeight = 6;
  AEdit.clProSettings.RoundWidth = 6; 
  AEdit.clProSettings.FontSize = UiFontSize + 1; 
  AEdit.clProSettings.FontName = OkunanFontAdi; 
  AEdit.clProSettings.TextSettings.Font.Style = [fsBold]; 
  AEdit.SetclProSettings(AEdit.clProSettings); 
}
void StyleInputFocus; var FocusEdit: TclProEdit;
{ FocusEdit = TclProEdit(BakimForm.ClSender); FocusEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeAcikRenk); FocusEdit.clProSettings.BorderWidth = 2; FocusEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); FocusEdit.SetclProSettings(FocusEdit.clProSettings); }
void StyleInputBlur; var BlurEdit: TclProEdit;
{ BlurEdit = TclProEdit(BakimForm.ClSender); StyleInputEdit(BlurEdit); }
void BindInputFocus(AEdit: TclProEdit); { BakimForm.AddNewEvent(AEdit, tbeOnEnter, 'StyleInputFocus'); BakimForm.AddNewEvent(AEdit, tbeOnExit, 'StyleInputBlur'); }

void KlvKisiSayisi; { StyleInputFocus;
  ScrollForm.ScrollTo(0, 10000); ScrollForm.ScrollTo(0, -587); }
void KlvOperatorBilgisi; { StyleInputFocus; ScrollForm.ScrollTo(0, 10000); ScrollForm.ScrollTo(0, -773); }
void KlvAciklama; { StyleInputFocus; ScrollForm.ScrollTo(0, 10000); ScrollForm.ScrollTo(0, -836);
}

void StyleSectionTitle(ALabel: TClProLabel); { ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeKoyuRenk); ALabel.clProSettings.FontSize = UiFontSize + 2; ALabel.clProSettings.FontName = OkunanFontAdi; ALabel.clProSettings.TextSettings.Font.Style = [fsBold]; ALabel.SetclProSettings(ALabel.clProSettings);
}

// =====================================================================
// FONKSİYONLAR, BUTONLAR VE İŞLEMLER
// =====================================================================
void GoBack; { BakimForm.Close; }
void SetCurrentDateTime; { EdtTarih.Text = DateToStr(Now); EdtBaslangic.Text = DateToStr(Now);
  EdtBaslangicSaat.Text = TimeToStr(Now); EdtGirisZamani.Text = DateToStr(Now) + ' ' + TimeToStr(Now); }

// TABLOYU DOLDURAN FONKSİYON
void GridGuncelle;
{
  if (MyJsonItems == '') { 
    ListGrid.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[{"MAIN_TEXT":"' + GetText('LST_BOS') + '"}]')); 
  }
  else { 
    ListGrid.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(MyJsonItems));
  }
}

// =====================================================================
// SQL REHBER SİSTEMİ
// =====================================================================
void OnRehberArama;
{
  if (DataRehber == nil) { Exit; }
  
  if (EdtAramaRehber.Text == '') 
  { 
    DataRehber.Filtered = False; 
    DataRehber.Filter = '';
  }
  else 
  { 
    DataRehber.Filter = 'MAIN_TEXT Like ' + Chr(39) + '%' + EdtAramaRehber.Text + '%' + Chr(39);
    DataRehber.Filtered = True; 
  }
}

void OnRehberSec;
var SecilenDeger: String;
  SecilenDeger = LsvRehber.clSelectedItemData(clCaption);
  if (GlobalLookupType == 'BELGE')
  {
    EdtBelgeNo.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'MAKINE')
  {
    EdtMakineKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'BAKIM')
  {
    EdtBakimKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'BAGLANTI')
  {
    EdtBaglanti.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'CARI')
  {
    EdtCariKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'FILTRE_KOD')
  {
    EdtFiltreStokKodu.Text = SecilenDeger;
  }
  
  RehberForm.Close;
}

void BuildRehberForm;
var 
  RehberDP: TclProListViewDesignerPanel; 
  RehberLblMain: TclProLabel;
  RehberLblSub: TclProLabel;
  NS: String;
{
  gCounter = gCounter + 1;
  NS = IntToStr(gCounter);

  RehberForm = TclForm.Create(Self); 
  RehberForm.SetFormColor(ThemeKoyuRenk, ThemeAcikRenk, clGVertical);
  
  EdtAramaRehber = RehberForm.AddNewProEdit(RehberForm, 'EdtAramaRehber' + NS, 'Ara...'); 
  EdtAramaRehber.Align = alTop; EdtAramaRehber.Margins.Top = 10; EdtAramaRehber.Margins.Left = 10; EdtAramaRehber.Margins.Right = 10; EdtAramaRehber.Height = 40;
  EdtAramaRehber.clProSettings.FontSize = 14;
  RehberForm.AddNewEvent(EdtAramaRehber, tbeOnChange, 'OnRehberArama');

  LsvRehber = RehberForm.AddNewProListView(RehberForm, 'LsvRehber' + NS); 
  LsvRehber.Align = alClient; LsvRehber.Margins.Top = 10; LsvRehber.ListType = 'vertical';
  LsvRehber.clProSettings.ItemHeight = 65; LsvRehber.clProSettings.ItemSpace = 5; LsvRehber.clProSettings.ColCount = 1; LsvRehber.clProSettings.ViewType = lvIcon; LsvRehber.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); LsvRehber.SetclProSettings(LsvRehber.clProSettings);
  
  RehberDP = RehberForm.AddNewProListViewDesignerPanel(LsvRehber, 'RehberDP' + NS);
  RehberDP.Align = alTop; RehberDP.Height = 60; RehberDP.Width = 350; RehberDP.clProSettings.BackgroundColor = clAlphaColor.clWhite; RehberDP.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); RehberDP.clProSettings.BorderWidth = 1;
  RehberDP.clProSettings.IsRound = True; RehberDP.clProSettings.RoundHeight = 8; RehberDP.clProSettings.RoundWidth = 8; RehberDP.SetclProSettings(RehberDP.clProSettings);

  // NOT: Veri bağlamasının (JSON) kusursuz çalışması için label isimleri sabit bırakıldı ('MAIN_TEXT', 'SUB_TEXT')
  RehberLblMain = RehberForm.AddNewProLabel(RehberDP, 'MAIN_TEXT', ''); RehberLblMain.Align = alTop;
  RehberLblMain.Height = 25; RehberLblMain.Margins.Left = 10; RehberLblMain.Margins.Top = 5; RehberLblMain.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); RehberLblMain.clProSettings.TextSettings.Font.Style = [fsBold]; RehberLblMain.clProSettings.FontSize = UiFontSize; RehberLblMain.SetclProSettings(RehberLblMain.clProSettings);
  
  RehberLblSub = RehberForm.AddNewProLabel(RehberDP, 'SUB_TEXT', ''); RehberLblSub.Align = alTop; RehberLblSub.Height = 25; RehberLblSub.Margins.Left = 10; RehberLblSub.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
  RehberLblSub.clProSettings.FontSize = UiFontSize - 2; RehberLblSub.SetclProSettings(RehberLblSub.clProSettings);

  RehberDP.AddPanelObject(RehberLblMain, clCaption); RehberDP.AddPanelObject(RehberLblSub, clText); LsvRehber.SetDesignerPanel(RehberDP);
  RehberForm.AddNewEvent(LsvRehber, tbeOnItemClick, 'OnRehberSec');
}

void OpenRehber;
var 
  JsonStr: String;
  q: TclSQLQuery;
{
  Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
  BuildRehberForm;
  
  if (GlobalLookupType == 'FILTRE_KOD')
  {
    EdtAramaRehber.TextPrompt = 'Stok Kodu Seç...';
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SELECT TOP 100 STOK_KODU AS KOD, REPLACE(REPLACE(STOK_ADI, CHAR(34), ''''), CHAR(92), '''') AS ADI FROM [PRG_VIEW_STREHBER] WITH(NOLOCK) WHERE ISNULL(PASIF_KART,0)=0 ORDER BY STOK_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ASC';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('KOD').AsString + '", ' +
                            '"SUB_TEXT":"' + q.FieldByName('ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BELGE')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BELGE');
    JsonStr = '[';

    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT BELGE_NO,TARIH,MAKINE_KODU, REPLACE(REPLACE(MAKINE_ADI, CHAR(34), ''''), CHAR(92), '''') AS MAKINE_ADI,BAKIM_KODU,BAKIM_ACIKLAMA,BAS_TAR,BAS_SAAT,BIT_TAR,BIT_SAAT ' +
                   'FROM [TBLURTBAKIMHR] WITH (NOLOCK) ' +
                   'INNER JOIN [TBLURTMAKINESB] WITH (NOLOCK) ON MAKINE_KODU_RECID = TBLURTMAKINESB.REC_NO ' +
                   'INNER JOIN [TBLURTBAKIMSB] WITH (NOLOCK) ON BAKIM_KODU_RECID = TBLURTBAKIMSB.REC_NO) AS REHBERSQL ' +
                   'ORDER BY BELGE_NO COLLATE SQL_Latin1_General_CP1_CI_AS ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('BELGE_NO').AsString + '", ' +
                            '"SUB_TEXT":"Makine: ' + q.FieldByName('MAKINE_KODU').AsString + ' - ' + q.FieldByName('MAKINE_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }

    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'MAKINE')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_MAKINE');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT MAKINE_KODU, REPLACE(REPLACE(MAKINE_ADI, CHAR(34), ''''), CHAR(92), '''') AS MAKINE_ADI FROM [TBLURTMAKINESB] WITH (NOLOCK) ' +
                   'WHERE REC_NO IN (SELECT MAKINE_RECID FROM [TBLURTMAKINEKULLANICI] WITH (NOLOCK) WHERE KULLANICI_NO=1) ' +
                   'AND ISNULL(PASIF_KART,0) = 0 ) AS REHBERSQL ' +
                   'ORDER BY MAKINE_KODU SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('MAKINE_KODU').AsString + '", ' +
                            '"SUB_TEXT":"' + q.FieldByName('MAKINE_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }

    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BAKIM')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BAKIM');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT BAKIM_KODU, REPLACE(REPLACE(BAKIM_ACIKLAMA, CHAR(34), ''''), CHAR(92), '''') AS BAKIM_ACIKLAMA ' +
                   'FROM [TBLURTBAKIMSB] WITH (NOLOCK) ' +
                   'WHERE BAKIMTIP IS NULL AND BAKIM_TURU IS NULL) AS REHBERSQL ' +
                   'ORDER BY BAKIM_KODU ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('BAKIM_KODU').AsString + '", ' +
                            '"SUB_TEXT":"' + q.FieldByName('BAKIM_ACIKLAMA').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }

    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BAGLANTI')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BAGLANTI');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT TARIH FROM PrgFn_MakBakTakvimOlustur (''04.13.2026'',''0'', 12,''G'',1) ' +
                   'WHERE CONVERT(VARCHAR,TARIH,104) NOT IN (SELECT ISNULL(BAKIM_BAGLANTI_ALAN,'''') FROM [TBLURTBAKIMHR] WITH (NOLOCK) ' +
                   'WHERE BAKIM_KODU_RECID= 7 AND MAKINE_KODU_RECID=1 AND PERIYOT_TIPI=2 AND BAKIM_BAGLANTI_ALAN<>''16.04.2026'') ' +
                   ') AS REHBERSQL ORDER BY TARIH ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('TARIH').AsString + '", ' +
                            '"SUB_TEXT":""}';
        q.Next;
      }
    finally
      q.Free;
    }

    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'CARI')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_CARI');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT CARI_KODU, REPLACE(REPLACE(CARI_ADI, CHAR(34), ''''), CHAR(92), '''') AS CARI_ADI FROM [TBLCARISB] WITH (NOLOCK) ) AS REHBERSQL ' +
                   'ORDER BY CARI_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;

      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('CARI_KODU').AsString + '", ' +
                            '"SUB_TEXT":"' + q.FieldByName('CARI_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }

    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }

  DataRehber = Clomosy.ClDataSetFromJSON(JsonStr);
  LsvRehber.clLoadProListViewDataFromDataset(DataRehber);
  RehberForm.Run;
}

void BtnRehberBelgeClick; { GlobalLookupType = 'BELGE'; OpenRehber; }
void BtnBakimKoduRehberClick; { GlobalLookupType = 'BAKIM'; OpenRehber; }
void BtnMakineKoduRehberClick; { GlobalLookupType = 'MAKINE'; OpenRehber; }
void BtnBaglantiRehberClick; { GlobalLookupType = 'BAGLANTI'; OpenRehber; }
void BtnCariKoduRehberClick; { GlobalLookupType = 'CARI'; OpenRehber; }
void BtnKodRehberClick; { GlobalLookupType = 'FILTRE_KOD'; OpenRehber; }


// =====================================================================
// STOK FILTRELEME & EKLEME İŞLEMLERİ 
// =====================================================================
void OnFiltreKisitSecildi;
{
  SecilenStokKodu = LsvKisitUyanlar.clSelectedItemData(clCaption);
  SecilenStokAdi = LsvKisitUyanlar.clSelectedItemData(clText);
  EdtBilesenMiktar.Text = '1';
}

void FormBilesenEkleClick;
var 
  YeniBilesen: String;
{
  if (SecilenStokKodu == '') { ShowMessage('Lütfen önce yukarıdaki listeden bir stok seçiniz!'); Exit; }
  if (EdtBilesenMiktar.Text == '') { ShowMessage('Lütfen eklenecek miktarı giriniz!'); Exit; }
  
  if (JsonEkleneceklerHavuzu <> '') { JsonEkleneceklerHavuzu = JsonEkleneceklerHavuzu + ','; }
  YeniBilesen = '{"MAIN_TEXT":"' + SecilenStokKodu + '", "SUB_TEXT":"' + SecilenStokAdi + '", "TEXT1":"' + EdtBilesenMiktar.Text + '", "TEXT2":"Adet", "TEXT3":"0.00", "TEXT4":"0.00"}';
  JsonEkleneceklerHavuzu = JsonEkleneceklerHavuzu + YeniBilesen;
  
  LsvEklenecekler.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' + JsonEkleneceklerHavuzu + ']'));
  SecilenStokKodu = ''; SecilenStokAdi = ''; EdtBilesenMiktar.Text = '';
}

void FormAktarClick;
var 
  AnaHavuz: String;
{
  if (JsonEkleneceklerHavuzu == '') { ShowMessage('Aktarılacak bileşen bulunamadı.'); Exit; }
  
  AnaHavuz = Trim(MyJsonItems);
  
  if ((AnaHavuz == '') || (AnaHavuz == '[]')) {
     AnaHavuz = '[' + JsonEkleneceklerHavuzu + ']';
  } else {
     AnaHavuz = Copy(AnaHavuz, 1, Length(AnaHavuz) - 1) + ',' + JsonEkleneceklerHavuzu + ']';
  }
  
  MyJsonItems = AnaHavuz;
  GridGuncelle;
  
  ShowMessage('Malzemeler tabloya başarıyla aktarıldı!');
  StokFiltreForm.Close;
  
  ScrollForm.ScrollTo(0, 10000); 
  ScrollForm.ScrollTo(0, -1100); 
}

void FormFiltreAraClick;
var
  q: TclSQLQuery;
  JsonStr: String;
  FStr: String;
  SearchKodu: String;
{
  SearchKodu = EdtFiltreStokKodu.Text;
  if (SearchKodu == 'Stok Kodu Ara...') { SearchKodu = ''; }

  FStr = '1=1 AND ISNULL(PASIF_KART,0)=0';
  if (SearchKodu <> '') { FStr = FStr + ' AND STOK_KODU LIKE ''%' + SearchKodu + '%'''; }

  JsonStr = '[';
  q = TclSQLQuery.Create(nil);
  try
    Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
    q.Connection = Clomosy.DBSQLServerConnection;
    
    q.SQL.Text = 'SELECT TOP 100 STOK_KODU, REPLACE(REPLACE(STOK_ADI, CHAR(34), ''''), CHAR(92), '''') AS STOK_ADI FROM [PRG_VIEW_STREHBER] WITH (NOLOCK) WHERE ' + FStr + ' ORDER BY STOK_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ASC';
    q.Open;

    while (not q.Eof)
    {
      if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
      JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('STOK_KODU').AsString + '", ' +
                          '"SUB_TEXT":"' + q.FieldByName('STOK_ADI').AsString + '"}';
      q.Next;
    }
  finally
    q.Free;
  }

  if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayıt Bulunamadı", "SUB_TEXT":"Kriterlere uygun stok yok."}]'; }
  else { JsonStr = JsonStr + ']'; }

  LsvKisitUyanlar.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(JsonStr));
}
void BuildStokFiltreForm;
var
  NS: String;
{
  // Her açılışta benzersiz bir isim suffix'i (NS) üretilir
  gCounter = gCounter + 1;
  NS = IntToStr(gCounter);

  JsonEkleneceklerHavuzu = ''; 
  SecilenStokKodu = ''; 
  SecilenStokAdi = '';

  // Form her seferinde temiz ve sıfır bir pointer ile oluşturulur
  StokFiltreForm = TclForm.Create(Self); 
  StokFiltreForm.SetFormColor(ThemeBgColor, ThemeBgColor, clGVertical);

  PnlFiltreSag = StokFiltreForm.AddNewProPanel(StokFiltreForm, 'PnlFiltreSag' + NS); 
  PnlFiltreSag.Align = alClient;

  PnlFiltreSagUst = StokFiltreForm.AddNewProPanel(PnlFiltreSag, 'PnlFiltreSagUst' + NS);
  PnlFiltreSagUst.Align = alTop; PnlFiltreSagUst.Height = 300; PnlFiltreSagUst.Margins.Bottom = 10;
  StyleInputPanel(PnlFiltreSagUst);

  PnlFiltreAramaKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagUst, 'PnlFiltreAramaKutu' + NS);
  PnlFiltreAramaKutu.Align = alTop; PnlFiltreAramaKutu.Height = 65; PnlFiltreAramaKutu.Margins.Top = 10;
  PnlFiltreAramaKutu.Margins.Left = 10; PnlFiltreAramaKutu.Margins.Right = 10;
  StyleInputPanel(PnlFiltreAramaKutu);

  LblFiltreStokKodu = StokFiltreForm.AddNewProLabel(PnlFiltreAramaKutu, 'LblFiltreStokKodu' + NS, 'Stok Kodu (Rehberden Seçin)');
  LblFiltreStokKodu.Align = alTop; LblFiltreStokKodu.Height = 18; LblFiltreStokKodu.Margins.Left = 10; LblFiltreStokKodu.Margins.Top = 6; StyleInputLabel(LblFiltreStokKodu);

  BtnFiltreAra = StokFiltreForm.AddNewProButton(PnlFiltreAramaKutu, 'BtnFiltreAra' + NS, 'Listele');
  BtnFiltreAra.Align = alRight; BtnFiltreAra.Width = 80; BtnFiltreAra.Margins.Right = 10; BtnFiltreAra.Margins.Bottom = 7;
  StylePrimaryButton(BtnFiltreAra); StokFiltreForm.AddNewEvent(BtnFiltreAra, tbeOnClick, 'FormFiltreAraClick');

  BtnKodRehber = StokFiltreForm.AddNewProButton(PnlFiltreAramaKutu, 'BtnKodRehber' + NS, '🔍');
  BtnKodRehber.Align = alRight; BtnKodRehber.Width = 45; BtnKodRehber.Margins.Right = 5; BtnKodRehber.Margins.Bottom = 7;
  StyleActionButton(BtnKodRehber); StokFiltreForm.AddNewEvent(BtnKodRehber, tbeOnClick, 'BtnKodRehberClick');

  EdtFiltreStokKodu = StokFiltreForm.AddNewProEdit(PnlFiltreAramaKutu, 'EdtFiltreStokKodu' + NS, '');
  EdtFiltreStokKodu.Align = alClient; EdtFiltreStokKodu.Margins.Left = 10; EdtFiltreStokKodu.Margins.Right = 5; EdtFiltreStokKodu.Margins.Bottom = 7; StyleInputEdit(EdtFiltreStokKodu);

  LsvKisitUyanlar = StokFiltreForm.AddNewProListView(PnlFiltreSagUst, 'LsvKisitUyanlar' + NS); 
  LsvKisitUyanlar.Align = alClient; LsvKisitUyanlar.Margins.Top = 10; LsvKisitUyanlar.Margins.Left = 10; LsvKisitUyanlar.Margins.Right = 10; LsvKisitUyanlar.Margins.Bottom = 10;
  LsvKisitUyanlar.ListType = 'vertical'; LsvKisitUyanlar.clProSettings.ItemHeight = 40;
  LsvKisitDP = StokFiltreForm.AddNewProListViewDesignerPanel(LsvKisitUyanlar, 'LsvKisitDP' + NS); LsvKisitDP.Align = alTop; LsvKisitDP.Height = 40;

  // Tüm iç component isimlerine çakışmayı engellemek için "+ NS" eklendi
  LblKisitD1 = StokFiltreForm.AddNewProLabel(LsvKisitDP, 'LblKisitD1' + NS, ''); LblKisitD1.Align = alLeft; LblKisitD1.Width = 100;
  LblKisitD2 = StokFiltreForm.AddNewProLabel(LsvKisitDP, 'LblKisitD2' + NS, ''); LblKisitD2.Align = alClient; LblKisitD2.Margins.Left = 10;
  LsvKisitDP.AddPanelObject(LblKisitD1, clCaption); LsvKisitDP.AddPanelObject(LblKisitD2, clText);
  LsvKisitUyanlar.SetDesignerPanel(LsvKisitDP);
  StokFiltreForm.AddNewEvent(LsvKisitUyanlar, tbeOnItemClick, 'OnFiltreKisitSecildi');

  PnlFiltreSagAlt = StokFiltreForm.AddNewProPanel(PnlFiltreSag, 'PnlFiltreSagAlt' + NS);
  PnlFiltreSagAlt.Align = alClient; StyleInputPanel(PnlFiltreSagAlt);

  PnlAktarKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagAlt, 'PnlAktarKutu' + NS);
  PnlAktarKutu.Align = alBottom; PnlAktarKutu.Height = 50; PnlAktarKutu.Margins.Bottom = 10;
  BtnAktar = StokFiltreForm.AddNewProButton(PnlAktarKutu, 'BtnAktar' + NS, 'Aktar >>');
  BtnAktar.Align = alRight; BtnAktar.Width = 120; BtnAktar.Margins.Right = 10;
  StylePrimaryButton(BtnAktar); StokFiltreForm.AddNewEvent(BtnAktar, tbeOnClick, 'FormAktarClick');

  PnlEklemeKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagAlt, 'PnlEklemeKutu' + NS);
  PnlEklemeKutu.Align = alTop; PnlEklemeKutu.Height = 50; PnlEklemeKutu.Margins.Top = 10;

  BtnBilesenEkle = StokFiltreForm.AddNewProButton(PnlEklemeKutu, 'BtnBilesenEkle' + NS, 'Bileşen Ekle');
  BtnBilesenEkle.Align = alRight; BtnBilesenEkle.Width = 100; BtnBilesenEkle.Margins.Right = 10;
  StyleActionButton(BtnBilesenEkle); StokFiltreForm.AddNewEvent(BtnBilesenEkle, tbeOnClick, 'FormBilesenEkleClick');

  EdtBilesenMiktar = StokFiltreForm.AddNewProEdit(PnlEklemeKutu, 'EdtBilesenMiktar' + NS, '1');
  EdtBilesenMiktar.Align = alRight; EdtBilesenMiktar.Width = 80; EdtBilesenMiktar.Margins.Right = 10; StyleInputEdit(EdtBilesenMiktar);

  LsvEklenecekler = StokFiltreForm.AddNewProListView(PnlFiltreSagAlt, 'LsvEklenecekler' + NS); 
  LsvEklenecekler.Align = alClient; LsvEklenecekler.Margins.Top = 10; LsvEklenecekler.Margins.Left = 10; LsvEklenecekler.Margins.Right = 10; LsvEklenecekler.Margins.Bottom = 10;
  LsvEklenecekler.ListType = 'vertical'; LsvEklenecekler.clProSettings.ItemHeight = 40;
  LsvEklenecekDP = StokFiltreForm.AddNewProListViewDesignerPanel(LsvEklenecekler, 'LsvEklenecekDP' + NS); LsvEklenecekDP.Align = alTop; LsvEklenecekDP.Height = 40;

  LblEkleD1 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD1' + NS, ''); LblEkleD1.Align = alLeft; LblEkleD1.Width = 100;
  LblEkleD2 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD2' + NS, ''); LblEkleD2.Align = alLeft; LblEkleD2.Width = 150; LblEkleD2.Margins.Left = 10;
  LblEkleD3 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD3' + NS, ''); LblEkleD3.Align = alClient; LblEkleD3.Margins.Left = 10;

  LsvEklenecekDP.AddPanelObject(LblEkleD1, clCaption); LsvEklenecekDP.AddPanelObject(LblEkleD2, clText); LsvEklenecekDP.AddPanelObject(LblEkleD3, clText1);
  LsvEklenecekler.SetDesignerPanel(LsvEklenecekDP);

  // Bu satırlar artık tamamen taze ve yeni üretilmiş olan listview referanslarını tetiklediği için asla çökmeyecek
  LsvKisitUyanlar.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[{"MAIN_TEXT":"Stok Kodu Ara...", "SUB_TEXT":""}]'));
  LsvEklenecekler.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[{"MAIN_TEXT":"Eklenecek Stok Yok", "SUB_TEXT":""}]'));

  StokFiltreForm.Run;
}


// =====================================================================
// FONTA GÖRE TABLO GENİŞLİĞİNİ OTOMATİK AYARLAYAN MÜKEMMEL SİSTEM
// =====================================================================
void ApplyFontScale;
{
  LblNavTitle.clProSettings.FontSize = UiFontSize + 4; LblNavTitle.clProSettings.FontName = OkunanFontAdi; LblNavTitle.SetclProSettings(LblNavTitle.clProSettings);
  StyleInputLabel(LblBelgeNo); StyleInputLabel(LblTarih); StyleInputLabel(LblBakimTipi); StyleInputLabel(LblBakimTuru); StyleInputLabel(LblBakimKodu);
  StyleInputLabel(LblMakineKodu); StyleInputLabel(LblBaglanti); StyleInputLabel(LblCariKodu); StyleInputLabel(LblBaslangic);
  StyleInputLabel(LblGirisZamani); StyleInputLabel(LblPlanlananBitis);
  StyleInputLabel(LblBakimDurumu); StyleInputLabel(LblKisiSayisi); StyleInputLabel(LblOperatorGrup); StyleInputLabel(LblOperator); StyleInputLabel(LblOperatorBilgisi); StyleInputLabel(LblAciklama);
  
  StyleReadonlyEdit(EdtBelgeNo); StyleReadonlyEdit(EdtTarih); StyleReadonlyEdit(EdtBakimKodu);
  StyleReadonlyEdit(EdtMakineKodu); StyleReadonlyEdit(EdtBaglanti); StyleReadonlyEdit(EdtCariKodu); StyleReadonlyEdit(EdtBaslangic); StyleReadonlyEdit(EdtBaslangicSaat); StyleReadonlyEdit(EdtGirisZamani);
  
  StyleInputEdit(EdtKisiSayisi); StyleInputEdit(EdtOperatorBilgisi); StyleInputEdit(EdtAciklama);
  StyleSectionTitle(LblSect1Title); StyleSectionTitle(LblGridTitle); StyleSectionTitle(LblPhotoTitle); StyleSectionTitle(LblTalimatTitle);
  
  MemTabContent.TextSettings.Font.Size = UiFontSize;
  
  // DİNAMİK TABLO GENİŞLETME İŞLEMLERİ
  if (LblCol1 <> nil) {
    if (UiFontSize == 15) { 
        PnlGridContainer.Width = 600; ListGrid.clProSettings.ItemHeight = 40; ListGridDesigner.Height = 40; PnlGridHeader.Height = 40;
        LblCol1.Width = 100; LblD1.Width = 100; LblCol2.Width = 150; LblD2.Width = 150; LblCol3.Width = 60; LblD3.Width = 60; LblCol4.Width = 70; LblD4.Width = 70; LblCol5.Width = 80; LblD5.Width = 80;
    }
    else if (UiFontSize == 17) { 
        PnlGridContainer.Width = 750; ListGrid.clProSettings.ItemHeight = 50; ListGridDesigner.Height = 50; PnlGridHeader.Height = 50;
        LblCol1.Width = 120; LblD1.Width = 120; LblCol2.Width = 200; LblD2.Width = 200; LblCol3.Width = 75; LblD3.Width = 75; LblCol4.Width = 85; LblD4.Width = 85; LblCol5.Width = 100; LblD5.Width = 100;
    }
    else { 
        PnlGridContainer.Width = 900; ListGrid.clProSettings.ItemHeight = 60; ListGridDesigner.Height = 60; PnlGridHeader.Height = 60;
        LblCol1.Width = 140; LblD1.Width = 140; LblCol2.Width = 250; LblD2.Width = 250; LblCol3.Width = 90; LblD3.Width = 90; LblCol4.Width = 100; LblD4.Width = 100; LblCol5.Width = 120; LblD5.Width = 120;
    }
    
    LblCol1.clProSettings.FontSize = UiFontSize; LblCol1.SetclProSettings(LblCol1.clProSettings);
    LblCol2.clProSettings.FontSize = UiFontSize; LblCol2.SetclProSettings(LblCol2.clProSettings);
    LblCol3.clProSettings.FontSize = UiFontSize; LblCol3.SetclProSettings(LblCol3.clProSettings);
    LblCol4.clProSettings.FontSize = UiFontSize; LblCol4.SetclProSettings(LblCol4.clProSettings);
    LblCol5.clProSettings.FontSize = UiFontSize; LblCol5.SetclProSettings(LblCol5.clProSettings);
    LblCol6.clProSettings.FontSize = UiFontSize; LblCol6.SetclProSettings(LblCol6.clProSettings);
    
    LblD1.clProSettings.FontSize = UiFontSize; LblD1.SetclProSettings(LblD1.clProSettings);
    LblD2.clProSettings.FontSize = UiFontSize; LblD2.SetclProSettings(LblD2.clProSettings);
    LblD3.clProSettings.FontSize = UiFontSize; LblD3.SetclProSettings(LblD3.clProSettings);
    LblD4.clProSettings.FontSize = UiFontSize; LblD4.SetclProSettings(LblD4.clProSettings);
    LblD5.clProSettings.FontSize = UiFontSize; LblD5.SetclProSettings(LblD5.clProSettings);
    LblD6.clProSettings.FontSize = UiFontSize; LblD6.SetclProSettings(LblD6.clProSettings);
    
    ListGrid.SetclProSettings(ListGrid.clProSettings);
    PnlGridHeader.SetclProSettings(PnlGridHeader.clProSettings);
    ListGridDesigner.SetclProSettings(ListGridDesigner.clProSettings);
    
    GridGuncelle;
  }
}

// =====================================================================
// DİNAMİK ARAYÜZ YÖNETİCİSİ
// =====================================================================
void ApplyUiSettings;
{
  LblNavTitle.Text = GetText('NAV_TITLE');
  BtnYeni.Text = GetText('YENI'); BtnKaydet.Text = GetText('KAYDET'); BtnYazdir.Text = GetText('YAZDIR');
  
  LblSect1Title.Text = GetText('SECT1'); 
  
  LblBelgeNo.Text = GetText('BELGE_NO');
  LblTarih.Text = GetText('TARIH');
  LblBakimTipi.Text = GetText('BAKIM_TIPI'); LblBakimTuru.Text = GetText('BAKIM_TURU');
  LblBakimKodu.Text = GetText('BAKIM_KODU'); LblMakineKodu.Text = GetText('MAKINE_KODU');
  LblBaglanti.Text = GetText('BAGLANTI');
  LblCariKodu.Text = GetText('CARI_KODU');
  LblBaslangic.Text = GetText('BASLANGIC'); LblGirisZamani.Text = GetText('GIRIS_ZAMANI');
  LblPlanlananBitis.Text = GetText('PLANLANAN'); LblBakimDurumu.Text = GetText('BAKIM_DURUMU'); 
  LblKisiSayisi.Text = GetText('KISI_SAYISI');
  LblOperatorGrup.Text = GetText('OP_GRUP'); LblOperator.Text = GetText('OPERATOR');
  LblOperatorBilgisi.Text = GetText('OP_BILGI'); LblAciklama.Text = GetText('ACIKLAMA');
  LblGridTitle.Text = GetText('SECT2'); LblPhotoTitle.Text = GetText('SECT3');
  BtnResimCek.Text = GetText('KAMERA'); LblTalimatTitle.Text = GetText('SECT4');
  BtnOperatorKaydet.Text = GetText('OP_KAYDET');
  
  MemTabContent.Text = GetText('TALIMAT_METNI');

  CmbBakimDurumu.Items.Clear;
  CmbBakimDurumu.AddItem(GetText('BAKIM_YAPILDI'), 'Tamamlandi');
  CmbBakimDurumu.AddItem(GetText('BAKIM_YAPILMADI'), 'Bekliyor');

  CmbBakimTipi.Items.Clear;
  CmbBakimTuru.Items.Clear;
  CmbPlanlananBitis.Items.Clear;
  CmbOperatorGrup.Items.Clear;
  CmbYeniOperatorGrup.Items.Clear;

  if (gAktifDilIndex == 1) { // İNGİLİZCE LİSTELER
    CmbBakimTipi.AddItem('Machine Maintenance', 'Makine Bakimi');
    CmbBakimTipi.AddItem('Mold Maintenance', 'Kalip Bakimi'); CmbBakimTipi.AddItem('Auxiliary Eq. Maintenance', 'Yardimci Ekipman Bakimi'); CmbBakimTipi.AddItem('Calibration', 'Kalibrasyon Bakimi'); CmbBakimTipi.AddItem('Verification', 'Dogrulama');
    CmbBakimTuru.AddItem('Breakdown', 'Arizi'); CmbBakimTuru.AddItem('Periodic', 'Periyodik');
    CmbBakimTuru.AddItem('Predictive', 'Kestirimci');
    CmbPlanlananBitis.AddItem('Hourly', 'Saat'); CmbPlanlananBitis.AddItem('Daily', 'Günlük'); CmbPlanlananBitis.AddItem('Weekly', 'Haftalık');
    CmbOperatorGrup.AddItem('All', 'ALL'); CmbOperatorGrup.AddItem('Group A', 'A'); CmbOperatorGrup.AddItem('Group B', 'B'); CmbOperatorGrup.AddItem('Group C', 'C');
    CmbYeniOperatorGrup.AddItem('Group A', 'A'); CmbYeniOperatorGrup.AddItem('Group B', 'B'); CmbYeniOperatorGrup.AddItem('Group C', 'C');
  } 
  else if (gAktifDilIndex == 2) { // ALMANCA LİSTELER
    CmbBakimTipi.AddItem('Maschinenwartung', 'Makine Bakimi');
    CmbBakimTipi.AddItem('Formenwartung', 'Kalip Bakimi'); CmbBakimTipi.AddItem('Zusatzgeräte-Wartung', 'Yardimci Ekipman Bakimi'); CmbBakimTipi.AddItem('Kalibrierung', 'Kalibrasyon Bakimi'); CmbBakimTipi.AddItem('Verifizierung', 'Dogrulama');
    CmbBakimTuru.AddItem('Ausfall', 'Arizi'); CmbBakimTuru.AddItem('Periodisch', 'Periyodik'); CmbBakimTuru.AddItem('Prädiktiv', 'Kestirimci');
    CmbPlanlananBitis.AddItem('Stündlich', 'Saat');
    CmbPlanlananBitis.AddItem('Täglich', 'Günlük'); CmbPlanlananBitis.AddItem('Wöchentlich', 'Haftalık');
    CmbOperatorGrup.AddItem('Alle', 'ALL'); CmbOperatorGrup.AddItem('Gruppe A', 'A'); CmbOperatorGrup.AddItem('Gruppe B', 'B'); CmbOperatorGrup.AddItem('Gruppe C', 'C');
    CmbYeniOperatorGrup.AddItem('Gruppe A', 'A');
    CmbYeniOperatorGrup.AddItem('Gruppe B', 'B'); CmbYeniOperatorGrup.AddItem('Gruppe C', 'C');
  }
  else if (gAktifDilIndex == 3) { // FRANSIZCA LİSTELER
    CmbBakimTipi.AddItem('Maintenance Machine', 'Makine Bakimi');
    CmbBakimTipi.AddItem('Maintenance Moule', 'Kalip Bakimi'); CmbBakimTipi.AddItem('Maintenance Équip. Aux.', 'Yardimci Ekipman Bakimi'); CmbBakimTipi.AddItem('Étalonnage', 'Kalibrasyon Bakimi'); CmbBakimTipi.AddItem('Vérification', 'Dogrulama');
    CmbBakimTuru.AddItem('Panne', 'Arizi'); CmbBakimTuru.AddItem('Périodique', 'Periyodik');
    CmbBakimTuru.AddItem('Prédictif', 'Kestirimci');
    CmbPlanlananBitis.AddItem('Horaire', 'Saat'); CmbPlanlananBitis.AddItem('Quotidien', 'Günlük'); CmbPlanlananBitis.AddItem('Hebdomadaire', 'Haftalık');
    CmbOperatorGrup.AddItem('Tout', 'ALL'); CmbOperatorGrup.AddItem('Groupe A', 'A'); CmbOperatorGrup.AddItem('Groupe B', 'B'); CmbOperatorGrup.AddItem('Groupe C', 'C');
    CmbYeniOperatorGrup.AddItem('Groupe A', 'A'); CmbYeniOperatorGrup.AddItem('Groupe B', 'B'); CmbYeniOperatorGrup.AddItem('Groupe C', 'C');
  }
  else { // TÜRKÇE LİSTELER (Varsayılan ve Diğerleri)
    CmbBakimTipi.AddItem('Makine Bakimi', 'Makine Bakimi');
    CmbBakimTipi.AddItem('Kalip Bakimi', 'Kalip Bakimi'); CmbBakimTipi.AddItem('Yardimci Ekipman Bakimi', 'Yardimci Ekipman Bakimi'); CmbBakimTipi.AddItem('Kalibrasyon Bakimi', 'Kalibrasyon Bakimi'); CmbBakimTipi.AddItem('Dogrulama', 'Dogrulama');
    CmbBakimTuru.AddItem('Arizi', 'Arizi'); CmbBakimTuru.AddItem('Periyodik', 'Periyodik');
    CmbBakimTuru.AddItem('Kestirimci', 'Kestirimci');
    CmbPlanlananBitis.AddItem('Saat', 'Saat'); CmbPlanlananBitis.AddItem('Günlük', 'Günlük'); CmbPlanlananBitis.AddItem('Haftalık', 'Haftalık');
    CmbOperatorGrup.AddItem('Hepsi', 'ALL'); CmbOperatorGrup.AddItem('A Grubu', 'A'); CmbOperatorGrup.AddItem('B Grubu', 'B'); CmbOperatorGrup.AddItem('C Grubu', 'C');
    CmbYeniOperatorGrup.AddItem('A Grubu', 'A'); CmbYeniOperatorGrup.AddItem('B Grubu', 'B'); CmbYeniOperatorGrup.AddItem('C Grubu', 'C');
  }

  CmbBakimDurumu.ItemIndex = 0; CmbBakimTipi.ItemIndex = 0; CmbBakimTuru.ItemIndex = 0;
  CmbPlanlananBitis.ItemIndex = 0; CmbOperatorGrup.ItemIndex = 0; CmbYeniOperatorGrup.ItemIndex = -1;

  // TABLO BAŞLIK ÇEVİRİLERİNİ AKTARALIM
  if (LblCol1 <> nil) {
    LblCol1.Text = GetText('GRID_COL1');
    LblCol2.Text = GetText('GRID_COL2');
    LblCol3.Text = GetText('GRID_COL3');
    LblCol4.Text = GetText('GRID_COL4');
    LblCol5.Text = GetText('GRID_COL5');
    LblCol6.Text = GetText('GRID_COL6');
  }
  if (BtnStokEkleAnaForm <> nil) { BtnStokEkleAnaForm.Text = GetText('STOK_EKLE'); }

  if (gTabletModuAktif == 1) {
    if (gTabletYonIndex == 0) { 
      PnlMainCard.Margins.Left = 60;
      PnlMainCard.Margins.Right = 60; PnlMainCard.Height = 2450; 
    } else { 
      PnlMainCard.Margins.Left = 35;
      PnlMainCard.Margins.Right = 35; PnlMainCard.Height = 2050; 
    }
  } else { 
    PnlMainCard.Margins.Left = 12;
    PnlMainCard.Margins.Right = 12; PnlMainCard.Height = 2050;
  }
  
  ApplyFontScale;
}

void OnFormGoster;
{
  AyarlariYukle;
  ApplyUiSettings;
}

// =====================================================================
// SIFIR HATA, %100 UYUMLU "TABLO" TASARIMI (TClProListView ile)
// =====================================================================
void MalzemeListeSablonHazirla;
{
  // 1. Yatay ScrollBox: Mobilde dar ekranlarda tablonun yana kaymasını sağlar
  HScrollGrid = BakimForm.AddNewHorzScrollBox(PnlMainCard, 'HScrollGrid');
  HScrollGrid.Align = alTop;
  HScrollGrid.Height = 250;
  HScrollGrid.Margins.Left = 10; HScrollGrid.Margins.Right = 10; 
  HScrollGrid.Margins.Top = 10; // Başlık ile aradaki boşluk
  
  // 2. Taşıyıcı Panel: Grid'in genişliğini sabitler (Kaydırmayı tetikler)
  PnlGridContainer = BakimForm.AddNewProPanel(HScrollGrid, 'PnlGridContainer');
  PnlGridContainer.Align = alLeft; 
  PnlGridContainer.Width = 600;
  PnlGridContainer.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  PnlGridContainer.clProSettings.BorderWidth = 1;
  PnlGridContainer.SetclProSettings(PnlGridContainer.clProSettings);

  // 3. Tablo Başlık (Header) Paneli
  PnlGridHeader = BakimForm.AddNewProPanel(PnlGridContainer, 'PnlGridHeader');
  PnlGridHeader.Align = alTop; PnlGridHeader.Height = 40;
  PnlGridHeader.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1F5F9');
  PnlGridHeader.SetclProSettings(PnlGridHeader.clProSettings);

  // BAŞLIK HÜCRELERİ
  LblCol1 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol1', 'Stok Kodu');
  LblCol1.Align = alLeft; LblCol1.Width = 100; LblCol1.Margins.Left = 5; 
  LblCol1.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol1.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol1.SetclProSettings(LblCol1.clProSettings);

  LblCol2 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol2', 'Stok Adı');
  LblCol2.Align = alLeft; LblCol2.Width = 150; 
  LblCol2.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol2.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol2.SetclProSettings(LblCol2.clProSettings);

  LblCol3 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol3', 'Miktar');
  LblCol3.Align = alLeft; LblCol3.Width = 60; 
  LblCol3.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol3.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol3.SetclProSettings(LblCol3.clProSettings);

  LblCol4 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol4', 'Birim');
  LblCol4.Align = alLeft; LblCol4.Width = 70; 
  LblCol4.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol4.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol4.SetclProSettings(LblCol4.clProSettings);

  LblCol5 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol5', 'Fiyat');
  LblCol5.Align = alLeft; LblCol5.Width = 80; 
  LblCol5.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol5.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol5.SetclProSettings(LblCol5.clProSettings);

  LblCol6 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol6', 'Tutar');
  LblCol6.Align = alClient; 
  LblCol6.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblCol6.clProSettings.TextSettings.Font.Style = [fsBold]; LblCol6.SetclProSettings(LblCol6.clProSettings);

  // 4. SATIRLAR İÇİN LISTVIEW BİLEŞENİ
  ListGrid = BakimForm.AddNewProListView(PnlGridContainer, 'ListGrid'); 
  ListGrid.Align = alClient;
  ListGrid.ListType = 'vertical'; ListGrid.clProSettings.ColCount = 1;
  ListGrid.clProSettings.ItemHeight = 40; 
  ListGrid.clProSettings.ItemSpace = 0; 
  ListGrid.SetclProSettings(ListGrid.clProSettings);

  // 5. SATIR İÇİ HÜCRE TASARIMLARI (Tasarım Şablonu)
  ListGridDesigner = BakimForm.AddNewProListViewDesignerPanel(ListGrid, 'ListGridDesigner'); 
  ListGridDesigner.Align = alTop; ListGridDesigner.Height = 40; ListGridDesigner.Width = 600; 
  ListGridDesigner.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  ListGridDesigner.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); ListGridDesigner.clProSettings.BorderWidth = 1; 
  ListGridDesigner.SetclProSettings(ListGridDesigner.clProSettings);

  LblD1 = BakimForm.AddNewProLabel(ListGridDesigner, 'MAIN_TEXT', '');
  LblD1.Align = alLeft; LblD1.Width = 100; LblD1.Margins.Left = 5; 
  LblD1.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD1.SetclProSettings(LblD1.clProSettings);

  LblD2 = BakimForm.AddNewProLabel(ListGridDesigner, 'SUB_TEXT', '');
  LblD2.Align = alLeft; LblD2.Width = 150; 
  LblD2.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD2.SetclProSettings(LblD2.clProSettings);

  LblD3 = BakimForm.AddNewProLabel(ListGridDesigner, 'TEXT1', '');
  LblD3.Align = alLeft; LblD3.Width = 60; 
  LblD3.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD3.SetclProSettings(LblD3.clProSettings);

  LblD4 = BakimForm.AddNewProLabel(ListGridDesigner, 'TEXT2', '');
  LblD4.Align = alLeft; LblD4.Width = 70; 
  LblD4.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD4.SetclProSettings(LblD4.clProSettings);

  LblD5 = BakimForm.AddNewProLabel(ListGridDesigner, 'TEXT3', '');
  LblD5.Align = alLeft; LblD5.Width = 80; 
  LblD5.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD5.SetclProSettings(LblD5.clProSettings);

  LblD6 = BakimForm.AddNewProLabel(ListGridDesigner, 'TEXT4', '');
  LblD6.Align = alClient; 
  LblD6.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor); LblD6.SetclProSettings(LblD6.clProSettings);

  // STANDART CLOMOSY VERİ BAĞLANTILARI
  ListGridDesigner.AddPanelObject(LblD1, clCaption); 
  ListGridDesigner.AddPanelObject(LblD2, clText); 
  ListGridDesigner.AddPanelObject(LblD3, clText1); 
  ListGridDesigner.AddPanelObject(LblD4, clText2); 
  ListGridDesigner.AddPanelObject(LblD5, clText3); 
  ListGridDesigner.AddPanelObject(LblD6, clText4); 

  ListGrid.SetDesignerPanel(ListGridDesigner);
}

void OperatorGrupDegisti;
{
  CmbOperator.Items.Clear;
  if (CmbOperatorGrup.ItemIndex == 0) { CmbOperator.AddItem('A1 - Ahmet Yilmaz (Mekanik)', 'A1'); CmbOperator.AddItem('A2 - Mehmet Kaya (Elektrik)', 'A2');
    CmbOperator.AddItem('B1 - Veli Demir (Genel)', 'B1'); CmbOperator.AddItem('B2 - Ayse Celik (Genel)', 'B2'); CmbOperator.AddItem('C1 - Hasan Polat (Motor)', 'C1');
    if (KayitliOperatorA <> '') { CmbOperator.AddItem(KayitliOperatorA + ' (Kendi Kaydi)', 'USR_A');
    } if (KayitliOperatorB <> '') { CmbOperator.AddItem(KayitliOperatorB + ' (Kendi Kaydi)', 'USR_B');
    } if (KayitliOperatorC <> '') { CmbOperator.AddItem(KayitliOperatorC + ' (Kendi Kaydi)', 'USR_C');
    } }
  else if (CmbOperatorGrup.ItemIndex == 1) { CmbOperator.AddItem('A1 - Ahmet Yilmaz (Mekanik)', 'A1');
    CmbOperator.AddItem('A2 - Mehmet Kaya (Elektrik)', 'A2'); if (KayitliOperatorA <> '') { CmbOperator.AddItem(KayitliOperatorA + ' (Kendi Kaydi)', 'USR_A');
    } }
  else if (CmbOperatorGrup.ItemIndex == 2) { CmbOperator.AddItem('B1 - Veli Demir (Genel)', 'B1');
    CmbOperator.AddItem('B2 - Ayse Celik (Genel)', 'B2'); if (KayitliOperatorB <> '') { CmbOperator.AddItem(KayitliOperatorB + ' (Kendi Kaydi)', 'USR_B');
    } }
  else if (CmbOperatorGrup.ItemIndex == 3) { CmbOperator.AddItem('C1 - Hasan Polat (Motor)', 'C1');
    if (KayitliOperatorC <> '') { CmbOperator.AddItem(KayitliOperatorC + ' (Kendi Kaydi)', 'USR_C'); } }
  CmbOperator.ItemIndex = -1;
}

void FormuTemizle;
{
  EdtBelgeNo.Text = ''; EdtTarih.Text = DateToStr(Now); 
  CmbBakimDurumu.ItemIndex = -1; CmbBakimTipi.ItemIndex = -1; CmbBakimTuru.ItemIndex = -1; EdtBakimKodu.Text = '';
  EdtMakineKodu.Text = ''; EdtBaglanti.Text = ''; EdtCariKodu.Text = ''; EdtBaslangic.Text = DateToStr(Now); EdtBaslangicSaat.Text = TimeToStr(Now);
  EdtGirisZamani.Text = DateToStr(Now) + ' ' + TimeToStr(Now);
  EdtKisiSayisi.Text = '0'; EdtOperatorBilgisi.Text = ''; CmbPlanlananBitis.ItemIndex = -1; CmbYeniOperatorGrup.ItemIndex = -1;
  CmbOperatorGrup.ItemIndex = 0; OperatorGrupDegisti; CmbOperator.ItemIndex = -1; GridGuncelle; ImgPhoto.Bitmap = Nil;
}

// BÜTÜN SORUNU ÇÖZEN DOSYA SİLME İŞLEMİ BURADA EKLİ
void BtnYeniClick; 
var 
  DosyaYolu: String;
  Temizleyici: TclStringList;
  DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
  Temizleyici = Clomosy.StringListNew;
  Temizleyici.SaveToFile(DosyaYolu, 0);
  Temizleyici.Free;
  
  FormuTemizle; 
  ShowMessage('Eski veritabanı temizlendi! Artık sıfırdan kayıt yapabilirsiniz.'); 
}

// =====================================================================
// DOSYAYA KAYIT
// =====================================================================
void BtnKaydetClick;
var 
  KayitDosyasi: TclStringList; 
  DosyaYolu: String; 
  YeniKayit: String;
  LTarih: String;
  LAy: String;
  LYil: String;
  if (EdtBelgeNo.Text == '') 
  { 
    ShowMessage(GetText('MSG_BELGE_NO_GIRIN'));
  }
  else if (CmbBakimDurumu.ItemIndex == -1)
  {
    ShowMessage(GetText('MSG_DURUM_SECIN'));
  }
  else 
  { 
    DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath); 
    KayitDosyasi = Clomosy.StringListNew;
    if (clFileExists(DosyaYolu, '')) 
    { 
      KayitDosyasi.LoadFromFile(DosyaYolu, 0);
    } 
    
    LTarih = DateToStr(Now); 
    LAy = Copy(LTarih, 4, 2);
    LYil = Copy(LTarih, 7, 4);
    
    // YENİ FORMATLI KAYIT YAPISI (Filtre formuna %100 uyumlu sıra)
    // Tur | BelgeNo | Makine | Tip | Planlanan | Durum | Ay | Yil | Periyot
    YeniKayit = 'Bakım|' + EdtBelgeNo.Text + '|' + EdtMakineKodu.Text + '|' + CmbBakimTipi.Text + '|'
    + LTarih + '|' + CmbBakimDurumu.Text + '|' + LAy + '|' + LYil + '|' + CmbPlanlananBitis.Text; 
    
    KayitDosyasi.Add(YeniKayit);
    KayitDosyasi.SaveToFile(DosyaYolu, 0); 
    
    ShowMessage(GetText('MSG_KAYIT_BASARILI') + #13#10 + GetText('MSG_EKLENEN_VERI') + YeniKayit); 
    KayitDosyasi.Free;
    FormuTemizle; 
  } 
}

void BtnYazdirClick;
  ShowMessage(GetText('YAZDIR') + ' işlemi başlatılıyor...'); 
}

void BtnOperatorKaydetClick;
  if (EdtOperatorBilgisi.Text == '') { ShowMessage(GetText('MSG_OP_BILGI_GIRIN')); } 
  else if (CmbYeniOperatorGrup.ItemIndex == -1) { ShowMessage(GetText('MSG_OP_GRUP_SECIN'));
  } 
  else { 
    if (CmbYeniOperatorGrup.ItemIndex == 0) { KayitliOperatorA = 'A - ' + EdtOperatorBilgisi.Text;
    } 
    else if (CmbYeniOperatorGrup.ItemIndex == 1) { KayitliOperatorB = 'B - ' + EdtOperatorBilgisi.Text;
    } 
    else if (CmbYeniOperatorGrup.ItemIndex == 2) { KayitliOperatorC = 'C - ' + EdtOperatorBilgisi.Text;
    } 
    OperatorGrupDegisti; 
    ShowMessage(GetText('MSG_OP_KAYDEDILDI')); 
    EdtOperatorBilgisi.Text = ''; CmbYeniOperatorGrup.ItemIndex = -1; 
  } 
}

void TakePhotoClick; { Clomosy.ImageChooser(BakimForm, ImgPhoto);
}
void CmbOperatorGrupChanged; { OperatorGrupDegisti; }

// =====================================================================
// ANA BLOK 
// =====================================================================
{
  gCounter = 0; // İSİMLENDİRME SAYACI BAŞLATILDI

  BakimForm = TclGameForm.Create(Self); 
  BakimForm.LytTopBar.Visible = False; BakimForm.BtnGoBack.Visible = False; BakimForm.BtnFormMenu.Visible = False;
  BakimForm.AddNewEvent(BakimForm, tbeOnVirtualKeyboardShown, 'OnKeyboardShow'); BakimForm.AddNewEvent(BakimForm, tbeOnVirtualKeyboardHidden, 'OnKeyboardHide');
  
  BakimForm.AddNewEvent(BakimForm, tbeOnFormShow, 'OnFormGoster');

  AyarlariYukle;
  
  KayitliOperatorA = ''; KayitliOperatorB = ''; KayitliOperatorC = '';

  PnlNavBar = BakimForm.AddNewProPanel(BakimForm, 'PnlNavBar'); PnlNavBar.Align = alTop; PnlNavBar.Height = 92; StyleHeaderBar(PnlNavBar);
  
  BtnGeri = BakimForm.AddNewProButton(PnlNavBar, 'BtnGeri', '<'); BtnGeri.Align = alLeft;
  BtnGeri.Width = 48; BtnGeri.Margins.Top = 40; BtnGeri.Margins.Bottom = 0; BtnGeri.clProSettings.FontColor = clAlphaColor.clWhite; BtnGeri.clProSettings.BorderWidth = 0; BtnGeri.clProSettings.IsFill = False;
  BtnGeri.clProSettings.FontSize = 20; BtnGeri.clProSettings.FontName = OkunanFontAdi; BtnGeri.clProSettings.TextSettings.Font.Style = [fsBold]; BtnGeri.SetclProSettings(BtnGeri.clProSettings); BakimForm.AddNewEvent(BtnGeri, tbeOnClick, 'GoBack');
  
  LblNavTitle = BakimForm.AddNewProLabel(PnlNavBar, 'LblNavTitle', '');
  LblNavTitle.Align = alClient; LblNavTitle.Margins.Left = 8; LblNavTitle.Margins.Top = 54; LblNavTitle.clProSettings.FontColor = clAlphaColor.clWhite; LblNavTitle.clProSettings.FontSize = UiFontSize + 4; LblNavTitle.clProSettings.FontName = OkunanFontAdi;
  LblNavTitle.clProSettings.TextSettings.Font.Style = [fsBold]; LblNavTitle.SetclProSettings(LblNavTitle.clProSettings);

  ScrollForm = BakimForm.AddNewVertScrollBox(BakimForm, 'ScrollForm'); ScrollForm.Align = alClient;
  PnlHeaderTop = BakimForm.AddNewProPanel(ScrollForm, 'PnlHeaderTop'); PnlHeaderTop.Align = alTop;
  PnlHeaderTop.Height = 56; StyleHeaderBar(PnlHeaderTop);
  BtnScroll = BakimForm.AddNewHorzScrollBox(PnlHeaderTop, 'BtnScroll'); BtnScroll.Align = alClient; BtnScroll.Margins.Left = 8; BtnScroll.Margins.Right = 8;
  
  BtnYeni = BakimForm.AddNewProButton(BtnScroll, 'BtnYeni', ''); BtnYeni.Align = alLeft; BtnYeni.Width = 82;
  BtnYeni.Margins.Left = 4; BtnYeni.Margins.Top = 9; BtnYeni.Margins.Bottom = 9; StyleTopBtnYeni(BtnYeni); BakimForm.AddNewEvent(BtnYeni, tbeOnClick, 'BtnYeniClick'); 
  
  BtnKaydet = BakimForm.AddNewProButton(BtnScroll, 'BtnKaydet', '');
  BtnKaydet.Align = alLeft; BtnKaydet.Width = 88; BtnKaydet.Margins.Left = 8; BtnKaydet.Margins.Top = 9; BtnKaydet.Margins.Bottom = 9; StyleTopBtnKaydet(BtnKaydet); BakimForm.AddNewEvent(BtnKaydet, tbeOnClick, 'BtnKaydetClick');
  BtnYazdir = BakimForm.AddNewProButton(BtnScroll, 'BtnYazdir', ''); BtnYazdir.Align = alLeft; BtnYazdir.Width = 88; BtnYazdir.Margins.Left = 8; BtnYazdir.Margins.Top = 9; BtnYazdir.Margins.Bottom = 9;
  StyleTopBtnYazdir(BtnYazdir); BakimForm.AddNewEvent(BtnYazdir, tbeOnClick, 'BtnYazdirClick'); 

  PnlMainCard = BakimForm.AddNewProPanel(ScrollForm, 'PnlMainCard'); PnlMainCard.Align = alTop; PnlMainCard.Height = 2450; PnlMainCard.Margins.Top = 15; PnlMainCard.Margins.Left = 12;
  PnlMainCard.Margins.Right = 12; PnlMainCard.Margins.Bottom = 25; StyleMainCard(PnlMainCard);
  
  LblSect1Title = BakimForm.AddNewProLabel(PnlMainCard, 'LblSect1Title', ''); LblSect1Title.Align = alTop; LblSect1Title.Height = 30;
  LblSect1Title.Margins.Left = 10; LblSect1Title.Margins.Top = 15; StyleSectionTitle(LblSect1Title);

  // ---------------- BELGE NO ----------------
  GrpBelgeNo = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBelgeNo'); GrpBelgeNo.Align = alTop;
  GrpBelgeNo.Height = 58; GrpBelgeNo.Margins.Top = 6; GrpBelgeNo.Margins.Left = 10; GrpBelgeNo.Margins.Right = 10; StyleInputPanel(GrpBelgeNo);
  LblBelgeNo = BakimForm.AddNewProLabel(GrpBelgeNo, 'LblBelgeNo', '');
  LblBelgeNo.Align = alTop; LblBelgeNo.Height = 18; LblBelgeNo.Margins.Left = 10; LblBelgeNo.Margins.Top = 6; StyleInputLabel(LblBelgeNo);
  
  BtnRehberAc = BakimForm.AddNewProButton(GrpBelgeNo, 'BtnRehberAc', '');
  BtnRehberAc.Align = alRight; BtnRehberAc.Width = 50; BtnRehberAc.Margins.Right = 10; BtnRehberAc.Margins.Bottom = 7; StyleActionButton(BtnRehberAc); BakimForm.AddNewEvent(BtnRehberAc, tbeOnClick, 'BtnRehberBelgeClick'); 
  ImgBelge = BakimForm.AddNewImage(BtnRehberAc, 'ImgBelge');
  ImgBelge.Align = alClient; ImgBelge.Margins.Top = 0; ImgBelge.Margins.Bottom = 0; ImgBelge.Margins.Left = 0; ImgBelge.Margins.Right = 0; BakimForm.setImage(ImgBelge, 'https://i.hizliresim.com/57ztonk.png'); BakimForm.AddNewEvent(ImgBelge, tbeOnClick, 'BtnRehberBelgeClick');
  EdtBelgeNo = BakimForm.AddNewProEdit(GrpBelgeNo, 'EdtBelgeNo', ''); EdtBelgeNo.Align = alClient; EdtBelgeNo.Margins.Left = 10; EdtBelgeNo.Margins.Right = 5; EdtBelgeNo.Margins.Bottom = 7; StyleReadonlyEdit(EdtBelgeNo);
  EdtBelgeNo.ReadOnly = True; EdtBelgeNo.CanFocus = False;

  // ---------------- TARİH ----------------
  GrpTarih = BakimForm.AddNewProPanel(PnlMainCard, 'GrpTarih'); GrpTarih.Align = alTop;
  GrpTarih.Height = 58; GrpTarih.Margins.Top = 6; GrpTarih.Margins.Left = 10; GrpTarih.Margins.Right = 10; StyleInputPanel(GrpTarih);
  LblTarih = BakimForm.AddNewProLabel(GrpTarih, 'LblTarih', '');
  LblTarih.Align = alTop; LblTarih.Height = 18; LblTarih.Margins.Left = 10; LblTarih.Margins.Top = 6; StyleInputLabel(LblTarih);
  EdtTarih = BakimForm.AddNewProEdit(GrpTarih, 'EdtTarih', '');
  EdtTarih.Align = alClient; EdtTarih.Margins.Left = 10; EdtTarih.Margins.Right = 10; EdtTarih.Margins.Bottom = 7; EdtTarih.ReadOnly = True; EdtTarih.CanFocus = False; StyleReadonlyEdit(EdtTarih);
  
  // ---------------- BAKIM TİPİ ----------------
  GrpBakimTipi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimTipi'); GrpBakimTipi.Align = alTop; GrpBakimTipi.Height = 58; GrpBakimTipi.Margins.Top = 6;
  GrpBakimTipi.Margins.Left = 10; GrpBakimTipi.Margins.Right = 10; StyleInputPanel(GrpBakimTipi);
  LblBakimTipi = BakimForm.AddNewProLabel(GrpBakimTipi, 'LblBakimTipi', ''); LblBakimTipi.Align = alTop; LblBakimTipi.Height = 18;
  LblBakimTipi.Margins.Left = 10; LblBakimTipi.Margins.Top = 6; StyleInputLabel(LblBakimTipi);
  CmbBakimTipi = BakimForm.AddNewComboBox(GrpBakimTipi, 'CmbBakimTipi'); CmbBakimTipi.Align = alClient; CmbBakimTipi.Margins.Left = 10; CmbBakimTipi.Margins.Right = 10;
  CmbBakimTipi.Margins.Bottom = 7;

  // ---------------- BAKIM TÜRÜ ----------------
  GrpBakimTuru = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimTuru'); GrpBakimTuru.Align = alTop; GrpBakimTuru.Height = 58;
  GrpBakimTuru.Margins.Top = 6; GrpBakimTuru.Margins.Left = 10; GrpBakimTuru.Margins.Right = 10; StyleInputPanel(GrpBakimTuru);
  LblBakimTuru = BakimForm.AddNewProLabel(GrpBakimTuru, 'LblBakimTuru', ''); LblBakimTuru.Align = alTop;
  LblBakimTuru.Height = 18; LblBakimTuru.Margins.Left = 10; LblBakimTuru.Margins.Top = 6; StyleInputLabel(LblBakimTuru);
  CmbBakimTuru = BakimForm.AddNewComboBox(GrpBakimTuru, 'CmbBakimTuru'); CmbBakimTuru.Align = alClient; CmbBakimTuru.Margins.Left = 10;
  CmbBakimTuru.Margins.Right = 10; CmbBakimTuru.Margins.Bottom = 7;

  // ---------------- BAKIM KODU ----------------
  GrpBakimKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimKodu'); GrpBakimKodu.Align = alTop;
  GrpBakimKodu.Height = 58; GrpBakimKodu.Margins.Top = 6; GrpBakimKodu.Margins.Left = 10; GrpBakimKodu.Margins.Right = 10; StyleInputPanel(GrpBakimKodu);
  LblBakimKodu = BakimForm.AddNewProLabel(GrpBakimKodu, 'LblBakimKodu', '');
  LblBakimKodu.Align = alTop; LblBakimKodu.Height = 18; LblBakimKodu.Margins.Left = 10; LblBakimKodu.Margins.Top = 6; StyleInputLabel(LblBakimKodu);
  
  BtnBakimKoduRehber = BakimForm.AddNewProButton(GrpBakimKodu, 'BtnBakimKoduRehber', '');
  BtnBakimKoduRehber.Align = alRight; BtnBakimKoduRehber.Width = 50; BtnBakimKoduRehber.Margins.Right = 10; BtnBakimKoduRehber.Margins.Bottom = 7; StyleActionButton(BtnBakimKoduRehber); BakimForm.AddNewEvent(BtnBakimKoduRehber, tbeOnClick, 'BtnBakimKoduRehberClick'); 
  ImgBakim = BakimForm.AddNewImage(BtnBakimKoduRehber, 'ImgBakim');
  ImgBakim.Align = alClient; ImgBakim.Margins.Top = 0; ImgBakim.Margins.Bottom = 0; ImgBakim.Margins.Left = 0; ImgBakim.Margins.Right = 0; BakimForm.setImage(ImgBakim, 'https://i.hizliresim.com/57ztonk.png'); BakimForm.AddNewEvent(ImgBakim, tbeOnClick, 'BtnBakimKoduRehberClick');
  EdtBakimKodu = BakimForm.AddNewProEdit(GrpBakimKodu, 'EdtBakimKodu', ''); EdtBakimKodu.Align = alClient; EdtBakimKodu.Margins.Left = 10; EdtBakimKodu.Margins.Right = 5; EdtBakimKodu.Margins.Bottom = 7; StyleReadonlyEdit(EdtBakimKodu);
  EdtBakimKodu.ReadOnly = True; EdtBakimKodu.CanFocus = False; 

  // ---------------- MAKİNE KODU ----------------
  GrpMakineKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpMakineKodu'); GrpMakineKodu.Align = alTop;
  GrpMakineKodu.Height = 58; GrpMakineKodu.Margins.Top = 6; GrpMakineKodu.Margins.Left = 10; GrpMakineKodu.Margins.Right = 10; StyleInputPanel(GrpMakineKodu);
  LblMakineKodu = BakimForm.AddNewProLabel(GrpMakineKodu, 'LblMakineKodu', '');
  LblMakineKodu.Align = alTop; LblMakineKodu.Height = 18; LblMakineKodu.Margins.Left = 10; LblMakineKodu.Margins.Top = 6; StyleInputLabel(LblMakineKodu);
  
  BtnMakineKoduRehber = BakimForm.AddNewProButton(GrpMakineKodu, 'BtnMakineKoduRehber', '');
  BtnMakineKoduRehber.Align = alRight; BtnMakineKoduRehber.Width = 50; BtnMakineKoduRehber.Margins.Right = 10; BtnMakineKoduRehber.Margins.Bottom = 7; StyleActionButton(BtnMakineKoduRehber); BakimForm.AddNewEvent(BtnMakineKoduRehber, tbeOnClick, 'BtnMakineKoduRehberClick'); 
  ImgMakine = BakimForm.AddNewImage(BtnMakineKoduRehber, 'ImgMakine');
  ImgMakine.Align = alClient; ImgMakine.Margins.Top = 0; ImgMakine.Margins.Bottom = 0; ImgMakine.Margins.Left = 0; ImgMakine.Margins.Right = 0; BakimForm.setImage(ImgMakine, 'https://i.hizliresim.com/57ztonk.png'); BakimForm.AddNewEvent(ImgMakine, tbeOnClick, 'BtnMakineKoduRehberClick');
  EdtMakineKodu = BakimForm.AddNewProEdit(GrpMakineKodu, 'EdtMakineKodu', ''); EdtMakineKodu.Align = alClient; EdtMakineKodu.Margins.Left = 10; EdtMakineKodu.Margins.Right = 5; EdtMakineKodu.Margins.Bottom = 7; StyleReadonlyEdit(EdtMakineKodu);
  EdtMakineKodu.ReadOnly = True; EdtMakineKodu.CanFocus = False; 

  // ---------------- BAĞLANTI ----------------
  GrpBaglanti = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBaglanti'); GrpBaglanti.Align = alTop;
  GrpBaglanti.Height = 58; GrpBaglanti.Margins.Top = 6; GrpBaglanti.Margins.Left = 10; GrpBaglanti.Margins.Right = 10; StyleInputPanel(GrpBaglanti);
  LblBaglanti = BakimForm.AddNewProLabel(GrpBaglanti, 'LblBaglanti', '');
  LblBaglanti.Align = alTop; LblBaglanti.Height = 18; LblBaglanti.Margins.Left = 10; LblBaglanti.Margins.Top = 6; StyleInputLabel(LblBaglanti);
  
  BtnBaglantiRehber = BakimForm.AddNewProButton(GrpBaglanti, 'BtnBaglantiRehber', '');
  BtnBaglantiRehber.Align = alRight; BtnBaglantiRehber.Width = 50; BtnBaglantiRehber.Margins.Right = 10; BtnBaglantiRehber.Margins.Bottom = 7; StyleActionButton(BtnBaglantiRehber); BakimForm.AddNewEvent(BtnBaglantiRehber, tbeOnClick, 'BtnBaglantiRehberClick'); 
  ImgBaglanti = BakimForm.AddNewImage(BtnBaglantiRehber, 'ImgBaglanti');
  ImgBaglanti.Align = alClient; ImgBaglanti.Margins.Top = 0; ImgBaglanti.Margins.Bottom = 0; ImgBaglanti.Margins.Left = 0; ImgBaglanti.Margins.Right = 0; BakimForm.setImage(ImgBaglanti, 'https://i.hizliresim.com/57ztonk.png'); BakimForm.AddNewEvent(ImgBaglanti, tbeOnClick, 'BtnBaglantiRehberClick');
  EdtBaglanti = BakimForm.AddNewProEdit(GrpBaglanti, 'EdtBaglanti', ''); EdtBaglanti.Align = alClient; EdtBaglanti.Margins.Left = 10; EdtBaglanti.Margins.Right = 5; EdtBaglanti.Margins.Bottom = 7; StyleReadonlyEdit(EdtBaglanti);
  EdtBaglanti.ReadOnly = True; EdtBaglanti.CanFocus = False;

  // ---------------- CARİ KODU ----------------
  GrpCariKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpCariKodu'); GrpCariKodu.Align = alTop;
  GrpCariKodu.Height = 58; GrpCariKodu.Margins.Top = 6; GrpCariKodu.Margins.Left = 10; GrpCariKodu.Margins.Right = 10; StyleInputPanel(GrpCariKodu);
  LblCariKodu = BakimForm.AddNewProLabel(GrpCariKodu, 'LblCariKodu', '');
  LblCariKodu.Align = alTop; LblCariKodu.Height = 18; LblCariKodu.Margins.Left = 10; LblCariKodu.Margins.Top = 6; StyleInputLabel(LblCariKodu);
  
  BtnCariKoduRehber = BakimForm.AddNewProButton(GrpCariKodu, 'BtnCariKoduRehber', '');
  BtnCariKoduRehber.Align = alRight; BtnCariKoduRehber.Width = 50; BtnCariKoduRehber.Margins.Right = 10; BtnCariKoduRehber.Margins.Bottom = 7; StyleActionButton(BtnCariKoduRehber); BakimForm.AddNewEvent(BtnCariKoduRehber, tbeOnClick, 'BtnCariKoduRehberClick'); 
  ImgCari = BakimForm.AddNewImage(BtnCariKoduRehber, 'ImgCari');
  ImgCari.Align = alClient; ImgCari.Margins.Top = 0; ImgCari.Margins.Bottom = 0; ImgCari.Margins.Left = 0; ImgCari.Margins.Right = 0; BakimForm.setImage(ImgCari, 'https://i.hizliresim.com/57ztonk.png'); BakimForm.AddNewEvent(ImgCari, tbeOnClick, 'BtnCariKoduRehberClick');
  EdtCariKodu = BakimForm.AddNewProEdit(GrpCariKodu, 'EdtCariKodu', ''); EdtCariKodu.Align = alClient; EdtCariKodu.Margins.Left = 10; EdtCariKodu.Margins.Right = 5; EdtCariKodu.Margins.Bottom = 7; StyleReadonlyEdit(EdtCariKodu);
  EdtCariKodu.ReadOnly = True; EdtCariKodu.CanFocus = False;

  GrpBaslangic = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBaslangic'); GrpBaslangic.Align = alTop; GrpBaslangic.Height = 58; GrpBaslangic.Margins.Top = 6;
  GrpBaslangic.Margins.Left = 10; GrpBaslangic.Margins.Right = 10; StyleInputPanel(GrpBaslangic);
  LblBaslangic = BakimForm.AddNewProLabel(GrpBaslangic, 'LblBaslangic', ''); LblBaslangic.Align = alTop; LblBaslangic.Height = 18;
  LblBaslangic.Margins.Left = 10; LblBaslangic.Margins.Top = 6; StyleInputLabel(LblBaslangic);
  EdtBaslangicSaat = BakimForm.AddNewProEdit(GrpBaslangic, 'EdtBaslangicSaat', ''); EdtBaslangicSaat.Align = alRight; EdtBaslangicSaat.Width = 92;
  EdtBaslangicSaat.Margins.Right = 10; EdtBaslangicSaat.Margins.Bottom = 7; EdtBaslangicSaat.ReadOnly = True; EdtBaslangicSaat.CanFocus = False; StyleReadonlyEdit(EdtBaslangicSaat);
  EdtBaslangic = BakimForm.AddNewProEdit(GrpBaslangic, 'EdtBaslangic', '');
  EdtBaslangic.Align = alClient; EdtBaslangic.Margins.Left = 10; EdtBaslangic.Margins.Right = 8; EdtBaslangic.Margins.Bottom = 7; EdtBaslangic.ReadOnly = True; EdtBaslangic.CanFocus = False; StyleReadonlyEdit(EdtBaslangic);
  
  GrpGirisZamani = BakimForm.AddNewProPanel(PnlMainCard, 'GrpGirisZamani'); GrpGirisZamani.Align = alTop; GrpGirisZamani.Height = 58; GrpGirisZamani.Margins.Top = 6; GrpGirisZamani.Margins.Left = 10; GrpGirisZamani.Margins.Right = 10; StyleInputPanel(GrpGirisZamani);
  LblGirisZamani = BakimForm.AddNewProLabel(GrpGirisZamani, 'LblGirisZamani', ''); LblGirisZamani.Align = alTop; LblGirisZamani.Height = 18; LblGirisZamani.Margins.Left = 10; LblGirisZamani.Margins.Top = 6; StyleInputLabel(LblGirisZamani);
  EdtGirisZamani = BakimForm.AddNewProEdit(GrpGirisZamani, 'EdtGirisZamani', ''); EdtGirisZamani.Align = alClient; EdtGirisZamani.Margins.Left = 10; EdtGirisZamani.Margins.Right = 10;
  EdtGirisZamani.Margins.Bottom = 7; EdtGirisZamani.ReadOnly = True;
  EdtGirisZamani.CanFocus = False; StyleReadonlyEdit(EdtGirisZamani);

  GrpPlanlananBitis = BakimForm.AddNewProPanel(PnlMainCard, 'GrpPlanlananBitis'); GrpPlanlananBitis.Align = alTop; GrpPlanlananBitis.Height = 58; GrpPlanlananBitis.Margins.Top = 6; GrpPlanlananBitis.Margins.Left = 10;
  GrpPlanlananBitis.Margins.Right = 10; StyleInputPanel(GrpPlanlananBitis);
  LblPlanlananBitis = BakimForm.AddNewProLabel(GrpPlanlananBitis, 'LblPlanlananBitis', ''); LblPlanlananBitis.Align = alTop; LblPlanlananBitis.Height = 18; LblPlanlananBitis.Margins.Left = 10;
  LblPlanlananBitis.Margins.Top = 6; StyleInputLabel(LblPlanlananBitis);
  CmbPlanlananBitis = BakimForm.AddNewComboBox(GrpPlanlananBitis, 'CmbPlanlananBitis'); CmbPlanlananBitis.Align = alClient; CmbPlanlananBitis.Margins.Left = 10; CmbPlanlananBitis.Margins.Right = 10; CmbPlanlananBitis.Margins.Bottom = 7;
  
  // ---------------- BAKIM DURUMU (YAPILDI/YAPILMADI) ----------------
  GrpBakimDurumu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimDurumu'); GrpBakimDurumu.Align = alTop; GrpBakimDurumu.Height = 58; GrpBakimDurumu.Margins.Top = 6;
  GrpBakimDurumu.Margins.Left = 10; GrpBakimDurumu.Margins.Right = 10; StyleInputPanel(GrpBakimDurumu);
  LblBakimDurumu = BakimForm.AddNewProLabel(GrpBakimDurumu, 'LblBakimDurumu', ''); LblBakimDurumu.Align = alTop; LblBakimDurumu.Height = 18;
  LblBakimDurumu.Margins.Left = 10; LblBakimDurumu.Margins.Top = 6; StyleInputLabel(LblBakimDurumu);
  CmbBakimDurumu = BakimForm.AddNewComboBox(GrpBakimDurumu, 'CmbBakimDurumu'); CmbBakimDurumu.Align = alClient; CmbBakimDurumu.Margins.Left = 10; CmbBakimDurumu.Margins.Right = 10;
  CmbBakimDurumu.Margins.Bottom = 7;

  GrpKisiSayisi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpKisiSayisi'); GrpKisiSayisi.Align = alTop; GrpKisiSayisi.Height = 58; GrpKisiSayisi.Margins.Top = 6; GrpKisiSayisi.Margins.Left = 10;
  GrpKisiSayisi.Margins.Right = 10; StyleInputPanel(GrpKisiSayisi);
  LblKisiSayisi = BakimForm.AddNewProLabel(GrpKisiSayisi, 'LblKisiSayisi', ''); LblKisiSayisi.Align = alTop; LblKisiSayisi.Height = 18; LblKisiSayisi.Margins.Left = 10;
  LblKisiSayisi.Margins.Top = 6; StyleInputLabel(LblKisiSayisi);
  EdtKisiSayisi = BakimForm.AddNewProEdit(GrpKisiSayisi, 'EdtKisiSayisi', '0'); EdtKisiSayisi.Align = alClient; EdtKisiSayisi.Margins.Left = 10; EdtKisiSayisi.Margins.Right = 10;
  EdtKisiSayisi.Margins.Bottom = 7; StyleInputEdit(EdtKisiSayisi); BindInputFocus(EdtKisiSayisi); BakimForm.AddNewEvent(EdtKisiSayisi, tbeOnEnter, 'KlvKisiSayisi');

  GrpOperatorGrup = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperatorGrup'); GrpOperatorGrup.Align = alTop; GrpOperatorGrup.Height = 58;
  GrpOperatorGrup.Margins.Top = 6; GrpOperatorGrup.Margins.Left = 10; GrpOperatorGrup.Margins.Right = 10; StyleInputPanel(GrpOperatorGrup);
  LblOperatorGrup = BakimForm.AddNewProLabel(GrpOperatorGrup, 'LblOperatorGrup', ''); LblOperatorGrup.Align = alTop;
  LblOperatorGrup.Height = 18; LblOperatorGrup.Margins.Left = 10; LblOperatorGrup.Margins.Top = 6; StyleInputLabel(GrpOperatorGrup);
  CmbOperatorGrup = BakimForm.AddNewComboBox(GrpOperatorGrup, 'CmbOperatorGrup'); CmbOperatorGrup.Align = alClient; CmbOperatorGrup.Margins.Left = 10;
  CmbOperatorGrup.Margins.Right = 10; CmbOperatorGrup.Margins.Bottom = 7; BakimForm.AddNewEvent(CmbOperatorGrup, tbeOnChange, 'CmbOperatorGrupChanged');

  GrpOperator = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperator'); GrpOperator.Align = alTop; GrpOperator.Height = 58;
  GrpOperator.Margins.Top = 6; GrpOperator.Margins.Left = 10; GrpOperator.Margins.Right = 10; StyleInputPanel(GrpOperator);
  LblOperator = BakimForm.AddNewProLabel(GrpOperator, 'LblOperator', ''); LblOperator.Align = alTop;
  LblOperator.Height = 18; LblOperator.Margins.Left = 10; LblOperator.Margins.Top = 6; StyleInputLabel(LblOperator);
  CmbOperator = BakimForm.AddNewComboBox(GrpOperator, 'CmbOperator'); CmbOperator.Align = alClient; CmbOperator.Margins.Left = 10;
  CmbOperator.Margins.Right = 10; CmbOperator.Margins.Bottom = 7;

  GrpOperatorBilgisi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperatorBilgisi'); GrpOperatorBilgisi.Align = alTop; GrpOperatorBilgisi.Height = 58; GrpOperatorBilgisi.Margins.Top = 6;
  GrpOperatorBilgisi.Margins.Left = 10; GrpOperatorBilgisi.Margins.Right = 10; StyleInputPanel(GrpOperatorBilgisi);
  LblOperatorBilgisi = BakimForm.AddNewProLabel(GrpOperatorBilgisi, 'LblOperatorBilgisi', ''); LblOperatorBilgisi.Align = alTop; LblOperatorBilgisi.Height = 18;
  LblOperatorBilgisi.Margins.Left = 10; LblOperatorBilgisi.Margins.Top = 6; StyleInputLabel(LblOperatorBilgisi);
  BtnOperatorKaydet = BakimForm.AddNewProButton(GrpOperatorBilgisi, 'BtnOperatorKaydet', ''); BtnOperatorKaydet.Align = alRight; BtnOperatorKaydet.Width = 80;
  BtnOperatorKaydet.Margins.Right = 10; BtnOperatorKaydet.Margins.Bottom = 7; StyleActionButton(BtnOperatorKaydet); BakimForm.AddNewEvent(BtnOperatorKaydet, tbeOnClick, 'BtnOperatorKaydetClick');
  CmbYeniOperatorGrup = BakimForm.AddNewComboBox(GrpOperatorBilgisi, 'CmbYeniOperatorGrup'); CmbYeniOperatorGrup.Align = alRight; CmbYeniOperatorGrup.Width = 95;
  CmbYeniOperatorGrup.Margins.Right = 6; CmbYeniOperatorGrup.Margins.Bottom = 7; 
  EdtOperatorBilgisi = BakimForm.AddNewProEdit(GrpOperatorBilgisi, 'EdtOperatorBilgisi', ''); EdtOperatorBilgisi.Align = alClient; EdtOperatorBilgisi.Margins.Left = 10; EdtOperatorBilgisi.Margins.Right = 6;
  EdtOperatorBilgisi.Margins.Bottom = 7; StyleInputEdit(EdtOperatorBilgisi); BindInputFocus(EdtOperatorBilgisi); BakimForm.AddNewEvent(EdtOperatorBilgisi, tbeOnEnter, 'KlvOperatorBilgisi');

  GrpAciklama = BakimForm.AddNewProPanel(PnlMainCard, 'GrpAciklama'); GrpAciklama.Align = alTop; GrpAciklama.Height = 58;
  GrpAciklama.Margins.Top = 6; GrpAciklama.Margins.Left = 10; GrpAciklama.Margins.Right = 10; StyleInputPanel(GrpAciklama);
  LblAciklama = BakimForm.AddNewProLabel(GrpAciklama, 'LblAciklama', ''); LblAciklama.Align = alTop;
  LblAciklama.Height = 18; LblAciklama.Margins.Left = 10; LblAciklama.Margins.Top = 6; StyleInputLabel(LblAciklama);
  EdtAciklama = BakimForm.AddNewProEdit(GrpAciklama, 'EdtAciklama', ''); EdtAciklama.Align = alClient;
  EdtAciklama.Margins.Left = 10; EdtAciklama.Margins.Right = 10; EdtAciklama.Margins.Bottom = 7; StyleInputEdit(EdtAciklama); BindInputFocus(EdtAciklama); BakimForm.AddNewEvent(EdtAciklama, tbeOnEnter, 'KlvAciklama');

  // ---------- TABLO BAŞLIĞI VE STOK EKLE BUTONU ----------
  PnlGridTitleArea = BakimForm.AddNewProPanel(PnlMainCard, 'PnlGridTitleArea');
  PnlGridTitleArea.Align = alTop; PnlGridTitleArea.Height = 40; PnlGridTitleArea.Margins.Top = 20; PnlGridTitleArea.Margins.Left = 10; PnlGridTitleArea.Margins.Right = 10;
  
  BtnStokEkleAnaForm = BakimForm.AddNewProButton(PnlGridTitleArea, 'BtnStokEkleAnaForm', ''); BtnStokEkleAnaForm.Align = alRight; BtnStokEkleAnaForm.Width = 100;
  StyleActionButton(BtnStokEkleAnaForm); BakimForm.AddNewEvent(BtnStokEkleAnaForm, tbeOnClick, 'BuildStokFiltreForm');

  LblGridTitle = BakimForm.AddNewProLabel(PnlGridTitleArea, 'LblSect2', ''); LblGridTitle.Align = alClient; LblGridTitle.Height = 30; StyleSectionTitle(LblGridTitle);
  
  // YENİ TABLO BİLEŞENİ ÇAĞRISI
  MalzemeListeSablonHazirla;

  // DİNAMİK ÖRNEK VERİ LİSTESİ YÜKLENİYOR
  if (gAktifDilIndex == 1) { // İngilizce
    MyJsonItems = '[{"MAIN_TEXT":"6204-ZZ", "SUB_TEXT":"Bearing", "TEXT1":"2", "TEXT2":"Pcs", "TEXT3":"225.00", "TEXT4":"450.00"},' +
                  '{"MAIN_TEXT":"OIL-10W40", "SUB_TEXT":"Synthetic Oil", "TEXT1":"3", "TEXT2":"Liter", "TEXT3":"283.33", "TEXT4":"850.00"}]';
  } 
  else if (gAktifDilIndex == 2) { // Almanca
    MyJsonItems = '[{"MAIN_TEXT":"6204-ZZ", "SUB_TEXT":"Lager", "TEXT1":"2", "TEXT2":"Stk", "TEXT3":"225,00", "TEXT4":"450,00"},' +
                  '{"MAIN_TEXT":"OIL-10W40", "SUB_TEXT":"Synthetisches Öl", "TEXT1":"3", "TEXT2":"Liter", "TEXT3":"283,33", "TEXT4":"850,00"}]';
  } 
  else if (gAktifDilIndex == 3) { // Fransızca
    MyJsonItems = '[{"MAIN_TEXT":"6204-ZZ", "SUB_TEXT":"Roulement", "TEXT1":"2", "TEXT2":"Pcs", "TEXT3":"225,00", "TEXT4":"450,00"},' +
                  '{"MAIN_TEXT":"OIL-10W40", "SUB_TEXT":"Huile Synthétique", "TEXT1":"3", "TEXT2":"Litre", "TEXT3":"283,33", "TEXT4":"850,00"}]';
  } 
  else { // Türkçe (Varsayılan)
    MyJsonItems = '[{"MAIN_TEXT":"6204-ZZ", "SUB_TEXT":"Rulman", "TEXT1":"2", "TEXT2":"Adet", "TEXT3":"225,00", "TEXT4":"450,00"},' + 
                  '{"MAIN_TEXT":"OIL-10W40", "SUB_TEXT":"Sentetik Yag", "TEXT1":"3", "TEXT2":"Litre", "TEXT3":"283,33", "TEXT4":"850,00"}]';
  }
  
  GridGuncelle;

  LblPhotoTitle = BakimForm.AddNewProLabel(PnlMainCard, 'LblSect3', ''); LblPhotoTitle.Align = alTop; LblPhotoTitle.Height = 30; LblPhotoTitle.Margins.Left = 10; LblPhotoTitle.Margins.Top = 20; StyleSectionTitle(LblPhotoTitle);
  PnlPhotoKutu = BakimForm.AddNewProPanel(PnlMainCard, 'PnlPhotoKutu'); PnlPhotoKutu.Align = alTop; PnlPhotoKutu.Height = 180; PnlPhotoKutu.Margins.Top = 5; PnlPhotoKutu.Margins.Left = 10; PnlPhotoKutu.Margins.Right = 10; StyleInputPanel(PnlPhotoKutu);
  ImgPhoto = BakimForm.AddNewImage(PnlPhotoKutu, 'ImgPhoto'); ImgPhoto.Align = alClient; ImgPhoto.Margins.Top = 5; ImgPhoto.Margins.Bottom = 5; ImgPhoto.Margins.Left = 5; ImgPhoto.Margins.Right = 5;
  BtnResimCek = BakimForm.AddNewProButton(PnlMainCard, 'BtnResimCek', ''); BtnResimCek.Align = alTop; BtnResimCek.Height = 42; BtnResimCek.Margins.Left = 10; BtnResimCek.Margins.Right = 10; BtnResimCek.Margins.Top = 10;
  StylePrimaryButton(BtnResimCek); BakimForm.AddNewEvent(BtnResimCek, tbeOnClick, 'TakePhotoClick');

  LblTalimatTitle = BakimForm.AddNewProLabel(PnlMainCard, 'LblSect4', ''); LblTalimatTitle.Align = alTop; LblTalimatTitle.Height = 30; LblTalimatTitle.Margins.Left = 10;
  LblTalimatTitle.Margins.Top = 20; StyleSectionTitle(LblTalimatTitle);
  PnlTalimatKutu = BakimForm.AddNewProPanel(PnlMainCard, 'PnlTalimatKutu'); PnlTalimatKutu.Align = alTop; PnlTalimatKutu.Height = 110; PnlTalimatKutu.Margins.Top = 5; PnlTalimatKutu.Margins.Left = 10;
  PnlTalimatKutu.Margins.Right = 10; StyleInputPanel(PnlTalimatKutu); 
  MemTabContent = BakimForm.AddNewMemo(PnlTalimatKutu, 'MemTabContent', ''); MemTabContent.Align = alClient; MemTabContent.Margins.Top = 5; MemTabContent.Margins.Bottom = 5;
  MemTabContent.Margins.Left = 5; MemTabContent.Margins.Right = 5; MemTabContent.ReadOnly = True; MemTabContent.TextSettings.Font.Size = UiFontSize; 

  SetCurrentDateTime; 
  
  ApplyUiSettings; 

  CmbYeniOperatorGrup.ItemIndex = -1; CmbOperatorGrup.ItemIndex = 0;
  OperatorGrupDegisti; 

  BakimForm.Run;
}  
    kodda bulan stok ekle kısmında  stok kodu açılıyor sonra bileşen ekle ve aktar kısımları boş olarak gözüküyor bunu bir çok farklı şekilde denedim ancak tam sonuç alamadım
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 967
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Saat 36 Dakika Önce Saat 17:56
Merhaba Kayra, 

Hataya sebep olabilecek  durumlar 
bileşenler de isim çakışması, main_text ve sub_text isimli etikler bir kaç yerde kullanılıyor. 
bir diğeri de hatalı veri işleme türü 

var
  BakimForm, RehberForm, StokFiltreForm: TclForm;
  LsvRehber: TClProListView; 
  EdtAramaRehber: TclProEdit;
  DataRehber: TclJsonQuery;
  GlobalLookupType: String; 

  PnlNavBar, PnlHeaderTop, PnlMainCard: TclProPanel;
  BtnScroll: TclHorzScrollBox;
  LblNavTitle, LblSect1Title, LblGridTitle, LblPhotoTitle, LblTalimatTitle: TClProLabel;
  BtnGeri, BtnYeni, BtnKaydet, BtnYazdir, BtnResimCek, BtnOperatorKaydet: TClProButton; 
  BtnRehberAc, BtnBakimKoduRehber, BtnMakineKoduRehber, BtnBaglantiRehber, BtnCariKoduRehber: TClProButton;
  GrpBelgeNo, GrpTarih, GrpBakimTipi, GrpBakimTuru, GrpBakimKodu, GrpMakineKodu, GrpBaglanti, GrpCariKodu: TclProPanel;
  GrpBaslangic, GrpGirisZamani, GrpPlanlananBitis, GrpBakimDurumu, GrpKisiSayisi, GrpOperatorGrup, GrpOperator, GrpOperatorBilgisi, GrpAciklama: TclProPanel;
  LblBelgeNo, LblTarih, LblBakimTipi, LblBakimTuru, LblBakimKodu, LblMakineKodu, LblBaglanti, LblCariKodu: TClProLabel;
  LblBaslangic, LblGirisZamani, LblPlanlananBitis, LblBakimDurumu, LblKisiSayisi, LblOperatorGrup, LblOperator, LblOperatorBilgisi, LblAciklama: TClProLabel;
  EdtBelgeNo, EdtTarih, EdtBakimKodu, EdtMakineKodu, EdtBaglanti, EdtCariKodu: TclProEdit;
  EdtBaslangic, EdtBaslangicSaat, EdtGirisZamani, EdtKisiSayisi, EdtOperatorBilgisi, EdtAciklama: TclProEdit;
  CmbBakimTipi, CmbBakimTuru, CmbOperatorGrup, CmbOperator, CmbYeniOperatorGrup, CmbPlanlananBitis, CmbBakimDurumu: TClComboBox;

  HScrollGrid: TclHorzScrollBox;
  PnlGridContainer, PnlGridHeader, PnlGridTitleArea: TclProPanel;
  ListGrid: TClProListView; 
  ListGridDesigner: TClProListViewDesignerPanel;
  LblCol1, LblCol2, LblCol3, LblCol4, LblCol5, LblCol6: TClProLabel;
  LblD1, LblD2, LblD3, LblD4, LblD5, LblD6: TClProLabel;
  BtnStokEkleAnaForm: TClProButton; 

  PnlTalimatKutu, PnlPhotoKutu: TclProPanel;
  MemTabContent: TclMemo;
  ScrollForm: TclVertScrollBox;
  ImgPhoto, ImgBelge, ImgBakim, ImgMakine, ImgBaglanti, ImgCari: TclImage;

  MyJsonItems, KayitliOperatorA, KayitliOperatorB, KayitliOperatorC: String;
  UiFontSize, OkunanStilIndex: Integer;
  OkunanFontAdi: String;
  ThemeKoyuRenk, ThemeAcikRenk: String;
  ThemeBgColor, ThemeBorderColor, ThemeTextColor: String;

  gAktifDilIndex: Integer;
  gTabletModuAktif: Integer;
  gTabletYonIndex: Integer;
  gCounter: Integer;

  PnlFiltreSag, PnlFiltreSagUst, PnlFiltreSagAlt, PnlFiltreAramaKutu, PnlEklemeKutu, PnlAktarKutu: TclProPanel;
  LsvKisitUyanlar, LsvEklenecekler: TClProListView;
  LsvKisitDP, LsvEklenecekDP: TclProListViewDesignerPanel;
  LblKisitD1, LblKisitD2, LblEkleD1, LblEkleD2, LblEkleD3, LblFiltreStokKodu: TClProLabel;
  BtnKodRehber: TclProButton;
  EdtFiltreStokKodu, EdtBilesenMiktar: TclProEdit;
  BtnFiltreAra, BtnBilesenEkle, BtnAktar: TClProButton;
  JsonEkleneceklerHavuzu, SecilenStokKodu, SecilenStokAdi: String;

void OnKeyboardShow;
{
  ScrollForm.Margins.Bottom = BakimForm.clVKBoundsHeight;
}

void OnKeyboardHide;
{
  ScrollForm.Margins.Bottom = 0;
}

function GetText(Key: String): String;
{
  Result = Key;
  if (gAktifDilIndex == 1)
  {
    if (Key == 'NAV_TITLE') { Result = 'Maintenance Movements'; }
    else if (Key == 'YENI') { Result = 'New'; }
    else if (Key == 'KAYDET') { Result = 'Save'; }
    else if (Key == 'YAZDIR') { Result = 'Print'; }
    else if (Key == 'SECT1') { Result = '1. GENERAL INFO'; }
    else if (Key == 'SECT2') { Result = '2. MATERIAL & COST'; }
    else if (Key == 'SECT3') { Result = '3. VISUALS'; }
    else if (Key == 'SECT4') { Result = '4. INSTRUCTIONS'; }
    else if (Key == 'BELGE_NO') { Result = 'Doc No:'; }
    else if (Key == 'TARIH') { Result = 'Date:'; }
    else if (Key == 'BAKIM_TIPI') { Result = 'Maint. Type:'; }
    else if (Key == 'BAKIM_TURU') { Result = 'Maint. Category:'; }
    else if (Key == 'BAKIM_KODU') { Result = 'Maint. Code:'; }
    else if (Key == 'MAKINE_KODU') { Result = 'Machine Code:'; }
    else if (Key == 'BAGLANTI') { Result = 'Connection:'; }
    else if (Key == 'CARI_KODU') { Result = 'Current Code:'; }
    else if (Key == 'BASLANGIC') { Result = 'Start Date/Time:'; }
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Entry Time:'; }
    else if (Key == 'PLANLANAN') { Result = 'Planned End Time:'; }
    else if (Key == 'BAKIM_DURUMU') { Result = 'Maintenance Status:'; }
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Done (Completed)'; }
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Not Done (Pending)'; }
    else if (Key == 'KISI_SAYISI') { Result = 'Headcount:'; }
    else if (Key == 'OP_GRUP') { Result = 'Operator Group:'; }
    else if (Key == 'OPERATOR') { Result = 'Operator in Charge:'; }
    else if (Key == 'OP_BILGI') { Result = 'New Operator Info:'; }
    else if (Key == 'ACIKLAMA') { Result = 'Description:'; }
    else if (Key == 'KAMERA') { Result = 'Open Camera'; }
    else if (Key == 'OP_KAYDET') { Result = 'Save'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Cut off machine power.' + #13#10 + '2. Attach safety lock.' + #13#10 + '3. Check bearing housings.' + #13#10 + '4. Tighten and align.' + #13#10 + '5. Perform a test run.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Form cleared.'; }
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Please enter Doc No before saving!'; }
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Please select maintenance status!'; }
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'SAVE SUCCESSFUL!'; }
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Added Data: '; }
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Please enter Operator Info first.'; }
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Please select a group for the operator.'; }
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operator saved.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Search Document...'; }
    else if (Key == 'GRID_COL1') { Result = 'Item Code'; }
    else if (Key == 'GRID_COL2') { Result = 'Item Name'; }
    else if (Key == 'GRID_COL3') { Result = 'Qty'; }
    else if (Key == 'GRID_COL4') { Result = 'Unit'; }
    else if (Key == 'GRID_COL5') { Result = 'Price'; }
    else if (Key == 'GRID_COL6') { Result = 'Amount'; }
    else if (Key == 'STOK_EKLE') { Result = '+ Add Stock'; }
    else if (Key == 'LST_BOS') { Result = 'No material records found.'; }
  }
  else if (gAktifDilIndex == 2)
  {
    if (Key == 'NAV_TITLE') { Result = 'Wartungsbewegungen'; }
    else if (Key == 'YENI') { Result = 'Neu'; }
    else if (Key == 'KAYDET') { Result = 'Speichern'; }
    else if (Key == 'YAZDIR') { Result = 'Drucken'; }
    else if (Key == 'SECT1') { Result = '1. ALLGEMEINE INFO'; }
    else if (Key == 'SECT2') { Result = '2. MATERIAL & KOSTEN'; }
    else if (Key == 'SECT3') { Result = '3. VISUALS'; }
    else if (Key == 'SECT4') { Result = '4. ANWEISUNGEN'; }
    else if (Key == 'BELGE_NO') { Result = 'Dokumenten-Nr.:'; }
    else if (Key == 'TARIH') { Result = 'Datum:'; }
    else if (Key == 'BAKIM_TIPI') { Result = 'Wartungsart:'; }
    else if (Key == 'BAKIM_TURU') { Result = 'Wartungskategorie:'; }
    else if (Key == 'BAKIM_KODU') { Result = 'Wartungscode:'; }
    else if (Key == 'MAKINE_KODU') { Result = 'Maschinencode:'; }
    else if (Key == 'BAGLANTI') { Result = 'Verbindung:'; }
    else if (Key == 'CARI_KODU') { Result = 'Aktueller Code:'; }
    else if (Key == 'BASLANGIC') { Result = 'Startdatum/-zeit:'; }
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Eintrittszeit:'; }
    else if (Key == 'PLANLANAN') { Result = 'Geplante Endzeit:'; }
    else if (Key == 'BAKIM_DURUMU') { Result = 'Wartungsstatus:'; }
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Erledigt'; }
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Nicht Erledigt'; }
    else if (Key == 'KISI_SAYISI') { Result = 'Kopfzahl:'; }
    else if (Key == 'OP_GRUP') { Result = 'Bedienergruppe:'; }
    else if (Key == 'OPERATOR') { Result = 'Zuständiger Bediener:'; }
    else if (Key == 'OP_BILGI') { Result = 'Neue Bedienerinfo:'; }
    else if (Key == 'ACIKLAMA') { Result = 'Beschreibung:'; }
    else if (Key == 'KAMERA') { Result = 'Kamera öffnen'; }
    else if (Key == 'OP_KAYDET') { Result = 'Speichern'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Maschinenstrom abschalten.' + #13#10 + '2. Sicherheitsschloss anbringen.' + #13#10 + '3. Lagergehäuse prüfen.' + #13#10 + '4. Festziehen und ausrichten.' + #13#10 + '5. Testlauf durchführen.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Formular geleert.'; }
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Bitte Dokumenten-Nr. vor dem Speichern eingeben!'; }
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Bitte Wartungsstatus auswählen!'; }
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'SPEICHERN ERFOLGREICH!'; }
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Hinzugefügte Daten: '; }
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Bitte zuerst Bedienerinfo eingeben.'; }
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Bitte eine Gruppe für den Bediener auswählen.'; }
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Bediener gespeichert.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Dokument suchen...'; }
    else if (Key == 'GRID_COL1') { Result = 'Artikelnr.'; }
    else if (Key == 'GRID_COL2') { Result = 'Artikelname'; }
    else if (Key == 'GRID_COL3') { Result = 'Menge'; }
    else if (Key == 'GRID_COL4') { Result = 'Einh.'; }
    else if (Key == 'GRID_COL5') { Result = 'Preis'; }
    else if (Key == 'GRID_COL6') { Result = 'Betrag'; }
    else if (Key == 'STOK_EKLE') { Result = '+ Bestand Hzfg'; }
    else if (Key == 'LST_BOS') { Result = 'Keine Materialdatensätze gefunden.'; }
  }
  else if (gAktifDilIndex == 3)
  {
    if (Key == 'NAV_TITLE') { Result = 'Mouvements de Maint'; }
    else if (Key == 'YENI') { Result = 'Nouveau'; }
    else if (Key == 'KAYDET') { Result = 'Enregistrer'; }
    else if (Key == 'YAZDIR') { Result = 'Imprimer'; }
    else if (Key == 'SECT1') { Result = '1. INFOS GENERALES'; }
    else if (Key == 'SECT2') { Result = '2. MATERIEL ET COUT'; }
    else if (Key == 'SECT3') { Result = '3. VISUELS'; }
    else if (Key == 'SECT4') { Result = '4. INSTRUCTIONS'; }
    else if (Key == 'BELGE_NO') { Result = 'N Doc:'; }
    else if (Key == 'TARIH') { Result = 'Date:'; }
    else if (Key == 'BAKIM_TIPI') { Result = 'Type Maint.:'; }
    else if (Key == 'BAKIM_TURU') { Result = 'Categorie Maint.:'; }
    else if (Key == 'BAKIM_KODU') { Result = 'Code Maint.:'; }
    else if (Key == 'MAKINE_KODU') { Result = 'Code Machine:'; }
    else if (Key == 'BAGLANTI') { Result = 'Connexion:'; }
    else if (Key == 'CARI_KODU') { Result = 'Code Courant:'; }
    else if (Key == 'BASLANGIC') { Result = 'Date/Heure Debut:'; }
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Heure d Entree:'; }
    else if (Key == 'PLANLANAN') { Result = 'Heure de Fin Prevue:'; }
    else if (Key == 'BAKIM_DURUMU') { Result = 'Statut de Maint.:'; }
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Fait (Termine)'; }
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Non Fait (En attente)'; }
    else if (Key == 'KISI_SAYISI') { Result = 'Effectif:'; }
    else if (Key == 'OP_GRUP') { Result = 'Groupe d Operateurs:'; }
    else if (Key == 'OPERATOR') { Result = 'Operateur Responsable:'; }
    else if (Key == 'OP_BILGI') { Result = 'Infos Nouvel Operateur:'; }
    else if (Key == 'ACIKLAMA') { Result = 'Description:'; }
    else if (Key == 'KAMERA') { Result = 'Ouvrir Camera'; }
    else if (Key == 'OP_KAYDET') { Result = 'Enregistrer'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Couper l alimentation.' + #13#10 + '2. Fixer le verrou de securite.' + #13#10 + '3. Verifier les paliers.' + #13#10 + '4. Serrer et aligner.' + #13#10 + '5. Faire un essai.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Formulaire efface.'; }
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Veuillez saisir le N Doc avant d enregistrer !'; }
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Veuillez selectionner le statut !'; }
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'ENREGISTREMENT REUSSI !'; }
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Donnees ajoutees : '; }
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Veuillez d abord saisir les infos de l operateur.'; }
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Veuillez selectionner un groupe pour l operateur.'; }
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operateur enregistre.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Rechercher un document...'; }
    else if (Key == 'GRID_COL1') { Result = 'Code Article'; }
    else if (Key == 'GRID_COL2') { Result = 'Nom Article'; }
    else if (Key == 'GRID_COL3') { Result = 'Qte'; }
    else if (Key == 'GRID_COL4') { Result = 'Unite'; }
    else if (Key == 'GRID_COL5') { Result = 'Prix'; }
    else if (Key == 'GRID_COL6') { Result = 'Montant'; }
    else if (Key == 'STOK_EKLE') { Result = '+ Ajouter Stock'; }
    else if (Key == 'LST_BOS') { Result = 'Aucun enregistrement de materiel trouve.'; }
  }
  else
  {
    if (Key == 'NAV_TITLE') { Result = 'Bakım Hareketleri'; }
    else if (Key == 'YENI') { Result = 'Yeni'; }
    else if (Key == 'KAYDET') { Result = 'Kaydet'; }
    else if (Key == 'YAZDIR') { Result = 'Yazdır'; }
    else if (Key == 'SECT1') { Result = '1. GENEL BİLGİLER'; }
    else if (Key == 'SECT2') { Result = 'Kullanılan Malzemeler'; }
    else if (Key == 'SECT3') { Result = '3. GÖRSEL'; }
    else if (Key == 'SECT4') { Result = '4. BAKIM TALİMATLARI'; }
    else if (Key == 'BELGE_NO') { Result = 'Belge No:'; }
    else if (Key == 'TARIH') { Result = 'Tarih:'; }
    else if (Key == 'BAKIM_TIPI') { Result = 'Bakım Tipi:'; }
    else if (Key == 'BAKIM_TURU') { Result = 'Bakım Türü:'; }
    else if (Key == 'BAKIM_KODU') { Result = 'Bakım Kodu:'; }
    else if (Key == 'MAKINE_KODU') { Result = 'Makine Kodu:'; }
    else if (Key == 'BAGLANTI') { Result = 'Bakım Bağlantısı:'; }
    else if (Key == 'CARI_KODU') { Result = 'Bakım Cari Kodu:'; }
    else if (Key == 'BASLANGIC') { Result = 'Başlangıç Trh/Saat:'; }
    else if (Key == 'GIRIS_ZAMANI') { Result = 'Giriş Zamanı:'; }
    else if (Key == 'PLANLANAN') { Result = 'Planlanan Bitiş Süresi:'; }
    else if (Key == 'BAKIM_DURUMU') { Result = 'Bakım Durumu:'; }
    else if (Key == 'BAKIM_YAPILDI') { Result = 'Yapıldı (Tamamlandı)'; }
    else if (Key == 'BAKIM_YAPILMADI') { Result = 'Yapılmadı (Bekliyor)'; }
    else if (Key == 'KISI_SAYISI') { Result = 'Kişi Sayısı:'; }
    else if (Key == 'OP_GRUP') { Result = 'Operatör Grubu:'; }
    else if (Key == 'OPERATOR') { Result = 'Sorumlu Operatör:'; }
    else if (Key == 'OP_BILGI') { Result = 'Yeni Operatör (Ad Soyad):'; }
    else if (Key == 'ACIKLAMA') { Result = 'Genel Açıklama:'; }
    else if (Key == 'KAMERA') { Result = 'Kamera / Galeri Aç'; }
    else if (Key == 'OP_KAYDET') { Result = 'Kaydet'; }
    else if (Key == 'TALIMAT_METNI') { Result = '1. Makine enerjisini kesin.' + #13#10 + '2. Guvenlik kilidini takin.' + #13#10 + '3. Rulman yataklarini kontrol edin.' + #13#10 + '4. Sikma ve hizalama yapin.' + #13#10 + '5. Test calismasi yapin.'; }
    else if (Key == 'MSG_FORM_TEMIZLENDI') { Result = 'Form temizlendi.'; }
    else if (Key == 'MSG_BELGE_NO_GIRIN') { Result = 'Lütfen kaydetmeden önce Belge No giriniz!'; }
    else if (Key == 'MSG_DURUM_SECIN') { Result = 'Lütfen bakım durumunu seçiniz!'; }
    else if (Key == 'MSG_KAYIT_BASARILI') { Result = 'KAYIT BAŞARILI!'; }
    else if (Key == 'MSG_EKLENEN_VERI') { Result = 'Eklenen Veri: '; }
    else if (Key == 'MSG_OP_BILGI_GIRIN') { Result = 'Lütfen önce Operatör Bilgisi giriniz.'; }
    else if (Key == 'MSG_OP_GRUP_SECIN') { Result = 'Lütfen kaydedilecek operatörün grubunu seçiniz.'; }
    else if (Key == 'MSG_OP_KAYDEDILDI') { Result = 'Operatör kaydedildi.'; }
    else if (Key == 'ARA_BELGE') { Result = 'Belge No Ara...'; }
    else if (Key == 'GRID_COL1') { Result = 'Stok Kodu'; }
    else if (Key == 'GRID_COL2') { Result = 'Stok Adı'; }
    else if (Key == 'GRID_COL3') { Result = 'Miktar'; }
    else if (Key == 'GRID_COL4') { Result = 'Ölçü Br.'; }
    else if (Key == 'GRID_COL5') { Result = 'Br. Fiyat'; }
    else if (Key == 'GRID_COL6') { Result = 'Tutar'; }
    else if (Key == 'STOK_EKLE') { Result = '+ Stok Ekle'; }
    else if (Key == 'LST_BOS') { Result = 'Malzeme kaydı bulunamadı.'; }
  }
}

void AyarlariYukle;
var
  OkunanDosyaYolu, TemaKodu, tmpStr : String;
  YuklenenAyarlar: TclStringList;
  OkunanBoyutIndex: Integer;
{
  UiFontSize = 15; OkunanFontAdi = 'Arial';
  gAktifDilIndex = 0; TemaKodu = '0';

  OkunanDosyaYolu = clPathCombine('UygulamaAyarlari_V3.txt', Clomosy.AppFilesPath);
  if (clFileExists(OkunanDosyaYolu, ''))
  {
    YuklenenAyarlar = Clomosy.StringListNew;
    YuklenenAyarlar.LoadFromFile(OkunanDosyaYolu, 0);
    if (YuklenenAyarlar.Count >= 5) 
    { 
      TemaKodu = Clomosy.StringListItemString(YuklenenAyarlar, 0);
      tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 1);
      if (tmpStr <> '') {
        OkunanBoyutIndex = StrToInt(tmpStr);
        if (OkunanBoyutIndex == 0) { UiFontSize = 15; }
        else if (OkunanBoyutIndex == 1) { UiFontSize = 17; }
        else if (OkunanBoyutIndex == 2) { UiFontSize = 19; }
      }
      
      tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 2);
      if (tmpStr <> '') { gAktifDilIndex = StrToInt(tmpStr); }
      
      if (YuklenenAyarlar.Count >= 6) {
        tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 5);
        if (tmpStr <> '') { OkunanFontAdi = tmpStr; }
        
        tmpStr = Clomosy.StringListItemString(YuklenenAyarlar, 6);
        if (tmpStr <> '') { OkunanStilIndex = StrToInt(tmpStr); }
      }
    }
    if (YuklenenAyarlar <> nil) { YuklenenAyarlar.Free; }
  }

  if (TemaKodu == '1') { BakimForm.SetFormColor('#111827','#2563EB',clGVertical); } 
  else if (TemaKodu == '2') { BakimForm.SetFormColor('#0F172A','#0EA5E9',clGVertical); } 
  else if (TemaKodu == '3') { BakimForm.SetFormColor('#14532D','#22C55E',clGVertical); } 
  else if (TemaKodu == '4') { BakimForm.SetFormColor('#312E81','#8B5CF6',clGVertical); } 
  else if (TemaKodu == '5') { BakimForm.SetFormColor('#78350F','#F59E0B',clGVertical); } 
  else if (TemaKodu == '6') { BakimForm.SetFormColor('#7F1D1D','#EF4444',clGVertical); } 
  else if (TemaKodu == '7') { BakimForm.SetFormColor('#831843','#EC4899',clGVertical); } 
  else if (TemaKodu == '8') { BakimForm.SetFormColor('#172554','#3B82F6',clGVertical); } 
  else if (TemaKodu == '9') { BakimForm.SetFormColor('#064E3B','#10B981',clGVertical); } 
  else if (TemaKodu == '10') { BakimForm.SetFormColor('#450A0A','#F97316',clGVertical); } 
  else if (TemaKodu == '11') { BakimForm.SetFormColor('#082F49','#06B6D4',clGVertical); } 
  else if (TemaKodu == '12') { BakimForm.SetFormColor('#020617','#4F46E5',clGVertical); } 
  else if (TemaKodu == '13') { BakimForm.SetFormColor('#4A044E','#D946EF',clGVertical); } 
  else if (TemaKodu == '14') { BakimForm.SetFormColor('#7F1D1D','#F59E0B',clGVertical); } 
  else if (TemaKodu == '15') { BakimForm.SetFormColor('#451A03','#EAB308',clGVertical); } 
  else if (TemaKodu == '16') { BakimForm.SetFormColor('#4C0519','#F43F5E',clGVertical); } 
  else if (TemaKodu == '17') { BakimForm.SetFormColor('#022C22','#84CC16',clGVertical); } 
  else if (TemaKodu == '18') { BakimForm.SetFormColor('#1E293B','#64748B',clGVertical); } 
  else if (TemaKodu == '19') { BakimForm.SetFormColor('#2E1065','#A855F7',clGVertical); } 
  else if (TemaKodu == '20') { BakimForm.SetFormColor('#3F3F46','#A1A1AA',clGVertical); } 
  else { BakimForm.SetFormColor('#334155','#94A3B8',clGVertical); } 

  ThemeBgColor = '#FFFFFF'; ThemeBorderColor = '#CBD5E1'; ThemeTextColor = '#111827';
  if (TemaKodu == '0') { ThemeKoyuRenk = '#334155'; ThemeAcikRenk = '#94A3B8'; } 
  else if (TemaKodu == '1') { ThemeKoyuRenk = '#111827'; ThemeAcikRenk = '#2563EB'; } 
  else if (TemaKodu == '2') { ThemeKoyuRenk = '#0F172A'; ThemeAcikRenk = '#0EA5E9'; } 
  else if (TemaKodu == '3') { ThemeKoyuRenk = '#14532D'; ThemeAcikRenk = '#22C55E'; } 
  else if (TemaKodu == '4') { ThemeKoyuRenk = '#312E81'; ThemeAcikRenk = '#8B5CF6'; } 
  else if (TemaKodu == '5') { ThemeKoyuRenk = '#78350F'; ThemeAcikRenk = '#F59E0B'; } 
  else if (TemaKodu == '6') { ThemeKoyuRenk = '#7F1D1D'; ThemeAcikRenk = '#EF4444'; } 
  else if (TemaKodu == '7') { ThemeKoyuRenk = '#831843'; ThemeAcikRenk = '#EC4899'; } 
  else if (TemaKodu == '8') { ThemeKoyuRenk = '#172554'; ThemeAcikRenk = '#3B82F6'; } 
  else if (TemaKodu == '9') { ThemeKoyuRenk = '#064E3B'; ThemeAcikRenk = '#10B981'; } 
  else if (TemaKodu == '10') { ThemeKoyuRenk = '#450A0A'; ThemeAcikRenk = '#F97316'; } 
  else if (TemaKodu == '11') { ThemeKoyuRenk = '#082F49'; ThemeAcikRenk = '#06B6D4'; } 
  else if (TemaKodu == '12') { ThemeKoyuRenk = '#020617'; ThemeAcikRenk = '#4F46E5'; } 
  else if (TemaKodu == '13') { ThemeKoyuRenk = '#4A044E'; ThemeAcikRenk = '#D946EF'; } 
  else if (TemaKodu == '14') { ThemeKoyuRenk = '#7F1D1D'; ThemeAcikRenk = '#F59E0B'; } 
  else if (TemaKodu == '15') { ThemeKoyuRenk = '#451A03'; ThemeAcikRenk = '#EAB308'; } 
  else if (TemaKodu == '16') { ThemeKoyuRenk = '#4C0519'; ThemeAcikRenk = '#F43F5E'; } 
  else if (TemaKodu == '17') { ThemeKoyuRenk = '#022C22'; ThemeAcikRenk = '#84CC16'; } 
  else if (TemaKodu == '18') { ThemeKoyuRenk = '#1E293B'; ThemeAcikRenk = '#64748B'; } 
  else if (TemaKodu == '19') { ThemeKoyuRenk = '#2E1065'; ThemeAcikRenk = '#A855F7'; } 
  else if (TemaKodu == '20') { ThemeKoyuRenk = '#3F3F46'; ThemeAcikRenk = '#A1A1AA'; }
}

void StyleMainCard(APanel: TclProPanel);
{
  APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeBgColor);
  APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  APanel.clProSettings.BorderWidth = 1;
  APanel.clProSettings.IsFill = True;
  APanel.clProSettings.IsRound = True;
  APanel.clProSettings.RoundHeight = 16;
  APanel.clProSettings.RoundWidth = 16;
  APanel.SetclProSettings(APanel.clProSettings);
}

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

void StyleTopBtnYeni(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280');
  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 StyleTopBtnKaydet(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280');
  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 StyleTopBtnYazdir(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6B7280');
  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 StyleActionButton(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  AButton.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  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 StylePrimaryButton(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  AButton.clProSettings.FontColor = clAlphaColor.clWhite;
  AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  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 StyleDangerButton(AButton: TClProButton);
{
  AButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#EF4444');
  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 StyleUncoloredOutlineButton(AButton: TClProButton); 
  AButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155'); 
  AButton.clProSettings.BorderColor = clAlphaColor.clHexToColor('#94A3B8'); 
  AButton.clProSettings.BorderWidth = 2; 
  AButton.clProSettings.IsFill = False; 
  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 StyleInputPanel(APanel: TclProPanel);
{
  APanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  APanel.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  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(ThemeTextColor);
  ALabel.clProSettings.FontSize = UiFontSize;
  ALabel.clProSettings.FontName = OkunanFontAdi;
  if (OkunanStilIndex == 0)
  {
    ALabel.clProSettings.TextSettings.Font.Style = [];
  }
  else if (OkunanStilIndex == 1)
  {
    ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
  }
  ALabel.SetclProSettings(ALabel.clProSettings);
}

void StyleInputEdit(AEdit: TclProEdit);
{
  AEdit.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  AEdit.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  AEdit.clProSettings.BorderWidth = 1;
  AEdit.clProSettings.IsFill = True;
  AEdit.clProSettings.IsRound = True;
  AEdit.clProSettings.RoundHeight = 6;
  AEdit.clProSettings.RoundWidth = 6;
  AEdit.clProSettings.FontSize = UiFontSize;
  AEdit.clProSettings.FontName = OkunanFontAdi;
  AEdit.SetclProSettings(AEdit.clProSettings);
}

void StyleReadonlyEdit(AEdit: TclProEdit);
  AEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor); 
  AEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0'); 
  AEdit.clProSettings.BorderWidth = 1; 
  AEdit.clProSettings.IsFill = True; 
  AEdit.clProSettings.IsRound = True; 
  AEdit.clProSettings.RoundHeight = 6;
  AEdit.clProSettings.RoundWidth = 6; 
  AEdit.clProSettings.FontSize = UiFontSize + 1; 
  AEdit.clProSettings.FontName = OkunanFontAdi; 
  AEdit.clProSettings.TextSettings.Font.Style = [fsBold]; 
  AEdit.SetclProSettings(AEdit.clProSettings); 
}

void StyleInputFocus;
var
  FocusEdit: TclProEdit;
{
  FocusEdit = TclProEdit(BakimForm.ClSender);
  FocusEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeAcikRenk);
  FocusEdit.clProSettings.BorderWidth = 2;
  FocusEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  FocusEdit.SetclProSettings(FocusEdit.clProSettings);
}

void StyleInputBlur;
var
  BlurEdit: TclProEdit;
{
  BlurEdit = TclProEdit(BakimForm.ClSender);
  StyleInputEdit(BlurEdit);
}

void BindInputFocus(AEdit: TclProEdit);
{
  BakimForm.AddNewEvent(AEdit, tbeOnEnter, 'StyleInputFocus');
  BakimForm.AddNewEvent(AEdit, tbeOnExit, 'StyleInputBlur');
}

void KlvKisiSayisi;
{
  StyleInputFocus;
  ScrollForm.ScrollTo(0, 10000);
  ScrollForm.ScrollTo(0, -587);
}

void KlvOperatorBilgisi;
{
  StyleInputFocus;
  ScrollForm.ScrollTo(0, 10000);
  ScrollForm.ScrollTo(0, -773);
}

void KlvAciklama;
{
  StyleInputFocus;
  ScrollForm.ScrollTo(0, 10000);
  ScrollForm.ScrollTo(0, -836);
}

void StyleSectionTitle(ALabel: TClProLabel);
{
  ALabel.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  ALabel.clProSettings.FontSize = UiFontSize + 2;
  ALabel.clProSettings.FontName = OkunanFontAdi;
  ALabel.clProSettings.TextSettings.Font.Style = [fsBold];
  ALabel.SetclProSettings(ALabel.clProSettings);
}

void GoBack;
{
  BakimForm.Close;
}

void SetCurrentDateTime;
{
  EdtTarih.Text = DateToStr(Now);
  EdtBaslangic.Text = DateToStr(Now);
  EdtBaslangicSaat.Text = TimeToStr(Now);
  EdtGirisZamani.Text = DateToStr(Now) + ' ' + TimeToStr(Now);
}

void GridGuncelle;
{
  if (MyJsonItems == '')
  { 
    ListGrid.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[{"MAIN_TEXT":"' + GetText('LST_BOS') + '"}]')); 
  }
  else
  { 
    ListGrid.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(MyJsonItems));
  }
}

void OnRehberArama;
{
  if (DataRehber == nil) { Exit; }
  if (EdtAramaRehber.Text == '') 
  { 
    DataRehber.Filtered = False; 
    DataRehber.Filter = '';
  }
  else 
  { 
    DataRehber.Filter = 'MAIN_TEXT Like ' + Chr(39) + '%' + EdtAramaRehber.Text + '%' + Chr(39);
    DataRehber.Filtered = True; 
  }
}

void OnRehberSec;
var
  SecilenDeger: String;
  SecilenDeger = LsvRehber.clSelectedItemData(clCaption);
  if (GlobalLookupType == 'BELGE')
  {
    EdtBelgeNo.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'MAKINE')
  {
    EdtMakineKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'BAKIM')
  {
    EdtBakimKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'BAGLANTI')
  {
    EdtBaglanti.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'CARI')
  {
    EdtCariKodu.Text = SecilenDeger;
  }
  else if (GlobalLookupType == 'FILTRE_KOD')
  {
    EdtFiltreStokKodu.Text = SecilenDeger;
  }
  RehberForm.Close;
}

void BuildRehberForm;
var 
  RehberDP: TclProListViewDesignerPanel; 
  RehberLblMain: TclProLabel;
  RehberLblSub: TclProLabel;
  NS: String;
{
  gCounter = gCounter + 1;
  NS = IntToStr(gCounter);

  RehberForm = TclForm.Create(Self); 
  RehberForm.SetFormColor(ThemeKoyuRenk, ThemeAcikRenk, clGVertical);
  
  EdtAramaRehber = RehberForm.AddNewProEdit(RehberForm, 'EdtAramaRehber' + NS, 'Ara...'); 
  EdtAramaRehber.Align = alTop;
  EdtAramaRehber.Margins.Top = 10;
  EdtAramaRehber.Margins.Left = 10;
  EdtAramaRehber.Margins.Right = 10;
  EdtAramaRehber.Height = 40;
  EdtAramaRehber.clProSettings.FontSize = 14;
  RehberForm.AddNewEvent(EdtAramaRehber, tbeOnChange, 'OnRehberArama');

  LsvRehber = RehberForm.AddNewProListView(RehberForm, 'LsvRehber' + NS); 
  LsvRehber.Align = alClient;
  LsvRehber.Margins.Top = 10;
  LsvRehber.ListType = 'vertical';
  LsvRehber.clProSettings.ItemHeight = 65;
  LsvRehber.clProSettings.ItemSpace = 5;
  LsvRehber.clProSettings.ColCount = 1;
  LsvRehber.clProSettings.ViewType = lvIcon;
  LsvRehber.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  LsvRehber.SetclProSettings(LsvRehber.clProSettings);
  
  RehberDP = RehberForm.AddNewProListViewDesignerPanel(LsvRehber, 'RehberDP' + NS);
  RehberDP.Align = alTop;
  RehberDP.Height = 60;
  RehberDP.Width = 350;
  RehberDP.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  RehberDP.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  RehberDP.clProSettings.BorderWidth = 1;
  RehberDP.clProSettings.IsRound = True;
  RehberDP.clProSettings.RoundHeight = 8;
  RehberDP.clProSettings.RoundWidth = 8;
  RehberDP.SetclProSettings(RehberDP.clProSettings);

  RehberLblMain = RehberForm.AddNewProLabel(RehberDP, 'RehberLblMain_' + NS, '');
  RehberLblMain.Align = alTop;
  RehberLblMain.Height = 25;
  RehberLblMain.Margins.Left = 10;
  RehberLblMain.Margins.Top = 5;
  RehberLblMain.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  RehberLblMain.clProSettings.TextSettings.Font.Style = [fsBold];
  RehberLblMain.clProSettings.FontSize = UiFontSize;
  RehberLblMain.SetclProSettings(RehberLblMain.clProSettings);
  
  RehberLblSub = RehberForm.AddNewProLabel(RehberDP, 'RehberLblSub_' + NS, '');
  RehberLblSub.Align = alTop;
  RehberLblSub.Height = 25;
  RehberLblSub.Margins.Left = 10;
  RehberLblSub.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
  RehberLblSub.clProSettings.FontSize = UiFontSize - 2;
  RehberLblSub.SetclProSettings(RehberLblSub.clProSettings);

  RehberDP.AddPanelObject(RehberLblMain, clCaption);
  RehberDP.AddPanelObject(RehberLblSub, clText);
  LsvRehber.SetDesignerPanel(RehberDP);
  RehberForm.AddNewEvent(LsvRehber, tbeOnItemClick, 'OnRehberSec');
}

void OpenRehber;
var 
  JsonStr: String;
  q: TclSQLQuery;
{
  Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
  BuildRehberForm;
  
  if (GlobalLookupType == 'FILTRE_KOD')
  {
    EdtAramaRehber.TextPrompt = 'Stok Kodu Seç...';
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SELECT TOP 100 STOK_KODU AS KOD, REPLACE(REPLACE(STOK_ADI, CHAR(34), ''''), CHAR(92), '''') AS ADI FROM [PRG_VIEW_STREHBER] WITH(NOLOCK) WHERE ISNULL(PASIF_KART,0)=0 ORDER BY STOK_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ASC';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('KOD').AsString + '", ' + '"SUB_TEXT":"' + q.FieldByName('ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BELGE')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BELGE');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT BELGE_NO,TARIH,MAKINE_KODU, REPLACE(REPLACE(MAKINE_ADI, CHAR(34), ''''), CHAR(92), '''') AS MAKINE_ADI,BAKIM_KODU,BAKIM_ACIKLAMA,BAS_TAR,BAS_SAAT,BIT_TAR,BIT_SAAT ' +
                   'FROM [TBLURTBAKIMHR] WITH (NOLOCK) ' +
                   'INNER JOIN [TBLURTMAKINESB] WITH (NOLOCK) ON MAKINE_KODU_RECID = TBLURTMAKINESB.REC_NO ' +
                   'INNER JOIN [TBLURTBAKIMSB] WITH (NOLOCK) ON BAKIM_KODU_RECID = TBLURTBAKIMSB.REC_NO) AS REHBERSQL ' +
                   'ORDER BY BELGE_NO COLLATE SQL_Latin1_General_CP1_CI_AS ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('BELGE_NO').AsString + '", ' + '"SUB_TEXT":"Makine: ' + q.FieldByName('MAKINE_KODU').AsString + ' - ' + q.FieldByName('MAKINE_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'MAKINE')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_MAKINE');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT MAKINE_KODU, REPLACE(REPLACE(MAKINE_ADI, CHAR(34), ''''), CHAR(92), '''') AS MAKINE_ADI FROM [TBLURTMAKINESB] WITH (NOLOCK) ' +
                   'WHERE REC_NO IN (SELECT MAKINE_RECID FROM [TBLURTMAKINEKULLANICI] WITH (NOLOCK) WHERE KULLANICI_NO=1) ' +
                   'AND ISNULL(PASIF_KART,0) = 0 ) AS REHBERSQL ' +
                   'ORDER BY MAKINE_KODU SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('MAKINE_KODU').AsString + '", ' + '"SUB_TEXT":"' + q.FieldByName('MAKINE_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BAKIM')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BAKIM');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT BAKIM_KODU, REPLACE(REPLACE(BAKIM_ACIKLAMA, CHAR(34), ''''), CHAR(92), '''') AS BAKIM_ACIKLAMA ' +
                   'FROM [TBLURTBAKIMSB] WITH (NOLOCK) ' +
                   'WHERE BAKIMTIP IS NULL AND BAKIM_TURU IS NULL) AS REHBERSQL ' +
                   'ORDER BY BAKIM_KODU ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('BAKIM_KODU').AsString + '", ' + '"SUB_TEXT":"' + q.FieldByName('BAKIM_ACIKLAMA').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'BAGLANTI')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_BAGLANTI');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT TARIH FROM PrgFn_MakBakTakvimOlustur (''04.13.2026'',''0'', 12,''G'',1) ' +
                   'WHERE CONVERT(VARCHAR,TARIH,104) NOT IN (SELECT ISNULL(BAKIM_BAGLANTI_ALAN,'''') FROM [TBLURTBAKIMHR] WITH (NOLOCK) ' +
                   'WHERE BAKIM_KODU_RECID= 7 AND MAKINE_KODU_RECID=1 AND PERIYOT_TIPI=2 AND BAKIM_BAGLANTI_ALAN<>''16.04.2026'') ' +
                   ') AS REHBERSQL ORDER BY TARIH ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('TARIH').AsString + '", ' + '"SUB_TEXT":""}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  else if (GlobalLookupType == 'CARI')
  {
    EdtAramaRehber.TextPrompt = GetText('ARA_CARI');
    JsonStr = '[';
    q = TclSQLQuery.Create(nil);
    try
      q.Connection = Clomosy.DBSQLServerConnection;
      q.SQL.Text = 'SET NO_BROWSETABLE ON SET ROWCOUNT 0 ' +
                   'SELECT * FROM (SELECT TOP 100 PERCENT CARI_KODU, REPLACE(REPLACE(CARI_ADI, CHAR(34), ''''), CHAR(92), '''') AS CARI_ADI FROM [TBLCARISB] WITH (NOLOCK) ) AS REHBERSQL ' +
                   'ORDER BY CARI_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ' +
                   'SET ROWCOUNT 0 SET NO_BROWSETABLE OFF';
      q.Open;
      while (not q.Eof)
      {
        if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
        JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('CARI_KODU').AsString + '", ' + '"SUB_TEXT":"' + q.FieldByName('CARI_ADI').AsString + '"}';
        q.Next;
      }
    finally
      q.Free;
    }
    if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayit Bulunamadi", "SUB_TEXT":"Lutfen veritabanini kontrol edin"}]'; }
    else { JsonStr = JsonStr + ']'; }
  }
  DataRehber = Clomosy.ClDataSetFromJSON(JsonStr);
  LsvRehber.clLoadProListViewDataFromDataset(DataRehber);
  RehberForm.Run;
}

void BtnRehberBelgeClick; { GlobalLookupType = 'BELGE'; OpenRehber; }
void BtnBakimKoduRehberClick; { GlobalLookupType = 'BAKIM'; OpenRehber; }
void BtnMakineKoduRehberClick; { GlobalLookupType = 'MAKINE'; OpenRehber; }
void BtnBaglantiRehberClick; { GlobalLookupType = 'BAGLANTI'; OpenRehber; }
void BtnCariKoduRehberClick; { GlobalLookupType = 'CARI'; OpenRehber; }
void BtnKodRehberClick; { GlobalLookupType = 'FILTRE_KOD'; OpenRehber; }

void OnFiltreKisitSecildi;
{
  SecilenStokKodu = LsvKisitUyanlar.clSelectedItemData(clCaption);
  SecilenStokAdi = LsvKisitUyanlar.clSelectedItemData(clText);
  EdtBilesenMiktar.Text = '1';
}

void FormBilesenEkleClick;
var 
  YeniBilesen: String;
{
  if (SecilenStokKodu == '') { ShowMessage('Lütfen önce yukarıdaki listeden bir stok seçiniz!'); Exit; }
  if (EdtBilesenMiktar.Text == '') { ShowMessage('Lütfen eklenecek miktarı giriniz!'); Exit; }
  if (JsonEkleneceklerHavuzu <> '') { JsonEkleneceklerHavuzu = JsonEkleneceklerHavuzu + ','; }
  YeniBilesen = '{"MAIN_TEXT":"' + SecilenStokKodu + '", "SUB_TEXT":"' + SecilenStokAdi + '", "TEXT1":"' + EdtBilesenMiktar.Text + '", "TEXT2":"Adet", "TEXT3":"0.00", "TEXT4":"0.00"}';
  JsonEkleneceklerHavuzu = JsonEkleneceklerHavuzu + YeniBilesen;
  LsvEklenecekler.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' + JsonEkleneceklerHavuzu + ']'));
  SecilenStokKodu = '';
  SecilenStokAdi = '';
  EdtBilesenMiktar.Text = '';
}

void FormAktarClick;
var 
  AnaHavuz: String;
{
  if (JsonEkleneceklerHavuzu == '') { ShowMessage('Aktarılacak bileşen bulunamadı.'); Exit; }
  AnaHavuz = Trim(MyJsonItems);
  if ((AnaHavuz == '') || (AnaHavuz == '[]'))
  {
     AnaHavuz = '[' + JsonEkleneceklerHavuzu + ']';
  }
  else
  {
     AnaHavuz = Copy(AnaHavuz, 1, Length(AnaHavuz) - 1) + ',' + JsonEkleneceklerHavuzu + ']';
  }
  MyJsonItems = AnaHavuz;
  GridGuncelle;
  ShowMessage('Malzemeler tabloya başarıyla aktarıldı!');
  StokFiltreForm.Close;
  ScrollForm.ScrollTo(0, 10000); 
  ScrollForm.ScrollTo(0, -1100); 
}

void FormFiltreAraClick;
var
  q: TclSQLQuery;
  JsonStr: String;
  FStr: String;
  SearchKodu: String;
{
  SearchKodu = EdtFiltreStokKodu.Text;
  if (SearchKodu == 'Stok Kodu Ara...') { SearchKodu = ''; }
  FStr = '1=1 AND ISNULL(PASIF_KART,0)=0';
  if (SearchKodu <> '') { FStr = FStr + ' AND STOK_KODU LIKE ''%' + SearchKodu + '%'''; }
  JsonStr = '[';
  q = TclSQLQuery.Create(nil);
  try
    Clomosy.DBSQLServerConnect('SQL Server','192.168.1.39','sa','1','ATIKER_YAZILIM',50000);
    q.Connection = Clomosy.DBSQLServerConnection;
    q.SQL.Text = 'SELECT TOP 100 STOK_KODU, REPLACE(REPLACE(STOK_ADI, CHAR(34), ''''), CHAR(92), '''') AS STOK_ADI FROM [PRG_VIEW_STREHBER] WITH (NOLOCK) WHERE ' + FStr + ' ORDER BY STOK_KODU COLLATE SQL_Latin1_General_CP1_CI_AS ASC';
    q.Open;
    while (not q.Eof)
    {
      if (JsonStr <> '[') { JsonStr = JsonStr + ','; }
      JsonStr = JsonStr + '{"MAIN_TEXT":"' + q.FieldByName('STOK_KODU').AsString + '", ' + '"SUB_TEXT":"' + q.FieldByName('STOK_ADI').AsString + '"}';
      q.Next;
    }
  finally
    q.Free;
  }
  if (JsonStr == '[') { JsonStr = '[{"MAIN_TEXT":"Kayıt Bulunamadı", "SUB_TEXT":"Kriterlere uygun stok yok."}]'; }
  else { JsonStr = JsonStr + ']'; }
  LsvKisitUyanlar.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(JsonStr));
}

void BuildStokFiltreForm;
var
  NS: String;
{
  gCounter = gCounter + 1;
  NS = IntToStr(gCounter);
  JsonEkleneceklerHavuzu = ''; 
  SecilenStokKodu = ''; 
  SecilenStokAdi = '';

  StokFiltreForm = TclForm.Create(Self); 
  StokFiltreForm.SetFormColor(ThemeBgColor, ThemeBgColor, clGVertical);

  PnlFiltreSag = StokFiltreForm.AddNewProPanel(StokFiltreForm, 'PnlFiltreSag' + NS); 
  PnlFiltreSag.Align = alClient;

  PnlFiltreSagUst = StokFiltreForm.AddNewProPanel(PnlFiltreSag, 'PnlFiltreSagUst' + NS);
  PnlFiltreSagUst.Align = alTop;
  PnlFiltreSagUst.Height = 280;
  PnlFiltreSagUst.Margins.Bottom = 10;
  StyleInputPanel(PnlFiltreSagUst);

  PnlFiltreAramaKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagUst, 'PnlFiltreAramaKutu' + NS);
  PnlFiltreAramaKutu.Align = alTop;
  PnlFiltreAramaKutu.Height = 65;
  PnlFiltreAramaKutu.Margins.Top = 10;
  PnlFiltreAramaKutu.Margins.Left = 10;
  PnlFiltreAramaKutu.Margins.Right = 10;
  StyleInputPanel(PnlFiltreAramaKutu);

  LblFiltreStokKodu = StokFiltreForm.AddNewProLabel(PnlFiltreAramaKutu, 'LblFiltreStokKodu' + NS, 'Stok Kodu (Rehberden Seçin)');
  LblFiltreStokKodu.Align = alTop;
  LblFiltreStokKodu.Height = 18;
  LblFiltreStokKodu.Margins.Left = 10;
  LblFiltreStokKodu.Margins.Top = 6;
  StyleInputLabel(LblFiltreStokKodu);

  BtnFiltreAra = StokFiltreForm.AddNewProButton(PnlFiltreAramaKutu, 'BtnFiltreAra' + NS, 'Listele');
  BtnFiltreAra.Align = alRight;
  BtnFiltreAra.Width = 80;
  BtnFiltreAra.Margins.Right = 10;
  BtnFiltreAra.Margins.Bottom = 7;
  StylePrimaryButton(BtnFiltreAra);
  StokFiltreForm.AddNewEvent(BtnFiltreAra, tbeOnClick, 'FormFiltreAraClick');

  BtnKodRehber = StokFiltreForm.AddNewProButton(PnlFiltreAramaKutu, 'BtnKodRehber' + NS, '🔍');
  BtnKodRehber.Align = alRight;
  BtnKodRehber.Width = 45;
  BtnKodRehber.Margins.Right = 5;
  BtnKodRehber.Margins.Bottom = 7;
  StyleActionButton(BtnKodRehber);
  StokFiltreForm.AddNewEvent(BtnKodRehber, tbeOnClick, 'BtnKodRehberClick');

  EdtFiltreStokKodu = StokFiltreForm.AddNewProEdit(PnlFiltreAramaKutu, 'EdtFiltreStokKodu' + NS, '');
  EdtFiltreStokKodu.Align = alClient;
  EdtFiltreStokKodu.Margins.Left = 10;
  EdtFiltreStokKodu.Margins.Right = 5;
  EdtFiltreStokKodu.Margins.Bottom = 7;
  StyleInputEdit(EdtFiltreStokKodu);

  LsvKisitUyanlar = StokFiltreForm.AddNewProListView(PnlFiltreSagUst, 'LsvKisitUyanlar' + NS); 
  LsvKisitUyanlar.Align = alClient;
  LsvKisitUyanlar.Margins.Top = 10;
  LsvKisitUyanlar.Margins.Bottom = 10;
  LsvKisitUyanlar.Margins.Left = 10;
  LsvKisitUyanlar.Margins.Right = 10;
  LsvKisitUyanlar.ListType = 'vertical';
  LsvKisitUyanlar.clProSettings.ItemHeight = 60;
  LsvKisitUyanlar.clProSettings.ItemSpace = 5;
  LsvKisitUyanlar.clProSettings.ColCount = 1;
  LsvKisitUyanlar.clProSettings.ViewType = lvIcon;
  LsvKisitUyanlar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  LsvKisitUyanlar.SetclProSettings(LsvKisitUyanlar.clProSettings);

  LsvKisitDP = StokFiltreForm.AddNewProListViewDesignerPanel(LsvKisitUyanlar, 'LsvKisitDP' + NS);
  LsvKisitDP.Align = alTop;
  LsvKisitDP.Height = 55;
  LsvKisitDP.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  LsvKisitDP.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  LsvKisitDP.clProSettings.BorderWidth = 1;
  LsvKisitDP.clProSettings.IsRound = True;
  LsvKisitDP.clProSettings.RoundHeight = 6;
  LsvKisitDP.clProSettings.RoundWidth = 6;
  LsvKisitDP.SetclProSettings(LsvKisitDP.clProSettings);

  LblKisitD1 = StokFiltreForm.AddNewProLabel(LsvKisitDP, 'LblKisitD1_' + NS, '');
  LblKisitD1.Align = alTop;
  LblKisitD1.Height = 22;
  LblKisitD1.Margins.Left = 10;
  LblKisitD1.Margins.Top = 5;
  LblKisitD1.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblKisitD1.clProSettings.TextSettings.Font.Style = [fsBold];
  LblKisitD1.clProSettings.FontSize = UiFontSize;
  LblKisitD1.SetclProSettings(LblKisitD1.clProSettings);

  LblKisitD2 = StokFiltreForm.AddNewProLabel(LsvKisitDP, 'LblKisitD2_' + NS, '');
  LblKisitD2.Align = alTop;
  LblKisitD2.Height = 20;
  LblKisitD2.Margins.Left = 10;
  LblKisitD2.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
  LblKisitD2.clProSettings.FontSize = UiFontSize - 2;
  LblKisitD2.SetclProSettings(LblKisitD2.clProSettings);

  LsvKisitDP.AddPanelObject(LblKisitD1, clCaption);
  LsvKisitDP.AddPanelObject(LblKisitD2, clText);
  LsvKisitUyanlar.SetDesignerPanel(LsvKisitDP);
  StokFiltreForm.AddNewEvent(LsvKisitUyanlar, tbeOnItemClick, 'OnFiltreKisitSecildi');

  PnlFiltreSagAlt = StokFiltreForm.AddNewProPanel(PnlFiltreSag, 'PnlFiltreSagAlt' + NS);
  PnlFiltreSagAlt.Align = alClient;
  StyleInputPanel(PnlFiltreSagAlt);

  PnlEklemeKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagAlt, 'PnlEklemeKutu' + NS);
  PnlEklemeKutu.Align = alTop;
  PnlEklemeKutu.Height = 65;
  PnlEklemeKutu.Margins.Top = 10;
  PnlEklemeKutu.Margins.Left = 10;
  PnlEklemeKutu.Margins.Right = 10;
  StyleInputPanel(PnlEklemeKutu);

  BtnBilesenEkle = StokFiltreForm.AddNewProButton(PnlEklemeKutu, 'BtnBilesenEkle' + NS, 'Ekle');
  BtnBilesenEkle.Align = alRight;
  BtnBilesenEkle.Width = 80;
  BtnBilesenEkle.Margins.Right = 10;
  BtnBilesenEkle.Margins.Bottom = 7;
  StylePrimaryButton(BtnBilesenEkle);
  StokFiltreForm.AddNewEvent(BtnBilesenEkle, tbeOnClick, 'FormBilesenEkleClick');

  EdtBilesenMiktar = StokFiltreForm.AddNewProEdit(PnlEklemeKutu, 'EdtBilesenMiktar' + NS, '');
  EdtBilesenMiktar.Align = alClient;
  EdtBilesenMiktar.TextPrompt = 'Miktar Girin...';
  EdtBilesenMiktar.Margins.Left = 10;
  EdtBilesenMiktar.Margins.Right = 10;
  EdtBilesenMiktar.Margins.Bottom = 7;
  StyleInputEdit(EdtBilesenMiktar);

  LsvEklenecekler = StokFiltreForm.AddNewProListView(PnlFiltreSagAlt, 'LsvEklenecekler' + NS);
  LsvEklenecekler.Align = alClient;
  LsvEklenecekler.Margins.Top = 10;
  LsvEklenecekler.Margins.Bottom = 10;
  LsvEklenecekler.Margins.Left = 10;
  LsvEklenecekler.Margins.Right = 10;
  LsvEklenecekler.ListType = 'vertical';
  LsvEklenecekler.clProSettings.ItemHeight = 65;
  LsvEklenecekler.clProSettings.ItemSpace = 5;
  LsvEklenecekler.clProSettings.ColCount = 1;
  LsvEklenecekler.clProSettings.ViewType = lvIcon;
  LsvEklenecekler.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  LsvEklenecekler.SetclProSettings(LsvEklenecekler.clProSettings);

  LsvEklenecekDP = StokFiltreForm.AddNewProListViewDesignerPanel(LsvEklenecekler, 'LsvEklenecekDP' + NS);
  LsvEklenecekDP.Align = alTop;
  LsvEklenecekDP.Height = 60;
  LsvEklenecekDP.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  LsvEklenecekDP.clProSettings.BorderColor = clAlphaColor.clHexToColor(ThemeBorderColor);
  LsvEklenecekDP.clProSettings.BorderWidth = 1;
  LsvEklenecekDP.clProSettings.IsRound = True;
  LsvEklenecekDP.clProSettings.RoundHeight = 6;
  LsvEklenecekDP.clProSettings.RoundWidth = 6;
  LsvEklenecekDP.SetclProSettings(LsvEklenecekDP.clProSettings);

  LblEkleD1 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD1_' + NS, '');
  LblEkleD1.Align = alTop;
  LblEkleD1.Height = 22;
  LblEkleD1.Margins.Left = 10;
  LblEkleD1.Margins.Top = 5;
  LblEkleD1.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblEkleD1.clProSettings.TextSettings.Font.Style = [fsBold];
  LblEkleD1.clProSettings.FontSize = UiFontSize;
  LblEkleD1.SetclProSettings(LblEkleD1.clProSettings);

  LblEkleD2 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD2_' + NS, '');
  LblEkleD2.Align = alTop;
  LblEkleD2.Height = 20;
  LblEkleD2.Margins.Left = 10;
  LblEkleD2.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B');
  LblEkleD2.clProSettings.FontSize = UiFontSize - 2;
  LblEkleD2.SetclProSettings(LblEkleD2.clProSettings);

  LblEkleD3 = StokFiltreForm.AddNewProLabel(LsvEklenecekDP, 'LblEkleD3_' + NS, '');
  LblEkleD3.Align = alRight;
  LblEkleD3.Width = 80;
  LblEkleD3.Margins.Right = 10;
  LblEkleD3.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  LblEkleD3.clProSettings.FontSize = UiFontSize;
  LblEkleD3.clProSettings.TextSettings.Font.Style = [fsBold];
  LblEkleD3.SetclProSettings(LblEkleD3.clProSettings);

  LsvEklenecekDP.AddPanelObject(LblEkleD1, clCaption);
  LsvEklenecekDP.AddPanelObject(LblEkleD2, clText);
  LsvEklenecekDP.AddPanelObject(LblEkleD3, clText2);
  LsvEklenecekler.SetDesignerPanel(LsvEklenecekDP);

  PnlAktarKutu = StokFiltreForm.AddNewProPanel(PnlFiltreSagAlt, 'PnlAktarKutu' + NS);
  PnlAktarKutu.Align = alBottom;
  PnlAktarKutu.Height = 60;
  StyleInputPanel(PnlAktarKutu);

  BtnAktar = StokFiltreForm.AddNewProButton(PnlAktarKutu, 'BtnAktar' + NS, 'Ana Forma Aktar');
  BtnAktar.Align = alClient;
  BtnAktar.Margins.Left = 10;
  BtnAktar.Margins.Right = 10;
  BtnAktar.Margins.Top = 10;
  BtnAktar.Margins.Bottom = 10;
  StylePrimaryButton(BtnAktar);
  StokFiltreForm.AddNewEvent(BtnAktar, tbeOnClick, 'FormAktarClick');

  StokFiltreForm.Run;
}

void FormStokEkleClick;
{
  BuildStokFiltreForm;
}

void TakePhotoClick;
{
  Clomosy.ImageChooser(BakimForm, ImgPhoto); 
}

void ApplyUiSettings;
{
  LblNavTitle.Text = GetText('NAV_TITLE');
  BtnYeni.Text = GetText('YENI');
  BtnKaydet.Text = GetText('KAYDET');
  BtnYazdir.Text = GetText('YAZDIR');
  
  LblSect1Title.Text = GetText('SECT1');
  LblGridTitle.Text = GetText('SECT2');
  LblPhotoTitle.Text = GetText('SECT3');
  LblTalimatTitle.Text = GetText('SECT4');
  
  LblBelgeNo.Text = GetText('BELGE_NO');
  LblTarih.Text = GetText('TARIH');
  LblBakimTipi.Text = GetText('BAKIM_TIPI');
  LblBakimTuru.Text = GetText('BAKIM_TURU');
  LblBakimKodu.Text = GetText('BAKIM_KODU');
  LblMakineKodu.Text = GetText('MAKINE_KODU');
  LblBaglanti.Text = GetText('BAGLANTI');
  LblCariKodu.Text = GetText('CARI_KODU');
  
  LblBaslangic.Text = GetText('BASLANGIC');
  LblGirisZamani.Text = GetText('GIRIS_ZAMANI');
  LblPlanlananBitis.Text = GetText('PLANLANAN');
  LblBakimDurumu.Text = GetText('BAKIM_DURUMU');
  LblKisiSayisi.Text = GetText('KISI_SAYISI');
  LblOperatorGrup.Text = GetText('OP_GRUP');
  LblOperator.Text = GetText('OPERATOR');
  LblOperatorBilgisi.Text = GetText('OP_BILGI');
  LblAciklama.Text = GetText('ACIKLAMA');
  
  BtnResimCek.Text = GetText('KAMERA');
  BtnStokEkleAnaForm.Text = GetText('STOK_EKLE');
  BtnOperatorKaydet.Text = GetText('OP_KAYDET');

  CmbPlanlananBitis.Items.Clear;
  if (gAktifDilIndex == 1)
  {
    CmbPlanlananBitis.AddItem('Hourly', 'Saat');
    CmbPlanlananBitis.AddItem('Daily', 'Gün');
    CmbPlanlananBitis.AddItem('Monthly', 'Ay');
  }
  else
  {
    CmbPlanlananBitis.AddItem('Saat', 'Saat');
    CmbPlanlananBitis.AddItem('Gün', 'Gün');
    CmbPlanlananBitis.AddItem('Ay', 'Ay');
  }

  CmbBakimDurumu.Items.Clear;
  CmbBakimDurumu.AddItem(GetText('BAKIM_YAPILDI'), 'Y');
  CmbBakimDurumu.AddItem(GetText('BAKIM_YAPILMADI'), 'N');

  CmbBakimTipi.Items.Clear;
  CmbBakimTipi.AddItem('Rutin', 'Rutin');
  CmbBakimTipi.AddItem('Arıza', 'Arıza');
  CmbBakimTipi.AddItem('Periyodik', 'Periyodik');

  CmbBakimTuru.Items.Clear;
  CmbBakimTuru.AddItem('Mekanik', 'Mekanik');
  CmbBakimTuru.AddItem('Elektrik', 'Elektrik');
  CmbBakimTuru.AddItem('Yazılım', 'Yazılım');

  CmbOperatorGrup.Items.Clear;
  CmbOperatorGrup.AddItem('A Grubu', 'A');
  CmbOperatorGrup.AddItem('B Grubu', 'B');
  CmbOperatorGrup.AddItem('C Grubu', 'C');

  CmbOperator.Items.Clear;
  CmbOperator.AddItem('Ahmet Yılmaz', 'Ahmet');
  CmbOperator.AddItem('Mehmet Demir', 'Mehmet');
  CmbOperator.AddItem('Ali Kaya', 'Ali');

  LblCol1.Text = GetText('GRID_COL1');
  LblCol2.Text = GetText('GRID_COL2');
  LblCol3.Text = GetText('GRID_COL3');
  LblCol4.Text = GetText('GRID_COL4');
  LblCol5.Text = GetText('GRID_COL5');
  LblCol6.Text = GetText('GRID_COL6');
}

void DiliVeArayuzuGuncelle;
{
  AyarlariYukle;
  if (EdtBelgeNo <> nil)
  {
    ApplyUiSettings;
    GridGuncelle;
  }
}

void BtnYeniClick;
{
  EdtBelgeNo.Text = '';
  EdtBakimKodu.Text = '';
  EdtMakineKodu.Text = ''; 
  EdtBaglanti.Text = '';
  EdtCariKodu.Text = '';
  CmbPlanlananBitis.ItemIndex = -1;
  CmbBakimTipi.ItemIndex = -1;
  CmbBakimTuru.ItemIndex = -1;
  CmbBakimDurumu.ItemIndex = -1;
  CmbOperatorGrup.ItemIndex = -1;
  CmbOperator.ItemIndex = -1;
  EdtKisiSayisi.Text = '0';
  EdtOperatorBilgisi.Text = '';
  EdtAciklama.Text = '';
  MemTabContent.Text = ''; 
  SetCurrentDateTime;
  MyJsonItems = '';
  GridGuncelle;
  ShowMessage(GetText('MSG_FORM_TEMIZLENDI'));
}

void BtnKaydetClick;
var
  KayitDosyasi: TclStringList;
  DosyaYolu, YeniKayit, LTarih, LAy, LYil: String;
{
  if (EdtBelgeNo.Text == '')
  {
    ShowMessage(GetText('MSG_BELGE_NO_GIRIN'));
    Exit;
  }
  if (CmbBakimDurumu.ItemIndex == -1)
  {
    ShowMessage(GetText('MSG_DURUM_SECIN'));
    Exit;
  }
  DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath);
  KayitDosyasi = Clomosy.StringListNew;
  if (clFileExists(DosyaYolu, '')) { KayitDosyasi.LoadFromFile(DosyaYolu, 0); }
  LTarih = DateToStr(Now);
  LAy = Copy(LTarih, 4, 2);
  LYil = Copy(LTarih, 7, 4);
  YeniKayit = 'Bakım|' + EdtBelgeNo.Text + '|' + EdtMakineKodu.Text + '|' + EdtBakimKodu.Text + '|' + LTarih + '|' + CmbBakimDurumu.Text + '|' + LAy + '|' + LYil + '|' + CmbPlanlananBitis.Text;
  KayitDosyasi.Add(YeniKayit);
  KayitDosyasi.SaveToFile(DosyaYolu, 0);
  KayitDosyasi.Free;
  ShowMessage(GetText('MSG_KAYIT_BASARILI'));
}

void BtnYazdirClick;
{
  ShowMessage('Yazdırılıyor: ' + EdtBelgeNo.Text);
}

void BtnOperatorKaydetClick;
{
  if (EdtOperatorBilgisi.Text == '')
  {
    ShowMessage(GetText('MSG_OP_BILGI_GIRIN'));
    Exit;
  }
  if (CmbYeniOperatorGrup.ItemIndex == -1)
  {
    ShowMessage(GetText('MSG_OP_GRUP_SECIN'));
    Exit;
  }
  ShowMessage(GetText('MSG_OP_KAYDEDILDI'));
  EdtOperatorBilgisi.Text = '';
  CmbYeniOperatorGrup.ItemIndex = -1;
}

{
  BakimForm = TclForm.Create(Self);
  BakimForm.LytTopBar.Visible = False;
  BakimForm.BtnGoBack.Visible = False;
  BakimForm.BtnFormMenu.Visible = False;
  BakimForm.AddNewEvent(BakimForm, tbeOnVirtualKeyboardShown, 'OnKeyboardShow');
  BakimForm.AddNewEvent(BakimForm, tbeOnVirtualKeyboardHidden, 'OnKeyboardHide');
  BakimForm.AddNewEvent(BakimForm, tbeOnFormActivate, 'DiliVeArayuzuGuncelle');

  UiFontSize = 15;
  OkunanFontAdi = 'Arial'; 
  gAktifDilIndex = 0;
  gCounter = 0;
  
  AyarlariYukle;

  PnlNavBar = BakimForm.AddNewProPanel(BakimForm, 'PnlNavBar');
  PnlNavBar.Align = alTop;
  PnlNavBar.Height = 92;
  StyleHeaderBar(PnlNavBar);

  BtnGeri = BakimForm.AddNewProButton(PnlNavBar, 'BtnGeri', '<');
  BtnGeri.Align = alLeft; 
  BtnGeri.Width = 48; 
  BtnGeri.Margins.Top = 40;
  BtnGeri.Margins.Bottom = 0;
  BtnGeri.clProSettings.FontColor = clAlphaColor.clWhite;
  BtnGeri.clProSettings.BorderWidth = 0; 
  BtnGeri.clProSettings.IsFill = False;
  BtnGeri.clProSettings.FontSize = 20; 
  BtnGeri.clProSettings.TextSettings.Font.Style = [fsBold];
  BtnGeri.clProSettings.FontName = OkunanFontAdi;
  BtnGeri.SetclProSettings(BtnGeri.clProSettings);
  BakimForm.AddNewEvent(BtnGeri, tbeOnClick, 'GoBack');

  LblNavTitle = BakimForm.AddNewProLabel(PnlNavBar, 'LblNavTitle', '');
  LblNavTitle.Align = alClient; 
  LblNavTitle.Margins.Top = 40;
  LblNavTitle.Margins.Left = 10;
  LblNavTitle.clProSettings.FontColor = clAlphaColor.clWhite;
  LblNavTitle.clProSettings.FontSize = UiFontSize + 4;
  LblNavTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblNavTitle.clProSettings.FontName = OkunanFontAdi;
  LblNavTitle.SetclProSettings(LblNavTitle.clProSettings);

  PnlHeaderTop = BakimForm.AddNewProPanel(BakimForm, 'PnlHeaderTop');
  PnlHeaderTop.Align = alTop;
  PnlHeaderTop.Height = 55;
  StyleHeaderBar(PnlHeaderTop);

  BtnYeni = BakimForm.AddNewProButton(PnlHeaderTop, 'BtnYeni', '');
  BtnYeni.Align = alLeft; 
  BtnYeni.Width = 90; 
  BtnYeni.Margins.Left = 15; 
  BtnYeni.Margins.Top = 10; 
  BtnYeni.Margins.Bottom = 10;
  StyleTopBtnYeni(BtnYeni);
  BakimForm.AddNewEvent(BtnYeni, tbeOnClick, 'BtnYeniClick');

  BtnKaydet = BakimForm.AddNewProButton(PnlHeaderTop, 'BtnKaydet', '');
  BtnKaydet.Align = alLeft; 
  BtnKaydet.Width = 90; 
  BtnKaydet.Margins.Left = 10; 
  BtnKaydet.Margins.Top = 10; 
  BtnKaydet.Margins.Bottom = 10;
  StyleTopBtnKaydet(BtnKaydet);
  BakimForm.AddNewEvent(BtnKaydet, tbeOnClick, 'BtnKaydetClick');

  BtnYazdir = BakimForm.AddNewProButton(PnlHeaderTop, 'BtnYazdir', '');
  BtnYazdir.Align = alLeft; 
  BtnYazdir.Width = 90; 
  BtnYazdir.Margins.Left = 10; 
  BtnYazdir.Margins.Top = 10; 
  BtnYazdir.Margins.Bottom = 10;
  StyleTopBtnYazdir(BtnYazdir);
  BakimForm.AddNewEvent(BtnYazdir, tbeOnClick, 'BtnYazdirClick');

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

  PnlMainCard = BakimForm.AddNewProPanel(ScrollForm, 'PnlMainCard');
  PnlMainCard.Align = alTop;
  PnlMainCard.Height = 1600;
  PnlMainCard.Margins.Top = 10;
  PnlMainCard.Margins.Bottom = 20;
  PnlMainCard.Margins.Left = 10;
  PnlMainCard.Margins.Right = 10;
  StyleMainCard(PnlMainCard);

  LblSect1Title = BakimForm.AddNewProLabel(PnlMainCard, 'LblSect1Title', '');
  LblSect1Title.Align = alTop;
  LblSect1Title.Height = 35;
  LblSect1Title.Margins.Left = 15;
  LblSect1Title.Margins.Top = 15;
  StyleSectionTitle(LblSect1Title);

  GrpBelgeNo = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBelgeNo');
  GrpBelgeNo.Align = alTop;
  GrpBelgeNo.Height = 65;
  GrpBelgeNo.Margins.Top = 10;
  GrpBelgeNo.Margins.Left = 15;
  GrpBelgeNo.Margins.Right = 15;
  StyleInputPanel(GrpBelgeNo);

  LblBelgeNo = BakimForm.AddNewProLabel(GrpBelgeNo, 'LblBelgeNo', '');
  LblBelgeNo.Align = alTop;
  LblBelgeNo.Height = 18;
  LblBelgeNo.Margins.Left = 10;
  LblBelgeNo.Margins.Top = 6;
  StyleInputLabel(LblBelgeNo);

  BtnRehberAc = BakimForm.AddNewProButton(GrpBelgeNo, 'BtnRehberAc', '🔍');
  BtnRehberAc.Align = alRight;
  BtnRehberAc.Width = 45;
  BtnRehberAc.Margins.Right = 10;
  BtnRehberAc.Margins.Bottom = 7;
  StyleActionButton(BtnRehberAc);
  BakimForm.AddNewEvent(BtnRehberAc, tbeOnClick, 'BtnRehberBelgeClick');

  EdtBelgeNo = BakimForm.AddNewProEdit(GrpBelgeNo, 'EdtBelgeNo', '');
  EdtBelgeNo.Align = alClient;
  EdtBelgeNo.Margins.Left = 10;
  EdtBelgeNo.Margins.Right = 5;
  EdtBelgeNo.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtBelgeNo);

  GrpTarih = BakimForm.AddNewProPanel(PnlMainCard, 'GrpTarih');
  GrpTarih.Align = alTop;
  GrpTarih.Height = 65;
  GrpTarih.Margins.Top = 10;
  GrpTarih.Margins.Left = 15;
  GrpTarih.Margins.Right = 15;
  StyleInputPanel(GrpTarih);

  LblTarih = BakimForm.AddNewProLabel(GrpTarih, 'LblTarih', '');
  LblTarih.Align = alTop;
  LblTarih.Height = 18;
  LblTarih.Margins.Left = 10;
  LblTarih.Margins.Top = 6;
  StyleInputLabel(LblTarih);

  EdtTarih = BakimForm.AddNewProEdit(GrpTarih, 'EdtTarih', '');
  EdtTarih.Align = alClient;
  EdtTarih.Margins.Left = 10;
  EdtTarih.Margins.Right = 10;
  EdtTarih.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtTarih);

  GrpBakimTipi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimTipi');
  GrpBakimTipi.Align = alTop;
  GrpBakimTipi.Height = 65;
  GrpBakimTipi.Margins.Top = 10;
  GrpBakimTipi.Margins.Left = 15;
  GrpBakimTipi.Margins.Right = 15;
  StyleInputPanel(GrpBakimTipi);

  LblBakimTipi = BakimForm.AddNewProLabel(GrpBakimTipi, 'LblBakimTipi', '');
  LblBakimTipi.Align = alTop;
  LblBakimTipi.Height = 18;
  LblBakimTipi.Margins.Left = 10;
  LblBakimTipi.Margins.Top = 6;
  StyleInputLabel(LblBakimTipi);

  CmbBakimTipi = BakimForm.AddNewComboBox(GrpBakimTipi, 'CmbBakimTipi');
  CmbBakimTipi.Align = alClient;
  CmbBakimTipi.Margins.Left = 10;
  CmbBakimTipi.Margins.Right = 10;
  CmbBakimTipi.Margins.Bottom = 7;

  GrpBakimTuru = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimTuru');
  GrpBakimTuru.Align = alTop;
  GrpBakimTuru.Height = 65;
  GrpBakimTuru.Margins.Top = 10;
  GrpBakimTuru.Margins.Left = 15;
  GrpBakimTuru.Margins.Right = 15;
  StyleInputPanel(GrpBakimTuru);

  LblBakimTuru = BakimForm.AddNewProLabel(GrpBakimTuru, 'LblBakimTuru', '');
  LblBakimTuru.Align = alTop;
  LblBakimTuru.Height = 18;
  LblBakimTuru.Margins.Left = 10;
  LblBakimTuru.Margins.Top = 6;
  StyleInputLabel(LblBakimTuru);

  CmbBakimTuru = BakimForm.AddNewComboBox(GrpBakimTuru, 'CmbBakimTuru');
  CmbBakimTuru.Align = alClient;
  CmbBakimTuru.Margins.Left = 10;
  CmbBakimTuru.Margins.Right = 10;
  CmbBakimTuru.Margins.Bottom = 7;

  GrpBakimKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimKodu');
  GrpBakimKodu.Align = alTop;
  GrpBakimKodu.Height = 65;
  GrpBakimKodu.Margins.Top = 10;
  GrpBakimKodu.Margins.Left = 15;
  GrpBakimKodu.Margins.Right = 15;
  StyleInputPanel(GrpBakimKodu);

  LblBakimKodu = BakimForm.AddNewProLabel(GrpBakimKodu, 'LblBakimKodu', '');
  LblBakimKodu.Align = alTop;
  LblBakimKodu.Height = 18;
  LblBakimKodu.Margins.Left = 10;
  LblBakimKodu.Margins.Top = 6;
  StyleInputLabel(LblBakimKodu);

  BtnBakimKoduRehber = BakimForm.AddNewProButton(GrpBakimKodu, 'BtnBakimKoduRehber', '🔍');
  BtnBakimKoduRehber.Align = alRight;
  BtnBakimKoduRehber.Width = 45;
  BtnBakimKoduRehber.Margins.Right = 10;
  BtnBakimKoduRehber.Margins.Bottom = 7;
  StyleActionButton(BtnBakimKoduRehber);
  BakimForm.AddNewEvent(BtnBakimKoduRehber, tbeOnClick, 'BtnBakimKoduRehberClick');

  EdtBakimKodu = BakimForm.AddNewProEdit(GrpBakimKodu, 'EdtBakimKodu', '');
  EdtBakimKodu.Align = alClient;
  EdtBakimKodu.Margins.Left = 10;
  EdtBakimKodu.Margins.Right = 5;
  EdtBakimKodu.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtBakimKodu);

  GrpMakineKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpMakineKodu');
  GrpMakineKodu.Align = alTop;
  GrpMakineKodu.Height = 65;
  GrpMakineKodu.Margins.Top = 10;
  GrpMakineKodu.Margins.Left = 15;
  GrpMakineKodu.Margins.Right = 15;
  StyleInputPanel(GrpMakineKodu);

  LblMakineKodu = BakimForm.AddNewProLabel(GrpMakineKodu, 'LblMakineKodu', '');
  LblMakineKodu.Align = alTop;
  LblMakineKodu.Height = 18;
  LblMakineKodu.Margins.Left = 10;
  LblMakineKodu.Margins.Top = 6;
  StyleInputLabel(LblMakineKodu);

  BtnMakineKoduRehber = BakimForm.AddNewProButton(GrpMakineKodu, 'BtnMakineKoduRehber', '🔍');
  BtnMakineKoduRehber.Align = alRight;
  BtnMakineKoduRehber.Width = 45;
  BtnMakineKoduRehber.Margins.Right = 10;
  BtnMakineKoduRehber.Margins.Bottom = 7;
  StyleActionButton(BtnMakineKoduRehber);
  BakimForm.AddNewEvent(BtnMakineKoduRehber, tbeOnClick, 'BtnMakineKoduRehberClick');

  EdtMakineKodu = BakimForm.AddNewProEdit(GrpMakineKodu, 'EdtMakineKodu', '');
  EdtMakineKodu.Align = alClient;
  EdtMakineKodu.Margins.Left = 10;
  EdtMakineKodu.Margins.Right = 5;
  EdtMakineKodu.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtMakineKodu);

  GrpBaglanti = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBaglanti');
  GrpBaglanti.Align = alTop;
  GrpBaglanti.Height = 65;
  GrpBaglanti.Margins.Top = 10;
  GrpBaglanti.Margins.Left = 15;
  GrpBaglanti.Margins.Right = 15;
  StyleInputPanel(GrpBaglanti);

  LblBaglanti = BakimForm.AddNewProLabel(GrpBaglanti, 'LblBaglanti', '');
  LblBaglanti.Align = alTop;
  LblBaglanti.Height = 18;
  LblBaglanti.Margins.Left = 10;
  LblBaglanti.Margins.Top = 6;
  StyleInputLabel(LblBaglanti);

  BtnBaglantiRehber = BakimForm.AddNewProButton(GrpBaglanti, 'BtnBaglantiRehber', '🔍');
  BtnBaglantiRehber.Align = alRight;
  BtnBaglantiRehber.Width = 45;
  BtnBaglantiRehber.Margins.Right = 10;
  BtnBaglantiRehber.Margins.Bottom = 7;
  StyleActionButton(BtnBaglantiRehber);
  BakimForm.AddNewEvent(BtnBaglantiRehber, tbeOnClick, 'BtnBaglantiRehberClick');

  EdtBaglanti = BakimForm.AddNewProEdit(GrpBaglanti, 'EdtBaglanti', '');
  EdtBaglanti.Align = alClient;
  EdtBaglanti.Margins.Left = 10;
  EdtBaglanti.Margins.Right = 5;
  EdtBaglanti.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtBaglanti);

  GrpCariKodu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpCariKodu');
  GrpCariKodu.Align = alTop;
  GrpCariKodu.Height = 65;
  GrpCariKodu.Margins.Top = 10;
  GrpCariKodu.Margins.Left = 15;
  GrpCariKodu.Margins.Right = 15;
  StyleInputPanel(GrpCariKodu);

  LblCariKodu = BakimForm.AddNewProLabel(GrpCariKodu, 'LblCariKodu', '');
  LblCariKodu.Align = alTop;
  LblCariKodu.Height = 18;
  LblCariKodu.Margins.Left = 10;
  LblCariKodu.Margins.Top = 6;
  StyleInputLabel(LblCariKodu);

  BtnCariKoduRehber = BakimForm.AddNewProButton(GrpCariKodu, 'BtnCariKoduRehber', '🔍');
  BtnCariKoduRehber.Align = alRight;
  BtnCariKoduRehber.Width = 45;
  BtnCariKoduRehber.Margins.Right = 10;
  BtnCariKoduRehber.Margins.Bottom = 7;
  StyleActionButton(BtnCariKoduRehber);
  BakimForm.AddNewEvent(BtnCariKoduRehber, tbeOnClick, 'BtnCariKoduRehberClick');

  EdtCariKodu = BakimForm.AddNewProEdit(GrpCariKodu, 'EdtCariKodu', '');
  EdtCariKodu.Align = alClient;
  EdtCariKodu.Margins.Left = 10;
  EdtCariKodu.Margins.Right = 5;
  EdtCariKodu.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtCariKodu);

  GrpBaslangic = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBaslangic');
  GrpBaslangic.Align = alTop;
  GrpBaslangic.Height = 65;
  GrpBaslangic.Margins.Top = 10;
  GrpBaslangic.Margins.Left = 15;
  GrpBaslangic.Margins.Right = 15;
  StyleInputPanel(GrpBaslangic);

  LblBaslangic = BakimForm.AddNewProLabel(GrpBaslangic, 'LblBaslangic', '');
  LblBaslangic.Align = alTop;
  LblBaslangic.Height = 18;
  LblBaslangic.Margins.Left = 10;
  LblBaslangic.Margins.Top = 6;
  StyleInputLabel(LblBaslangic);

  EdtBaslangicSaat = BakimForm.AddNewProEdit(GrpBaslangic, 'EdtBaslangicSaat', '');
  EdtBaslangicSaat.Align = alRight;
  EdtBaslangicSaat.Width = 100;
  EdtBaslangicSaat.Margins.Right = 10;
  EdtBaslangicSaat.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtBaslangicSaat);

  EdtBaslangic = BakimForm.AddNewProEdit(GrpBaslangic, 'EdtBaslangic', '');
  EdtBaslangic.Align = alClient;
  EdtBaslangic.Margins.Left = 10;
  EdtBaslangic.Margins.Right = 5;
  EdtBaslangic.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtBaslangic);

  GrpGirisZamani = BakimForm.AddNewProPanel(PnlMainCard, 'GrpGirisZamani');
  GrpGirisZamani.Align = alTop;
  GrpGirisZamani.Height = 65;
  GrpGirisZamani.Margins.Top = 10;
  GrpGirisZamani.Margins.Left = 15;
  GrpGirisZamani.Margins.Right = 15;
  StyleInputPanel(GrpGirisZamani);

  LblGirisZamani = BakimForm.AddNewProLabel(GrpGirisZamani, 'LblGirisZamani', '');
  LblGirisZamani.Align = alTop;
  LblGirisZamani.Height = 18;
  LblGirisZamani.Margins.Left = 10;
  LblGirisZamani.Margins.Top = 6;
  StyleInputLabel(LblGirisZamani);

  EdtGirisZamani = BakimForm.AddNewProEdit(GrpGirisZamani, 'EdtGirisZamani', '');
  EdtGirisZamani.Align = alClient;
  EdtGirisZamani.Margins.Left = 10;
  EdtGirisZamani.Margins.Right = 10;
  EdtGirisZamani.Margins.Bottom = 7;
  StyleReadonlyEdit(EdtGirisZamani);

  GrpPlanlananBitis = BakimForm.AddNewProPanel(PnlMainCard, 'GrpPlanlananBitis');
  GrpPlanlananBitis.Align = alTop;
  GrpPlanlananBitis.Height = 65;
  GrpPlanlananBitis.Margins.Top = 10;
  GrpPlanlananBitis.Margins.Left = 15;
  GrpPlanlananBitis.Margins.Right = 15;
  StyleInputPanel(GrpPlanlananBitis);

  LblPlanlananBitis = BakimForm.AddNewProLabel(GrpPlanlananBitis, 'LblPlanlananBitis', '');
  LblPlanlananBitis.Align = alTop;
  LblPlanlananBitis.Height = 18;
  LblPlanlananBitis.Margins.Left = 10;
  LblPlanlananBitis.Margins.Top = 6;
  StyleInputLabel(LblPlanlananBitis);

  CmbPlanlananBitis = BakimForm.AddNewComboBox(GrpPlanlananBitis, 'CmbPlanlananBitis');
  CmbPlanlananBitis.Align = alClient;
  CmbPlanlananBitis.Margins.Left = 10;
  CmbPlanlananBitis.Margins.Right = 10;
  CmbPlanlananBitis.Margins.Bottom = 7;

  GrpBakimDurumu = BakimForm.AddNewProPanel(PnlMainCard, 'GrpBakimDurumu');
  GrpBakimDurumu.Align = alTop;
  GrpBakimDurumu.Height = 65;
  GrpBakimDurumu.Margins.Top = 10;
  GrpBakimDurumu.Margins.Left = 15;
  GrpBakimDurumu.Margins.Right = 15;
  StyleInputPanel(GrpBakimDurumu);

  LblBakimDurumu = BakimForm.AddNewProLabel(GrpBakimDurumu, 'LblBakimDurumu', '');
  LblBakimDurumu.Align = alTop;
  LblBakimDurumu.Height = 18;
  LblBakimDurumu.Margins.Left = 10;
  LblBakimDurumu.Margins.Top = 6;
  StyleInputLabel(LblBakimDurumu);

  CmbBakimDurumu = BakimForm.AddNewComboBox(GrpBakimDurumu, 'CmbBakimDurumu');
  CmbBakimDurumu.Align = alClient;
  CmbBakimDurumu.Margins.Left = 10;
  CmbBakimDurumu.Margins.Right = 10;
  CmbBakimDurumu.Margins.Bottom = 7;

  GrpKisiSayisi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpKisiSayisi');
  GrpKisiSayisi.Align = alTop;
  GrpKisiSayisi.Height = 65;
  GrpKisiSayisi.Margins.Top = 10;
  GrpKisiSayisi.Margins.Left = 15;
  GrpKisiSayisi.Margins.Right = 15;
  StyleInputPanel(GrpKisiSayisi);

  LblKisiSayisi = BakimForm.AddNewProLabel(GrpKisiSayisi, 'LblKisiSayisi', '');
  LblKisiSayisi.Align = alTop;
  LblKisiSayisi.Height = 18;
  LblKisiSayisi.Margins.Left = 10;
  LblKisiSayisi.Margins.Top = 6;
  StyleInputLabel(LblKisiSayisi);

  EdtKisiSayisi = BakimForm.AddNewProEdit(GrpKisiSayisi, 'EdtKisiSayisi', '');
  EdtKisiSayisi.Align = alClient;
  EdtKisiSayisi.Margins.Left = 10;
  EdtKisiSayisi.Margins.Right = 10;
  EdtKisiSayisi.Margins.Bottom = 7;
  StyleInputEdit(EdtKisiSayisi);
  BindInputFocus(EdtKisiSayisi);
  BakimForm.AddNewEvent(EdtKisiSayisi, tbeOnEnter, 'KlvKisiSayisi');

  GrpOperatorGrup = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperatorGrup');
  GrpOperatorGrup.Align = alTop;
  GrpOperatorGrup.Height = 65;
  GrpOperatorGrup.Margins.Top = 10;
  GrpOperatorGrup.Margins.Left = 15;
  GrpOperatorGrup.Margins.Right = 15;
  StyleInputPanel(GrpOperatorGrup);

  LblOperatorGrup = BakimForm.AddNewProLabel(GrpOperatorGrup, 'LblOperatorGrup', '');
  LblOperatorGrup.Align = alTop;
  LblOperatorGrup.Height = 18;
  LblOperatorGrup.Margins.Left = 10;
  LblOperatorGrup.Margins.Top = 6;
  StyleInputLabel(LblOperatorGrup);

  CmbOperatorGrup = BakimForm.AddNewComboBox(GrpOperatorGrup, 'CmbOperatorGrup');
  CmbOperatorGrup.Align = alClient;
  CmbOperatorGrup.Margins.Left = 10;
  CmbOperatorGrup.Margins.Right = 10;
  CmbOperatorGrup.Margins.Bottom = 7;

  GrpOperator = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperator');
  GrpOperator.Align = alTop;
  GrpOperator.Height = 65;
  GrpOperator.Margins.Top = 10;
  GrpOperator.Margins.Left = 15;
  GrpOperator.Margins.Right = 15;
  StyleInputPanel(GrpOperator);

  LblOperator = BakimForm.AddNewProLabel(GrpOperator, 'LblOperator', '');
  LblOperator.Align = alTop;
  LblOperator.Height = 18;
  LblOperator.Margins.Left = 10;
  LblOperator.Margins.Top = 6;
  StyleInputLabel(LblOperator);

  CmbOperator = BakimForm.AddNewComboBox(GrpOperator, 'CmbOperator');
  CmbOperator.Align = alClient;
  CmbOperator.Margins.Left = 10;
  CmbOperator.Margins.Right = 10;
  CmbOperator.Margins.Bottom = 7;

  GrpOperatorBilgisi = BakimForm.AddNewProPanel(PnlMainCard, 'GrpOperatorBilgisi');
  GrpOperatorBilgisi.Align = alTop;
  GrpOperatorBilgisi.Height = 65;
  GrpOperatorBilgisi.Margins.Top = 10;
  GrpOperatorBilgisi.Margins.Left = 15;
  GrpOperatorBilgisi.Margins.Right = 15;
  StyleInputPanel(GrpOperatorBilgisi);

  LblOperatorBilgisi = BakimForm.AddNewProLabel(GrpOperatorBilgisi, 'LblOperatorBilgisi', '');
  LblOperatorBilgisi.Align = alTop;
  LblOperatorBilgisi.Height = 18;
  LblOperatorBilgisi.Margins.Left = 10;
  LblOperatorBilgisi.Margins.Top = 6;
  StyleInputLabel(LblOperatorBilgisi);

  BtnOperatorKaydet = BakimForm.AddNewProButton(GrpOperatorBilgisi, 'BtnOperatorKaydet', 'Ekle');
  BtnOperatorKaydet.Align = alRight;
  BtnOperatorKaydet.Width = 60;
  BtnOperatorKaydet.Margins.Right = 10;
  BtnOperatorKaydet.Margins.Bottom = 7;
  StylePrimaryButton(BtnOperatorKaydet);
  BakimForm.AddNewEvent(BtnOperatorKaydet, tbeOnClick, 'BtnOperatorKaydetClick');

  CmbYeniOperatorGrup = BakimForm.AddNewComboBox(GrpOperatorBilgisi, 'CmbYeniOperatorGrup');
  CmbYeniOperatorGrup.Align = alRight;
  CmbYeniOperatorGrup.Width = 90;
  CmbYeniOperatorGrup.Margins.Right = 5;
  CmbYeniOperatorGrup.Margins.Bottom = 7;
  CmbYeniOperatorGrup.AddItem('A Grubu', 'A');
  CmbYeniOperatorGrup.AddItem('B Grubu', 'B');
  CmbYeniOperatorGrup.AddItem('C Grubu', 'C');

  EdtOperatorBilgisi = BakimForm.AddNewProEdit(GrpOperatorBilgisi, 'EdtOperatorBilgisi', '');
  EdtOperatorBilgisi.Align = alClient;
  EdtOperatorBilgisi.Margins.Left = 10;
  EdtOperatorBilgisi.Margins.Right = 5;
  EdtOperatorBilgisi.Margins.Bottom = 7;
  StyleInputEdit(EdtOperatorBilgisi);
  BindInputFocus(EdtOperatorBilgisi);
  BakimForm.AddNewEvent(EdtOperatorBilgisi, tbeOnEnter, 'KlvOperatorBilgisi');

  GrpAciklama = BakimForm.AddNewProPanel(PnlMainCard, 'GrpAciklama');
  GrpAciklama.Align = alTop;
  GrpAciklama.Height = 65;
  GrpAciklama.Margins.Top = 10;
  GrpAciklama.Margins.Left = 15;
  GrpAciklama.Margins.Right = 15;
  StyleInputPanel(GrpAciklama);

  LblAciklama = BakimForm.AddNewProLabel(GrpAciklama, 'LblAciklama', '');
  LblAciklama.Align = alTop;
  LblAciklama.Height = 18;
  LblAciklama.Margins.Left = 10;
  LblAciklama.Margins.Top = 6;
  StyleInputLabel(LblAciklama);

  EdtAciklama = BakimForm.AddNewProEdit(GrpAciklama, 'EdtAciklama', '');
  EdtAciklama.Align = alClient;
  EdtAciklama.Margins.Left = 10;
  EdtAciklama.Margins.Right = 10;
  EdtAciklama.Margins.Bottom = 7;
  StyleInputEdit(EdtAciklama);
  BindInputFocus(EdtAciklama);
  BakimForm.AddNewEvent(EdtAciklama, tbeOnEnter, 'KlvAciklama');

  LblGridTitle = BakimForm.AddNewProLabel(PnlMainCard, 'LblGridTitle', '');
  LblGridTitle.Align = alTop;
  LblGridTitle.Height = 35;
  LblGridTitle.Margins.Left = 15;
  LblGridTitle.Margins.Top = 15;
  StyleSectionTitle(LblGridTitle);

  HScrollGrid = BakimForm.AddNewHorzScrollBox(PnlMainCard, 'HScrollGrid');
  HScrollGrid.Align = alTop;
  HScrollGrid.Height = 170;
  HScrollGrid.Margins.Left = 15;
  HScrollGrid.Margins.Right = 15;
  HScrollGrid.Margins.Top = 5;

  PnlGridContainer = BakimForm.AddNewProPanel(HScrollGrid, 'PnlGridContainer');
  PnlGridContainer.Align = alLeft;
  PnlGridContainer.Width = 600;
  PnlGridContainer.Height = 160;
  StyleInputPanel(PnlGridContainer);

  PnlGridHeader = BakimForm.AddNewProPanel(PnlGridContainer, 'PnlGridHeader');
  PnlGridHeader.Align = alTop;
  PnlGridHeader.Height = 30;
  PnlGridHeader.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(ThemeKoyuRenk);
  PnlGridHeader.clProSettings.IsFill = True;
  PnlGridHeader.SetclProSettings(PnlGridHeader.clProSettings);

  LblCol1 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol1', '');
  LblCol1.Align = alLeft; LblCol1.Width = 80; LblCol1.Height = 30;
  LblCol1.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol1.clProSettings.FontSize = UiFontSize - 2; LblCol1.clProSettings.FontHorzAlign = palCenter;
  LblCol1.clProSettings.FontVertAlign = palCenter; LblCol1.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol1.SetclProSettings(LblCol1.clProSettings);

  LblCol2 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol2', '');
  LblCol2.Align = alLeft; LblCol2.Width = 150; LblCol2.Height = 30;
  LblCol2.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol2.clProSettings.FontSize = UiFontSize - 2; LblCol2.clProSettings.FontHorzAlign = palCenter;
  LblCol2.clProSettings.FontVertAlign = palCenter; LblCol2.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol2.SetclProSettings(LblCol2.clProSettings);

  LblCol3 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol3', '');
  LblCol3.Align = alLeft; LblCol3.Width = 60; LblCol3.Height = 30;
  LblCol3.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol3.clProSettings.FontSize = UiFontSize - 2; LblCol3.clProSettings.FontHorzAlign = palCenter;
  LblCol3.clProSettings.FontVertAlign = palCenter; LblCol3.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol3.SetclProSettings(LblCol3.clProSettings);

  LblCol4 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol4', '');
  LblCol4.Align = alLeft; LblCol4.Width = 60; LblCol4.Height = 30;
  LblCol4.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol4.clProSettings.FontSize = UiFontSize - 2; LblCol4.clProSettings.FontHorzAlign = palCenter;
  LblCol4.clProSettings.FontVertAlign = palCenter; LblCol4.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol4.SetclProSettings(LblCol4.clProSettings);

  LblCol5 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol5', '');
  LblCol5.Align = alLeft; LblCol5.Width = 80; LblCol5.Height = 30;
  LblCol5.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol5.clProSettings.FontSize = UiFontSize - 2; LblCol5.clProSettings.FontHorzAlign = palCenter;
  LblCol5.clProSettings.FontVertAlign = palCenter; LblCol5.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol5.SetclProSettings(LblCol5.clProSettings);

  LblCol6 = BakimForm.AddNewProLabel(PnlGridHeader, 'LblCol6', '');
  LblCol6.Align = alLeft; LblCol6.Width = 80; LblCol6.Height = 30;
  LblCol6.clProSettings.FontColor = clAlphaColor.clWhite;
  LblCol6.clProSettings.FontSize = UiFontSize - 2; LblCol6.clProSettings.FontHorzAlign = palCenter;
  LblCol6.clProSettings.FontVertAlign = palCenter; LblCol6.clProSettings.TextSettings.Font.Style = [fsBold];
  LblCol6.SetclProSettings(LblCol6.clProSettings);

  ListGrid = BakimForm.AddNewProListView(PnlGridContainer, 'ListGrid');
  ListGrid.Align = alClient;
  ListGrid.ListType = 'vertical';
  ListGrid.clProSettings.ItemHeight = 45;
  ListGrid.clProSettings.ItemSpace = 2;
  ListGrid.clProSettings.ColCount = 1;
  ListGrid.clProSettings.ViewType = lvIcon;
  ListGrid.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  ListGrid.SetclProSettings(ListGrid.clProSettings);

  ListGridDesigner = BakimForm.AddNewProListViewDesignerPanel(ListGrid, 'ListGridDesigner');
  ListGridDesigner.Align = alTop;
  ListGridDesigner.Height = 40;
  ListGridDesigner.Width = 600;
  ListGridDesigner.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  ListGridDesigner.clProSettings.IsRound = False;
  ListGridDesigner.clProSettings.BorderWidth = 0;
  ListGridDesigner.SetclProSettings(ListGridDesigner.clProSettings);

  LblD1 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD1', '');
  LblD1.Align = alLeft; LblD1.Width = 80; LblD1.Height = 40;
  LblD1.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD1.clProSettings.FontSize = UiFontSize - 2; LblD1.clProSettings.FontHorzAlign = palCenter;
  LblD1.clProSettings.FontVertAlign = palCenter;
  LblD1.SetclProSettings(LblD1.clProSettings);

  LblD2 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD2', '');
  LblD2.Align = alLeft; LblD2.Width = 150; LblD2.Height = 40;
  LblD2.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD2.clProSettings.FontSize = UiFontSize - 2; LblD2.clProSettings.FontHorzAlign = palCenter;
  LblD2.clProSettings.FontVertAlign = palCenter;
  LblD2.SetclProSettings(LblD2.clProSettings);

  LblD3 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD3', '');
  LblD3.Align = alLeft; LblD3.Width = 60; LblD3.Height = 40;
  LblD3.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD3.clProSettings.FontSize = UiFontSize - 2; LblD3.clProSettings.FontHorzAlign = palCenter;
  LblD3.clProSettings.FontVertAlign = palCenter;
  LblD3.SetclProSettings(LblD3.clProSettings);

  LblD4 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD4', '');
  LblD4.Align = alLeft; LblD4.Width = 60; LblD4.Height = 40;
  LblD4.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD4.clProSettings.FontSize = UiFontSize - 2; LblD4.clProSettings.FontHorzAlign = palCenter;
  LblD4.clProSettings.FontVertAlign = palCenter;
  LblD4.SetclProSettings(LblD4.clProSettings);

  LblD5 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD5', '');
  LblD5.Align = alLeft; LblD5.Width = 80; LblD5.Height = 40;
  LblD5.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD5.clProSettings.FontSize = UiFontSize - 2; LblD5.clProSettings.FontHorzAlign = palCenter;
  LblD5.clProSettings.FontVertAlign = palCenter;
  LblD5.SetclProSettings(LblD5.clProSettings);

  LblD6 = BakimForm.AddNewProLabel(ListGridDesigner, 'LblGridD6', '');
  LblD6.Align = alLeft; LblD6.Width = 80; LblD6.Height = 40;
  LblD6.clProSettings.FontColor = clAlphaColor.clHexToColor(ThemeTextColor);
  LblD6.clProSettings.FontSize = UiFontSize - 2; LblD6.clProSettings.FontHorzAlign = palCenter;
  LblD6.clProSettings.FontVertAlign = palCenter;
  LblD6.SetclProSettings(LblD6.clProSettings);

  ListGridDesigner.AddPanelObject(LblD1, clCaption);
  ListGridDesigner.AddPanelObject(LblD2, clText);
  ListGridDesigner.AddPanelObject(LblD3, clText2);
  ListGridDesigner.AddPanelObject(LblD4, clText3);
  ListGridDesigner.AddPanelObject(LblD5, clText4);
  ListGridDesigner.AddPanelObject(LblD6, clText5);
  ListGrid.SetDesignerPanel(ListGridDesigner);

  BtnStokEkleAnaForm = BakimForm.AddNewProButton(PnlMainCard, 'BtnStokEkleAnaForm', '');
  BtnStokEkleAnaForm.Align = alTop;
  BtnStokEkleAnaForm.Height = 45;
  BtnStokEkleAnaForm.Margins.Top = 10;
  BtnStokEkleAnaForm.Margins.Left = 15;
  BtnStokEkleAnaForm.Margins.Right = 15;
  StyleUncoloredOutlineButton(BtnStokEkleAnaForm);
  BakimForm.AddNewEvent(BtnStokEkleAnaForm, tbeOnClick, 'FormStokEkleClick');

  LblPhotoTitle = BakimForm.AddNewProLabel(PnlMainCard, 'LblPhotoTitle', '');
  LblPhotoTitle.Align = alTop;
  LblPhotoTitle.Height = 35;
  LblPhotoTitle.Margins.Left = 15;
  LblPhotoTitle.Margins.Top = 15;
  StyleSectionTitle(LblPhotoTitle);

  PnlPhotoKutu = BakimForm.AddNewProPanel(PnlMainCard, 'PnlPhotoKutu');
  PnlPhotoKutu.Align = alTop;
  PnlPhotoKutu.Height = 110;
  PnlPhotoKutu.Margins.Left = 15;
  PnlPhotoKutu.Margins.Right = 15;
  PnlPhotoKutu.Margins.Top = 5;
  StyleInputPanel(PnlPhotoKutu);

  BtnResimCek = BakimForm.AddNewProButton(PnlPhotoKutu, 'BtnResimCek', '');
  BtnResimCek.Align = alRight;
  BtnResimCek.Width = 140;
  BtnResimCek.Margins.Right = 15;
  BtnResimCek.Margins.Top = 15;
  BtnResimCek.Margins.Bottom = 15;
  StylePrimaryButton(BtnResimCek);
  BakimForm.AddNewEvent(BtnResimCek, tbeOnClick, 'TakePhotoClick');

  ImgPhoto = BakimForm.AddNewImage(PnlPhotoKutu, 'ImgPhoto');
  ImgPhoto.Align = alClient;
  ImgPhoto.Margins.Left = 15;
  ImgPhoto.Margins.Top = 15;
  ImgPhoto.Margins.Bottom = 15;
  ImgPhoto.Margins.Right = 15;

  LblTalimatTitle = BakimForm.AddNewProLabel(PnlMainCard, 'LblTalimatTitle', '');
  LblTalimatTitle.Align = alTop;
  LblTalimatTitle.Height = 35;
  LblTalimatTitle.Margins.Left = 15;
  LblTalimatTitle.Margins.Top = 15;
  StyleSectionTitle(LblTalimatTitle);

  PnlTalimatKutu = BakimForm.AddNewProPanel(PnlMainCard, 'PnlTalimatKutu');
  PnlTalimatKutu.Align = alTop;
  PnlTalimatKutu.Height = 150;
  PnlTalimatKutu.Margins.Left = 15;
  PnlTalimatKutu.Margins.Right = 15;
  PnlTalimatKutu.Margins.Top = 5;
  StyleInputPanel(PnlTalimatKutu);

  MemTabContent = BakimForm.AddNewMemo(PnlTalimatKutu, 'MemTabContent','');
  MemTabContent.Align = alClient;
  MemTabContent.Margins.Left = 10;
  MemTabContent.Margins.Right = 10;
  MemTabContent.Margins.Top = 10;
  MemTabContent.Margins.Bottom = 10;
  MemTabContent.ReadOnly = True;
  MemTabContent.Text = GetText('TALIMAT_METNI');
  MyJsonItems = '';
  SetCurrentDateTime;
  ApplyUiSettings;
  GridGuncelle;

  BakimForm.Run;
}



https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

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

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

Bu Sayfa 0,090 Saniyede Yüklendi.