![]() |
| 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
|
| Yazar | |
ERRBAAY
Yeni Üye
Kayıt Tarihi: 1 saat 46 Dakika Önce Durum: Aktif Değil Puanlar: 2 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: Local data baseGönderim Zamanı: 1 saat 39 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">
|
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |