Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - koduma hesap oluştur eklemek istiyorum
  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.

koduma hesap oluştur eklemek istiyorum

 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: 04 Mayıs 2026
Durum: Aktif Değil
Puanlar: 4
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: koduma hesap oluştur eklemek istiyorum
    Gönderim Zamanı: 3 Saat 34 Dakika Önce Saat 22:24
koduma hesap ekleme kodu eklemek istiyorum yardımcı olurmusunuz kodum bu 


var
  MyForm : TclForm;
  
  // --- GÖRSEL (RESİM) DEĞİŞKENLERİ ---
  ImgLogin, ImgLoginTop, ImgAnaEkran, ImgStok, ImgSatisBg, ImgFisBg, ImgFatura : TClProImage;

  // --- GİRİŞ EKRANI DEĞİŞKENLERİ ---
  LoginBgPnl, MainPnl, SocialPnl : TClProPanel;
  KullaniciAdiEdt, SifreEdit : TClProEdit;
  Giris, Kayit, BtnGoogle, BtnFacebook, BtnGoz : TClProButton;
  SifreDurum : Boolean;

  // --- STOK/SATIŞ ANA SAYFA DEĞİŞKENLERİ ---
  BgPnl, MenuPnl, FloatingTopPnl : TClProPanel;
  AnaEkranPanel, StokPanel, StokFormPnl, SatisPanel, FislerPanel, PopupPanel, OverlayPnl : TClProPanel;
  
  // ŞEFFAF ANA MENÜ BUTONLARI (ŞİMDİLİK SİYAH YAPILDI)
  BtnSeffafAnaEkran, BtnSeffafStok, BtnSeffafUrunler, BtnSeffafFisler : TClProLabel;
  
  // --- E-FATURA SAYFASI DEĞİŞKENLERİ ---
  FisDetayPanel, FaturaTopPnl, KagitPnl, UstBilgiPnl, SaticiPnl, FaturaSagPnl, FaturaSolPnl, 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; 

  // --- SATIŞ POPUP DEĞİŞKENLERİ ---
  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;
  KasaLbl, ToplamStokLbl : TclProLabel;
  
  GenelStok, SeciliUrunID : Integer;
  ToplamKasa : Double;

// ==========================================
// --- ÖN BİLDİRİMLER (FORWARD) ---
// ==========================================
void UrunleriListele; forward;
void SatislariListele; forward;
void ShowAnaEkranMod; forward;

// ==========================================
// --- VERİTABANI (SQLITE) KURULUMU ---
// ==========================================
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;
}

// ==========================================
// --- BUTON VE ARAYÜZ ETKİLEŞİMLERİ ---
// ==========================================

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')))
  { 
    LoginBgPnl.Visible = False;
    BgPnl.Visible = True; 
    
    UrunleriListele;
    SatislariListele;
    
    ShowAnaEkranMod; 
  } 
  else 
  { 
    ShowMessage('Hatalı kullanıcı adı veya şifre girdiniz.'); 
  }
}

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

// --- MENÜ EKRAN DEĞİŞTİRME FONKSİYONLARI ---
void ShowAnaEkranMod; { AnaEkranPanel.Visible = True; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; MenuPnl.Visible = False; FloatingTopPnl.Visible = False; }
void ShowStokMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = True; SatisPanel.Visible = False; FislerPanel.Visible = False; FisDetayPanel.Visible = False; MenuPnl.Visible = False; FloatingTopPnl.Visible = True; FloatingTopPnl.BringToFront; }
void ShowSatisMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = True; FislerPanel.Visible = False; FisDetayPanel.Visible = False; MenuPnl.Visible = False; FloatingTopPnl.Visible = True; FloatingTopPnl.BringToFront; }
void ShowFislerMod; { AnaEkranPanel.Visible = False; StokPanel.Visible = False; SatisPanel.Visible = False; FislerPanel.Visible = True; FisDetayPanel.Visible = False; MenuPnl.Visible = False; FloatingTopPnl.Visible = True; FloatingTopPnl.BringToFront; }

// ==========================================
// --- VERİTABANI İŞLEMLERİ ---
// ==========================================

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;
  ListScrl.BringToFront;
  
  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;
  FislerScrl.BringToFront;
  
  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 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;    
}

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;
}

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

// ==========================================
// --- TASARIM VE İLK KURULUM ---
// ==========================================
{
  MyForm = TclForm.Create(self);
  VeritabaniKurulumu;
  SifreDurum = False;

  BgPnl = MyForm.AddNewProPanel(MyForm, 'BgPnl');
  BgPnl.Align = alClient; 
  BgPnl.Visible = False;  
  BgPnl.clprosettings.BorderWidth = 0; 
  BgPnl.SetClproSettings(BgPnl.clprosettings); 

  FloatingTopPnl = MyForm.AddNewProPanel(BgPnl, 'FloatingTopPnl');
  FloatingTopPnl.Align = alTop; FloatingTopPnl.Height = 60; 
  FloatingTopPnl.Visible = False; 
  FloatingTopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#00000000'); 
  FloatingTopPnl.clprosettings.BorderWidth = 0; 
  FloatingTopPnl.SetClproSettings(FloatingTopPnl.clprosettings);

  MenuBtn = MyForm.AddNewProButton(FloatingTopPnl, 'MenuBtn', '≡ MENÜ');
  MenuBtn.Align = alRight; MenuBtn.Width = 90; MenuBtn.Margins.Top = 10; MenuBtn.Margins.Right = 10; MenuBtn.Margins.Bottom = 10;
  MenuBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FFFFFF'); 
  MenuBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  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('#FFFFFF'); 
  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.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.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.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.SetClproSettings(FislerBtn.clprosettings);
  MyForm.AddNewEvent(FislerBtn, tbeOnClick, 'ShowFislerMod');

  // ==========================================
  // --- 1. ANA EKRAN PANELİ (1.png FULL) ---
  // ==========================================
  AnaEkranPanel = MyForm.AddNewProPanel(BgPnl, 'AnaEkranPanel');
  AnaEkranPanel.Align = alClient;
  AnaEkranPanel.clprosettings.BorderWidth = 0;
  AnaEkranPanel.SetClproSettings(AnaEkranPanel.clprosettings);

  ImgAnaEkran = MyForm.AddNewProImage(AnaEkranPanel, 'ImgAnaEkran');
  ImgAnaEkran.Align = alClient; 
  MyForm.SetImage(ImgAnaEkran, '1.png');

  // YARI SAYDAM SİYAH YAPILIP SAĞA KAYDIRILAN TEST KUTULARI (Ayarı yapınca #00000000 yap)
  BtnSeffafAnaEkran = MyForm.AddNewProLabel(AnaEkranPanel, 'BtnSeffafAnaEkran', '');
  BtnSeffafAnaEkran.Align = alNone; BtnSeffafAnaEkran.Width = 140; BtnSeffafAnaEkran.Height = 40;
  BtnSeffafAnaEkran.Left = 360; BtnSeffafAnaEkran.Top = 50; 
  BtnSeffafAnaEkran.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#88000000'); 
  BtnSeffafAnaEkran.SetClproSettings(BtnSeffafAnaEkran.clprosettings);
  BtnSeffafAnaEkran.BringToFront;
  MyForm.AddNewEvent(BtnSeffafAnaEkran, tbeOnClick, 'ShowAnaEkranMod');

  BtnSeffafStok = MyForm.AddNewProLabel(AnaEkranPanel, 'BtnSeffafStok', '');
  BtnSeffafStok.Align = alNone; BtnSeffafStok.Width = 140; BtnSeffafStok.Height = 40;
  BtnSeffafStok.Left = 520; BtnSeffafStok.Top = 50; 
  BtnSeffafStok.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#88000000'); 
  BtnSeffafStok.SetClproSettings(BtnSeffafStok.clprosettings);
  BtnSeffafStok.BringToFront;
  MyForm.AddNewEvent(BtnSeffafStok, tbeOnClick, 'ShowStokMod');

  BtnSeffafUrunler = MyForm.AddNewProLabel(AnaEkranPanel, 'BtnSeffafUrunler', '');
  BtnSeffafUrunler.Align = alNone; BtnSeffafUrunler.Width = 140; BtnSeffafUrunler.Height = 40;
  BtnSeffafUrunler.Left = 700; BtnSeffafUrunler.Top = 50; 
  BtnSeffafUrunler.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#88000000'); 
  BtnSeffafUrunler.SetClproSettings(BtnSeffafUrunler.clprosettings);
  BtnSeffafUrunler.BringToFront;
  MyForm.AddNewEvent(BtnSeffafUrunler, tbeOnClick, 'ShowSatisMod');

  BtnSeffafFisler = MyForm.AddNewProLabel(AnaEkranPanel, 'BtnSeffafFisler', '');
  BtnSeffafFisler.Align = alNone; BtnSeffafFisler.Width = 140; BtnSeffafFisler.Height = 40;
  BtnSeffafFisler.Left = 850; BtnSeffafFisler.Top = 50; 
  BtnSeffafFisler.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#88000000'); 
  BtnSeffafFisler.SetClproSettings(BtnSeffafFisler.clprosettings);
  BtnSeffafFisler.BringToFront;
  MyForm.AddNewEvent(BtnSeffafFisler, tbeOnClick, 'ShowFislerMod');

  // ==========================================
  // --- 2. STOK YÖNETİMİ PANELİ (3.png FULL) ---
  // ==========================================
  StokPanel = MyForm.AddNewProPanel(BgPnl, 'StokPanel');
  StokPanel.Align = alClient; StokPanel.Visible = False; 
  StokPanel.clprosettings.BorderWidth = 0;
  StokPanel.SetClproSettings(StokPanel.clprosettings);

  ImgStok = MyForm.AddNewProImage(StokPanel, 'ImgStok');
  ImgStok.Align = alClient; 
  MyForm.SetImage(ImgStok, '3.png');

  StokFormPnl = MyForm.AddNewProPanel(StokPanel, 'StokFormPnl');
  StokFormPnl.Align = alLeft; StokFormPnl.Width = 400; 
  StokFormPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#00000000'); 
  StokFormPnl.clprosettings.BorderWidth = 0;
  StokFormPnl.SetClproSettings(StokFormPnl.clprosettings);
  StokFormPnl.BringToFront;

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

  AdetEdt = MyForm.AddNewProEdit(StokFormPnl, 'AdetEdt', 'Adet');
  AdetEdt.Align = alTop; AdetEdt.Height = 50; AdetEdt.Margins.Top = 15;
  AdetEdt.Margins.Left = 40; AdetEdt.Margins.Right = 40;
  AdetEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  AdetEdt.SetClproSettings(AdetEdt.clprosettings);

  FiyatEdt = MyForm.AddNewProEdit(StokFormPnl, 'FiyatEdt', 'Fiyat');
  FiyatEdt.Align = alTop; FiyatEdt.Height = 50; FiyatEdt.Margins.Top = 15;
  FiyatEdt.Margins.Left = 40; FiyatEdt.Margins.Right = 40;
  FiyatEdt.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#FCFAFA');
  FiyatEdt.SetClproSettings(FiyatEdt.clprosettings);

  KaydetBtn = MyForm.AddNewProButton(StokFormPnl, 'KaydetBtn', 'STOKLA');
  KaydetBtn.Align = alTop; KaydetBtn.Height = 50; KaydetBtn.Margins.Top = 30;
  KaydetBtn.Margins.Left = 40; KaydetBtn.Margins.Right = 40;
  KaydetBtn.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#E4CDA7'); 
  KaydetBtn.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  KaydetBtn.SetClproSettings(KaydetBtn.clprosettings);
  MyForm.AddNewEvent(KaydetBtn, tbeOnClick, 'UrunEkle'); 

  // ==========================================
  // --- 3. ÜRÜNLER LİSTESİ PANELİ (4.png FULL) ---
  // ==========================================
  SatisPanel = MyForm.AddNewProPanel(BgPnl, 'SatisPanel');
  SatisPanel.Align = alClient; SatisPanel.Visible = False;
  SatisPanel.clprosettings.BorderWidth = 0;
  SatisPanel.SetClproSettings(SatisPanel.clprosettings);

  ImgSatisBg = MyForm.AddNewProImage(SatisPanel, 'ImgSatisBg');
  ImgSatisBg.Align = alClient; 
  MyForm.SetImage(ImgSatisBg, '4.png'); 

  // ==========================================
  // --- 4. FİŞLER LİSTESİ PANELİ (5.png FULL) ---
  // ==========================================
  FislerPanel = MyForm.AddNewProPanel(BgPnl, 'FislerPanel');
  FislerPanel.Align = alClient; FislerPanel.Visible = False;
  FislerPanel.clprosettings.BorderWidth = 0;
  FislerPanel.SetClproSettings(FislerPanel.clprosettings);

  ImgFisBg = MyForm.AddNewProImage(FislerPanel, 'ImgFisBg');
  ImgFisBg.Align = alClient; 
  MyForm.SetImage(ImgFisBg, '5.png'); 

  // ==========================================
  // --- E-FATURA / FİŞ MODÜLÜ (6.png FULL) ---
  // ==========================================
  FisDetayPanel = MyForm.AddNewProPanel(BgPnl, 'FisDetayPanel');
  FisDetayPanel.Align = alClient;
  FisDetayPanel.Visible = False; 
  FisDetayPanel.clprosettings.BorderWidth = 0;
  FisDetayPanel.SetClproSettings(FisDetayPanel.clprosettings);

  ImgFatura = MyForm.AddNewProImage(FisDetayPanel, 'ImgFatura');
  ImgFatura.Align = alClient; 
  MyForm.SetImage(ImgFatura, '6.png');

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

  FaturaTopPnl = MyForm.AddNewProPanel(FaturaScrl, 'FaturaTopPnl');
  FaturaTopPnl.Align = alTop; FaturaTopPnl.Height = 50;
  FaturaTopPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#00000000');
  FaturaTopPnl.clprosettings.BorderWidth = 0;
  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');

  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('#EEFFFFFF');
  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);

  // --- SATIŞ POPUP ---
  OverlayPnl = MyForm.AddNewProPanel(BgPnl, 'OverlayPnl');
  OverlayPnl.Align = alClient; OverlayPnl.Visible = False;
  OverlayPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#99000000'); 
  OverlayPnl.SetClproSettings(OverlayPnl.clprosettings);
  OverlayPnl.BringToFront;

  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 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 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');
  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', 'İletişim');
  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);

  // ==========================================
  // --- GİRİŞ EKRANI (İLK AÇILAN EKRAN - 2.png FULL) ---
  // ==========================================
  
  LoginBgPnl = MyForm.AddNewProPanel(MyForm, 'LoginBgPnl');
  LoginBgPnl.Align = alClient;
  LoginBgPnl.clprosettings.BorderWidth = 0; 
  LoginBgPnl.SetClproSettings(LoginBgPnl.clprosettings);

  ImgLogin = MyForm.AddNewProImage(LoginBgPnl, 'ImgLogin');
  ImgLogin.Align = alClient; 
  MyForm.SetImage(ImgLogin, '2.png'); 

  MainPnl = MyForm.AddNewProPanel(LoginBgPnl, 'MainPnl');
  MainPnl.Align = alRight; MainPnl.Width = 400; 
  MainPnl.clprosettings.BackGroundcolor = clAlphaColor.clHexToColor('#00000000'); 
  MainPnl.clprosettings.BorderWidth = 0;
  MainPnl.SetClproSettings(MainPnl.clprosettings);
  MainPnl.BringToFront; 

  KullaniciAdiEdt = MyForm.AddNewProEdit(MainPnl, 'KullaniciAdiEdt', 'Kullanici Adi');
  KullaniciAdiEdt.Align = alTop; KullaniciAdiEdt.Height = 50; KullaniciAdiEdt.margins.top = 280; 
  KullaniciAdiEdt.margins.left = 40; KullaniciAdiEdt.margins.right = 40;
  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 = 40; SifreEdit.margins.right = 40;
  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 = 40; Giris.margins.right = 40;
  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 = 40; Kayit.margins.right = 40;
  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.clprosettings.BorderWidth = 0;
  SocialPnl.SetClproSettings(SocialPnl.ClproSettings);

  BtnGoogle = MyForm.AddNewProButton(SocialPnl, 'BtnGoogle', 'Google');
  BtnGoogle.Align = alLeft; BtnGoogle.Width = 150; BtnGoogle.margins.left = 40;
  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 = 150; BtnFacebook.margins.right = 40;
  BtnFacebook.clprosettings.BackGroundcolor = clalphacolor.clhextoColor('#E4CDA7');
  BtnFacebook.clprosettings.FontColor = clAlphaColor.clHexToColor('#000000');
  BtnFacebook.SetClproSettings(BtnFacebook.ClproSettings);
  
  MyForm.Run;
}

ilginiz için teşekkürler

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: 913
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ı: 3 Saat 22 Dakika Önce Saat 22:36
Merhaba Hüseyin

Öncelikle ürünleriListele prosedürünü şu şekil de günceller misin



void UrunleriListele;
var
  Qry: TclSQLiteQuery;
  CardPnl : TClProPanel;
  BaslikLbl, AltLbl, FiyatLbl, SatisYapLbl : TclProLabel;
  UrunIDStr, UrunAdiStr, StokStr, FiyatStr : String;
{
  if (ListScrl <> nil) { ListScrl.Visible = False; 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('#27ae60');
        SatisYapLbl.clprosettings.FontSize = 14;
        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.clprosettings.FontSize = 16;
        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);
      }
      Qry.Next; 
    }
    KasaVeStokGuncelle;
  finally
    Qry.Free; 
  }
}



sorun için de veritabanına kullanicilar tablosu eklenmesi gerekli 
kayıt olması için bir kayıt paneli gerekli 
girisyaptiklandı prosedürü de güncellenmesi gerekli 

veritabanı kurulum prosedürü
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 Kullanicilar (ID INTEGER PRIMARY KEY AUTOINCREMENT, Kadi TEXT, Sifre TEXT)';
  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;
}

yeni hesap ekleme için 
void YeniHesapKaydet;
var
  Qry: TclSQLiteQuery;
{
  if ((KullaniciAdiEdt.Text == '') || (SifreEdit.Text == ''))
  {
    ShowMessage('Lütfen kayıt için Kullanıcı Adı ve Şifre alanlarını doldurun.');
    exit;
  }

  Qry = TclSQLiteQuery.Create(Nil);
  try
    Qry.Connection = Clomosy.DBSQLiteConnection;
    Qry.Sql.Text = 'SELECT * FROM Kullanicilar WHERE Kadi = ' + QuotedStr(KullaniciAdiEdt.Text);
    Qry.OpenOrExecute;
    
    if (Qry.Found)
    {
      ShowMessage('Bu kullanıcı adı zaten alınmış!');
    }
    else
    {
      Qry.Sql.Text = 'INSERT INTO Kullanicilar (Kadi, Sifre) VALUES (' + 
                     QuotedStr(KullaniciAdiEdt.Text) + ', ' + 
                     QuotedStr(SifreEdit.Text) + ')';
      Qry.OpenOrExecute;
      ShowMessage('Hesabınız başarıyla oluşturuldu! Şimdi giriş yapabilirsiniz.');
    }
  finally
    Qry.Free;
  }
}

giriş kontrolü için
void GirisYapTiklandi;
var
  Qry: TclSQLiteQuery;
{
  Qry = TclSQLiteQuery.Create(Nil);
  try
    Qry.Connection = Clomosy.DBSQLiteConnection;
    Qry.Sql.Text = 'SELECT * FROM Kullanicilar WHERE Kadi = ' + QuotedStr(KullaniciAdiEdt.Text) + 
                   ' AND Sifre = ' + QuotedStr(SifreEdit.Text);
    Qry.OpenOrExecute;

    if (Qry.Found || (KullaniciAdiEdt.Text == 'SONGUZZ' && SifreEdit.Text == '42AHV16.'))
    { 
      LoginBgPnl.Visible = False;
      BgPnl.Visible = True; 
      UrunleriListele;
      SatislariListele;
      ShowAnaEkranMod; 
    } 
    else 
    { 
      ShowMessage('Hatalı kullanıcı adı veya şifre.'); 
    }
  finally
    Qry.Free;
  }
}








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
 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,047 Saniyede Yüklendi.