Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Çok ekranlı uygulama yapımı
  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.

Çok ekranlı uygulama yapımı

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

Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BerkayDuru Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Çok ekranlı uygulama yapımı
    Gönderim Zamanı: 09 Ağustos 2023 Saat 14:23
Daha önce rununit kullanarak 2 ekranlı bir uygulama yapmıştım. Şimdi her ekran için unit kullanmadan ileri geri tuşları ekleyerek çok ekranlı bir uygulama yapmak istiyorum nasıl bir yapı kullanabilirim.

(Örneğin ana ekranımda 5 tane buton bulunacak her buton farklı bir sayfa açacak.)
Yukarı Dön
Alforce Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Alforce Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Ağustos 2023 Saat 15:51
Bu aslında çok ekranlı değil, çok formlu bir yapı olur.

Her form için yeni bir unite ihtiyacınız yok.

Tek unit içinde istediğiniz kadar form kullanabilirsiniz:
Var
  MyForm: TclForm;
  SecondaryForm: TclForm;
  TertiaryForm: TclForm;
  But1, But2: TclButton;

Procedure But1Click;
Begin
  SecondaryForm:= TclForm.Create(Self);
  SecondaryForm.Run;
End;

Procedure But2Click;
Begin
  TertiaryForm:= TclForm.Create(Self);
  TertiaryForm.Run;
End;

Begin
  MyForm:= TclForm.Create(Self);
  
  But1:= MyForm.AddNewButton(MyForm, 'but1', 'Button1');
  But1.Align:= alLeft;
  MyForm.AddNewEvent(But1, tbeOnClick, 'But1Click');
  
  But2:= MyForm.AddNewButton(MyForm, 'but2', 'Button2');
  But2.Align:= alRight;
  MyForm.AddNewEvent(But2, tbeOnClick, 'But2Click');
  
  MyForm.Run;
End;
Yukarı Dön
BerkayDuru Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BerkayDuru Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Ağustos 2023 Saat 16:25
Bunu kendim de denemiştim ama bu formatta "Procedure But1Click" içine kendi formumu koyduğum zaman ilk prosedürümün olduğu yerde syntax hatası alıyorum. 
Nasıl bir kullanım yapmalıyım ? 
İçi boş form değil de içinde herhangi bir procedure olan form koyarak bir örnek yapabilir misiniz.
Yukarı Dön
Alforce Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Alforce Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Ağustos 2023 Saat 16:29
Demek istediğinizi tam anlayamadım.

Sanırım sorununuz bir prosedürü açıklamadan kullanmak.
Bir metodu kullanmadan önce kodunu yazmalısınız.

Kodunuzu paylaşırsanız daha çok yardımcı olabilirim.


Düzenleyen Alforce - 09 Ağustos 2023 Saat 16:30
Yukarı Dön
BerkayDuru Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BerkayDuru Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Ağustos 2023 Saat 16:43
Örneğin bu kodun but1 e basınca çalışması için ne yapılmalı.

var
   MyForm:TclForm;
   I:integer;
   startBtn:TCLButton;
Procedure StartBtnOnClick; begin for I := 1 to 6 do begin case I of 1:ShowMessage('Hello World'); 2:ShowMessage('Number 2'); else begin ShowMessage('Others=> counter: '+IntToStr(I)); end; end; end; end;
begin MyForm := TclForm.Create(Self);
startBtn:= MyForm.AddNewButton(MyForm,'startBtn','SHOW'); startBtn.TextSettings.Font.Size:=50; startBtn.Align := alCenter; startBtn.Height := 50; startBtn.Width := 100; MyForm.AddNewEvent(startBtn,tbeOnClick,'StartBtnOnClick');
MyForm.Run; end;
Yukarı Dön
Alforce Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (2) Teşekkürler(2)   Alıntı Alforce Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Ağustos 2023 Saat 16:52
Tamam, burda:
Var
  MainForm: TclForm;
  MyForm: TclForm;
  i: Integer;
  But1, startBtn: TclButton;

Procedure StartBtnOnClick;
Begin    
  For i:= 1 to 6 do
    Case i of
      1:ShowMessage('Hello World');
      2:ShowMessage('Number 2');
      
      else ShowMessage('Others=> counter: '+IntToStr(I));
    End
End;

Procedure But1Click;
begin
  MyForm:= TclForm.Create(Self);

  startBtn:= MyForm.AddNewButton(MyForm,'startBtn','SHOW');
  startBtn.TextSettings.Font.Size:=50;
  startBtn.Align:= alCenter;
  startBtn.Height:= 50;
  startBtn.Width:= 100;
  MyForm.AddNewEvent(startBtn,tbeOnClick,'StartBtnOnClick');

  MyForm.Run;
end;

begin
  MainForm:= TclForm.Create(Self);

  But1:= MainForm.AddNewButton(MainForm,'But1','Button1');
  MainForm.AddNewEvent(But1,tbeOnClick,'But1Click');

  MainForm.Run;
end;


Düzenleyen Alforce - 09 Ağustos 2023 Saat 16:53
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

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

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

Bu Sayfa 0,063 Saniyede Yüklendi.