Sayfayı Yazdır | Pencereyi Kapat

stok ekleme

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1606
Tarih: 09 Temmuz 2026 Saat 11:52
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: stok ekleme
Mesajı Yazan: kayra12
Konu: stok ekleme
Mesaj Tarihi: 08 Temmuz 2026 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" rel="nofollow - 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" rel="nofollow - 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" rel="nofollow - 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" rel="nofollow - 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" rel="nofollow - 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" rel="nofollow - 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">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 08 Temmuz 2026 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" rel="nofollow - 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">



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net