procedure TForm1.Button1Click(Sender: TObject); var strFile:String ; iHandle,iSize,iRead :longint; pFile :Pchar ; begin if(OpenDialog1.Execute) then begin strFile:=OpenDialog1.FileName; end; try begin iHandle:=FileOpen(strFile,fmOpenRead); iSize:=FileSeek(iHandle,0,2); FileSeek(iHandle,0,0); getmem(pFile ,iSize); iRead:=FileRead(iHandle,pFile^,iSize); NMUDP1.SendBuffer(pFile^,iSize); FileClose(iHandle); end; finally begin freemem(pFile); end; end; end;
procedure TForm1.FormShow(Sender: TObject); begin NMUDP2.RemoteHost:='127.0.0.1'; NMUDP1.RemoteHost:='127.0.0.1'; end;
procedure TForm1.NMUDP1DataSend(Sender: TObject); begin Label1.Caption:='Data Sent'; end;
procedure TForm1.NMUDP2DataReceived(Sender: TComponent; NumberBytes: Integer; FromIP: String; Port: Integer); var iHandle,iRecv:longint; pFile :pchar; strFileName:String; begin Label2.Caption:='Data Receive'; try begin if(SaveDialog1.Execute) then begin strFileName:=SaveDialog1.FileName; end; if(FileExists(strFileName)) then begin iHandle:=FileOpen(strFileName,fmOpenWrite);
end else begin iHandle:=FileCreate(strFileName); end; getmem(pFile ,NumberBytes); NMUDP2.ReadBuffer(pFile^,NumberBytes); FileWrite(iHandle,pFile^,NumberBytes); FileClose(iHandle); end; finally begin freemem(pFile); end; end;