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

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

Local data base

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


Kayıt Tarihi: 18 Saat 22 Dakika Önce
Durum: Aktif Değil
Puanlar: 2
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı ERRBAAY Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Local data base
    Gönderim Zamanı: 18 Saat 15 Dakika Önce Saat 14:57
aşşağıda verdiğim kod bloğuna local data base eklemek istiyorum ancak nasıl yapacağımı anlayamadım


var
  // Ana formumuz. Uygulamanın temeli.
  MyForm : TclForm;
  
  // --- GİRİŞ EKRANI DEĞİŞKENLERİ ---
  // Paneller: Arka planlar ve gruplamalar için.
  LoginBgPnl, MaskPnl, MainPnl, SocialPnl : TClProPanel;
  // Editler: Kullanıcının metin girdiği yerler.
  KullaniciAdiEdt, SifreEdit : TClProEdit;
  // Butonlar: Tıklanabilir eylem araçları.
  Giris, Kayit, BtnGoogle, BtnFacebook, BtnGoz : TClProButton;
  // Şifrenin görünürlük durumu (True/False).
  SifreDurum : Boolean;

  // --- STOK VE SATIŞ SİSTEMİ DEĞİŞKENLERİ ---
  // Sayfalar ve üst kısımlar için paneller.
  BgPnl, TopPnl, MenuPnl, AnaEkranPanel, StokPanel, SatisPanel, FislerPanel, PopupPanel, OverlayPnl : TClProPanel;
  
  // --- E-FATURA TASARIM DEĞİŞKENLERİ ---
  // Fatura kağıdının bölümleri.
  FisDetayPanel, FaturaTopPnl, KagitPnl, UstBilgiPnl, SaticiPnl, FaturaSagPnl, AliciPnl : TClProPanel;
  TabloPnl, TabloBaslikPnl, TabloVeriPnl, ToplamPnl, ToplamIcerikPnl : TClProPanel;
  // ScrollBox: Kaydırılabilir alanlar (Listeler sığmazsa diye).
  FaturaScrl, ListScrl, FislerScrl : TclVertScrollBox;
  // Fatura ekranı butonları.
  DetayGeriBtn, EFaturaKesBtn : TClProButton;
  // Fatura üzerindeki yazılar (Etiketler).
  FirmaIsimLbl, FirmaDetayLbl, EFaturaLogoLbl, FaturaSenaryoLbl, FaturaTarihLbl : TclProLabel;
  SayinLbl, FaturaAliciLbl, FaturaAliciDetayLbl : TclProLabel;
  Col1, Col2, Col3, Col4, Col5 : TclProLabel; // Tablo başlıkları
  Val1, Val2, Val3, Val4, Val5 : TclProLabel; // Tablo verileri
  OzetAltToplamLbl, OzetKdvLbl, OzetGenelToplamLbl : TclProLabel; // Fatura alt toplamları

  // --- SATIŞ YAPMA EKRANI (POPUP) DEĞİŞKENLERİ ---
  SatisScroll : TclVertScrollBox; // Popup içi kaydırma.
  SatBaslikLbl, MusBaslikLbl : TclProLabel; // Satıcı ve Müşteri başlıkları.
  // Satıcı bilgi giriş alanları.
  SaticiUnvanEdt, SaticiVknEdt, SaticiVdEdt, SaticiAdresEdt, SaticiTelEdt : TClProEdit;
  // Müşteri bilgi giriş alanları.
  AliciAdiEdt, AliciVknEdt, AliciVdEdt, AliciAdresEdt, AliciTelEdt : TClProEdit;
  // Satış işlem girişleri.
  UrunAdEdt, AdetEdt, FiyatEdt, SatisAdetEdt : TClProEdit;
  
  // Menü butonları.
  MenuBtn, AnaEkranBtn, StokModBtn, SatisModBtn, FislerBtn, KaydetBtn, SatisOnayBtn, KapatBtn : TClProButton;
  // Genel bilgilendirme yazıları.
  HeaderLbl, KasaLbl, ToplamStokLbl, AnaEkranLbl, AltBilgiLbl : TclProLabel;
  // Sayısal değer tutucular (Matematiksel işlemler için).
  UrunSayisi, GenelStok, SeciliUrunID, FisSayisi : Integer;
  // Kasa tutarı (Kuruşlu olabileceği için Double).
  ToplamKasa : Double;

// ==========================================
// --- GİRİŞ EKRANI FONKSİYONLARI ---
// ==========================================

// Şifre göster/gizle butonuna tıklanınca çalışır.
void GozTiklandi;
{
  // Durumu tam tersine çevir (Açıksa kapat, kapalıysa aç).
  SifreDurum = not SifreDurum;
  // Edit nesnesinin şifre modunu ayarla.
  SifreEdit.Password = not SifreDurum;
  // Butonun üzerindeki yazıyı duruma göre değiştir.
  if (SifreDurum) { BtnGoz.Caption = 'GIZLE'; } else { BtnGoz.Caption = 'GÖSTER'; }
}

// Kayıt ol butonuna tıklanınca çalışır.
void KayitOlTiklandi;
{
  // Ekrana uyarı mesajı ver.
  ShowMessage('Kayıt sistemi şu an pasif durumdadır. Lütfen mevcut bilgilerinizle giriş yapınız.');
}

// Giriş yap butonuna tıklanınca çalışır.
void GirisYapTiklandi;
{
  // Girilen kullanıcı adı ve şifre doğru mu kontrol et. İki farklı hesap tanımlı.
  if (((KullaniciAdiEdt.Text == 'SONGUZZ') && (SifreEdit.Text == '42AHV16.')) || 
      ((KullaniciAdiEdt.Text == 'Ali ERBAY') && (SifreEdit.Text == '5834')))
  { 
    // Bilgiler doğruysa mesaj ver.
    ShowMessage('Sisteme başarıyla giriş yapıldı. Hoş geldiniz.'); 
    // Giriş ekranı arayüzlerini gizle.
    MaskPnl.Visible = False;
    LoginBgPnl.Visible = False;
    // Ana uygulama ekranını görünür yap.
    BgPnl.Visible = True; 
  } 
  else 
  { 
    // Bilgiler yanlışsa hata mesajı ver.
    ShowMessage('Hatalı kullanıcı adı veya şifre girdiniz.'); 
  }
}

// ==========================================
// --- STOK/SATIŞ/FİŞ SİSTEMİ FONKSİYONLARI ---
// ==========================================

// Menü panelini açıp kapatır.
void ToggleMenu; { MenuPnl.Visible = not MenuPnl.Visible; }
// Satış popup'ını kapatır.
void KapatSatisPanel; { OverlayPnl.Visible = False; }

// Satış yap butonuna tıklanınca popup ekranını açar.
void AcSatisPanel;
var TiklananLbl : TclProLabel;
{
  // Hangi ürünün butonuna tıklandığını bul.
  TiklananLbl = MyForm.clSender;
  // Tıklanan ürünün ID'sini hafızaya al.
  SeciliUrunID = TiklananLbl.clTagInt;
  
  // Müşteri ve adet giriş alanlarını sıfırla (Eski veriler kalmasın).
  SatisAdetEdt.Text = '';
  AliciAdiEdt.Text = '';
  AliciVknEdt.Text = '';
  AliciVdEdt.Text = '';
  AliciAdresEdt.Text = '';
  AliciTelEdt.Text = '';
  
  // Popup arka planını görünür yap.
  OverlayPnl.Visible = True;
  // Popup'ı en öne getir (Diğer bileşenlerin üstüne çıksın).
  OverlayPnl.BringToFront;
}

// Fatura detay ekranından fiş listesine geri döner.
void FisDetayKapat;
{
  FisDetayPanel.Visible = False; // Faturayı gizle.
  FislerPanel.Visible = True;    // Fiş listesini aç.
  HeaderLbl.Text = '  SATIŞ FİŞLERİ'; // Üst başlığı değiştir.
}

// Listedeki bir fişin "İNCELE" butonuna tıklanınca çalışır. E-Fatura kağıdını doldurur.
void FisInceleTiklandi;
var
  SecilenBtn : TClProButton;
  HedefFisID : Integer;
  // Okunacak gizli etiketler için geçici değişkenler.
  RU, RM, RF, RMu, RTa, RTu : TclProLabel;
  RVkn, RVd, RAdr, RTel : TclProLabel;
  RSU, RSD : TclProLabel;
  SubTotal, KDV, GrandTotal : Double; // Hesaplamalar için.
{
  // Hangi butona tıklandığını al.
  SecilenBtn = MyForm.clSender;
  // Fişin ID numarasını al.
  HedefFisID = SecilenBtn.clTagInt;
  
  // Satış anında oluşturup gizlediğimiz bilgileri ID ile bulup çekiyoruz.
  RU = MyForm.clFindComponent('RawUrunLbl' + IntToStr(HedefFisID));
  RM = MyForm.clFindComponent('RawMiktarLbl' + IntToStr(HedefFisID));
  RF = MyForm.clFindComponent('RawFiyatLbl' + IntToStr(HedefFisID));
  RMu = MyForm.clFindComponent('RawMusteriLbl' + IntToStr(HedefFisID));
  RTa = MyForm.clFindComponent('RawTarihLbl' + IntToStr(HedefFisID));
  RTu = MyForm.clFindComponent('RawTutarLbl' + IntToStr(HedefFisID));
  
  RVkn = MyForm.clFindComponent('RawMusVknLbl' + IntToStr(HedefFisID));
  RVd = MyForm.clFindComponent('RawMusVdLbl' + IntToStr(HedefFisID));
  RAdr = MyForm.clFindComponent('RawMusAdrLbl' + IntToStr(HedefFisID));
  RTel = MyForm.clFindComponent('RawMusTelLbl' + IntToStr(HedefFisID));

  RSU = MyForm.clFindComponent('RawSatUnvanLbl' + IntToStr(HedefFisID));
  RSD = MyForm.clFindComponent('RawSatDetayLbl' + IntToStr(HedefFisID));

  // --- FATURA KAĞIDINI DOLDURMA ---
  // Bulunan verileri faturadaki ilgili etiketlere (Label) yazdır.
  
  // Satıcı unvanı var mı? Varsa yaz, yoksa tire (-) koy.
  if (RSU <> nil) { FirmaIsimLbl.Text = RSU.Text; } else { FirmaIsimLbl.Text = '-'; }
  if (RSD <> nil) { FirmaDetayLbl.Text = RSD.Text; } else { FirmaDetayLbl.Text = '-'; }
  
  if (RTa <> nil) { FaturaTarihLbl.Text = 'Tarih: ' + RTa.Text; }
  if (RMu <> nil) { FaturaAliciLbl.Text = RMu.Text; }
  
  // Müşteri detaylarını birleştirip tek bir satırda göster.
  if (RVkn <> nil)
  {
    FaturaAliciDetayLbl.Text = RAdr.Text + ' | Tel: ' + RTel.Text + ' | VD: ' + RVd.Text + ' VKN: ' + RVkn.Text;
  }
  
  // Tablo verilerini doldur.
  if (RU <> nil) { Val1.Text = ' ' + RU.Text; } // Ürün adı
  if (RM <> nil) { Val2.Text = ' ' + RM.Text; } // Adet
  if (RF <> nil) { Val3.Text = ' ' + RF.Text; } // Birim Fiyat
  
  // Tutar hesaplamaları ve özet ekranı doldurma.
  if (RTu <> nil) 
  { 
    Val5.Text = ' ' + RTu.Text; 
    SubTotal = StrToFloat(RTu.Text); // Ham tutarı sayıya çevir.
    KDV = SubTotal * 0.20; // %20 KDV hesapla.
    GrandTotal = SubTotal + KDV; // Genel toplamı bul.
    
    // Alt kısımdaki özet alanına yazdır.
    OzetAltToplamLbl.Text = 'Mal Hizmet Tutarı: ' + FloatToStr(SubTotal) + ' TL';
    OzetKdvLbl.Text = 'Hesaplanan KDV (%20): ' + FloatToStr(KDV) + ' TL';
    OzetGenelToplamLbl.Text = 'Ödenecek Tutar: ' + FloatToStr(GrandTotal) + ' TL';
  }
  
  // Panelleri değiştir (Listeyi kapat, detayı aç).
  FislerPanel.Visible = False;
  FisDetayPanel.Visible = True;
  HeaderLbl.Text = '  FİŞ DETAYI / E-FATURA';
}

// E-Fatura Kes butonuna basılınca çalışır.
void EFaturaOlusturTiklandi;
{
  ShowMessage('Fatura resmi olarak imzalanmaya hazır! Bir sonraki aşamada entegratöre iletilecek.');
}

// Müşteriye satışı onaylama işlemi.
void SatisYap;
var
  HedefAltLbl, HedefBaslikLbl, FisBaslikLbl : TclProLabel;
  RawUrunLbl, RawMiktarLbl, RawFiyatLbl, RawMusteriLbl, RawTarihLbl, RawTutarLbl : TclProLabel;
  RawMusVknLbl, RawMusVdLbl, RawMusAdrLbl, RawMusTelLbl : TclProLabel;
  RawSatUnvanLbl, RawSatDetayLbl : TclProLabel;
  SatilacakAdet, MevcutStok : Integer;
  BirimFiyat, SatisTutari : Double;
  KartPanel, FisCardPnl : TClProPanel;
  InceleBtn : TClProButton;
  UrunAdi, SatisZamani : String;
{
  // Zorunlu alanlar boş mu diye kontrol et.
  if ((SatisAdetEdt.Text == '') || (AliciAdiEdt.Text == '') || (SaticiUnvanEdt.Text == '')) 
  { 
    ShowMessage('Lütfen Satıcı, Müşteri ve Adet bilgilerini eksiksiz giriniz.'); 
    exit; // Boşsa işlemi burada kes.
  }
  
  // Girilen adeti sayıya çevir.
  SatilacakAdet = StrToInt(SatisAdetEdt.Text);
  // Ürünün mevcut stok etiketini bul.
  HedefAltLbl = MyForm.clFindComponent('AltLbl' + IntToStr(SeciliUrunID));
  // Ürünün adının yazdığı etiketi bul.
  HedefBaslikLbl = MyForm.clFindComponent('BaslikLbl' + IntToStr(SeciliUrunID)); 
  
  if (HedefAltLbl <> nil)
  {
    // Etiketin arkasına gizlenmiş stok bilgisini al.
    MevcutStok = HedefAltLbl.clTagInt;
    
    // İstenen adet stoktan küçük veya eşitse satış yap.
    if (SatilacakAdet <= MevcutStok)
    {
      // Yeni stoku hesapla.
      MevcutStok = MevcutStok - SatilacakAdet;
      HedefAltLbl.clTagInt = MevcutStok; // Yeni stoku kaydet.
      HedefAltLbl.Text = 'Stok: ' + IntToStr(MevcutStok); // Ekranda güncelle.
      
      // Fiyat bilgisini çek.
      BirimFiyat = StrToFloat(HedefAltLbl.clTagStr);
      // Toplam satış tutarını hesapla (Adet * Fiyat).
      SatisTutari = BirimFiyat * SatilacakAdet;
      // Kasaya parayı ekle.
      ToplamKasa = ToplamKasa + SatisTutari;
      // Genel stoktan düş.
      GenelStok = GenelStok - SatilacakAdet;
      
      // Kasa ve genel stok etiketlerini ekranda güncelle.
      KasaLbl.Text = 'Kasa: ' + FloatToStr(ToplamKasa) + ' TL';
      ToplamStokLbl.Text = 'Stok: ' + IntToStr(GenelStok);
      
      // Satılan ürünün adı ve işlem saatini al.
      UrunAdi = HedefBaslikLbl.Text; 
      SatisZamani = FormatDateTime('dd.mm.yyyy hh:nn:ss', Now); 
      // Toplam fiş sayısını bir artır.
      FisSayisi = FisSayisi + 1;
      
      // YENİ FİŞ KARTI OLUŞTURMA İŞLEMİ
      // Fiş listesine yeni bir panel ekliyoruz.
      FisCardPnl = MyForm.AddNewProPanel(FislerScrl, 'FisCardPnl' + IntToStr(FisSayisi));
      FisCardPnl.Align = alTop; FisCardPnl.Height = 50; FisCardPnl.Margins.Top = 10; 
      FisCardPnl.Margins.Left = 10; FisCardPnl.Margins.Right = 10;
      // Kart rengi beyaz olsun.
      FisCardPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF'); 
      FisCardPnl.clprosettings.RoundHeight = 10; // Köşeleri yuvarlat.
      FisCardPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7'); // Çerçeve rengi.
      FisCardPnl.clprosettings.BorderWidth = 2; // Çerçeve kalınlığı.
      FisCardPnl.SetClproSettings(FisCardPnl.clprosettings); // Ayarları UYGULA!

      // Kartın içine İNCELE butonu ekle.
      InceleBtn = MyForm.AddNewProButton(FisCardPnl, 'InceleBtn' + IntToStr(FisSayisi), 'İNCELE');
      InceleBtn.Align = alRight; InceleBtn.Width = 80; InceleBtn.Margins.Top = 5; InceleBtn.Margins.Bottom = 5; InceleBtn.Margins.Right = 10;
      InceleBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
      InceleBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
      InceleBtn.clprosettings.RoundHeight = 5;
      InceleBtn.SetClproSettings(InceleBtn.clprosettings);
      InceleBtn.clTagInt = FisSayisi; // Butona fiş ID'sini ver.
      MyForm.AddNewEvent(InceleBtn, tbeOnClick, 'FisInceleTiklandi'); // Tıklama olayını bağla.

      // Fiş başlığı (Müşteri - Ürün)
      FisBaslikLbl = MyForm.AddNewProLabel(FisCardPnl, 'FisBaslikLbl' + IntToStr(FisSayisi), AliciAdiEdt.Text + ' - ' + UrunAdi);
      FisBaslikLbl.Align = alClient; FisBaslikLbl.Margins.Left = 10; FisBaslikLbl.Margins.Top = 15;
      FisBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
      FisBaslikLbl.SetClproSettings(FisBaslikLbl.clprosettings);

      // --- E-FATURA İÇİN GİZLİ VERİLER ---
      // Faturada göstermek için bu bilgileri oluşturup 'Visible = False' ile ekranda gizliyoruz.
      RawUrunLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawUrunLbl' + IntToStr(FisSayisi), UrunAdi); RawUrunLbl.Visible = False;
      RawMiktarLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMiktarLbl' + IntToStr(FisSayisi), IntToStr(SatilacakAdet)); RawMiktarLbl.Visible = False;
      RawFiyatLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawFiyatLbl' + IntToStr(FisSayisi), FloatToStr(BirimFiyat)); RawFiyatLbl.Visible = False;
      RawMusteriLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusteriLbl' + IntToStr(FisSayisi), AliciAdiEdt.Text); RawMusteriLbl.Visible = False;
      RawTarihLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawTarihLbl' + IntToStr(FisSayisi), SatisZamani); RawTarihLbl.Visible = False;
      RawTutarLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawTutarLbl' + IntToStr(FisSayisi), FloatToStr(SatisTutari)); RawTutarLbl.Visible = False;
      
      RawMusVknLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusVknLbl' + IntToStr(FisSayisi), AliciVknEdt.Text); RawMusVknLbl.Visible = False;
      RawMusVdLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusVdLbl' + IntToStr(FisSayisi), AliciVdEdt.Text); RawMusVdLbl.Visible = False;
      RawMusAdrLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusAdrLbl' + IntToStr(FisSayisi), AliciAdresEdt.Text); RawMusAdrLbl.Visible = False;
      RawMusTelLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusTelLbl' + IntToStr(FisSayisi), AliciTelEdt.Text); RawMusTelLbl.Visible = False;

      RawSatUnvanLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawSatUnvanLbl' + IntToStr(FisSayisi), SaticiUnvanEdt.Text); RawSatUnvanLbl.Visible = False;
      RawSatDetayLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawSatDetayLbl' + IntToStr(FisSayisi), SaticiAdresEdt.Text + ' | Tel: ' + SaticiTelEdt.Text + ' | VD: ' + SaticiVdEdt.Text + ' VKN: ' + SaticiVknEdt.Text); RawSatDetayLbl.Visible = False;

      // Satış bitti, ekranı kapat.
      KapatSatisPanel;
      
      // Eğer stok kalmadıysa o ürünü ekrandan tamamen gizle.
      if (MevcutStok == 0)
      {
        KartPanel = MyForm.clFindComponent('CardPnl' + IntToStr(SeciliUrunID));
        if (KartPanel <> nil) { KartPanel.Visible = False; }
      }
    } else { ShowMessage('Yetersiz stok miktarı!'); } // Stok yetmezse uyar.
  }
}

// Menüden ekran değiştirme fonksiyonları. İlgili paneli açar, diğerlerini gizler. Başlığı günceller.
void ShowAnaEkranMod; { AnaEkranPanel.Visible = True; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  ANA EKRAN'; MenuPnl.Visible = False; }
void ShowStokMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = True; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  STOK YÖNETİMİ'; MenuPnl.Visible = False; }
void ShowSatisMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = True; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  ÜRÜN LİSTESİ'; MenuPnl.Visible = False; }
void ShowFislerMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = True; FisDetayPanel.Visible = False; HeaderLbl.Text = '  SATIŞ FİŞLERİ'; MenuPnl.Visible = False; }

// Yeni ürün ekleme / Stok artırma işlemi
void UrunEkle;
var
  CardPnl : TClProPanel;
  BaslikLbl, AltLbl, FiyatLbl, MevcutBaslik, SatisYapLbl : TclProLabel;
  i, TargetID : Integer;
  Bulundu : Boolean;
{
  // İsim veya adet boşsa işlem yapma.
  if ((UrunAdEdt.Text == '') || (AdetEdt.Text == '')) { exit; }
  Bulundu = False; // Başlangıçta ürün bulunmadı kabul ediyoruz.
  
  // Listedeki ürünleri tek tek kontrol et.
  for (i = 1 to UrunSayisi)
  {
    MevcutBaslik = MyForm.clFindComponent('BaslikLbl' + IntToStr(i));
    if (MevcutBaslik <> nil)
    {
      // Aynı isimde ürün var mı? (Büyük küçük harf duyarlılığını kaldırmak için UpperCase kullandık)
      if (UpperCase(MevcutBaslik.Text) == UpperCase(UrunAdEdt.Text)) { Bulundu = True; TargetID = i; }
    }
  }
  
  // Eğer ürün zaten varsa, sadece stok adetini artır.
  if (Bulundu == True)
  {
    AltLbl = MyForm.clFindComponent('AltLbl' + IntToStr(TargetID));
    if (AltLbl <> nil)
    {
      // Mevcut stoka yeni adeti ekle.
      AltLbl.clTagInt = AltLbl.clTagInt + StrToInt(AdetEdt.Text);
      AltLbl.Text = 'Stok: ' + IntToStr(AltLbl.clTagInt);
    }
  }
  else 
  {
    // Ürün listede yoksa, tamamen YENİ bir ürün kartı oluştur.
    UrunSayisi = UrunSayisi + 1;
    CardPnl = MyForm.AddNewProPanel(ListScrl, 'CardPnl' + IntToStr(UrunSayisi));
    CardPnl.Align = alTop; CardPnl.Height = 100; CardPnl.Margins.Top = 10;
    CardPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF'); 
    CardPnl.clprosettings.RoundHeight = 10;
    CardPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
    CardPnl.clprosettings.BorderWidth = 2;
    CardPnl.SetClproSettings(CardPnl.clprosettings); // Tasarımı kaydet.

    // Satış Yap Butonu (ProLabel ile buton görünümü verdik)
    SatisYapLbl = MyForm.AddNewProLabel(CardPnl, 'SatisYapLbl' + IntToStr(UrunSayisi), 'SATIŞ YAP');
    SatisYapLbl.Align = alRight; SatisYapLbl.Width = 80;
    SatisYapLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
    SatisYapLbl.SetClproSettings(SatisYapLbl.clprosettings);
    SatisYapLbl.clTagInt = UrunSayisi; // Hangi ürüne ait olduğunu Tag'a kaydet.
    MyForm.AddNewEvent(SatisYapLbl, tbeOnClick, 'AcSatisPanel'); // Tıklanınca popup açılsın.

    // Ürün Adı Etiketi
    BaslikLbl = MyForm.AddNewProLabel(CardPnl, 'BaslikLbl' + IntToStr(UrunSayisi), UrunAdEdt.Text);
    BaslikLbl.Align = alTop; BaslikLbl.Height = 30; BaslikLbl.Margins.Left = 15;
    BaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
    BaslikLbl.SetClproSettings(BaslikLbl.clprosettings);

    // Stok Durumu Etiketi
    AltLbl = MyForm.AddNewProLabel(CardPnl, 'AltLbl' + IntToStr(UrunSayisi), 'Stok: ' + AdetEdt.Text);
    AltLbl.Align = alTop; AltLbl.Height = 20; AltLbl.Margins.Left = 15;
    AltLbl.clTagInt = StrToInt(AdetEdt.Text); // Arka planda stoku tutar.
    AltLbl.clTagStr = FiyatEdt.Text; // Arka planda fiyatı tutar.
    AltLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
    AltLbl.SetClproSettings(AltLbl.clprosettings);

    // Fiyat Etiketi
    FiyatLbl = MyForm.AddNewProLabel(CardPnl, 'FiyatLbl' + IntToStr(UrunSayisi), FiyatEdt.Text + ' TL');
    FiyatLbl.Align = alTop; FiyatLbl.Height = 20; FiyatLbl.Margins.Left = 15;
    FiyatLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
    FiyatLbl.SetClproSettings(FiyatLbl.clprosettings);
  }
  
  // Genel stok sayısını güncelle.
  GenelStok = GenelStok + StrToInt(AdetEdt.Text);
  ToplamStokLbl.Text = 'Stok: ' + IntToStr(GenelStok);
  
  // Giriş kutularını temizle (Bir sonraki ürün için hazırlık).
  UrunAdEdt.Text = ''; AdetEdt.Text = ''; FiyatEdt.Text = '';
}

// ==========================================
// --- TASARIM VE İLK KURULUM ---
// ==========================================
{
  // Ana formu hafızada oluştur (ZORUNLU).
  MyForm = TclForm.Create(self);

  // Başlangıç değerlerini ata.
  SifreDurum = False;
  UrunSayisi = 0; ToplamKasa = 0; GenelStok = 0; FisSayisi = 0;

  // --- ANA SİSTEM ARAYÜZÜ ---
  // Tüm ekranları kaplayan ana zemin.
  BgPnl = MyForm.AddNewProPanel(MyForm, 'BgPnl');
  BgPnl.Align = alClient; // Ekrana yay.
  BgPnl.Visible = False;  // Başta gizli (Önce login ekranı çıkacak).
  BgPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  BgPnl.SetClproSettings(BgPnl.clprosettings); // Hex renk için SetClProSettings şart!

  // Üst menü barı (Header).
  TopPnl = MyForm.AddNewProPanel(BgPnl, 'TopPnl');
  TopPnl.Align = alTop; TopPnl.Height = 60; // Yukarıya daya.
  TopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#D5B990'); 
  TopPnl.SetClproSettings(TopPnl.clprosettings);

  // Üst bardaki Başlık Yazısı.
  HeaderLbl = MyForm.AddNewProLabel(TopPnl, 'HeaderLbl', '  ANA EKRAN');
  HeaderLbl.Align = alLeft; HeaderLbl.Width = 200;
  HeaderLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  HeaderLbl.SetClproSettings(HeaderLbl.clprosettings);

  // Menüyü açıp kapamaya yarayan buton.
  MenuBtn = MyForm.AddNewProButton(TopPnl, 'MenuBtn', '≡ MENÜ');
  MenuBtn.Align = alRight; MenuBtn.Width = 90;
  MenuBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  MenuBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  MenuBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  MenuBtn.clprosettings.BorderWidth = 1;
  MenuBtn.clprosettings.RoundHeight = 5;
  MenuBtn.SetClproSettings(MenuBtn.clprosettings);
  MyForm.AddNewEvent(MenuBtn, tbeOnClick, 'ToggleMenu'); // Tıklama eylemini bağla.

  // --- SAĞ YAN MENÜ TASARIMI ---
  MenuPnl = MyForm.AddNewProPanel(BgPnl, 'MenuPnl');
  MenuPnl.Align = alRight; MenuPnl.Width = 180; // Sağa daya.
  MenuPnl.Visible = False; // Başlangıçta kapalı.
  MenuPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  MenuPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  MenuPnl.clprosettings.BorderWidth = 1;
  MenuPnl.SetClproSettings(MenuPnl.clprosettings);

  // Menüdeki Kasa Bilgisi
  KasaLbl = MyForm.AddNewProLabel(MenuPnl, 'KasaLbl', 'Kasa: 0 TL');
  KasaLbl.Align = alTop; KasaLbl.Height = 50; KasaLbl.Margins.Left = 15; KasaLbl.Margins.Top = 10;
  KasaLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
  KasaLbl.SetClproSettings(KasaLbl.clprosettings);

  // Menüdeki Stok Bilgisi
  ToplamStokLbl = MyForm.AddNewProLabel(MenuPnl, 'ToplamStokLbl', 'Genel Stok: 0');
  ToplamStokLbl.Align = alTop; ToplamStokLbl.Height = 50; ToplamStokLbl.Margins.Left = 15;
  ToplamStokLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
  ToplamStokLbl.SetClproSettings(ToplamStokLbl.clprosettings);

  // Menü Seçeneği: ANA EKRAN
  AnaEkranBtn = MyForm.AddNewProButton(MenuPnl, 'AnaEkranBtn', 'ANA EKRAN');
  AnaEkranBtn.Align = alTop; AnaEkranBtn.Height = 45; AnaEkranBtn.Margins.Left = 10; AnaEkranBtn.Margins.Right = 10; AnaEkranBtn.Margins.Top = 10;
  AnaEkranBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  AnaEkranBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AnaEkranBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  AnaEkranBtn.clprosettings.BorderWidth = 1;
  AnaEkranBtn.SetClproSettings(AnaEkranBtn.clprosettings);
  MyForm.AddNewEvent(AnaEkranBtn, tbeOnClick, 'ShowAnaEkranMod');

  // Menü Seçeneği: STOK EKLE
  StokModBtn = MyForm.AddNewProButton(MenuPnl, 'StokModBtn', 'STOK EKLE');
  StokModBtn.Align = alTop; StokModBtn.Height = 45; StokModBtn.Margins.Left = 10; StokModBtn.Margins.Right = 10; StokModBtn.Margins.Top = 10;
  StokModBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  StokModBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  StokModBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  StokModBtn.clprosettings.BorderWidth = 1;
  StokModBtn.SetClproSettings(StokModBtn.clprosettings);
  MyForm.AddNewEvent(StokModBtn, tbeOnClick, 'ShowStokMod');

  // Menü Seçeneği: ÜRÜNLER (Satış Sayfası)
  SatisModBtn = MyForm.AddNewProButton(MenuPnl, 'SatisModBtn', 'ÜRÜNLER');
  SatisModBtn.Align = alTop; SatisModBtn.Height = 45; SatisModBtn.Margins.Left = 10; SatisModBtn.Margins.Right = 10; SatisModBtn.Margins.Top = 10;
  SatisModBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  SatisModBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  SatisModBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  SatisModBtn.clprosettings.BorderWidth = 1;
  SatisModBtn.SetClproSettings(SatisModBtn.clprosettings);
  MyForm.AddNewEvent(SatisModBtn, tbeOnClick, 'ShowSatisMod');

  // Menü Seçeneği: FİŞLER (Geçmiş Satışlar)
  FislerBtn = MyForm.AddNewProButton(MenuPnl, 'FislerBtn', 'FİŞLER');
  FislerBtn.Align = alTop; FislerBtn.Height = 45; FislerBtn.Margins.Left = 10; FislerBtn.Margins.Right = 10; FislerBtn.Margins.Top = 10;
  FislerBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  FislerBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FislerBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  FislerBtn.clprosettings.BorderWidth = 1;
  FislerBtn.SetClproSettings(FislerBtn.clprosettings);
  MyForm.AddNewEvent(FislerBtn, tbeOnClick, 'ShowFislerMod');


  // ==========================================
  // --- 1. ANA EKRAN PANELİ ---
  // ==========================================
  // Karşılama ekranı paneli.
  AnaEkranPanel = MyForm.AddNewProPanel(BgPnl, 'AnaEkranPanel');
  AnaEkranPanel.Align = alClient;
  AnaEkranPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  AnaEkranPanel.SetClproSettings(AnaEkranPanel.clprosettings);

  AnaEkranLbl = MyForm.AddNewProLabel(AnaEkranPanel, 'AnaEkranLbl', 'ÖZERBAYLAR SİSTEMİNE HOŞ GELDİNİZ');
  AnaEkranLbl.Align = alTop; AnaEkranLbl.Height = 40; AnaEkranLbl.Margins.Top = 40;
  AnaEkranLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AnaEkranLbl.SetClproSettings(AnaEkranLbl.clprosettings);
  
  AltBilgiLbl = MyForm.AddNewProLabel(AnaEkranPanel, 'AltBilgiLbl', 'İşlem yapmak için sağ üstteki menüyü kullanın.');
  AltBilgiLbl.Align = alTop; AltBilgiLbl.Height = 30; AltBilgiLbl.Margins.Top = 20;
  AltBilgiLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  AltBilgiLbl.SetClproSettings(AltBilgiLbl.clprosettings);

  // --- 2. STOK / ÜRÜN / SATIŞ EKRANLARI ---
  // Stok ekleme formu paneli.
  StokPanel = MyForm.AddNewProPanel(BgPnl, 'StokPanel');
  StokPanel.Align = alTop; StokPanel.Height = 250; StokPanel.Visible = False; // Başta gizli.
  StokPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  StokPanel.SetClproSettings(StokPanel.clprosettings);

  UrunAdEdt = MyForm.AddNewProEdit(StokPanel, 'UrunAdEdt', 'Ürün Adı');
  UrunAdEdt.Align = alTop; UrunAdEdt.Height = 40; UrunAdEdt.Margins.Top = 10;
  UrunAdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA'); 
  UrunAdEdt.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  UrunAdEdt.SetClproSettings(UrunAdEdt.clprosettings);

  AdetEdt = MyForm.AddNewProEdit(StokPanel, 'AdetEdt', 'Adet');
  AdetEdt.Align = alTop; AdetEdt.Height = 40; AdetEdt.Margins.Top = 5;
  AdetEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AdetEdt.SetClproSettings(AdetEdt.clprosettings);

  FiyatEdt = MyForm.AddNewProEdit(StokPanel, 'FiyatEdt', 'Fiyat');
  FiyatEdt.Align = alTop; FiyatEdt.Height = 40; FiyatEdt.Margins.Top = 5;
  FiyatEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  FiyatEdt.SetClproSettings(FiyatEdt.clprosettings);

  // Stok Kaydet Butonu.
  KaydetBtn = MyForm.AddNewProButton(StokPanel, 'KaydetBtn', 'STOKLA');
  KaydetBtn.Align = alTop; KaydetBtn.Height = 45; KaydetBtn.Margins.Top = 10;
  KaydetBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  KaydetBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  KaydetBtn.SetClproSettings(KaydetBtn.clprosettings);
  MyForm.AddNewEvent(KaydetBtn, tbeOnClick, 'UrunEkle'); // Eklemeye bağla.

  // Ürünlerin listelendiği panel.
  SatisPanel = MyForm.AddNewProPanel(BgPnl, 'SatisPanel');
  SatisPanel.Align = alClient; SatisPanel.Visible = False;
  // Çok ürün olursa aşağı kaydırabilmek için ScrollBox.
  ListScrl = MyForm.AddNewVertScrollBox(SatisPanel, 'ListScrl');
  ListScrl.Align = alClient;

  // Geçmiş fişlerin listelendiği panel.
  FislerPanel = MyForm.AddNewProPanel(BgPnl, 'FislerPanel');
  FislerPanel.Align = alClient; FislerPanel.Visible = False;
  // Çok fiş olursa kaydırmak için ScrollBox.
  FislerScrl = MyForm.AddNewVertScrollBox(FislerPanel, 'FislerScrl');
  FislerScrl.Align = alClient;

  // ==========================================
  // --- 3. E-FATURA / FİŞ DETAY EKRANI --- 
  // ==========================================
  FisDetayPanel = MyForm.AddNewProPanel(BgPnl, 'FisDetayPanel');
  FisDetayPanel.Align = alClient;
  FisDetayPanel.Visible = False; // İncele denmeden açılmaz.
  FisDetayPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  FisDetayPanel.SetClproSettings(FisDetayPanel.clprosettings);

  // Fatura sayfasının üst buton barı.
  FaturaTopPnl = MyForm.AddNewProPanel(FisDetayPanel, 'FaturaTopPnl');
  FaturaTopPnl.Align = alTop; FaturaTopPnl.Height = 50;
  FaturaTopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  FaturaTopPnl.SetClproSettings(FaturaTopPnl.clprosettings);

  // Geri Dön Butonu
  DetayGeriBtn = MyForm.AddNewProButton(FaturaTopPnl, 'DetayGeriBtn', '← LİSTEYE DÖN');
  DetayGeriBtn.Align = alLeft; DetayGeriBtn.Width = 120; DetayGeriBtn.Margins.Left = 10; DetayGeriBtn.Margins.Top = 5; DetayGeriBtn.Margins.Bottom = 5;
  DetayGeriBtn.clprosettings.BackGroundcolor = clAlphaColor.clAlphaColor.clHexToColor('#EBE0D0'); 
  DetayGeriBtn.SetClproSettings(DetayGeriBtn.clprosettings);
  MyForm.AddNewEvent(DetayGeriBtn, tbeOnClick, 'FisDetayKapat');

  // E-Fatura Oluştur Butonu
  EFaturaKesBtn = MyForm.AddNewProButton(FaturaTopPnl, 'EFaturaKesBtn', 'E-FATURA OLUŞTUR');
  EFaturaKesBtn.Align = alRight; EFaturaKesBtn.Width = 150; EFaturaKesBtn.Margins.Right = 10; EFaturaKesBtn.Margins.Top = 5; EFaturaKesBtn.Margins.Bottom = 5;
  EFaturaKesBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#D5B990'); 
  EFaturaKesBtn.SetClproSettings(EFaturaKesBtn.clprosettings);
  MyForm.AddNewEvent(EFaturaKesBtn, tbeOnClick, 'EFaturaOlusturTiklandi');

  // --- BEYAZ FATURA KAĞIDI TASARIMI ---
  // Ekran küçükse fatura kağıdı kaydırılabilsin.
  FaturaScrl = MyForm.AddNewVertScrollBox(FisDetayPanel, 'FaturaScrl');
  FaturaScrl.Align = alClient;

  // Beyaz zemin (Kağıt Görünümü).
  KagitPnl = MyForm.AddNewProPanel(FaturaScrl, 'KagitPnl');
  KagitPnl.Align = alTop; KagitPnl.Height = 450; KagitPnl.Margins.Top = 10; KagitPnl.Margins.Left = 10; KagitPnl.Margins.Right = 10;
  KagitPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  KagitPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  KagitPnl.clprosettings.BorderWidth = 1;
  KagitPnl.SetClproSettings(KagitPnl.clprosettings);

  // Satıcı (Gönderen) bilgilerinin olacağı üst bölüm.
  UstBilgiPnl = MyForm.AddNewProPanel(KagitPnl, 'UstBilgiPnl');
  UstBilgiPnl.Align = alTop; UstBilgiPnl.Height = 90;
  UstBilgiPnl.SetClproSettings(UstBilgiPnl.clprosettings);

  // Faturanın Sağ Üst Kısmı (Tarih, Logo)
  FaturaSagPnl = MyForm.AddNewProPanel(UstBilgiPnl, 'FaturaSagPnl');
  FaturaSagPnl.Align = alRight; FaturaSagPnl.Width = 180;
  FaturaSagPnl.SetClproSettings(FaturaSagPnl.clprosettings);

  EFaturaLogoLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'EFaturaLogoLbl', 'e-FATURA');
  EFaturaLogoLbl.Align = alTop; EFaturaLogoLbl.Height = 25; EFaturaLogoLbl.Margins.Top = 10;
  EFaturaLogoLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#D5B990');
  EFaturaLogoLbl.SetClproSettings(EFaturaLogoLbl.clprosettings);

  FaturaSenaryoLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'FaturaSenaryoLbl', 'Senaryo: TICARIFATURA');
  FaturaSenaryoLbl.Align = alTop; FaturaSenaryoLbl.Height = 20;
  FaturaSenaryoLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaSenaryoLbl.SetClproSettings(FaturaSenaryoLbl.clprosettings);

  FaturaTarihLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'FaturaTarihLbl', 'Tarih: -');
  FaturaTarihLbl.Align = alTop; FaturaTarihLbl.Height = 20;
  FaturaTarihLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaTarihLbl.SetClproSettings(FaturaTarihLbl.clprosettings);

  // Faturanın Sol Üst Kısmı (Satıcı Unvanı)
  SaticiPnl = MyForm.AddNewProPanel(UstBilgiPnl, 'SaticiPnl');
  SaticiPnl.Align = alClient;
  SaticiPnl.SetClproSettings(SaticiPnl.clprosettings);

  FirmaIsimLbl = MyForm.AddNewProLabel(SaticiPnl, 'FirmaIsimLbl', 'ALİ ERBAY');
  FirmaIsimLbl.Align = alTop; FirmaIsimLbl.Height = 25; FirmaIsimLbl.Margins.Left = 10; FirmaIsimLbl.Margins.Top = 10;
  FirmaIsimLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FirmaIsimLbl.SetClproSettings(FirmaIsimLbl.clprosettings);

  FirmaDetayLbl = MyForm.AddNewProLabel(SaticiPnl, 'FirmaDetayLbl', 'Adres ve VKN Bilgileri...');
  FirmaDetayLbl.Align = alClient; FirmaDetayLbl.Margins.Left = 10;
  FirmaDetayLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FirmaDetayLbl.SetClproSettings(FirmaDetayLbl.clprosettings);

  // Müşteri (Alıcı) Bilgileri Alanı
  AliciPnl = MyForm.AddNewProPanel(KagitPnl, 'AliciPnl');
  AliciPnl.Align = alTop; AliciPnl.Height = 100;
  AliciPnl.SetClproSettings(AliciPnl.clprosettings);

  SayinLbl = MyForm.AddNewProLabel(AliciPnl, 'SayinLbl', 'SAYIN');
  SayinLbl.Align = alTop; SayinLbl.Height = 20; SayinLbl.Margins.Left = 10; SayinLbl.Margins.Top = 10;
  SayinLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  SayinLbl.SetClproSettings(SayinLbl.clprosettings);

  FaturaAliciLbl = MyForm.AddNewProLabel(AliciPnl, 'FaturaAliciLbl', 'Müşteri Adı Soyadı');
  FaturaAliciLbl.Align = alTop; FaturaAliciLbl.Height = 25; FaturaAliciLbl.Margins.Left = 10;
  FaturaAliciLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FaturaAliciLbl.SetClproSettings(FaturaAliciLbl.clprosettings);

  FaturaAliciDetayLbl = MyForm.AddNewProLabel(AliciPnl, 'FaturaAliciDetayLbl', 'Müşteri VKN, VD, Adres...');
  FaturaAliciDetayLbl.Align = alTop; FaturaAliciDetayLbl.Height = 40; FaturaAliciDetayLbl.Margins.Left = 10;
  FaturaAliciDetayLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaAliciDetayLbl.SetClproSettings(FaturaAliciDetayLbl.clprosettings);

  // Satın Alınan Ürün Tablosu (Başlıklar ve İçerik)
  TabloPnl = MyForm.AddNewProPanel(KagitPnl, 'TabloPnl');
  TabloPnl.Align = alTop; TabloPnl.Height = 80; TabloPnl.Margins.Top = 10;
  TabloPnl.SetClproSettings(TabloPnl.clprosettings);

  TabloBaslikPnl = MyForm.AddNewProPanel(TabloPnl, 'TabloBaslikPnl');
  TabloBaslikPnl.Align = alTop; TabloBaslikPnl.Height = 30;
  TabloBaslikPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#F9F6F0');
  TabloBaslikPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  TabloBaslikPnl.clprosettings.BorderWidth = 1;
  TabloBaslikPnl.SetClproSettings(TabloBaslikPnl.clprosettings);

  // Tablo Sütun Başlıkları (AlLeft verip yan yana diziyoruz)
  Col1 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col1', ' Mal Hizmet'); Col1.Align = alLeft; Col1.Width = 100;
  Col2 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col2', ' Miktar'); Col2.Align = alLeft; Col2.Width = 50;
  Col3 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col3', ' B.Fiyat'); Col3.Align = alLeft; Col3.Width = 50;
  Col4 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col4', ' KDV'); Col4.Align = alLeft; Col4.Width = 40;
  Col5 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col5', ' Tutar (TL)'); Col5.Align = alClient;

  // Tablo Sütun Verileri (İçeriği)
  TabloVeriPnl = MyForm.AddNewProPanel(TabloPnl, 'TabloVeriPnl');
  TabloVeriPnl.Align = alClient;
  TabloVeriPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  TabloVeriPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  TabloVeriPnl.clprosettings.BorderWidth = 1;
  TabloVeriPnl.SetClproSettings(TabloVeriPnl.clprosettings);

  Val1 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val1', ' -'); Val1.Align = alLeft; Val1.Width = 100;
  Val2 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val2', ' -'); Val2.Align = alLeft; Val2.Width = 50;
  Val3 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val3', ' -'); Val3.Align = alLeft; Val3.Width = 50;
  Val4 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val4', ' %20'); Val4.Align = alLeft; Val4.Width = 40;
  Val5 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val5', ' -'); Val5.Align = alClient;

  // Fatura En Alt Kısım (Toplamlar)
  ToplamPnl = MyForm.AddNewProPanel(KagitPnl, 'ToplamPnl');
  ToplamPnl.Align = alTop; ToplamPnl.Height = 100; ToplamPnl.Margins.Top = 15;
  ToplamPnl.SetClproSettings(ToplamPnl.clprosettings);

  ToplamIcerikPnl = MyForm.AddNewProPanel(ToplamPnl, 'ToplamIcerikPnl');
  ToplamIcerikPnl.Align = alRight; ToplamIcerikPnl.Width = 220; // Toplamlar sağda dursun.
  ToplamIcerikPnl.SetClproSettings(ToplamIcerikPnl.clprosettings);

  OzetAltToplamLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetAltToplamLbl', 'Mal Hizmet: 0 TL');
  OzetAltToplamLbl.Align = alTop; OzetAltToplamLbl.Height = 25;
  OzetAltToplamLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  OzetAltToplamLbl.SetClproSettings(OzetAltToplamLbl.clprosettings);

  OzetKdvLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetKdvLbl', 'Hesaplanan KDV: 0 TL');
  OzetKdvLbl.Align = alTop; OzetKdvLbl.Height = 25;
  OzetKdvLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  OzetKdvLbl.SetClproSettings(OzetKdvLbl.clprosettings);

  OzetGenelToplamLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetGenelToplamLbl', 'Ödenecek Tutar: 0 TL');
  OzetGenelToplamLbl.Align = alTop; OzetGenelToplamLbl.Height = 30;
  OzetGenelToplamLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  OzetGenelToplamLbl.SetClproSettings(OzetGenelToplamLbl.clprosettings);

  // ==========================================
  // --- SATIŞ YAPARKEN AÇILAN POPUP PENCERESİ ---
  // ==========================================
  // Tüm ekranı karartacak olan yarı saydam katman (Arka plan tıklanmasın diye).
  OverlayPnl = MyForm.AddNewProPanel(BgPnl, 'OverlayPnl');
  OverlayPnl.Align = alClient; OverlayPnl.Visible = False;
  OverlayPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  OverlayPnl.SetClproSettings(OverlayPnl.clprosettings);

  // Popup kutusunun kendisi. Ortada duracak şekilde ayarlandı.
  PopupPanel = MyForm.AddNewProPanel(OverlayPnl, 'PopupPanel');
  PopupPanel.Align = alNone; PopupPanel.Width = 340; PopupPanel.Height = 550; 
  PopupPanel.Left = 20; PopupPanel.Top = 60;
  PopupPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  PopupPanel.clprosettings.RoundHeight = 20; // Köşeleri yuvarlak beyaz kutu.
  PopupPanel.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  PopupPanel.clprosettings.BorderWidth = 2;
  PopupPanel.SetClproSettings(PopupPanel.clprosettings);

  // Popup Kapatma (X) Butonu (Kaybolmasın diye kaydırmanın dışına koyduk).
  KapatBtn = MyForm.AddNewProButton(PopupPanel, 'KapatBtn', 'X');
  KapatBtn.Align = alNone; KapatBtn.Width = 35; KapatBtn.Height = 35; KapatBtn.Left = 295; KapatBtn.Top = 5;
  KapatBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  KapatBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  KapatBtn.SetClproSettings(KapatBtn.clprosettings);
  MyForm.AddNewEvent(KapatBtn, tbeOnClick, 'KapatSatisPanel'); // Tıklayınca kapat.

  // Satışı Onayla Butonu (Bu da en altta sabit kalacak).
  SatisOnayBtn = MyForm.AddNewProButton(PopupPanel, 'SatisOnayBtn', 'SATIŞI ONAYLA');
  SatisOnayBtn.Align = alBottom; SatisOnayBtn.Height = 45; SatisOnayBtn.Margins.Bottom = 10; SatisOnayBtn.Margins.Left = 20; SatisOnayBtn.Margins.Right = 20;
  SatisOnayBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  SatisOnayBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  SatisOnayBtn.SetClproSettings(SatisOnayBtn.clprosettings);
  MyForm.AddNewEvent(SatisOnayBtn, tbeOnClick, 'SatisYap'); // Tıklayınca satışı kaydet.

  // Popup içi kaydırma kutusu (Form çok uzun, telefon ekranına sığması için).
  SatisScroll = MyForm.AddNewVertScrollBox(PopupPanel, 'SatisScroll');
  SatisScroll.Align = alClient;
  SatisScroll.Margins.Top = 10;
  SatisScroll.Margins.Bottom = 60; // Onay butonuna yer bıraktık.

  // --- POPUP İÇİ: SATICI (SİZİN) BİLGİLERİNİZ ---
  // Bu kısımdaki veriler her satışta sıfırlanmaz, orada kalır.
  SatBaslikLbl = MyForm.AddNewProLabel(SatisScroll, 'SatBaslikLbl', '--- SATICI (SİZİN) BİLGİLERİNİZ ---');
  SatBaslikLbl.Align = alTop; SatBaslikLbl.Height = 25; SatBaslikLbl.Margins.Top = 10; SatBaslikLbl.Margins.Left = 20;
  SatBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  SatBaslikLbl.SetClproSettings(SatBaslikLbl.clprosettings);

  SaticiUnvanEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiUnvanEdt', 'Firma Unvanı / Ad Soyad');
  SaticiUnvanEdt.Align = alTop; SaticiUnvanEdt.Height = 40; SaticiUnvanEdt.Margins.Top = 5; SaticiUnvanEdt.Margins.Left = 20; SaticiUnvanEdt.Margins.Right = 20;
  SaticiUnvanEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiUnvanEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiUnvanEdt.clprosettings.BorderWidth = 1;
  SaticiUnvanEdt.SetClproSettings(SaticiUnvanEdt.clprosettings);

  SaticiVknEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiVknEdt', 'VKN / TCKN');
  SaticiVknEdt.Align = alTop; SaticiVknEdt.Height = 40; SaticiVknEdt.Margins.Top = 5; SaticiVknEdt.Margins.Left = 20; SaticiVknEdt.Margins.Right = 20;
  SaticiVknEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiVknEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiVknEdt.clprosettings.BorderWidth = 1;
  SaticiVknEdt.SetClproSettings(SaticiVknEdt.clprosettings);

  SaticiVdEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiVdEdt', 'Vergi Dairesi');
  SaticiVdEdt.Align = alTop; SaticiVdEdt.Height = 40; SaticiVdEdt.Margins.Top = 5; SaticiVdEdt.Margins.Left = 20; SaticiVdEdt.Margins.Right = 20;
  SaticiVdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiVdEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiVdEdt.clprosettings.BorderWidth = 1;
  SaticiVdEdt.SetClproSettings(SaticiVdEdt.clprosettings);

  SaticiAdresEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiAdresEdt', 'Adresiniz');
  SaticiAdresEdt.Align = alTop; SaticiAdresEdt.Height = 40; SaticiAdresEdt.Margins.Top = 5; SaticiAdresEdt.Margins.Left = 20; SaticiAdresEdt.Margins.Right = 20;
  SaticiAdresEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiAdresEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiAdresEdt.clprosettings.BorderWidth = 1;
  SaticiAdresEdt.SetClproSettings(SaticiAdresEdt.clprosettings);

  SaticiTelEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiTelEdt', 'İletişim (Tel/E-Posta)');
  SaticiTelEdt.Align = alTop; SaticiTelEdt.Height = 40; SaticiTelEdt.Margins.Top = 5; SaticiTelEdt.Margins.Left = 20; SaticiTelEdt.Margins.Right = 20;
  SaticiTelEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiTelEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiTelEdt.clprosettings.BorderWidth = 1;
  SaticiTelEdt.SetClproSettings(SaticiTelEdt.clprosettings);

  // --- POPUP İÇİ: ALICI (MÜŞTERİ) BİLGİLERİ ---
  // Bu kısım yeni bir müşteriye satış yaparken temizlenir.
  MusBaslikLbl = MyForm.AddNewProLabel(SatisScroll, 'MusBaslikLbl', '--- ALICI (MÜŞTERİ) BİLGİLERİ ---');
  MusBaslikLbl.Align = alTop; MusBaslikLbl.Height = 25; MusBaslikLbl.Margins.Top = 20; MusBaslikLbl.Margins.Left = 20;
  MusBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  MusBaslikLbl.SetClproSettings(MusBaslikLbl.clprosettings);

  AliciAdiEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciAdiEdt', 'Müşteri Unvanı / Ad Soyad');
  AliciAdiEdt.Align = alTop; AliciAdiEdt.Height = 40; AliciAdiEdt.Margins.Top = 5; AliciAdiEdt.Margins.Left = 20; AliciAdiEdt.Margins.Right = 20;
  AliciAdiEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciAdiEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciAdiEdt.clprosettings.BorderWidth = 1;
  AliciAdiEdt.SetClproSettings(AliciAdiEdt.clprosettings);

  AliciVknEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciVknEdt', 'Müşteri VKN / TCKN');
  AliciVknEdt.Align = alTop; AliciVknEdt.Height = 40; AliciVknEdt.Margins.Top = 5; AliciVknEdt.Margins.Left = 20; AliciVknEdt.Margins.Right = 20;
  AliciVknEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciVknEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciVknEdt.clprosettings.BorderWidth = 1;
  AliciVknEdt.SetClproSettings(AliciVknEdt.clprosettings);

  AliciVdEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciVdEdt', 'Müşteri Vergi Dairesi');
  AliciVdEdt.Align = alTop; AliciVdEdt.Height = 40; AliciVdEdt.Margins.Top = 5; AliciVdEdt.Margins.Left = 20; AliciVdEdt.Margins.Right = 20;
  AliciVdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciVdEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciVdEdt.clprosettings.BorderWidth = 1;
  AliciVdEdt.SetClproSettings(AliciVdEdt.clprosettings);

  AliciAdresEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciAdresEdt', 'Müşteri Adresi (İl/İlçe)');
  AliciAdresEdt.Align = alTop; AliciAdresEdt.Height = 40; AliciAdresEdt.Margins.Top = 5; AliciAdresEdt.Margins.Left = 20; AliciAdresEdt.Margins.Right = 20;
  AliciAdresEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciAdresEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciAdresEdt.clprosettings.BorderWidth = 1;
  AliciAdresEdt.SetClproSettings(AliciAdresEdt.clprosettings);

  AliciTelEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciTelEdt', 'Müşteri İletişim (Tel/Mail)');
  AliciTelEdt.Align = alTop; AliciTelEdt.Height = 40; AliciTelEdt.Margins.Top = 5; AliciTelEdt.Margins.Left = 20; AliciTelEdt.Margins.Right = 20;
  AliciTelEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciTelEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciTelEdt.clprosettings.BorderWidth = 1;
  AliciTelEdt.SetClproSettings(AliciTelEdt.clprosettings);

  // Müşteriye satılacak adet girdisi.
  SatisAdetEdt = MyForm.AddNewProEdit(SatisScroll, 'SatisAdetEdt', 'Satılacak Adet Giriniz');
  SatisAdetEdt.Align = alTop; SatisAdetEdt.Height = 40; SatisAdetEdt.Margins.Top = 15; SatisAdetEdt.Margins.Left = 20; SatisAdetEdt.Margins.Right = 20;
  SatisAdetEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SatisAdetEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SatisAdetEdt.clprosettings.BorderWidth = 1;
  SatisAdetEdt.SetClproSettings(SatisAdetEdt.clprosettings);


  // ==========================================
  // --- UYGULAMANIN GİRİŞ EKRANI (İLK AÇILAN YER) ---
  // ==========================================
  
  // Giriş ekranının en alt arka planı.
  LoginBgPnl = MyForm.AddNewProPanel(MyForm, 'LoginBgPnl');
  LoginBgPnl.Align = alClient;
  LoginBgPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FAF7F2'); 
  LoginBgPnl.SetClproSettings(LoginBgPnl.clprosettings);

  // Maske Paneli (Öğeleri ortalamak için hafif yukarı kaydırılmış arka plan).
  MaskPnl = MyForm.AddNewProPanel(LoginBgPnl, 'MaskPnl');
  MaskPnl.Align = alClient;
  MaskPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FAF7F2'); 
  MaskPnl.Margins.Top = -60; 
  MaskPnl.SetClproSettings(MaskPnl.clprosettings);

  // Formun beyaz renkli, çerçeveli orta kutusu.
  MainPnl = MyForm.AddNewProPanel(MaskPnl, 'MainPnl');
  MainPnl.Align = alLeft; MainPnl.Width = 450; 
  MainPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FFFFFF'); 
  MainPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7'); 
  MainPnl.clprosettings.BorderWidth = 1;
  MainPnl.SetClproSettings(MainPnl.clprosettings);
  
  // Kullanıcı ID kutusu.
  KullaniciAdiEdt = MyForm.AddNewProEdit(MainPnl, 'KullaniciAdiEdt', 'Kullanici Adi');
  KullaniciAdiEdt.Align = alTop; KullaniciAdiEdt.Height = 50; KullaniciAdiEdt.margins.top = 100; 
  KullaniciAdiEdt.margins.left = 50; KullaniciAdiEdt.margins.right = 50;
  KullaniciAdiEdt.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FCFAFA'); 
  KullaniciAdiEdt.clprosettings.FontColor = clalphacolor.clhextoColor('#000000');
  KullaniciAdiEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  KullaniciAdiEdt.clprosettings.BorderWidth = 1;
  KullaniciAdiEdt.SetClproSettings(KullaniciAdiEdt.ClproSettings);
  
  // Şifre kutusu.
  SifreEdit = MyForm.AddNewProEdit(MainPnl, 'SifreEdit', 'Sifre');
  SifreEdit.Align = alTop; SifreEdit.Height = 50; SifreEdit.Password = True; // Yazılanları gizle (yıldız yap).
  SifreEdit.margins.top = 20; SifreEdit.margins.left = 50; SifreEdit.margins.right = 50;
  SifreEdit.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FCFAFA');
  SifreEdit.clprosettings.FontColor = clalphacolor.clhextoColor('#000000');
  SifreEdit.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SifreEdit.clprosettings.BorderWidth = 1;
  SifreEdit.SetClproSettings(SifreEdit.ClproSettings);

  // Şifre Göster/Gizle Butonu (Şifre kutusunun içine sağa yapışık ekleniyor).
  BtnGoz = MyForm.AddNewProButton(SifreEdit, 'BtnGoz', 'GÖSTER');
  BtnGoz.Align = alRight; BtnGoz.Width = 80;
  BtnGoz.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnGoz.clprosettings.BackGroundColor = clAlphaColor.clHexToColor('#E4CDA7');
  BtnGoz.SetClproSettings(BtnGoz.ClproSettings);
  MyForm.AddNewEvent(BtnGoz, tbeOnClick, 'GozTiklandi'); // Olayı bağla.
  
  // Oturum Açma Butonu.
  Giris = MyForm.AddNewProButton(MainPnl, 'Giris', 'OTURUM AÇ');
  Giris.Align = alTop; Giris.Height = 50; Giris.margins.top = 30; Giris.margins.left = 50; Giris.margins.right = 50;
  Giris.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  Giris.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Giris.SetClproSettings(Giris.ClproSettings);
  MyForm.AddNewEvent(Giris, tbeOnClick, 'GirisYapTiklandi'); // Olayı bağla.
  
  // Hesap Oluştur Butonu.
  Kayit = MyForm.AddNewProButton(MainPnl, 'Kayit', 'HESAP OLUŞTUR');
  Kayit.Align = alTop; Kayit.Height = 50; Kayit.margins.top = 10; Kayit.margins.left = 50; Kayit.margins.right = 50;
  Kayit.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  Kayit.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Kayit.SetClproSettings(Kayit.ClproSettings);
  MyForm.AddNewEvent(Kayit, tbeOnClick, 'KayitOlTiklandi'); // Olayı bağla.

  // Sosyal Medya ile giriş paneli (En altta durur).
  SocialPnl = MyForm.AddNewProPanel(MainPnl, 'SocialPnl');
  SocialPnl.Align = alTop; SocialPnl.Height = 45; SocialPnl.margins.top = 40;
  SocialPnl.SetClproSettings(SocialPnl.ClproSettings);

  // Google Butonu (Sola yapışık).
  BtnGoogle = MyForm.AddNewProButton(SocialPnl, 'BtnGoogle', 'Google');
  BtnGoogle.Align = alLeft; BtnGoogle.Width = 165; BtnGoogle.margins.left = 50;
  BtnGoogle.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7'); 
  BtnGoogle.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnGoogle.SetClproSettings(BtnGoogle.ClproSettings);
  
  // Facebook Butonu (Sağa yapışık).
  BtnFacebook = MyForm.AddNewProButton(SocialPnl, 'BtnFacebook', 'Facebook');
  BtnFacebook.Align = alRight; BtnFacebook.Width = 165; BtnFacebook.margins.right = 50;
  BtnFacebook.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  BtnFacebook.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnFacebook.SetClproSettings(BtnFacebook.ClproSettings);

  // SON AŞAMA: Formu ekranda çalıştır ve göster. ZORUNLU!
  MyForm.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 837
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Saat 9 Dakika Önce Saat 18:03
Merhaba Hüseyin,
Projeden verileri geçici bir hafızada tutmak yerine 
SQLite yerel veritabanında tutmak daha mantıklı olacak. 
https://www.docs.clomosy.com/Local_Database_Queries
https://www.docs.clomosy.com/Code_Examples
Doküman sitesinde local veritabanı ile ilgili hem nasıl yapılacağı hem de çeşitli örnekleri mevcut. 

ilk önce bir veritabanı kurulumu gerekli ve bu veritabanına iki ayrı tablo eklenebilir. 
Ama sadece bi tablo ile kısıtlı kalmanı istemem
satış yaptıktan sonra da bir bakiye veya rapor ekranı yapmanı isterim proje de 
bu sayfa da yapılan satışların yani geçmiş satışları da bir rapor şeklinde göstrebilirsen çok daha iyi olur


var
  MyForm : TclForm;
  
  LoginBgPnl, MaskPnl, MainPnl, SocialPnl : TClProPanel;
  KullaniciAdiEdt, SifreEdit : TClProEdit;
  Giris, Kayit, BtnGoogle, BtnFacebook, BtnGoz : TClProButton;
  SifreDurum : Boolean;

  BgPnl, TopPnl, MenuPnl, AnaEkranPanel, StokPanel, SatisPanel, FislerPanel, PopupPanel, OverlayPnl : TClProPanel;
  FisDetayPanel, FaturaTopPnl, KagitPnl, UstBilgiPnl, SaticiPnl, FaturaSagPnl, AliciPnl : TClProPanel;
  TabloPnl, TabloBaslikPnl, TabloVeriPnl, ToplamPnl, ToplamIcerikPnl : TClProPanel;
  
  FaturaScrl, ListScrl, FislerScrl : TclVertScrollBox;
  DetayGeriBtn, EFaturaKesBtn : TClProButton;
  
  FirmaIsimLbl, FirmaDetayLbl, EFaturaLogoLbl, FaturaSenaryoLbl, FaturaTarihLbl : TclProLabel;
  SayinLbl, FaturaAliciLbl, FaturaAliciDetayLbl : TclProLabel;
  Col1, Col2, Col3, Col4, Col5 : TclProLabel; 
  Val1, Val2, Val3, Val4, Val5 : TclProLabel; 
  OzetAltToplamLbl, OzetKdvLbl, OzetGenelToplamLbl : TclProLabel; 

  SatisScroll : TclVertScrollBox; 
  SatBaslikLbl, MusBaslikLbl : TclProLabel; 
  SaticiUnvanEdt, SaticiVknEdt, SaticiVdEdt, SaticiAdresEdt, SaticiTelEdt : TClProEdit;
  AliciAdiEdt, AliciVknEdt, AliciVdEdt, AliciAdresEdt, AliciTelEdt : TClProEdit;
  UrunAdEdt, AdetEdt, FiyatEdt, SatisAdetEdt : TClProEdit;
  
  MenuBtn, AnaEkranBtn, StokModBtn, SatisModBtn, FislerBtn, KaydetBtn, SatisOnayBtn, KapatBtn : TClProButton;
  HeaderLbl, KasaLbl, ToplamStokLbl, AnaEkranLbl, AltBilgiLbl : TclProLabel;
  
  GenelStok, SeciliUrunID : Integer;
  ToplamKasa : Double;

void UrunleriListele; forward;
void SatislariListele; forward;

void VeritabaniKurulumu;
{
  Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'SatisStokDB.db', '');
  
  Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE IF NOT EXISTS Urunler (UrunID INTEGER PRIMARY KEY AUTOINCREMENT, UrunAdi TEXT, Stok INTEGER, Fiyat REAL)';
  Clomosy.DBSQLiteQuery.OpenOrExecute;
  
  Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE IF NOT EXISTS Satislar (FisID INTEGER PRIMARY KEY AUTOINCREMENT, AliciAdi TEXT, UrunAdi TEXT, Adet INTEGER, BirimFiyat REAL, Tutar REAL, Tarih TEXT, VKN TEXT, VD TEXT, Adres TEXT, Tel TEXT, SatUnvan TEXT, SatDetay TEXT)';
  Clomosy.DBSQLiteQuery.OpenOrExecute;
}

void GozTiklandi;
{
  SifreDurum = not SifreDurum;
  SifreEdit.Password = not SifreDurum;
  if (SifreDurum) { BtnGoz.Caption = 'GIZLE'; } else { BtnGoz.Caption = 'GÖSTER'; }
}

void KayitOlTiklandi;
{
  ShowMessage('Kayıt sistemi şu an pasif durumdadır. Lütfen mevcut bilgilerinizle giriş yapınız.');
}

void GirisYapTiklandi;
{
  if (((KullaniciAdiEdt.Text == 'SONGUZZ') && (SifreEdit.Text == '42AHV16.')) || 
      ((KullaniciAdiEdt.Text == 'Ali ERBAY') && (SifreEdit.Text == '5834')))
  { 
    MaskPnl.Visible = False;
    LoginBgPnl.Visible = False;
    BgPnl.Visible = True; 
    
    UrunleriListele;
    SatislariListele;
    ShowMessage('Sisteme başarıyla giriş yapıldı. Verileriniz yüklendi.'); 
  } 
  else 
  { 
    ShowMessage('Hatalı kullanıcı adı veya şifre girdiniz.'); 
  }
}

void UrunleriListele;
var
  Qry: TclSQLiteQuery;
  CardPnl : TClProPanel;
  BaslikLbl, AltLbl, FiyatLbl, SatisYapLbl : TclProLabel;
  UrunIDStr, UrunAdiStr, StokStr, FiyatStr : String;
{
  if (ListScrl <> nil) { ListScrl.Free; }
  ListScrl = MyForm.AddNewVertScrollBox(SatisPanel, 'ListScrl');
  ListScrl.Align = alClient;
  
  GenelStok = 0; 
  
  Qry = TclSQLiteQuery.Create(Nil);
  try
    Qry.Connection = Clomosy.DBSQLiteConnection;
    Qry.Sql.Text = 'SELECT * FROM Urunler';
    Qry.OpenOrExecute;
    
    while (not Qry.EOF)
    {
      UrunIDStr = Qry.FieldByName('UrunID').AsString;
      UrunAdiStr = Qry.FieldByName('UrunAdi').AsString;
      StokStr = Qry.FieldByName('Stok').AsString;
      FiyatStr = Qry.FieldByName('Fiyat').AsString;
      
      GenelStok = GenelStok + StrToInt(StokStr);
      
      if (StrToInt(StokStr) > 0)
      {
        CardPnl = MyForm.AddNewProPanel(ListScrl, 'CardPnl' + UrunIDStr);
        CardPnl.Align = alTop; CardPnl.Height = 100; CardPnl.Margins.Top = 10;
        CardPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF'); 
        CardPnl.clprosettings.RoundHeight = 10; CardPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7'); CardPnl.clprosettings.BorderWidth = 2;
        CardPnl.SetClproSettings(CardPnl.clprosettings);

        SatisYapLbl = MyForm.AddNewProLabel(CardPnl, 'SatisYapLbl' + UrunIDStr, 'SATIŞ YAP');
        SatisYapLbl.Align = alRight; SatisYapLbl.Width = 80;
        SatisYapLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
        SatisYapLbl.SetClproSettings(SatisYapLbl.clprosettings);
        SatisYapLbl.clTagInt = StrToInt(UrunIDStr); 
        MyForm.AddNewEvent(SatisYapLbl, tbeOnClick, 'AcSatisPanel');

        BaslikLbl = MyForm.AddNewProLabel(CardPnl, 'BaslikLbl' + UrunIDStr, UrunAdiStr);
        BaslikLbl.Align = alTop; BaslikLbl.Height = 30; BaslikLbl.Margins.Left = 15;
        BaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
        BaslikLbl.SetClproSettings(BaslikLbl.clprosettings);

        AltLbl = MyForm.AddNewProLabel(CardPnl, 'AltLbl' + UrunIDStr, 'Stok: ' + StokStr);
        AltLbl.Align = alTop; AltLbl.Height = 20; AltLbl.Margins.Left = 15;
        AltLbl.clTagInt = StrToInt(StokStr); 
        AltLbl.clTagStr = FiyatStr; 
        AltLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
        AltLbl.SetClproSettings(AltLbl.clprosettings);

        FiyatLbl = MyForm.AddNewProLabel(CardPnl, 'FiyatLbl' + UrunIDStr, FiyatStr + ' TL');
        FiyatLbl.Align = alTop; FiyatLbl.Height = 20; FiyatLbl.Margins.Left = 15;
        FiyatLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
        FiyatLbl.SetClproSettings(FiyatLbl.clprosettings);
      }
      Qry.Next;
    }
    ToplamStokLbl.Text = 'Genel Stok: ' + IntToStr(GenelStok);
  finally
    Qry.Free;
  }
}

void UrunEkle;
var
  Qry: TclSQLiteQuery;
{
  if ((UrunAdEdt.Text == '') || (AdetEdt.Text == '') || (FiyatEdt.Text == '')) { exit; }
  
  Qry = TclSQLiteQuery.Create(Nil);
  try
    Qry.Connection = Clomosy.DBSQLiteConnection;
    Qry.Sql.Text = 'SELECT UrunID FROM Urunler WHERE UrunAdi = ' + QuotedStr(UpperCase(UrunAdEdt.Text));
    Qry.OpenOrExecute;
    
    if (Qry.Found)
    {
      Qry.Sql.Text = 'UPDATE Urunler SET Stok = Stok + ' + AdetEdt.Text + ' WHERE UrunID = ' + Qry.FieldByName('UrunID').AsString;
      Qry.OpenOrExecute;
    }
    else
    {
      Qry.Sql.Text = 'INSERT INTO Urunler (UrunAdi, Stok, Fiyat) VALUES (' + QuotedStr(UpperCase(UrunAdEdt.Text)) + ', ' + AdetEdt.Text + ', ' + FiyatEdt.Text + ')';
      Qry.OpenOrExecute;
    }
    
    ShowMessage('Ürün stoğa başarıyla kaydedildi.');
    UrunAdEdt.Text = ''; AdetEdt.Text = ''; FiyatEdt.Text = '';
    
    UrunleriListele;
  finally
    Qry.Free;
  }
}

void SatislariListele;
var
  Qry: TclSQLiteQuery;
  FisCardPnl : TClProPanel;
  InceleBtn : TClProButton;
  FisBaslikLbl : TclProLabel;
  FisIDStr : String;
  RawUrunLbl, RawMiktarLbl, RawFiyatLbl, RawMusteriLbl, RawTarihLbl, RawTutarLbl : TclProLabel;
  RawMusVknLbl, RawMusVdLbl, RawMusAdrLbl, RawMusTelLbl : TclProLabel;
  RawSatUnvanLbl, RawSatDetayLbl : TclProLabel;
{
  if (FislerScrl <> nil) { FislerScrl.Free; }
  FislerScrl = MyForm.AddNewVertScrollBox(FislerPanel, 'FislerScrl');
  FislerScrl.Align = alClient;
  
  ToplamKasa = 0; 
  
  Qry = TclSQLiteQuery.Create(Nil);
  try
    Qry.Connection = Clomosy.DBSQLiteConnection;
    Qry.Sql.Text = 'SELECT * FROM Satislar ORDER BY FisID DESC';
    Qry.OpenOrExecute;
    
    while (not Qry.EOF)
    {
      FisIDStr = Qry.FieldByName('FisID').AsString;
      ToplamKasa = ToplamKasa + Qry.FieldByName('Tutar').AsFloat;
      
      FisCardPnl = MyForm.AddNewProPanel(FislerScrl, 'FisCardPnl' + FisIDStr);
      FisCardPnl.Align = alTop; FisCardPnl.Height = 50; FisCardPnl.Margins.Top = 10; 
      FisCardPnl.Margins.Left = 10; FisCardPnl.Margins.Right = 10;
      FisCardPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF'); 
      FisCardPnl.clprosettings.RoundHeight = 10; 
      FisCardPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7'); 
      FisCardPnl.clprosettings.BorderWidth = 2; 
      FisCardPnl.SetClproSettings(FisCardPnl.clprosettings);

      InceleBtn = MyForm.AddNewProButton(FisCardPnl, 'InceleBtn' + FisIDStr, 'İNCELE');
      InceleBtn.Align = alRight; InceleBtn.Width = 80; InceleBtn.Margins.Top = 5; InceleBtn.Margins.Bottom = 5; InceleBtn.Margins.Right = 10;
      InceleBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
      InceleBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
      InceleBtn.clprosettings.RoundHeight = 5;
      InceleBtn.SetClproSettings(InceleBtn.clprosettings);
      InceleBtn.clTagInt = StrToInt(FisIDStr); 
      MyForm.AddNewEvent(InceleBtn, tbeOnClick, 'FisInceleTiklandi');

      FisBaslikLbl = MyForm.AddNewProLabel(FisCardPnl, 'FisBaslikLbl' + FisIDStr, Qry.FieldByName('AliciAdi').AsString + ' - ' + Qry.FieldByName('UrunAdi').AsString);
      FisBaslikLbl.Align = alClient; FisBaslikLbl.Margins.Left = 10; FisBaslikLbl.Margins.Top = 15;
      FisBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
      FisBaslikLbl.SetClproSettings(FisBaslikLbl.clprosettings);

      RawUrunLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawUrunLbl' + FisIDStr, Qry.FieldByName('UrunAdi').AsString); RawUrunLbl.Visible = False;
      RawMiktarLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMiktarLbl' + FisIDStr, Qry.FieldByName('Adet').AsString); RawMiktarLbl.Visible = False;
      RawFiyatLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawFiyatLbl' + FisIDStr, Qry.FieldByName('BirimFiyat').AsString); RawFiyatLbl.Visible = False;
      RawMusteriLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusteriLbl' + FisIDStr, Qry.FieldByName('AliciAdi').AsString); RawMusteriLbl.Visible = False;
      RawTarihLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawTarihLbl' + FisIDStr, Qry.FieldByName('Tarih').AsString); RawTarihLbl.Visible = False;
      RawTutarLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawTutarLbl' + FisIDStr, Qry.FieldByName('Tutar').AsString); RawTutarLbl.Visible = False;
      
      RawMusVknLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusVknLbl' + FisIDStr, Qry.FieldByName('VKN').AsString); RawMusVknLbl.Visible = False;
      RawMusVdLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusVdLbl' + FisIDStr, Qry.FieldByName('VD').AsString); RawMusVdLbl.Visible = False;
      RawMusAdrLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusAdrLbl' + FisIDStr, Qry.FieldByName('Adres').AsString); RawMusAdrLbl.Visible = False;
      RawMusTelLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawMusTelLbl' + FisIDStr, Qry.FieldByName('Tel').AsString); RawMusTelLbl.Visible = False;
      
      RawSatUnvanLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawSatUnvanLbl' + FisIDStr, Qry.FieldByName('SatUnvan').AsString); RawSatUnvanLbl.Visible = False;
      RawSatDetayLbl = MyForm.AddNewProLabel(FisCardPnl, 'RawSatDetayLbl' + FisIDStr, Qry.FieldByName('SatDetay').AsString); RawSatDetayLbl.Visible = False;

      Qry.Next;
    }
    KasaLbl.Text = 'Kasa: ' + FloatToStr(ToplamKasa) + ' TL';
  finally
    Qry.Free;
  }
}

void KapatSatisPanel; { OverlayPnl.Visible = False; }

void SatisYap;
var
  Qry: TclSQLiteQuery;
  HedefAltLbl, HedefBaslikLbl : TclProLabel;
  SatilacakAdet, MevcutStok : Integer;
  BirimFiyat, SatisTutari : Double;
  UrunAdi, SatisZamani : String;
{
  if ((SatisAdetEdt.Text == '') || (AliciAdiEdt.Text == '') || (SaticiUnvanEdt.Text == '')) 
  { 
    ShowMessage('Lütfen Satıcı, Müşteri ve Adet bilgilerini eksiksiz giriniz.'); 
    exit; 
  }
  
  SatilacakAdet = StrToInt(SatisAdetEdt.Text);
  HedefAltLbl = MyForm.clFindComponent('AltLbl' + IntToStr(SeciliUrunID));
  HedefBaslikLbl = MyForm.clFindComponent('BaslikLbl' + IntToStr(SeciliUrunID)); 
  
  if (HedefAltLbl <> nil)
  {
    MevcutStok = HedefAltLbl.clTagInt;
    
    if (SatilacakAdet <= MevcutStok)
    {
      BirimFiyat = StrToFloat(HedefAltLbl.clTagStr);
      SatisTutari = BirimFiyat * SatilacakAdet;
      UrunAdi = HedefBaslikLbl.Text; 
      SatisZamani = FormatDateTime('dd.mm.yyyy hh:nn:ss', Now); 
      
      Qry = TclSQLiteQuery.Create(Nil);
      try
        Qry.Connection = Clomosy.DBSQLiteConnection;
        
        Qry.Sql.Text = 'UPDATE Urunler SET Stok = Stok - ' + IntToStr(SatilacakAdet) + ' WHERE UrunID = ' + IntToStr(SeciliUrunID);
        Qry.OpenOrExecute;
        
        Qry.Sql.Text = 'INSERT INTO Satislar (AliciAdi, UrunAdi, Adet, BirimFiyat, Tutar, Tarih, VKN, VD, Adres, Tel, SatUnvan, SatDetay) VALUES (' +
                       QuotedStr(AliciAdiEdt.Text) + ', ' +
                       QuotedStr(UrunAdi) + ', ' +
                       IntToStr(SatilacakAdet) + ', ' +
                       FloatToStr(BirimFiyat) + ', ' +
                       FloatToStr(SatisTutari) + ', ' +
                       QuotedStr(SatisZamani) + ', ' +
                       QuotedStr(AliciVknEdt.Text) + ', ' +
                       QuotedStr(AliciVdEdt.Text) + ', ' +
                       QuotedStr(AliciAdresEdt.Text) + ', ' +
                       QuotedStr(AliciTelEdt.Text) + ', ' +
                       QuotedStr(SaticiUnvanEdt.Text) + ', ' +
                       QuotedStr(SaticiAdresEdt.Text + ' | Tel: ' + SaticiTelEdt.Text + ' | VD: ' + SaticiVdEdt.Text + ' VKN: ' + SaticiVknEdt.Text) + ')';
        Qry.OpenOrExecute;
        
        ShowMessage('Satış başarıyla tamamlandı ve veritabanına işlendi!');
        KapatSatisPanel;
        
        UrunleriListele;
        SatislariListele;
      finally
        Qry.Free;
      }
    } 
    else 
    { 
      ShowMessage('Yetersiz stok miktarı!'); 
    }
  }
}

void ToggleMenu; { MenuPnl.Visible = not MenuPnl.Visible; }

void AcSatisPanel;
var TiklananLbl : TclProLabel;
{
  TiklananLbl = MyForm.clSender;
  SeciliUrunID = TiklananLbl.clTagInt;
  
  SatisAdetEdt.Text = '';
  AliciAdiEdt.Text = '';
  AliciVknEdt.Text = '';
  AliciVdEdt.Text = '';
  AliciAdresEdt.Text = '';
  AliciTelEdt.Text = '';
  
  OverlayPnl.Visible = True;
  OverlayPnl.BringToFront;
}

void FisDetayKapat;
{
  FisDetayPanel.Visible = False; 
  FislerPanel.Visible = True;    
  HeaderLbl.Text = '  SATIŞ FİŞLERİ'; 
}

void FisInceleTiklandi;
var
  SecilenBtn : TClProButton;
  HedefFisID : Integer;
  RU, RM, RF, RMu, RTa, RTu : TclProLabel;
  RVkn, RVd, RAdr, RTel : TclProLabel;
  RSU, RSD : TclProLabel;
  SubTotal, KDV, GrandTotal : Double; 
{
  SecilenBtn = MyForm.clSender;
  HedefFisID = SecilenBtn.clTagInt;
  
  RU = MyForm.clFindComponent('RawUrunLbl' + IntToStr(HedefFisID));
  RM = MyForm.clFindComponent('RawMiktarLbl' + IntToStr(HedefFisID));
  RF = MyForm.clFindComponent('RawFiyatLbl' + IntToStr(HedefFisID));
  RMu = MyForm.clFindComponent('RawMusteriLbl' + IntToStr(HedefFisID));
  RTa = MyForm.clFindComponent('RawTarihLbl' + IntToStr(HedefFisID));
  RTu = MyForm.clFindComponent('RawTutarLbl' + IntToStr(HedefFisID));
  
  RVkn = MyForm.clFindComponent('RawMusVknLbl' + IntToStr(HedefFisID));
  RVd = MyForm.clFindComponent('RawMusVdLbl' + IntToStr(HedefFisID));
  RAdr = MyForm.clFindComponent('RawMusAdrLbl' + IntToStr(HedefFisID));
  RTel = MyForm.clFindComponent('RawMusTelLbl' + IntToStr(HedefFisID));

  RSU = MyForm.clFindComponent('RawSatUnvanLbl' + IntToStr(HedefFisID));
  RSD = MyForm.clFindComponent('RawSatDetayLbl' + IntToStr(HedefFisID));

  if (RSU <> nil) { FirmaIsimLbl.Text = RSU.Text; } else { FirmaIsimLbl.Text = '-'; }
  if (RSD <> nil) { FirmaDetayLbl.Text = RSD.Text; } else { FirmaDetayLbl.Text = '-'; }
  
  if (RTa <> nil) { FaturaTarihLbl.Text = 'Tarih: ' + RTa.Text; }
  if (RMu <> nil) { FaturaAliciLbl.Text = RMu.Text; }
  
  if (RVkn <> nil)
  {
    FaturaAliciDetayLbl.Text = RAdr.Text + ' | Tel: ' + RTel.Text + ' | VD: ' + RVd.Text + ' VKN: ' + RVkn.Text;
  }
  
  if (RU <> nil) { Val1.Text = ' ' + RU.Text; } 
  if (RM <> nil) { Val2.Text = ' ' + RM.Text; } 
  if (RF <> nil) { Val3.Text = ' ' + RF.Text; } 
  
  if (RTu <> nil) 
  { 
    Val5.Text = ' ' + RTu.Text; 
    SubTotal = StrToFloat(RTu.Text); 
    KDV = SubTotal * 0.20; 
    GrandTotal = SubTotal + KDV; 
    
    OzetAltToplamLbl.Text = 'Mal Hizmet Tutarı: ' + FloatToStr(SubTotal) + ' TL';
    OzetKdvLbl.Text = 'Hesaplanan KDV (%20): ' + FloatToStr(KDV) + ' TL';
    OzetGenelToplamLbl.Text = 'Ödenecek Tutar: ' + FloatToStr(GrandTotal) + ' TL';
  }
  
  FislerPanel.Visible = False;
  FisDetayPanel.Visible = True;
  HeaderLbl.Text = '  FİŞ DETAYI / E-FATURA';
}

void EFaturaOlusturTiklandi;
{
  ShowMessage('Fatura resmi olarak imzalanmaya hazır! Bir sonraki aşamada entegratöre iletilecek.');
}

void ShowAnaEkranMod; { AnaEkranPanel.Visible = True; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  ANA EKRAN'; MenuPnl.Visible = False; }
void ShowStokMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = True; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  STOK YÖNETİMİ'; MenuPnl.Visible = False; }
void ShowSatisMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = True; FislerPanel.Visible = False; FisDetayPanel.Visible = False; HeaderLbl.Text = '  ÜRÜN LİSTESİ'; MenuPnl.Visible = False; }
void ShowFislerMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = True; FisDetayPanel.Visible = False; HeaderLbl.Text = '  SATIŞ FİŞLERİ'; MenuPnl.Visible = False; }

{
  MyForm = TclForm.Create(self);

  VeritabaniKurulumu;

  SifreDurum = False;

  BgPnl = MyForm.AddNewProPanel(MyForm, 'BgPnl');
  BgPnl.Align = alClient; 
  BgPnl.Visible = False;  
  BgPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  BgPnl.SetClproSettings(BgPnl.clprosettings); 

  TopPnl = MyForm.AddNewProPanel(BgPnl, 'TopPnl');
  TopPnl.Align = alTop; TopPnl.Height = 60; 
  TopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#D5B990'); 
  TopPnl.SetClproSettings(TopPnl.clprosettings);

  HeaderLbl = MyForm.AddNewProLabel(TopPnl, 'HeaderLbl', '  ANA EKRAN');
  HeaderLbl.Align = alLeft; HeaderLbl.Width = 200;
  HeaderLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  HeaderLbl.SetClproSettings(HeaderLbl.clprosettings);

  MenuBtn = MyForm.AddNewProButton(TopPnl, 'MenuBtn', '≡ MENÜ');
  MenuBtn.Align = alRight; MenuBtn.Width = 90;
  MenuBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  MenuBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  MenuBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  MenuBtn.clprosettings.BorderWidth = 1;
  MenuBtn.clprosettings.RoundHeight = 5;
  MenuBtn.SetClproSettings(MenuBtn.clprosettings);
  MyForm.AddNewEvent(MenuBtn, tbeOnClick, 'ToggleMenu'); 

  MenuPnl = MyForm.AddNewProPanel(BgPnl, 'MenuPnl');
  MenuPnl.Align = alRight; MenuPnl.Width = 180; 
  MenuPnl.Visible = False; 
  MenuPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  MenuPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  MenuPnl.clprosettings.BorderWidth = 1;
  MenuPnl.SetClproSettings(MenuPnl.clprosettings);

  KasaLbl = MyForm.AddNewProLabel(MenuPnl, 'KasaLbl', 'Kasa: 0 TL');
  KasaLbl.Align = alTop; KasaLbl.Height = 50; KasaLbl.Margins.Left = 15; KasaLbl.Margins.Top = 10;
  KasaLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
  KasaLbl.SetClproSettings(KasaLbl.clprosettings);

  ToplamStokLbl = MyForm.AddNewProLabel(MenuPnl, 'ToplamStokLbl', 'Genel Stok: 0');
  ToplamStokLbl.Align = alTop; ToplamStokLbl.Height = 50; ToplamStokLbl.Margins.Left = 15;
  ToplamStokLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000'); 
  ToplamStokLbl.SetClproSettings(ToplamStokLbl.clprosettings);

  AnaEkranBtn = MyForm.AddNewProButton(MenuPnl, 'AnaEkranBtn', 'ANA EKRAN');
  AnaEkranBtn.Align = alTop; AnaEkranBtn.Height = 45; AnaEkranBtn.Margins.Left = 10; AnaEkranBtn.Margins.Right = 10; AnaEkranBtn.Margins.Top = 10;
  AnaEkranBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  AnaEkranBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AnaEkranBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  AnaEkranBtn.clprosettings.BorderWidth = 1;
  AnaEkranBtn.SetClproSettings(AnaEkranBtn.clprosettings);
  MyForm.AddNewEvent(AnaEkranBtn, tbeOnClick, 'ShowAnaEkranMod');

  StokModBtn = MyForm.AddNewProButton(MenuPnl, 'StokModBtn', 'STOK EKLE');
  StokModBtn.Align = alTop; StokModBtn.Height = 45; StokModBtn.Margins.Left = 10; StokModBtn.Margins.Right = 10; StokModBtn.Margins.Top = 10;
  StokModBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  StokModBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  StokModBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  StokModBtn.clprosettings.BorderWidth = 1;
  StokModBtn.SetClproSettings(StokModBtn.clprosettings);
  MyForm.AddNewEvent(StokModBtn, tbeOnClick, 'ShowStokMod');

  SatisModBtn = MyForm.AddNewProButton(MenuPnl, 'SatisModBtn', 'ÜRÜNLER');
  SatisModBtn.Align = alTop; SatisModBtn.Height = 45; SatisModBtn.Margins.Left = 10; SatisModBtn.Margins.Right = 10; SatisModBtn.Margins.Top = 10;
  SatisModBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  SatisModBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  SatisModBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  SatisModBtn.clprosettings.BorderWidth = 1;
  SatisModBtn.SetClproSettings(SatisModBtn.clprosettings);
  MyForm.AddNewEvent(SatisModBtn, tbeOnClick, 'ShowSatisMod');

  FislerBtn = MyForm.AddNewProButton(MenuPnl, 'FislerBtn', 'FİŞLER');
  FislerBtn.Align = alTop; FislerBtn.Height = 45; FislerBtn.Margins.Left = 10; FislerBtn.Margins.Right = 10; FislerBtn.Margins.Top = 10;
  FislerBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  FislerBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FislerBtn.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  FislerBtn.clprosettings.BorderWidth = 1;
  FislerBtn.SetClproSettings(FislerBtn.clprosettings);
  MyForm.AddNewEvent(FislerBtn, tbeOnClick, 'ShowFislerMod');

  AnaEkranPanel = MyForm.AddNewProPanel(BgPnl, 'AnaEkranPanel');
  AnaEkranPanel.Align = alClient;
  AnaEkranPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  AnaEkranPanel.SetClproSettings(AnaEkranPanel.clprosettings);

  AnaEkranLbl = MyForm.AddNewProLabel(AnaEkranPanel, 'AnaEkranLbl', 'ÖZERBAYLAR SİSTEMİNE HOŞ GELDİNİZ');
  AnaEkranLbl.Align = alTop; AnaEkranLbl.Height = 40; AnaEkranLbl.Margins.Top = 40;
  AnaEkranLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  AnaEkranLbl.SetClproSettings(AnaEkranLbl.clprosettings);
  
  AltBilgiLbl = MyForm.AddNewProLabel(AnaEkranPanel, 'AltBilgiLbl', 'İşlem yapmak için sağ üstteki menüyü kullanın.');
  AltBilgiLbl.Align = alTop; AltBilgiLbl.Height = 30; AltBilgiLbl.Margins.Top = 20;
  AltBilgiLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  AltBilgiLbl.SetClproSettings(AltBilgiLbl.clprosettings);

  StokPanel = MyForm.AddNewProPanel(BgPnl, 'StokPanel');
  StokPanel.Align = alTop; StokPanel.Height = 250; StokPanel.Visible = False; 
  StokPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  StokPanel.SetClproSettings(StokPanel.clprosettings);

  UrunAdEdt = MyForm.AddNewProEdit(StokPanel, 'UrunAdEdt', 'Ürün Adı');
  UrunAdEdt.Align = alTop; UrunAdEdt.Height = 40; UrunAdEdt.Margins.Top = 10;
  UrunAdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA'); 
  UrunAdEdt.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  UrunAdEdt.SetClproSettings(UrunAdEdt.clprosettings);

  AdetEdt = MyForm.AddNewProEdit(StokPanel, 'AdetEdt', 'Adet');
  AdetEdt.Align = alTop; AdetEdt.Height = 40; AdetEdt.Margins.Top = 5;
  AdetEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AdetEdt.SetClproSettings(AdetEdt.clprosettings);

  FiyatEdt = MyForm.AddNewProEdit(StokPanel, 'FiyatEdt', 'Fiyat');
  FiyatEdt.Align = alTop; FiyatEdt.Height = 40; FiyatEdt.Margins.Top = 5;
  FiyatEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  FiyatEdt.SetClproSettings(FiyatEdt.clprosettings);

  KaydetBtn = MyForm.AddNewProButton(StokPanel, 'KaydetBtn', 'STOKLA');
  KaydetBtn.Align = alTop; KaydetBtn.Height = 45; KaydetBtn.Margins.Top = 10;
  KaydetBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  KaydetBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  KaydetBtn.SetClproSettings(KaydetBtn.clprosettings);
  MyForm.AddNewEvent(KaydetBtn, tbeOnClick, 'UrunEkle'); 

  SatisPanel = MyForm.AddNewProPanel(BgPnl, 'SatisPanel');
  SatisPanel.Align = alClient; SatisPanel.Visible = False;

  FislerPanel = MyForm.AddNewProPanel(BgPnl, 'FislerPanel');
  FislerPanel.Align = alClient; FislerPanel.Visible = False;

  FisDetayPanel = MyForm.AddNewProPanel(BgPnl, 'FisDetayPanel');
  FisDetayPanel.Align = alClient;
  FisDetayPanel.Visible = False; 
  FisDetayPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  FisDetayPanel.SetClproSettings(FisDetayPanel.clprosettings);

  FaturaTopPnl = MyForm.AddNewProPanel(FisDetayPanel, 'FaturaTopPnl');
  FaturaTopPnl.Align = alTop; FaturaTopPnl.Height = 50;
  FaturaTopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  FaturaTopPnl.SetClproSettings(FaturaTopPnl.clprosettings);

  DetayGeriBtn = MyForm.AddNewProButton(FaturaTopPnl, 'DetayGeriBtn', '← LİSTEYE DÖN');
  DetayGeriBtn.Align = alLeft; DetayGeriBtn.Width = 120; DetayGeriBtn.Margins.Left = 10; DetayGeriBtn.Margins.Top = 5; DetayGeriBtn.Margins.Bottom = 5;
  DetayGeriBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#EBE0D0'); 
  DetayGeriBtn.SetClproSettings(DetayGeriBtn.clprosettings);
  MyForm.AddNewEvent(DetayGeriBtn, tbeOnClick, 'FisDetayKapat');

  EFaturaKesBtn = MyForm.AddNewProButton(FaturaTopPnl, 'EFaturaKesBtn', 'E-FATURA OLUŞTUR');
  EFaturaKesBtn.Align = alRight; EFaturaKesBtn.Width = 150; EFaturaKesBtn.Margins.Right = 10; EFaturaKesBtn.Margins.Top = 5; EFaturaKesBtn.Margins.Bottom = 5;
  EFaturaKesBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#D5B990'); 
  EFaturaKesBtn.SetClproSettings(EFaturaKesBtn.clprosettings);
  MyForm.AddNewEvent(EFaturaKesBtn, tbeOnClick, 'EFaturaOlusturTiklandi');

  FaturaScrl = MyForm.AddNewVertScrollBox(FisDetayPanel, 'FaturaScrl');
  FaturaScrl.Align = alClient;

  KagitPnl = MyForm.AddNewProPanel(FaturaScrl, 'KagitPnl');
  KagitPnl.Align = alTop; KagitPnl.Height = 450; KagitPnl.Margins.Top = 10; KagitPnl.Margins.Left = 10; KagitPnl.Margins.Right = 10;
  KagitPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  KagitPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#D5B990');
  KagitPnl.clprosettings.BorderWidth = 1;
  KagitPnl.SetClproSettings(KagitPnl.clprosettings);

  UstBilgiPnl = MyForm.AddNewProPanel(KagitPnl, 'UstBilgiPnl');
  UstBilgiPnl.Align = alTop; UstBilgiPnl.Height = 90;
  UstBilgiPnl.SetClproSettings(UstBilgiPnl.clprosettings);

  FaturaSagPnl = MyForm.AddNewProPanel(UstBilgiPnl, 'FaturaSagPnl');
  FaturaSagPnl.Align = alRight; FaturaSagPnl.Width = 180;
  FaturaSagPnl.SetClproSettings(FaturaSagPnl.clprosettings);

  EFaturaLogoLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'EFaturaLogoLbl', 'e-FATURA');
  EFaturaLogoLbl.Align = alTop; EFaturaLogoLbl.Height = 25; EFaturaLogoLbl.Margins.Top = 10;
  EFaturaLogoLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#D5B990');
  EFaturaLogoLbl.SetClproSettings(EFaturaLogoLbl.clprosettings);

  FaturaSenaryoLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'FaturaSenaryoLbl', 'Senaryo: TICARIFATURA');
  FaturaSenaryoLbl.Align = alTop; FaturaSenaryoLbl.Height = 20;
  FaturaSenaryoLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaSenaryoLbl.SetClproSettings(FaturaSenaryoLbl.clprosettings);

  FaturaTarihLbl = MyForm.AddNewProLabel(FaturaSagPnl, 'FaturaTarihLbl', 'Tarih: -');
  FaturaTarihLbl.Align = alTop; FaturaTarihLbl.Height = 20;
  FaturaTarihLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaTarihLbl.SetClproSettings(FaturaTarihLbl.clprosettings);

  SaticiPnl = MyForm.AddNewProPanel(UstBilgiPnl, 'SaticiPnl');
  SaticiPnl.Align = alClient;
  SaticiPnl.SetClproSettings(SaticiPnl.clprosettings);

  FirmaIsimLbl = MyForm.AddNewProLabel(SaticiPnl, 'FirmaIsimLbl', 'ALİ ERBAY');
  FirmaIsimLbl.Align = alTop; FirmaIsimLbl.Height = 25; FirmaIsimLbl.Margins.Left = 10; FirmaIsimLbl.Margins.Top = 10;
  FirmaIsimLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FirmaIsimLbl.SetClproSettings(FirmaIsimLbl.clprosettings);

  FirmaDetayLbl = MyForm.AddNewProLabel(SaticiPnl, 'FirmaDetayLbl', 'Adres ve VKN Bilgileri...');
  FirmaDetayLbl.Align = alClient; FirmaDetayLbl.Margins.Left = 10;
  FirmaDetayLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FirmaDetayLbl.SetClproSettings(FirmaDetayLbl.clprosettings);

  AliciPnl = MyForm.AddNewProPanel(KagitPnl, 'AliciPnl');
  AliciPnl.Align = alTop; AliciPnl.Height = 100;
  AliciPnl.SetClproSettings(AliciPnl.clprosettings);

  SayinLbl = MyForm.AddNewProLabel(AliciPnl, 'SayinLbl', 'SAYIN');
  SayinLbl.Align = alTop; SayinLbl.Height = 20; SayinLbl.Margins.Left = 10; SayinLbl.Margins.Top = 10;
  SayinLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  SayinLbl.SetClproSettings(SayinLbl.clprosettings);

  FaturaAliciLbl = MyForm.AddNewProLabel(AliciPnl, 'FaturaAliciLbl', 'Müşteri Adı Soyadı');
  FaturaAliciLbl.Align = alTop; FaturaAliciLbl.Height = 25; FaturaAliciLbl.Margins.Left = 10;
  FaturaAliciLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  FaturaAliciLbl.SetClproSettings(FaturaAliciLbl.clprosettings);

  FaturaAliciDetayLbl = MyForm.AddNewProLabel(AliciPnl, 'FaturaAliciDetayLbl', 'Müşteri VKN, VD, Adres...');
  FaturaAliciDetayLbl.Align = alTop; FaturaAliciDetayLbl.Height = 40; FaturaAliciDetayLbl.Margins.Left = 10;
  FaturaAliciDetayLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  FaturaAliciDetayLbl.SetClproSettings(FaturaAliciDetayLbl.clprosettings);

  TabloPnl = MyForm.AddNewProPanel(KagitPnl, 'TabloPnl');
  TabloPnl.Align = alTop; TabloPnl.Height = 80; TabloPnl.Margins.Top = 10;
  TabloPnl.SetClproSettings(TabloPnl.clprosettings);

  TabloBaslikPnl = MyForm.AddNewProPanel(TabloPnl, 'TabloBaslikPnl');
  TabloBaslikPnl.Align = alTop; TabloBaslikPnl.Height = 30;
  TabloBaslikPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#F9F6F0');
  TabloBaslikPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  TabloBaslikPnl.clprosettings.BorderWidth = 1;
  TabloBaslikPnl.SetClproSettings(TabloBaslikPnl.clprosettings);

  Col1 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col1', ' Mal Hizmet'); Col1.Align = alLeft; Col1.Width = 100;
  Col2 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col2', ' Miktar'); Col2.Align = alLeft; Col2.Width = 50;
  Col3 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col3', ' B.Fiyat'); Col3.Align = alLeft; Col3.Width = 50;
  Col4 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col4', ' KDV'); Col4.Align = alLeft; Col4.Width = 40;
  Col5 = MyForm.AddNewProLabel(TabloBaslikPnl, 'Col5', ' Tutar (TL)'); Col5.Align = alClient;

  TabloVeriPnl = MyForm.AddNewProPanel(TabloPnl, 'TabloVeriPnl');
  TabloVeriPnl.Align = alClient;
  TabloVeriPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  TabloVeriPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  TabloVeriPnl.clprosettings.BorderWidth = 1;
  TabloVeriPnl.SetClproSettings(TabloVeriPnl.clprosettings);

  Val1 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val1', ' -'); Val1.Align = alLeft; Val1.Width = 100;
  Val2 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val2', ' -'); Val2.Align = alLeft; Val2.Width = 50;
  Val3 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val3', ' -'); Val3.Align = alLeft; Val3.Width = 50;
  Val4 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val4', ' %20'); Val4.Align = alLeft; Val4.Width = 40;
  Val5 = MyForm.AddNewProLabel(TabloVeriPnl, 'Val5', ' -'); Val5.Align = alClient;

  ToplamPnl = MyForm.AddNewProPanel(KagitPnl, 'ToplamPnl');
  ToplamPnl.Align = alTop; ToplamPnl.Height = 100; ToplamPnl.Margins.Top = 15;
  ToplamPnl.SetClproSettings(ToplamPnl.clprosettings);

  ToplamIcerikPnl = MyForm.AddNewProPanel(ToplamPnl, 'ToplamIcerikPnl');
  ToplamIcerikPnl.Align = alRight; ToplamIcerikPnl.Width = 220; 
  ToplamIcerikPnl.SetClproSettings(ToplamIcerikPnl.clprosettings);

  OzetAltToplamLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetAltToplamLbl', 'Mal Hizmet: 0 TL');
  OzetAltToplamLbl.Align = alTop; OzetAltToplamLbl.Height = 25;
  OzetAltToplamLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  OzetAltToplamLbl.SetClproSettings(OzetAltToplamLbl.clprosettings);

  OzetKdvLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetKdvLbl', 'Hesaplanan KDV: 0 TL');
  OzetKdvLbl.Align = alTop; OzetKdvLbl.Height = 25;
  OzetKdvLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  OzetKdvLbl.SetClproSettings(OzetKdvLbl.clprosettings);

  OzetGenelToplamLbl = MyForm.AddNewProLabel(ToplamIcerikPnl, 'OzetGenelToplamLbl', 'Ödenecek Tutar: 0 TL');
  OzetGenelToplamLbl.Align = alTop; OzetGenelToplamLbl.Height = 30;
  OzetGenelToplamLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  OzetGenelToplamLbl.SetClproSettings(OzetGenelToplamLbl.clprosettings);

  OverlayPnl = MyForm.AddNewProPanel(BgPnl, 'OverlayPnl');
  OverlayPnl.Align = alClient; OverlayPnl.Visible = False;
  OverlayPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2'); 
  OverlayPnl.SetClproSettings(OverlayPnl.clprosettings);

  PopupPanel = MyForm.AddNewProPanel(OverlayPnl, 'PopupPanel');
  PopupPanel.Align = alNone; PopupPanel.Width = 340; PopupPanel.Height = 550; 
  PopupPanel.Left = 20; PopupPanel.Top = 60;
  PopupPanel.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF');
  PopupPanel.clprosettings.RoundHeight = 20; 
  PopupPanel.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  PopupPanel.clprosettings.BorderWidth = 2;
  PopupPanel.SetClproSettings(PopupPanel.clprosettings);

  KapatBtn = MyForm.AddNewProButton(PopupPanel, 'KapatBtn', 'X');
  KapatBtn.Align = alNone; KapatBtn.Width = 35; KapatBtn.Height = 35; KapatBtn.Left = 295; KapatBtn.Top = 5;
  KapatBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FAF7F2');
  KapatBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  KapatBtn.SetClproSettings(KapatBtn.clprosettings);
  MyForm.AddNewEvent(KapatBtn, tbeOnClick, 'KapatSatisPanel'); 

  SatisOnayBtn = MyForm.AddNewProButton(PopupPanel, 'SatisOnayBtn', 'SATIŞI ONAYLA');
  SatisOnayBtn.Align = alBottom; SatisOnayBtn.Height = 45; SatisOnayBtn.Margins.Bottom = 10; SatisOnayBtn.Margins.Left = 20; SatisOnayBtn.Margins.Right = 20;
  SatisOnayBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  SatisOnayBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  SatisOnayBtn.SetClproSettings(SatisOnayBtn.clprosettings);
  MyForm.AddNewEvent(SatisOnayBtn, tbeOnClick, 'SatisYap'); 

  SatisScroll = MyForm.AddNewVertScrollBox(PopupPanel, 'SatisScroll');
  SatisScroll.Align = alClient;
  SatisScroll.Margins.Top = 10;
  SatisScroll.Margins.Bottom = 60; 

  SatBaslikLbl = MyForm.AddNewProLabel(SatisScroll, 'SatBaslikLbl', '--- SATICI (SİZİN) BİLGİLERİNİZ ---');
  SatBaslikLbl.Align = alTop; SatBaslikLbl.Height = 25; SatBaslikLbl.Margins.Top = 10; SatBaslikLbl.Margins.Left = 20;
  SatBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  SatBaslikLbl.SetClproSettings(SatBaslikLbl.clprosettings);

  SaticiUnvanEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiUnvanEdt', 'Firma Unvanı / Ad Soyad');
  SaticiUnvanEdt.Align = alTop; SaticiUnvanEdt.Height = 40; SaticiUnvanEdt.Margins.Top = 5; SaticiUnvanEdt.Margins.Left = 20; SaticiUnvanEdt.Margins.Right = 20;
  SaticiUnvanEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiUnvanEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiUnvanEdt.clprosettings.BorderWidth = 1;
  SaticiUnvanEdt.SetClproSettings(SaticiUnvanEdt.clprosettings);

  SaticiVknEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiVknEdt', 'VKN / TCKN');
  SaticiVknEdt.Align = alTop; SaticiVknEdt.Height = 40; SaticiVknEdt.Margins.Top = 5; SaticiVknEdt.Margins.Left = 20; SaticiVknEdt.Margins.Right = 20;
  SaticiVknEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiVknEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiVknEdt.clprosettings.BorderWidth = 1;
  SaticiVknEdt.SetClproSettings(SaticiVknEdt.clprosettings);

  SaticiVdEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiVdEdt', 'Vergi Dairesi');
  SaticiVdEdt.Align = alTop; SaticiVdEdt.Height = 40; SaticiVdEdt.Margins.Top = 5; SaticiVdEdt.Margins.Left = 20; SaticiVdEdt.Margins.Right = 20;
  SaticiVdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiVdEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiVdEdt.clprosettings.BorderWidth = 1;
  SaticiVdEdt.SetClproSettings(SaticiVdEdt.clprosettings);

  SaticiAdresEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiAdresEdt', 'Adresiniz');
  SaticiAdresEdt.Align = alTop; SaticiAdresEdt.Height = 40; SaticiAdresEdt.Margins.Top = 5; SaticiAdresEdt.Margins.Left = 20; SaticiAdresEdt.Margins.Right = 20;
  SaticiAdresEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiAdresEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiAdresEdt.clprosettings.BorderWidth = 1;
  SaticiAdresEdt.SetClproSettings(SaticiAdresEdt.clprosettings);

  SaticiTelEdt = MyForm.AddNewProEdit(SatisScroll, 'SaticiTelEdt', 'İletişim (Tel/E-Posta)');
  SaticiTelEdt.Align = alTop; SaticiTelEdt.Height = 40; SaticiTelEdt.Margins.Top = 5; SaticiTelEdt.Margins.Left = 20; SaticiTelEdt.Margins.Right = 20;
  SaticiTelEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SaticiTelEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SaticiTelEdt.clprosettings.BorderWidth = 1;
  SaticiTelEdt.SetClproSettings(SaticiTelEdt.clprosettings);

  MusBaslikLbl = MyForm.AddNewProLabel(SatisScroll, 'MusBaslikLbl', '--- ALICI (MÜŞTERİ) BİLGİLERİ ---');
  MusBaslikLbl.Align = alTop; MusBaslikLbl.Height = 25; MusBaslikLbl.Margins.Top = 20; MusBaslikLbl.Margins.Left = 20;
  MusBaslikLbl.clprosettings.FontColor = clAlphaColor.clHexToColor('#5A4A3A');
  MusBaslikLbl.SetClproSettings(MusBaslikLbl.clprosettings);

  AliciAdiEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciAdiEdt', 'Müşteri Unvanı / Ad Soyad');
  AliciAdiEdt.Align = alTop; AliciAdiEdt.Height = 40; AliciAdiEdt.Margins.Top = 5; AliciAdiEdt.Margins.Left = 20; AliciAdiEdt.Margins.Right = 20;
  AliciAdiEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciAdiEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciAdiEdt.clprosettings.BorderWidth = 1;
  AliciAdiEdt.SetClproSettings(AliciAdiEdt.clprosettings);

  AliciVknEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciVknEdt', 'Müşteri VKN / TCKN');
  AliciVknEdt.Align = alTop; AliciVknEdt.Height = 40; AliciVknEdt.Margins.Top = 5; AliciVknEdt.Margins.Left = 20; AliciVknEdt.Margins.Right = 20;
  AliciVknEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciVknEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciVknEdt.clprosettings.BorderWidth = 1;
  AliciVknEdt.SetClproSettings(AliciVknEdt.clprosettings);

  AliciVdEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciVdEdt', 'Müşteri Vergi Dairesi');
  AliciVdEdt.Align = alTop; AliciVdEdt.Height = 40; AliciVdEdt.Margins.Top = 5; AliciVdEdt.Margins.Left = 20; AliciVdEdt.Margins.Right = 20;
  AliciVdEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciVdEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciVdEdt.clprosettings.BorderWidth = 1;
  AliciVdEdt.SetClproSettings(AliciVdEdt.clprosettings);

  AliciAdresEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciAdresEdt', 'Müşteri Adresi (İl/İlçe)');
  AliciAdresEdt.Align = alTop; AliciAdresEdt.Height = 40; AliciAdresEdt.Margins.Top = 5; AliciAdresEdt.Margins.Left = 20; AliciAdresEdt.Margins.Right = 20;
  AliciAdresEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciAdresEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciAdresEdt.clprosettings.BorderWidth = 1;
  AliciAdresEdt.SetClproSettings(AliciAdresEdt.clprosettings);

  AliciTelEdt = MyForm.AddNewProEdit(SatisScroll, 'AliciTelEdt', 'Müşteri İletişim (Tel/Mail)');
  AliciTelEdt.Align = alTop; AliciTelEdt.Height = 40; AliciTelEdt.Margins.Top = 5; AliciTelEdt.Margins.Left = 20; AliciTelEdt.Margins.Right = 20;
  AliciTelEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AliciTelEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  AliciTelEdt.clprosettings.BorderWidth = 1;
  AliciTelEdt.SetClproSettings(AliciTelEdt.clprosettings);

  SatisAdetEdt = MyForm.AddNewProEdit(SatisScroll, 'SatisAdetEdt', 'Satılacak Adet Giriniz');
  SatisAdetEdt.Align = alTop; SatisAdetEdt.Height = 40; SatisAdetEdt.Margins.Top = 15; SatisAdetEdt.Margins.Left = 20; SatisAdetEdt.Margins.Right = 20;
  SatisAdetEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  SatisAdetEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SatisAdetEdt.clprosettings.BorderWidth = 1;
  SatisAdetEdt.SetClproSettings(SatisAdetEdt.clprosettings);

  LoginBgPnl = MyForm.AddNewProPanel(MyForm, 'LoginBgPnl');
  LoginBgPnl.Align = alClient;
  LoginBgPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FAF7F2'); 
  LoginBgPnl.SetClproSettings(LoginBgPnl.clprosettings);

  MaskPnl = MyForm.AddNewProPanel(LoginBgPnl, 'MaskPnl');
  MaskPnl.Align = alClient;
  MaskPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FAF7F2'); 
  MaskPnl.Margins.Top = -60; 
  MaskPnl.SetClproSettings(MaskPnl.clprosettings);

  MainPnl = MyForm.AddNewProPanel(MaskPnl, 'MainPnl');
  MainPnl.Align = alLeft; MainPnl.Width = 450; 
  MainPnl.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FFFFFF'); 
  MainPnl.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7'); 
  MainPnl.clprosettings.BorderWidth = 1;
  MainPnl.SetClproSettings(MainPnl.clprosettings);
  
  KullaniciAdiEdt = MyForm.AddNewProEdit(MainPnl, 'KullaniciAdiEdt', 'Kullanici Adi');
  KullaniciAdiEdt.Align = alTop; KullaniciAdiEdt.Height = 50; KullaniciAdiEdt.margins.top = 100; 
  KullaniciAdiEdt.margins.left = 50; KullaniciAdiEdt.margins.right = 50;
  KullaniciAdiEdt.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FCFAFA'); 
  KullaniciAdiEdt.clprosettings.FontColor = clalphacolor.clhextoColor('#000000');
  KullaniciAdiEdt.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  KullaniciAdiEdt.clprosettings.BorderWidth = 1;
  KullaniciAdiEdt.SetClproSettings(KullaniciAdiEdt.ClproSettings);
  
  SifreEdit = MyForm.AddNewProEdit(MainPnl, 'SifreEdit', 'Sifre');
  SifreEdit.Align = alTop; SifreEdit.Height = 50; SifreEdit.Password = True; 
  SifreEdit.margins.top = 20; SifreEdit.margins.left = 50; SifreEdit.margins.right = 50;
  SifreEdit.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#FCFAFA');
  SifreEdit.clprosettings.FontColor = clalphacolor.clhextoColor('#000000');
  SifreEdit.clprosettings.BorderColor = clAlphaColor.clHexToColor('#E4CDA7');
  SifreEdit.clprosettings.BorderWidth = 1;
  SifreEdit.SetClproSettings(SifreEdit.ClproSettings);

  BtnGoz = MyForm.AddNewProButton(SifreEdit, 'BtnGoz', 'GÖSTER');
  BtnGoz.Align = alRight; BtnGoz.Width = 80;
  BtnGoz.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnGoz.clprosettings.BackGroundColor = clAlphaColor.clHexToColor('#E4CDA7');
  BtnGoz.SetClproSettings(BtnGoz.ClproSettings);
  MyForm.AddNewEvent(BtnGoz, tbeOnClick, 'GozTiklandi'); 
  
  Giris = MyForm.AddNewProButton(MainPnl, 'Giris', 'OTURUM AÇ');
  Giris.Align = alTop; Giris.Height = 50; Giris.margins.top = 30; Giris.margins.left = 50; Giris.margins.right = 50;
  Giris.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  Giris.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Giris.SetClproSettings(Giris.ClproSettings);
  MyForm.AddNewEvent(Giris, tbeOnClick, 'GirisYapTiklandi'); 
  
  Kayit = MyForm.AddNewProButton(MainPnl, 'Kayit', 'HESAP OLUŞTUR');
  Kayit.Align = alTop; Kayit.Height = 50; Kayit.margins.top = 10; Kayit.margins.left = 50; Kayit.margins.right = 50;
  Kayit.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  Kayit.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Kayit.SetClproSettings(Kayit.ClproSettings);
  MyForm.AddNewEvent(Kayit, tbeOnClick, 'KayitOlTiklandi'); 

  SocialPnl = MyForm.AddNewProPanel(MainPnl, 'SocialPnl');
  SocialPnl.Align = alTop; SocialPnl.Height = 45; SocialPnl.margins.top = 40;
  SocialPnl.SetClproSettings(SocialPnl.ClproSettings);

  BtnGoogle = MyForm.AddNewProButton(SocialPnl, 'BtnGoogle', 'Google');
  BtnGoogle.Align = alLeft; BtnGoogle.Width = 165; BtnGoogle.margins.left = 50;
  BtnGoogle.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7'); 
  BtnGoogle.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnGoogle.SetClproSettings(BtnGoogle.ClproSettings);
  
  BtnFacebook = MyForm.AddNewProButton(SocialPnl, 'BtnFacebook', 'Facebook');
  BtnFacebook.Align = alRight; BtnFacebook.Width = 165; BtnFacebook.margins.right = 50;
  BtnFacebook.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  BtnFacebook.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnFacebook.SetClproSettings(BtnFacebook.ClproSettings);

  MyForm.Run;
}


kodu inceler misin?





https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 837
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12 Saat 39 Dakika Önce Saat 20:33
Bir diğer tavsiyem de Erbay bütün kodları tek bir anakoda yazmaktansa kodları parçalaman yani birimlere bölerek yazman kod yönetimini daha çok kolaylaştırırhttps://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

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

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

Bu Sayfa 0,063 Saniyede Yüklendi.