udp.pas
来自「测试网卡和51单片机RTL8019AS网卡驱动程序通讯的软件」· PAS 代码 · 共 82 行
PAS
82 行
unit udp;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, NMUDP, ExtCtrls;
type
TForm1 = class(TForm)
NMUDP1: TNMUDP;
Memo1: TMemo;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
BitBtn1: TBitBtn;
Label1: TLabel;
Label4: TLabel;
Edit3: TEdit;
CheckBox1: TCheckBox;
Timer1: TTimer;
Memo2: TMemo;
Label5: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: String; Port: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var c:array[1..32000]of char;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
s:string;
i:integer;
begin
s:=memo1.text;
for i:=1 to length(s) do
begin
c[i]:=s[i];
end;
nmudp1.RemoteHost:=edit1.text;
nmudp1.RemotePort:=strtoint(edit2.text);
nmudp1.LocalPort:=strtoint(edit3.text);
nmudp1.SendBuffer(c,length(s));
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if checkbox1.checked then bitbtn1.Click;
end;
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var i:integer;
s:string;
begin
nmudp1.ReadBuffer(c,numberbytes);
for i:=1 to numberbytes do
begin
s:=s+char(c[i]);
end;
s:= copy(s,1,numberbytes);
memo2.text:=memo2.text+s;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?