Sebelum membuat Software pengirim SMS masal, diharapkan sudah mengerti dulu bagaimana cara mebuat SMS Gateway sendiri dengan menggunakan Delphi. Di bawah ini adalah ada beberapa hal yang dibutuhkan :
- Paket komponen delphi DsgnCport7.dpk. Paket ini bisa dicari dengan menggunakan mbah google
- Sebuah Modem GSM,
procedure sendsms(comport1:TComPort;const no,teks:string); begin comport1.WriteStr('AT+CMGS="'+no+'"'+enter); comport1.WriteStr(teks); comport1.WriteStr(#26); end; procedure opensms(comport1:TComPort); begin ComPort1.Open; setup:=0; end; procedure deletesms(comport1:TComPort); begin ComPort1.WriteStr('AT+CMGD=1,4'+enter); end; procedure readsms(comport1:TComPort); begin comport1.WriteStr('AT+CMGL="ALL"'+enter); end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if comport1.Connected then
begin
timer1.Enabled:=false;
comport1.WriteStr('AT+CSQ'+enter);
readsms(comport1);
end else
begin
progressbar1.Position:=0;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
comport1.ShowSetupDialog;
end;
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var perintah,s1:string;
isii,isi,a,b:tstringlist;
begin
comport1.ReadStr(s1,count);
////////////////////////////////
memo1.Lines.Append(s1);
//////////////////////////////
if(eregi('COPS:',s1))then
begin
a:=explode(',',s1);
label2.caption:='Provider : '+str_replace('"','',a[2]);
end;
if(eregi('CSQ:',s1))then
begin
b:=explode('CSQ:',s1);
b:=explode(' ',b[1]);
b:=explode(',',b[1]);
progressbar1.Position:=strtoint(b[0]);
end;
if(setup>3)then
begin
if eregi('REC',uppercase(s1)) then
begin
isi:=explode(',',str_replace('"','',s1));
isii:=explode(chr(10),isi.Strings[5]);
if(pengirim<>isi.Strings[2])or(tanggal<>isi.Strings[4])or(jam<>isii.Strings[0])then
begin
pengirim:=isi.Strings[2];
tanggal:=isi.Strings[4];
jam:=isii.Strings[0];
isi:=explode('+',jam);
jam:=isi.Strings[0];
isii:=explode(chr(13),isii.Strings[1]);
perintah:=isii.Strings[0];
end;
memo1.Lines.Append(pengirim+' ('+tanggal+':'+jam+') --> '+perintah);
deletesms(comport1);
end;
if readd then
timer1.Enabled:=true;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
case setup of
0:ComPort1.WriteStr('AT+CMGF=1'+enter);
1:ComPort1.WriteStr('AT+CPMS="SM"'+enter);
2:ComPort1.WriteStr('AT+CSCS="GSM"'+enter);
3:comport1.WriteStr('AT+COPS?'+enter);
end;
inc(setup);
if(setup>3)then
begin
timer2.Enabled:=false;
timer1.Enabled:=true;
end;
end;
lebih lengkap nya bisa di download source code nya di sini
Tidak ada komentar:
Posting Komentar