Arsip: gmn y cara memanggil prosedur timer

more 12 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 12 years ago
mas_kofa
OnTimer
contoh menampilkan jam pada Label1;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := TimeToStr(Time);
end;

more 12 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 12 years ago
mas_kofa
wow..........menakjubkan sekali.......
perintah posting data pake timer..........
apa kompi nggak sgt2 berat sekali..sehingga bikin hang.......

more 12 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 12 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 12 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 12 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
Last Articles
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- Menggunakan EventonExit !
by jajang in Tip n Trik Pemrograman more 12 years ago - ati-ati kalo ngaku jadi programmer
by mbahdien in OOT more 13 years ago - Buat Aplikasi Untuk menampilkan acara televisi
by m.afandi in Tip n Trik Pemrograman more 11 years ago - SQL : Select utk tipe data Number di Ms Access
by onsir in Lain-lain more 12 years ago - gimana supaya apliaksi ga bisa di copy
by donald in Enginering more 13 years ago - clear image
by lela in Hal umum tentang Pascal Indonesia more 14 years ago - error waktu mau menampilkan image
by shindo in Hal umum tentang Pascal Indonesia more 13 years ago - Multitier dan RemoteDataModule, pernah anda coba ?
by Akuna-Matata in Network, Files, I/O & System more 13 years ago - Case sensitive mysql
by lumpurpanas in MySQL more 14 years ago - create user dan password di mysql
by priew in MySQL more 11 years ago