Arsip: ProgressBar atau Gauge running saat Query.Open

 
user image
more 15 years ago

gaussac

Hallo, Saya mo nanya, Gimana caranya apabila saya menjalankan Query kemudian ProgressBar running, misalkan seperti ini : Query1.Open; while not Query1.EOF do begin .................. Query1.Next; ProgressBar1.Position:= ProgressBar1.Position+i; atau Gauge1.Progress:= round(i/Query1.RecordCount); inc(i); end; Nah, bila ProgressBar atau Gauge disimpan dalam kondisi looping mereka akan menampilkan progress sesuai dengan jumlah record yang didapat dari hasil Query1. Yang saya tanyakan, bagaimana ProgressBar atau Gauge tersebut disimpan sebelum looping dijalankan. Jadi pada saat baris Query1.Open dilakukan maka progressnya jalan. Hal ini penting untuk faktor psikologis pada end-user, mereka akan berpikir "o..ya...program sedang proses ...." Karena kadang kala, saya mengambil data dari table yang memiliki record yang cukup besar (data maximum 2 tahun), hal ini memang sengaja disimpan karena memang kebutuhan dari user. Thanks .......
user image
more 15 years ago

krizzna

alooow bro... munyumbang sedikit neey.... maksudnya gauge ato progress barnya muncul pas nampilin isi query .. gini aja.. soalnya code ini pernah dipake waktu saya bikin tugas akhir

var
  i : longint;
begin
with dm.Query1 do
begin
   Active := False;
   Sql.Clear;
   Sql.Add('Select * From Tabel1');
   Sql.Open
end;
dm.Query1.First;
i := 0;
gauge.MinValue := 0;
gauge.MaxValue := dm.Query1.RecordCount;
while not dm.Query1.Eof do
Begin
    gauge.Progress := i;
    dm.QrGL.Next;
    i := i+1;
End;
disini saya pakenya gauge... mudah2an dapat bermanfaat... Ohya klo misalkan salah tolong diperbaiki oleh Om-om senior kita... heuheuehuehueheuheu.............
user image
more 15 years ago

deLogic

kalo pengen lebih smooth dan responsif, bisa menggunakan thread, tapi yang jelas model gauge nya gak bisa yang model prosentase seperti di atas, tapi mode gauge yang jalannya bolak balik, seperti ketika kita windows membaca flash disk sesaat setelah kita colokin ke port USB... koneksi database menggunakan thread udah pernah dibahas kok, coba di-search dulu...
user image
more 15 years ago

prakasiwi

maaf kalau pake model : var i : longint; begin with dm.Query1 do begin Active := False; Sql.Clear; Sql.Add('Select * From Tabel1'); Sql.Open end; dm.Query1.First; i := 0; gauge.MinValue := 0; gauge.MaxValue := dm.Query1.RecordCount; while not dm.Query1.Eof do Begin gauge.Progress := i; dm.QrGL.Next; i := i+1; End; mungkin bakal berat, n malah "ngganggu'" sebaiknya pake thread
user image
more 15 years ago

ZeAL


var
i : longint;
begin
with dm.Query1 do
begin
Active := False;
Sql.Clear;
Sql.Add('Select * From Tabel1');
Sql.Open
end;
dm.Query1.First;
i := 0;
gauge.MinValue := 0;
gauge.MaxValue := dm.Query1.RecordCount;
while not dm.Query1.Eof do
Begin
gauge.Progress := i;
dm.QrGL.Next;
i := i+1;
End; 
kodenya kayaknya gak ada gunanya deh.. soalnya tetep aja querynya di buka dulu dan setelah selesai di iterasi satu2 recordnya.. Jadi kalo misalnya datanya banyak banget.. tetep aja progressbar gak akan bergerak sampai query selesai dibuka... dan kayaknya bukan itu tujuan semula.. ya kan.. Kayaknya emang kudu pake thread.. tapi sayangnya gue gak pernah coba..
user image
more 15 years ago

ZeAL

ahhhh.. baru kepikiran.. gimana kalo datanya besar, querynya pake LIMIT... misal kita ambil dulu banyaknya data pake query COUNT kan cepet tuh.. Misalnya banyaka data 1.000 Nah, trus di bagi per 100 misalnya.. dan akan menghasilkan 1000 / 100 = 10 Query yang terpisah.. Nah tinggal dibuat iterasi per query..

var sqlsyntax : string;
for i := 1 to BanyakIterasi do
begin
 gauge.progress := i;
 sqlsyntax := 'SELECT * FROM apakek WHERE apakek LIMIT indexAwal, indexAkhir;
 TQuery.close;
 TQuery.SQL.Add(sqlsyntax);
 TQuery.open;
end;
Tapi ya gak ada gunanya juga... abis datanya gak akan pernah lengkap.. hehehe... Tapi temen gue sih begini... Jadi berhubung datanya banyak, dia bikin fungsi sejenis Paging gituh.. kayak ada halaman2nya, jadi gak diload semua pada saat bersamaan...
user image
more 15 years ago

prakasiwi

ide bagus pake paging :)
user image
more 15 years ago

prakasiwi

ide bagus pake paging :) kalau ada minta fungsinya dong aku rada males mikir nih:D
user image
more 15 years ago

ZeAL

Kalo kodenya : ora ono... bwehehe.. Tapi kalo algoritmanya, tuh ada diatas.. bweheheh.. :D Sama, juga lagi males nih... :D :D
user image
more 15 years ago

gaussac

Wah gimana kok pada males sih....... Bantuin doooonnnnnnnnnnnnnngggggg....
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

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