⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitmain.pas

📁 转发一个关于短信开发例子
💻 PAS
字号:
unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, alasun_TLB, dateutils, ExtCtrls, ActiveX;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Edit_smsc: TEdit;
    Edit_CommPort: TEdit;
    Button1: TButton;
    Button2: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    cb_blink: TCheckBox;
    cb_flash: TCheckBox;
    Button3: TButton;
    Edit_desno: TEdit;
    Edit_recmsg: TMemo;
    Memo_msg: TMemo;
    GroupBox4: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    edit_readindex: TEdit;
    Button4: TButton;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit_srcno: TEdit;
    Edit_sendtime: TEdit;
    memo_readmsg: TMemo;
    alasunsms1: Talasunsms;
    Label10: TLabel;
    EdBaud: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure alasunsms1Receive(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
  li_open: smallint;
begin
  alasunsms1.Settings:=trim(EdBaud.Text)+',n,8,1';
  alasunsms1.CommPort:=StrToInt(edit_commport.Text);

  li_open := alasunsms1.OpenComm();

  if (li_open = 0 )then
    begin
    MessageDlg('打开端口成功.', mtInformation, [mbOk], 0);
    alasunsms1.SetMsgCenterNo(edit_smsc.Text)
    end
  else
    MessageDlg('打开端口失败', mtInformation, [mbOk], 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 li_open:integer;
begin

  li_open := alasunsms1.CloseComm();
  if (li_open = 0) then
    MessageDlg('断开端口成功', mtInformation,[mbOK],0)
  else
    MessageDlg('断开端口失败', mtInformation,[mbOK],0);

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  ls_targetNo, ls_msg, ls_msgcenter: String;
  li_result, li_msgtype: smallint;
begin

  ls_targetno := edit_desno.Text ;
  ls_msg := memo_msg.Text;
  ls_msgcenter :='';   ////发送时可以不指定短信中心号码,因为在连接时已经设置过了。
  //ls_msgcenter:=edit_smsc.Text; 也可以像这样在发送时重新指定短信中心号码

  li_msgtype := 0;
  if cb_blink.checked then li_msgtype := li_msgtype + 2;
  if cb_flash.checked then li_msgtype := li_msgtype + 4;

  li_result := alasunsms1.SendMsg(ls_targetno,ls_msg,ls_msgcenter,li_msgtype,false);
  if li_result=0 then
      MessageDlg('发送成功', mtInformation,[mbOK],0)
  else
      MessageDlg('发送失败', mtInformation,[mbOK],0);

end;

procedure TForm1.alasunsms1Receive(Sender: TObject);
var
  li_timezone: smallint;
  ls_telno, ls_msg, ls_smsc: WideString;
  ldt_sendtime: TDateTime;
begin
  alasunsms1.ReadMsg(ls_telno,ls_msg,ls_smsc,ldt_sendtime,li_timezone);
  edit_recmsg.text := ls_msg;
end;


procedure TForm1.Button4Click(Sender: TObject);
var
 li_timezone: smallint;
 ls_telno, ls_msg, ls_smsc: WideString;
 ldt_sendtime: TDateTime;
 li_index, li_result: integer;
begin
  li_index := StrToInt(edit_readindex.Text);
  li_result := alasunsms1.ReadMsgByIndex(li_index,ls_telno,ls_msg,ls_smsc,ldt_sendtime,li_timezone);

  if li_result=0 then
     begin
        memo_readmsg.text := ls_msg ;
        edit_srcno.Text := ls_telno;
        edit_sendtime.Text := DateTimeToStr(ldt_sendtime);
     end
  else begin
  	MessageDlg('读取失败',mtInformation,[mbOK],0);
    memo_readmsg.text:='';
    edit_srcno.Text:='';
    edit_sendtime.Text:='';
  end;


end;


procedure TForm1.FormCreate(Sender: TObject);
begin
    memo_readmsg.text:='';
    edit_recmsg.text:='';
    memo_msg.text:='';

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -