Arsip: ProgressBar atau Gauge running saat Query.Open

more 16 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 .......

more 16 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.............
more 16 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...

more 16 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

more 16 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..
more 16 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...
more 16 years ago
prakasiwi
ide bagus pake paging :) kalau ada minta fungsinya dong aku rada males mikir nih:D

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

more 16 years ago
gaussac
Wah gimana kok pada males sih.......
Bantuin doooonnnnnnnnnnnnnngggggg....
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
Last Articles
- Lazarus Release 2.2.0
- Lazarus 2.2.0 Release Candidate 2
- FreePascal and JSON
- Lazarus 2.2.0 Release Candidate 1
- FPC version 3.2.2 has been released!
- Lazarus Release 2.0.12
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 1 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 2 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 9 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 9 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 9 years ago
Random Topic
- situs
by shurulkhan in Kritik & Saran more 14 years ago - Versi QuickReport di Delphi 7.0
by reminder2k1 in Reporting more 14 years ago - Menggunakan Komponen Update SQL
by Yudho in Hal umum tentang Pascal Indonesia more 15 years ago - Tanya mengenai delphi dan crystal report
by lunglung in Lain-lain more 14 years ago - Parshing txt dan penataanya
by Yudho in Hal umum tentang Pascal Indonesia more 15 years ago - EditorPHP ala kioss (freeware)
by LuriDarmawan in Free dan Gratis more 15 years ago - Bilangan desimal dan Fast-Report
by delphi1st in Tip n Trik Pemrograman more 16 years ago - Ngetest validitas email address.
by bosenjadiprogrammer in Network, Files, I/O & System more 15 years ago - delphi package
by strike_set in Tip n Trik Pemrograman more 14 years ago - cxGrid (DevExpress) dgn Report (FastReport/QuickReport)
by reminder2k1 in Reporting more 14 years ago