Sayfayı Yazdır | Pencereyi Kapat

Unit geçişi

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


Konu: Unit geçişi
Mesajı Yazan: CelalTugay
Konu: Unit geçişi
Mesaj Tarihi: 24 Temmuz 2025 Saat 16:56
merhabalar benim bir uHome unitim var bu unitten uretime basınca uUretime gitmek istiyorum ama üretime basınca giriş yap ekranıma gönderiyor nasıl çözebilirim aşşağıda da uHome kodlarım var 

var
  HomeForm: TclForm;
  uUretim,uStok: TclUnit;  // Buraya ekledik
  logo: TclProImage;
  welcomeLabel: TclProLabel;
  btnUretim, btnStok, btnSiparisSatis, btnRaporlama, btnBildirim, btnLogout: TclProButton;

  
  

// Ortak buton stil fonksiyonu
void StyleButton(btn: TclProButton; caption: String; colorHex: String);
{
  btn.Text = caption;
  btn.Align = alTop;
  btn.Height = 50;
  btn.Margins.Top = 15;
  btn.Margins.Left = 50;
  btn.Margins.Right = 50;
  btn.clProSettings.IsRound = True;
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(colorHex);
  btn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  btn.SetclProSettings(btn.clProSettings);
}

// Buton olayları
void OnUretimClick {
  HomeForm.Hide;
  uUretim.UnitName = 'uUretim';  // UretimUnit dosya adı ile eşleşmeli
  uUretim.CallerForm = HomeForm;
  uUretim.Run;
}




void OnStokClick {
  HomeForm.Hide;              // Ana formu gizle
  uStok.UnitName = 'uStok';  // StokUnit dosya adı ile aynı olmalı
  uStok.CallerForm = HomeForm;  // Geri dönmek için referans
  uStok.Run;               // uStok’u aç
}


// OnStokClick { ShowMessage('Stok modülü açılacak.'); }
void OnSiparisSatisClick { ShowMessage('Sipariş ve Satış modülü açılacak.'); }
void OnRaporlamaClick { ShowMessage('Raporlama modülü açılacak.'); }
void OnBildirimClick { ShowMessage('Bildirim modülü açılacak.'); }
void OnLogoutClick { HomeForm.Close; }

{


  uUretim = TclUnit.Create;  // Burada oluşturuldu
  uStok = TclUnit.Create;
  
  HomeForm = TclForm.Create(Self);
  HomeForm.SetFormBGImage(' https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg ');

  // Logo
  logo = HomeForm.AddNewProImage(HomeForm, 'logo');
  logo.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/07/18/XmG3Xo.png" rel="nofollow - https://resmim.net/cdn/2025/07/18/XmG3Xo.png ';
  logo.Align = alTop;
  logo.Height = 170;
  logo.Margins.Top = 30;
  logo.SetclProSettings(logo.clProSettings); // bu satır unutulmamalı

  // Başlık
  welcomeLabel = HomeForm.AddNewProLabel(HomeForm, 'welcomeLabel', 'Ana Sayfa');
  welcomeLabel.Align = alTop;
  welcomeLabel.Height = 50;
  welcomeLabel.Margins.Top = 20;
  welcomeLabel.clProSettings.FontSize = 24;
  welcomeLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  welcomeLabel.clProSettings.TextSettings.Font.Style = [fsBold];
  welcomeLabel.SetclProSettings(welcomeLabel.clProSettings);

  // 1. Üretim
  btnUretim = HomeForm.AddNewProButton(HomeForm, 'btnUretim', '');
  StyleButton(btnUretim, 'Üretim', '#000000');
  HomeForm.AddNewEvent(btnUretim, tbeOnClick, 'OnUretimClick');

  // 2. Stok
  btnStok = HomeForm.AddNewProButton(HomeForm, 'btnStok', '');
  StyleButton(btnStok, 'Stok', '#000000');
  HomeForm.AddNewEvent(btnStok, tbeOnClick, 'OnStokClick');

  // 3. Sipariş ve Satış
  btnSiparisSatis = HomeForm.AddNewProButton(HomeForm, 'btnSiparisSatis', '');
  StyleButton(btnSiparisSatis, 'Sipariş ve Satış', '#000000');
  HomeForm.AddNewEvent(btnSiparisSatis, tbeOnClick, 'OnSiparisSatisClick');

  // 4. Raporlama
  btnRaporlama = HomeForm.AddNewProButton(HomeForm, 'btnRaporlama', '');
  StyleButton(btnRaporlama, 'Raporlama', '#000000');
  HomeForm.AddNewEvent(btnRaporlama, tbeOnClick, 'OnRaporlamaClick');

  // 5. Bildirim
  btnBildirim = HomeForm.AddNewProButton(HomeForm, 'btnBildirim', '');
  StyleButton(btnBildirim, 'Bildirim', '#000000');
  HomeForm.AddNewEvent(btnBildirim, tbeOnClick, 'OnBildirimClick');

  // Çıkış Yap
  btnLogout = HomeForm.AddNewProButton(HomeForm, 'btnLogout', '');
  StyleButton(btnLogout, 'Çıkış Yap', '#ffea00');
  btnLogout.Margins.Bottom = 30;
  btnLogout.Align = alBottom;
  HomeForm.AddNewEvent(btnLogout, tbeOnClick, 'OnLogoutClick');

  HomeForm.Run;
}




Cevaplar:
Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 24 Temmuz 2025 Saat 17:14
Merhaba Celal,
uÜretim=TclUnit.create ve uStok=TclUnit.Create satırlarını ve unite geçmek için yaptığın fonksiiyonları silip  
void onUretimClick;
{
Clomosy.RunUnit('uUretim');
{
//butonda
HomeForm.AddNewEvent(btnUretim, tbeOnClick, 'OnUretimClick');

aynısını stok uniti ve butonu içinde yaparak tekrar deneyebilir misin ?   
İyi Çalışmalar


Mesajı Yazan: CelalTugay
Mesaj Tarihi: 24 Temmuz 2025 Saat 17:40
Sude Hanım çok teşekkürler ama maalesef ki verdiğiniz kodu denedim ve  çalıştıramadım,aşşağıda kodu değiştirdiğim şekilde atayım birde siz kontrol edin 

var
  HomeForm: TclForm;
  uUretim,uStok: TclUnit;  // Buraya ekledik
  logo: TclProImage;
  welcomeLabel: TclProLabel;
  btnUretim, btnStok, btnSiparisSatis, btnRaporlama, btnBildirim, btnLogout: TclProButton;

// Ortak buton stil fonksiyonu
void StyleButton(btn: TclProButton; caption: String; colorHex: String);
{
  btn.Text = caption;
  btn.Align = alTop;
  btn.Height = 50;
  btn.Margins.Top = 15;
  btn.Margins.Left = 50;
  btn.Margins.Right = 50;
  btn.clProSettings.IsRound = True;
  btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(colorHex);
  btn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  btn.SetclProSettings(btn.clProSettings);
}

void OnUretimClick;
{
Clomosy.RunUnit('uUretim');
}

void OnStokClickk;
{
Clomosy.RunUnit('uStok');
}

// OnStokClick { ShowMessage('Stok modülü açılacak.'); }
void OnSiparisSatisClick { ShowMessage('Sipariş ve Satış modülü açılacak.'); }
void OnRaporlamaClick { ShowMessage('Raporlama modülü açılacak.'); }
void OnBildirimClick { ShowMessage('Bildirim modülü açılacak.'); }
void OnLogoutClick { HomeForm.Close; }

{


 // uUretim = TclUnit.Create;  // Burada oluşturuldu
 // uStok = TclUnit.Create;
  
  HomeForm = TclForm.Create(Self);
  HomeForm.SetFormBGImage(' https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/18/Xm5rHT.jpg ');

  // Logo
  logo = HomeForm.AddNewProImage(HomeForm, 'logo');
  logo.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/07/18/XmG3Xo.png" rel="nofollow - https://resmim.net/cdn/2025/07/18/XmG3Xo.png ';
  logo.Align = alTop;
  logo.Height = 170;
  logo.Margins.Top = 30;
  logo.SetclProSettings(logo.clProSettings); // bu satır unutulmamalı

  // Başlık
  welcomeLabel = HomeForm.AddNewProLabel(HomeForm, 'welcomeLabel', 'Ana Sayfa');
  welcomeLabel.Align = alTop;
  welcomeLabel.Height = 50;
  welcomeLabel.Margins.Top = 20;
  welcomeLabel.clProSettings.FontSize = 24;
  welcomeLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  welcomeLabel.clProSettings.TextSettings.Font.Style = [fsBold];
  welcomeLabel.SetclProSettings(welcomeLabel.clProSettings);

  // 1. Üretim
  btnUretim = HomeForm.AddNewProButton(HomeForm, 'btnUretim', '');
  StyleButton(btnUretim, 'Üretim', '#000000');
  HomeForm.AddNewEvent(btnUretim, tbeOnClick, 'OnUretimClick');
  

  // 2. Stok
  btnStok = HomeForm.AddNewProButton(HomeForm, 'btnStok', '');
  StyleButton(btnStok, 'Stok', '#000000');
  HomeForm.AddNewEvent(btnStok, tbeOnClick, 'OnStokClick');

  // 3. Sipariş ve Satış
  btnSiparisSatis = HomeForm.AddNewProButton(HomeForm, 'btnSiparisSatis', '');
  StyleButton(btnSiparisSatis, 'Sipariş ve Satış', '#000000');
  HomeForm.AddNewEvent(btnSiparisSatis, tbeOnClick, 'OnSiparisSatisClick');

  // 4. Raporlama
  btnRaporlama = HomeForm.AddNewProButton(HomeForm, 'btnRaporlama', '');
  StyleButton(btnRaporlama, 'Raporlama', '#000000');
  HomeForm.AddNewEvent(btnRaporlama, tbeOnClick, 'OnRaporlamaClick');

  // 5. Bildirim
  btnBildirim = HomeForm.AddNewProButton(HomeForm, 'btnBildirim', '');
  StyleButton(btnBildirim, 'Bildirim', '#000000');
  HomeForm.AddNewEvent(btnBildirim, tbeOnClick, 'OnBildirimClick');

  // Çıkış Yap
  btnLogout = HomeForm.AddNewProButton(HomeForm, 'btnLogout', '');
  StyleButton(btnLogout, 'Çıkış Yap', '#ffea00');
  btnLogout.Margins.Bottom = 30;
  btnLogout.Align = alBottom;
  HomeForm.AddNewEvent(btnLogout, tbeOnClick, 'OnLogoutClick');

  HomeForm.Run;
}



Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 24 Temmuz 2025 Saat 18:00
Merhaba Celal,
geçmek istediğin uniti doğru bir şekilde oluşturduğundan emin misin  uUretim unitine test amaçlı aşağıdaki kodu yazdım ve değiştirdiğin kodu çalıştırınca sorunsuz bir şekilde çalıştı gitmek istediğin uniti gerekli kodlamaları yaparak formu run etmen gerekiyor 

//uUretim test amaçlı kod
var
myform:TclForm;

{
  myform=TclForm.Create(self);
  myform.Run;
}

umarım anlaşılmıştır , iyi çalışmalar dilerim


Mesajı Yazan: CelalTugay
Mesaj Tarihi: 24 Temmuz 2025 Saat 18:18
Merhaba Sude,
çok teşekkür ederim çalıştırdım, iyi çalışmalar dilerim. 



Sayfayı Yazdır | Pencereyi Kapat

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