Beranda

Jumat, 19 Agustus 2011

Membuat Software Pengirim SMS Masal menggunakan SMS gateway Buatan Sendiri



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 :
  1. Paket komponen delphi DsgnCport7.dpk. Paket ini bisa dicari dengan menggunakan mbah google
  2. Sebuah Modem GSM,
jika sudah lengkap buatlah proyek dan isi program seperti berikut ini :

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