Arsip: gmn y cara memanggil prosedur timer

more 16 years ago
vj_edogawa
mau nanya ni ama para master2 delphi,,,
klo cra memanggil prosedur timer gmn y..
seperti contoh klo memanggil prosedur button..qt menginputkan sintak "button1.click".. nah kalo sintak untuk manggil prosedur timer apa y..
mohon bimbingannya... :D

more 16 years ago
mas_kofa
OnTimer
contoh menampilkan jam pada Label1;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := TimeToStr(Time);
end;

more 16 years ago
vj_edogawa
procedure Tfrmsms.TimerUtamaTimer(Sender: TObject);
var sql,sql2,sql3:string;
I,rec:integer;
begin
dm.ADOQout.Active:=false;
dm.ADOQout.Active:=true;
dm.ADOQinboxg.SQL.Clear;
dm.ADOQinboxg.SQL.Add('select from inbox where status="noreply"');
dm.ADOQinboxg.open;
I:=1;
rec:=dm.ADOQinboxg.RecordCount;
while (rec=0) do
begin
timerutama.Enabled:=true;
end;
while (I<=rec) do
begin
timerutama.Enabled:=false;
dm.ADOQinboxg.SQL.Clear;
dm.ADOQinboxg.SQL.Add('select id, Min(id), ReceivingDateTime, sendernumber,textdecoded,status from inbox where status="noreply" group by id');
dm.ADOQinboxg.open;
gamuid:=dm.ADOQinboxg.Fields[0].Asinteger;
gamutgl:=dm.ADOQinboxg.Fields[1].AsString;
gamupengirim:=dm.ADOQinboxg.Fields[2].AsString;
gamuisi:=dm.ADOQinboxg.Fields[3].AsString;
gamusts:=dm.ADOQinboxg.Fields[4].AsString;
id:=copy(gamuisi,1,7);
kodeinfo:=copy(gamuisi,9,10);
dm.ADOQsms.Append;
dm.ADOQsms.Fields[1].asstring:=gamupengirim;
dm.ADOQsms.Fields[2].asstring:=gamutgl;
dm.ADOQsms.Fields[3].asstring:=id;
dm.ADOQsms.Fields[4].asstring:=kodeinfo;
dm.ADOQsms.Fields[5].asstring:=gamuisi;
dm.ADOQsms.Fields[6].asstring:=gamusts;
dm.ADOQsms.Post;
sql:='select from anggota where id_angg="'+id+'"';
dm.ADOQanggota.SQL.Clear;
dm.ADOQanggota.SQL.text :=sql;
dm.ADOQanggota.open;
anggota:=dm.ADOQanggota.Fields[0].AsString;
if (id=anggota) then
begin
sql2:='select * from info where kd_info="'+kodeinfo+'"';
dm.ADOQinfo.SQL.Clear;
dm.ADOQinfo.SQL.text :=sql2;
dm.ADOQinfo.open;
kode:=dm.ADOQinfo.Fields[0].AsString;
info:=dm.ADOQinfo.Fields[2].AsString;
if (kodeinfo=kode) then
begin
dm.ADOQout.Append;
dm.ADOQoutboxg.Append;
dm.ADOQout.Fields[1].asstring:=gamupengirim;
dm.ADOQout.Fields[2].asstring:=gamutgl;
dm.ADOQout.Fields[3].asstring:=id;
dm.ADOQout.Fields[4].asstring:=kodeinfo;
dm.ADOQout.Fields[5].asstring:=info;
dm.ADOQoutboxg.Fields[1].asstring:=gamupengirim;
dm.ADOQoutboxg.Fields[2].asstring:=info;
dm.ADOQout.Post;
dm.ADOQoutboxg.Post;
sql3 := 'update inbox set status="reply" where id='+inttostr(gamuid);
dm.ADOQinboxg.Close;
dm.ADOQinboxg.SQL.Clear;
dm.ADOQinboxg.SQL.Text := sql3;
dm.ADOQinboxg.ExecSQL;
sql3 := 'update sms set status="reply" where status="noreply"';
dm.ADOQsms.Close;
dm.ADOQsms.SQL.Clear;
dm.ADOQsms.SQL.Text := sql3;
dm.ADOQsms.ExecSQL;
I:=I+1;
end
else
begin
dm.ADOQout.Append;
dm.ADOQoutboxg.Append;
dm.ADOQout.Fields[1].asstring:=gamupengirim;
dm.ADOQout.Fields[2].asstring:=gamutgl;
dm.ADOQout.Fields[3].asstring:=id;
dm.ADOQout.Fields[4].asstring:=kodeinfo;
dm.ADOQout.Fields[5].asstring:='Data yang anda minta tidak ditemukan...';
dm.ADOQoutboxg.Fields[1].asstring:=gamupengirim;
dm.ADOQoutboxg.Fields[2].asstring:='Data yang anda minta tidak ditemukan...';
dm.ADOQout.Post;
dm.ADOQoutboxg.Post;
sql3 := 'update inbox set status="reply" where id='+inttostr(gamuid);
dm.ADOQinboxg.Close;
dm.ADOQinboxg.SQL.Clear;
dm.ADOQinboxg.SQL.Text := sql3;
dm.ADOQinboxg.ExecSQL;
sql3 := 'update sms set status="reply" where status="noreply"';
dm.ADOQsms.Close;
dm.ADOQsms.SQL.Clear;
dm.ADOQsms.SQL.Text := sql3;
dm.ADOQsms.ExecSQL;
I:=I+1;
end;
end
else
begin
dm.ADOQout.Append;
dm.ADOQoutboxg.Append;
dm.ADOQout.Fields[1].asstring:=gamupengirim;
dm.ADOQout.Fields[2].asstring:=gamutgl;
dm.ADOQout.Fields[3].asstring:=id;
dm.ADOQout.Fields[4].asstring:=kodeinfo;
dm.ADOQout.Fields[5].asstring:='maaf kode salah / id tidak terdaftar di KPSBU';
dm.ADOQoutboxg.Fields[1].asstring:=gamupengirim;
dm.ADOQoutboxg.Fields[2].asstring:='maaf kode salah / id tidak terdaftar di KPSBU';
dm.ADOQout.Post;
dm.ADOQoutboxg.Post;
sql3 := 'update inbox set status="reply" where id='+inttostr(gamuid);
dm.ADOQinboxg.Close;
dm.ADOQinboxg.SQL.Clear;
dm.ADOQinboxg.SQL.Text := sql3;
dm.ADOQinboxg.ExecSQL;
sql3 := 'update sms set status="reply" where status="noreply"';
dm.ADOQsms.Close;
dm.ADOQsms.SQL.Clear;
dm.ADOQsms.SQL.Text := sql3;
dm.ADOQsms.ExecSQL;
I:=I+1;
end;
end;
timerutama.enabled:=true;;
end;
saya lagi coba buat aplikasi sms ni skaligus TA saya.
timer di atas saya set 7 detik.
tp pas saya runing di dtik k 7 hank..
kr2 da yang salah dimana y..
bantuin dunk,,,please,,
thx,,,

more 16 years ago
mas_kofa
wow..........menakjubkan sekali.......
perintah posting data pake timer..........
apa kompi nggak sgt2 berat sekali..sehingga bikin hang.......

more 16 years ago
vj_edogawa
wadduh maaf bgt y mas_kofa ama mas herux kynya aq udh ngcewain yy..
mohon dmaklum msh newbie..hehe..
@vj_edogawa Pake thread dunk !!maksudnya pke thread gmn y.. duh maaf bgt skali lg..malu aq.. pengaruh jg y ngrim data pke timer yg berakibat berat ke kompinya.. klo ngga pke timer, kira2 pke apa y bwt solusinya.. soalnya sya btuh suatu interval bwt ng cek sms masuk dan membalasnya.. :D

more 16 years ago
deLogic
sebenarnya tidak mutlak harus menggunakan thread, timer juga bisa, seperti yang telah rekan @vj_edogawa lakukan, walaupun mungkin ada yang menganggap kurang bagus, baik dalam hal performa maupun sumber daya (resource).
Penggunaan timer dan thread harus dirancang secara akurat dan teliti, sebab keduanya dapat menimbulkan deadlock, terutama pada pemrosesan intensif dan memakan waktu. namun demikian pemrograman dengan thread membutuhkan pengetahuan dan kemampuan yang lebih.
Ok, sementara tidak usah dilanjutkan dulu. saya lihat sekilas dari kode, ada yang janggal dari sini.
while (rec = 0) do
begin
timerutama.Enabled := True;
end;
----->> gimana kalo rec nya ternyata 0 ???? event onTimer gak akan selesai di-execute karena terjadi loop tak berhingga (infinite loop)
coba dibetulin dulu...
btw sedikit OOT ya.. Anda menggunakan database apa? jika DB tersebut mendukung StoredProcedure / Function (SP/F), akan lebih baik jika Anda memindahkannya ke SP/F untuk lebih mengoptimalkan pemrosesan.
more 16 years ago
vj_edogawa
owh bgtu y..
jd baik nya gmn y mas, udh diputer2 tp ttp ja hank pd saat runing..
-------------------------------------------------------------------------
saya pke dtbase SQL, dbuatnya pke Xampp..
kr2 db yg sy pke udah mndkung yg mas deLogic maksud bkn y... :?:

more 16 years ago
vj_edogawa
kalo sintak dibawah sya hilangkan saja, kr2 bkal lbih baik g sistem sya..
jd sistem cm akan meng eksekusi apabila record lebih dr 0 saja.. gmn??
# while (rec = 0) do # begin # timerutama.Enabled := True; # end;
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- memo...
by p2bf in Tip n Trik Pemrograman more 18 years ago - Select Case when then hasilnya masih salah
by onsir in MySQL more 18 years ago - Biaya pemakaian
by pilot in Hal umum tentang Pascal Indonesia more 18 years ago - Program zoom in/out images
by zed1308 in Tip n Trik Pemrograman more 16 years ago - Delphi Mobile
by IdrisZZ in OpenSource dan Gratis more 17 years ago - form transparan
by nda1312 in Form Enhancement & Graphical Controls more 19 years ago - Numpang Tanya
by aseppala in Hal umum tentang Pascal Indonesia more 16 years ago - menghitung hari
by alpard in Tip n Trik Pemrograman more 18 years ago - Belajar DB apa ya?
by _lmz in MySQL more 19 years ago - [tanya]capture log aplikasi ke TXT
by Iansx in Hal umum tentang Pascal Indonesia more 18 years ago