📄 udp.pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -