unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, winsock2, svcguid, wininet;type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
s:tsocket;
procedure connectirda; public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
connectirda;
end;
procedure TForm1.Button1Click(Sender: TObject);
var recvbuffer,sendbuffer:array[0..79] of char;
begin
s:=socket(af_irda,sock_stream,0);
// s:=wsasocket(af_irda,sock_stream,0,null,0,wsa_flag_overlapped);
if s=invalid_socket then
begin
self.Memo1.Lines.Add('套接字创建失败!');
exit;
end else
memo1.Lines.Add('套接字创建成功!') ;
//errorcode:=connect(s,server,sizeof(server));
strpcopy(sendbuffer,pchar('ATD**61*+33146290800**25#'));
send(s,sendbuffer,sizeof(sendbuffer),0);
recv(s,recvbuffer,sizeof(recvbuffer),0) ;
self.Memo1.Lines.Add(string(recvbuffer)) ;
closesocket(s);//关闭套接字
end;
procedure TForm1.connectirda;
var
wsa:twsadata;
err:integer;
// dewlist:tdevicelist;
begin
err:=wsastartup($0202,wsa); //加载winsock
if err<>0 then
begin
memo1.Lines.Add('WinSock DLL没有找到');
exit;
end;
memo1.Lines.Add('winsock'+inttostr(integer(hi(wsa.wVersion)))+'.'+inttostr(integer(lo(wsa.wVersion)))+'版本加载成功!'); //监测加载的版本是否高位为2,低位为2
if (integer(hi(wsa.wVersion))<>2) or (integer(lo(wsa.wVersion))<>2) then
begin
memo1.Lines.Add('2.2版本的WinSock DLL没有找到!');
exit;
end;
end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
wsacleanup;
end;
end.
我对红外发at指令,但手机没有反应,不解,什么原因呢,希望帮忙,完了公布全部代码
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, winsock2, svcguid, wininet;type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
s:tsocket;
procedure connectirda; public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
connectirda;
end;
procedure TForm1.Button1Click(Sender: TObject);
var recvbuffer,sendbuffer:array[0..79] of char;
begin
s:=socket(af_irda,sock_stream,0);
// s:=wsasocket(af_irda,sock_stream,0,null,0,wsa_flag_overlapped);
if s=invalid_socket then
begin
self.Memo1.Lines.Add('套接字创建失败!');
exit;
end else
memo1.Lines.Add('套接字创建成功!') ;
//errorcode:=connect(s,server,sizeof(server));
strpcopy(sendbuffer,pchar('ATD**61*+33146290800**25#'));
send(s,sendbuffer,sizeof(sendbuffer),0);
recv(s,recvbuffer,sizeof(recvbuffer),0) ;
self.Memo1.Lines.Add(string(recvbuffer)) ;
closesocket(s);//关闭套接字
end;
procedure TForm1.connectirda;
var
wsa:twsadata;
err:integer;
// dewlist:tdevicelist;
begin
err:=wsastartup($0202,wsa); //加载winsock
if err<>0 then
begin
memo1.Lines.Add('WinSock DLL没有找到');
exit;
end;
memo1.Lines.Add('winsock'+inttostr(integer(hi(wsa.wVersion)))+'.'+inttostr(integer(lo(wsa.wVersion)))+'版本加载成功!'); //监测加载的版本是否高位为2,低位为2
if (integer(hi(wsa.wVersion))<>2) or (integer(lo(wsa.wVersion))<>2) then
begin
memo1.Lines.Add('2.2版本的WinSock DLL没有找到!');
exit;
end;
end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
wsacleanup;
end;
end.
我对红外发at指令,但手机没有反应,不解,什么原因呢,希望帮忙,完了公布全部代码
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货