Arsip: Delay Pada Delphi ?

 
user image
more 14 years ago

umarbakri

Untuk mendelay proses pada delphi pakai fungsi apa ya..? Saya coba pakai misalnya Delay(100) kok not deklare ya, mohon pencerahannya dong ...
user image
more 14 years ago

ivan

Mungkin yang anda maksud delay adalah
sleep(100)
user image
more 14 years ago

DelphiExpert

cukup mudah, tinggal maen akal-akalan ajah :mrgreen:

procedure Delay(const Interval: DWord);  // ato Cardinal
var Ref: DWord;
begin
  Ref:= GetTickCount + Interval;
  while GetTickCount < Ref do 
  begin
    Application.ProcessMessages;
    Sleep(1); // bisa dipake bisa ngga', loop terus2an bisa membuat CPU dikau meradang
  end;
end;
user image
more 14 years ago

umarbakri

begin Ket.Caption := 'Sedang Proses data ...''; sleep(500); {perintah menghapus tabel dengan query} showmessage('Selesai..!'); end; Saya memcoba membuat indikator suatu proses dengan sintak diatas namun tidak berhasil (karena ket.captionnya tidak muncul ) adakah cara lain yang digunakan untuk masalah diatas ?
user image
more 14 years ago

DelphiExpert

dikau cuman kurang nambahi 1 baris perintah aja. sebelum sleep(500), tambahkan Ket.Update; atau Application.ProcessMessages;

Ket.Caption := 'Sedang Proses data ...'; 
//Ket.Update; // pilih salah satu mana yg paling dikau senangi :mrgreen:
Application.ProcessMessages;
sleep(500);
tahukah dikau kenapa komponen label tsb tidak ter-update dng benar? karena dikau panggil Sleep dalam main thread, sleep akan membuat semua aktivitas current thread terhenti total, windows messages pun (hooked to main thread) tidak dapat diproses sebelum sleep(xx) selesai. in fact, system akan melakukan update device context (misal: refresh TLabel) setelah keluar dari kode blok tertentu / pemanggilan block procedure telah selesai dilaksanakan, dan atau jika ada notify yg mensyaratkan utk mem-proses windows messages itulah mengapa daku sarankan utk menggunakan procedure Delay <my previous post> dari pada menggunakan sleep (karena daku tahu, dikau sekalian kebanyakan pasti menggunakannya dalam main thread) xixixi
user image
more 14 years ago

ivan

procedure sleep berfungsi untuk menghentikan proses dengan jarak waktu tertentu. Kalo dari yg saya tangkap dari maksud anda adalah bagaimana caranya agar setiap proses itu terlihat hingga selesai? (asal nebak aja nih ) :lol: saya menyarankan lebih baik menggunakan metode thread
procedure HapusTabel;
begin
  {perintah menghapus tabel dengan query}
  showmessage('Selesai..!');
end;
begin
Ket.Caption := 'Sedang Proses data ...'';
{panggil procedure HapusTabel dengan thread}
end;
user image
more 14 years ago

ImanD

begin Ket.Caption := 'Sedang Proses data ...'; Refresh; // tambahkan ini bro klo pengen tulisan diatas itu muncul <sangat memaksakan banget> sleep(500); {perintah menghapus tabel dengan query} showmessage('Selesai..!'); end;
klo saran aku sih mendingan kamu pke Thread az cause klo lama ni form jadi kaku.....
user image
more 14 years ago

umarbakri

Bah..., komplet banget nich penjelasanya, ane jadi malu nich :lol: Makasih banyak nich.... makanannya. qiqiqi
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com