Formu belirlenen sürede ekranda göstermek ve bekletmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Musdi42
Üye
Mesajlar: 27
Kayıt: 01 Nis 2007 11:42

Formu belirlenen sürede ekranda göstermek ve bekletmek

Mesaj gönderen Musdi42 » 02 Mar 2018 07:32

Merhaba arkdaşlar formu belirdediğim sürede ekranda göstermek istiyorum ve yine belirlediğim süre kadar ekranda kalmasını istiyorum ve sürekli bu şekilde devam etmesini istiyorum timer ile sleep komutu ile yapmya çalıştım ama olmadı slepp komutunda ekrandadaki kontroller gözükmüyor alternatifimiz nedir.

procedure TForm1.tmr1Timer(Sender: TObject);
begin

Form1.Show;
Sleep(1000);
form1.Hide;

end;

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Formu belirlenen sürede ekranda göstermek ve bekletmek

Mesaj gönderen kerpeten » 02 Mar 2018 08:21

Sleep komutuyla main thread'i durduruyorsunuz o nedenle kontrolleri gösteremiyor.
Şu şekilde değiştirirseniz sanırım çalışacaktır. Denemedim o nedenle emin değilim.

Kod: Tümünü seç

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  if Form1.Showing then  // ilk başta bu False olacağı için Show çalışacak.
  begin  
    Form1.Hide;
    tmr1.Active := False;   // Tekrar tekrar yapmaması için...
  end
  else
  begin
    Form1.Show;
  end;
end.

Musdi42
Üye
Mesajlar: 27
Kayıt: 01 Nis 2007 11:42

Re: Formu belirlenen sürede ekranda göstermek ve bekletmek

Mesaj gönderen Musdi42 » 02 Mar 2018 08:40

Teşekkürler ama olmadı yani aslında yapmak istedeğim her 5 saniyeye bir form ekrana gelecek ama ekranda 1 veya 2 saniye kalacak bu şekilde tekrar edecek.

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Visible:=False;
end;

end.
procedure TForm1.tmr1Timer(Sender: TObject);
begin
if Form1.Showing then // ilk başta bu False olacağı için Show çalışacak.
begin
Form1.Hide;
//tmr1.Enabled:=False;
end
else
begin
Form1.Show;
end;
end;

Bu şekilde 5 saniyede bir ekrana geliyor ve 5 saniye kalıyor.
2.bir timer eklesek ekranda kalma süresini belirlemek için nasıl yapabiliriz

Kullanıcı avatarı
csunguray
Üye
Mesajlar: 844
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Formu belirlenen sürede ekranda göstermek ve bekletmek

Mesaj gönderen csunguray » 03 Mar 2018 12:19

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2.Visible := False;
  Timer1.Interval := 5000;
  Timer2.Interval := 2000;
  Timer1.Enabled := True;
  Timer2.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := False;
  Form2.Show;
  Timer2.Enabled := True;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Timer2.Enabled := False;
  Form2.Hide;
  Timer1.True := True;
end;

Görüntülenen forma Form2 yazdım. Çünkü Form1 içerisinden Form2'nin görüntülendiğini varsaydım. Siz eğer formun kendisinin görünüp kaybolmasını istiyorsanız Form2'leri Form1 olarak değiştirin.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)

Musdi42
Üye
Mesajlar: 27
Kayıt: 01 Nis 2007 11:42

Re: Formu belirlenen sürede ekranda göstermek ve bekletmek

Mesaj gönderen Musdi42 » 04 Mar 2018 11:47

Tamam kardeşim şimdi oldu teşekkür ederim Allah razı olsun kolay gelsin

Cevapla