procedure TForm1.Button1Click(Sender: TObject);
var
C:Array[0..254] of char;
I,i_count:integer;
ss:string;
begin
ss:=trim(edit1.text);
I_Count:=Length(ss);
if I_Count>=1 then
begin
strmove(@c,@ss[1],I_count);
NMUDP1.RemoteHost := '127.0.0.1';
NMUDP1.ReportLevel := Status_Basic;
NMUDP1.LocalPort := 6667;
NMUDP1.RemotePort := 6667;
NMUDP1.SendBuffer(C,I_Count);
end
else
begin
ShowMessage('不能发送空消息!');
end;end;
var
C:Array[0..254] of char;
I,i_count:integer;
ss:string;
begin
ss:=trim(edit1.text);
I_Count:=Length(ss);
if I_Count>=1 then
begin
strmove(@c,@ss[1],I_count);
NMUDP1.RemoteHost := '127.0.0.1';
NMUDP1.ReportLevel := Status_Basic;
NMUDP1.LocalPort := 6667;
NMUDP1.RemotePort := 6667;
NMUDP1.SendBuffer(C,I_Count);
end
else
begin
ShowMessage('不能发送空消息!');
end;end;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
C: array [0..254] of Char;
begin
fillchar(c,sizeof(c),0);
if NumberBytes <=I_Count then
begin
NMUDP1.ReadBuffer(C,NumberBytes);
Memo1.Lines.Add('you have received'+C);
end
else
begin
Memo1.Lines.Add(IntToStr(I)+' bytes incoming, buffer too small');
end;
end;
如果能解释一下就更好了。
fillchar用初值填充变量