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

📄 unit1.~pas

📁 GPRS Delphi 版 无线通信代码。基础的无线GPRS通信。可做无线监控用
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, DataCenterXControl_TLB;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button3: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    DataCenterX1: TDataCenterX;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure DataCenterX1DTULogin(Sender: TObject; const DTUID,
      PWD: WideString; Status: Integer);
    procedure DataCenterX1DTUData(Sender: TObject; const DTUID: WideString;
      DataLen: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var   DTUID,PWD:widestring;
begin
  DTUID:='zsgprs01';
  PWD:='123456';
  DataCenterX1.AddDTU(DTUID,PWD);

  if DataCenterX1.StartService(65000)=0 then Memo1.Lines.Add('服务启动成功')
  else  Memo1.Lines.Add('服务启动失败');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if  DataCenterX1.StopService=0 then Memo1.Lines.Add('服务停止成功')
  else  Memo1.Lines.Add('服务停止失败');
end;

procedure TForm1.Button2Click(Sender: TObject);
var DTUID,Buf:widestring;
    P:Pchar;
    k:integer;
    s:string;
begin
  DTUID:='zsgprs01';  s:=edit1.Text;
  SetLength(Buf,length(s));
  P:=@Buf[1];
  for k:=1 to  length(s) do p[k-1]:=s[k];

  DataCenterX1.SendData(DTUID,Buf,length(s));
  Memo1.Lines.Add('发送数据:'+s);
end;

procedure TForm1.DataCenterX1DTULogin(Sender: TObject; const DTUID,
  PWD: WideString; Status: Integer);
begin
  case status of
    0:  memo1.lines.Add(datetimetostr(now)+' '+'收到登录包,dtuid='+dtuid+','+'密码='+pwd+','+'登录成功');
   -1:  memo1.lines.Add(datetimetostr(now)+' '+'收到登录包,dtuid='+dtuid+','+'密码='+pwd+','+'登录失败,密码错误');
   -2:  memo1.lines.Add(datetimetostr(now)+' '+'收到登录包,dtuid='+dtuid+','+'密码='+pwd+','+'登录失败,DTUID非法');
  end;
end;

procedure TForm1.DataCenterX1DTUData(Sender: TObject;
  const DTUID: WideString; DataLen: Integer);
var Buf:widestring;
    i:integer;
    s:string;
    p:pchar;
begin
  setlength(Buf,datalen);
  datacenterx1.ReadData(dtuid,Buf,datalen);
  p:=@Buf[1];

  s:='';
  for i:=1 to DataLen do s:=s+p[i-1];

  memo1.lines.Add('收到数据包,dtuid='+dtuid+','+'数据内容:'+s);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 DataCenterX1.Init;
 DataCenterX1.SetDataFormat(0); 
end;

procedure TForm1.Button4Click(Sender: TObject);
var phoneno,protocol,sin_addr,local_addr,logon_time,update_time:widestring;
    sin_port,local_port,status,sendcount,readcount:integer;
begin
  DataCenterX1.GetDTUInfo('zsgprs01',phoneno,protocol,sin_addr,sin_port,local_addr,local_port,logon_time,Update_Time,Status,SendCount,ReadCount);
  memo1.Lines.Add('zsgprs01 DTU信息:');
  memo1.Lines.Add('phoneno='+phoneno);
  memo1.Lines.Add('sin_addr='+sin_addr);
  memo1.Lines.Add('sin_port='+inttostr(sin_port));
  memo1.Lines.Add('local_addr='+local_addr);
  memo1.Lines.Add('local_port='+inttostr(local_port));
  memo1.Lines.Add('logon_time='+logon_time);
  memo1.Lines.Add('update_time='+update_time);
  if status=0 then    memo1.Lines.Add('status=0:不在线');
  if status=2 then    memo1.Lines.Add('status=2:在线');
  memo1.Lines.Add('sendcount='+inttostr(sendcount));
  memo1.Lines.Add('readcount='+inttostr(readcount));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DataCenterX1.StopService; 
end;

end.

⌨️ 快捷键说明

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