Splash formun hemen kaybolmaması

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Splash formun hemen kaybolmaması

Mesaj gönderen Arifceylan28 »

Selam arkadaşlar.Splash form yaptım çalışıyor bi sorun yok fakat program açılırken splash form hemen gidiyor.Yani ana form çabuk açılıyor. Fakat ben çabuk açılsa bile biraz beklemesini istiyorum.Nasıl halledebilirim?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

.....
splash.show
Diğer işlemler;
for i:=0 to IstediginBirSayi Do
  Application.ProcessMessages;
splash.hide;
.....
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Sleep(1000);

komutu ile 1 sn bekletebilirsin. daha fazla istiyorsan ms cinsinden değer vererek istediğin kadar bekletebilirsin.

Kolay gelsin.
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

sleep komutu view project kısmında çalışmadı.Undeclared identifier hatası verdi.
Fakat saadettin Polat beyinki oldu.
İkinize de teşekkür ederim.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Windows uniti uses a eklenmezse tanımaz tabiki
ÜŞENME,ERTELEME,VAZGEÇME
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

doğru ya pardon.Sağolun.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

abi sysutils :) :wink:
Delay program execution for a specified number of microseconds.

Unit

SysUtils

Category

flow control routines

Delphi syntax:

procedure Sleep(milliseconds: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ENDIF}

C++ syntax:

void Sleep(unsigned milliseconds);

Description

Sleep pauses program executions as specified by the milliseconds parameter. Under Windows, Sleep is just a link to the Sleep function in the system API. Under Linux, Sleep calls the usleep library routine.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

valla bende windows unitinde
delphi 5 te
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

:shock: :? :oops: pardon demekki değiştirmişler yerini :)
.-.-.-.-.-.-.-. ^_^
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

bende de windows unitinde.Borland Delphi 7 enterprise
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

ehih ikisindede sleep varmış :)
linuxdda ortak olsun diye sysutilse taşımışlar. ordanda zati windows apisine gidiyor :)

Kod: Tümünü seç

windows.Sleep(1000);
sysutils.Sleep(1000);

sysutils
{$IFDEF MSWINDOWS}
procedure Sleep; external kernel32 name 'Sleep'; stdcall;
{$ENDIF}
{$IFDEF LINUX}
procedure Sleep(milliseconds: Cardinal);
begin
  usleep(milliseconds * 1000);  // usleep is in microseconds
end;
{$ENDIF}
.-.-.-.-.-.-.-. ^_^
neoerhans
Üye
Mesajlar: 19
Kayıt: 10 Ağu 2003 01:48
Konum: Izmir
İletişim:

Mesaj gönderen neoerhans »

Faklı bir bakış...

Kod: Tümünü seç

Timer1.interval:=7000; //7 Saniye ama koddan interval değerini verince bi sorun cıkıyo özellikler kısmından verirsen sorun yok...

for i:=timer1.interval Downto 1000 do
begin 
        Form1.hide;
        form1.free;
        Form2.show;
end; 

Form2'nin de OnClose olayına

Kod: Tümünü seç

 Application.Terminate; 
Saygılar...
Bizler birer atoma benziyoruz ve gün geldiğinde bir ülkeyi dahi yok edebilecek güce sahibiz. Ama gücümüz aklımızın esiri! Bu yüzden Sıyırdınız gene :P

http://www.MindoMs.com
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

hocam bayagi bi farklı olmus bu :)
ben bise anlamadım
neoerhans
Üye
Mesajlar: 19
Kayıt: 10 Ağu 2003 01:48
Konum: Izmir
İletişim:

Mesaj gönderen neoerhans »

Denemen yeterli olucaktı :wink:
Bizler birer atoma benziyoruz ve gün geldiğinde bir ülkeyi dahi yok edebilecek güce sahibiz. Ama gücümüz aklımızın esiri! Bu yüzden Sıyırdınız gene :P

http://www.MindoMs.com
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@neoerhans

- Merak ettiğim bişi var... :?:

Kod: Tümünü seç

Timer1.interval:=7000;

demişsin... sonra da

Kod: Tümünü seç

for i:=timer1.interval Downto 1000 do

diye döngü kurmuşsun... Aslında yaptığın işlem; Timer1.interval'i bir değişken olarak kullanmaktan ibaret...

- Aşağıdakinden farkı yok diye düşünüyorum...

Kod: Tümünü seç

for i:=7000 Downto 1000 do


- Timer1'i işin içine sokunca farklı ne yapıyor ?! onu anlayamadım.

- Ayrıca döngü içerisinde free edilmiş bir pencereyi tekrar free etmeye çalışıyorsun vs... :? ona girmiycem...

- 7000'den 1000'e geri saymakla, 1000'den 7000'e hatta 1'den 6000'e kadar saydırmak farklı değil ki. Ekrana geri sayım yansıtsan tamam !?

- OnTimer içerisinde falan bir kurgu olsa hadi diycem. Repeat Until içerisine konmuş bir Application.Processmessages formu beklemeye almışken, 7 saniye sonra Timer1'in onTimer'inda bir flag tetiklenecek o da Until'den çıkış verip, free ve hide fonksiyonlarını serbest bırakacak vb. :?:

- Yani Sleep fonksiyonu kullanmadan, bu işlemi en fazla ne kadar kod yazıp halledebilirim gibi bir soru olsaydı bile yine çözüm değil... :roll: :)

- Sabah saat 03:30 ve işten gelmiş, mail kontrolü yaparken bu başlığı görüyorum ve buraya bu satırları yazıyorum... :idea: Bu daha da garip değil mi :lol: :lol: :lol:

- Neyse ben yatağıma Sleep'e gidiyorum... Çalışmalarınızda başarılar... :lol:
Resim
Resim ....Resim
Cevapla