⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 fes is descripy yoso cise iec me i message
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, NMUDP;

type
  Tserver = class(TForm)
    sudp: TNMUDP;
    Image1: TImage;
    Panel1: TPanel;
    Edit2: TEdit;
    Label2: TLabel;
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure sudpDataReceived(Sender: TComponent; NumberBytes: Integer;
      FromIP: String);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  server: Tserver;

implementation
const BufSize=2048; 
var
     RsltStream,TmpStream:TMemoryStream;
{$R *.DFM}

procedure Tserver.FormCreate(Sender: TObject);
begin
     RsltStream:=TMemoryStream.Create; 
     TmpStream:=TMemoryStream.Create;
end;

procedure Tserver.FormDestroy(Sender: TObject);
begin
   RsltStream.Free; 
   TmpStream.Free;
end;

procedure Tserver.Button1Click(Sender: TObject);
      var ReqCode:array[0..29] of char;
          ReqCodeStr:string;
begin
     ReqCodeStr:='show'+Edit1.Text;
     StrpCopy(ReqCode,ReqCodeStr);
     TmpStream.Clear;
     RsltStream.Clear;
     SUDP.RemoteHost:=Edit2.Text;
     SUDP.SendBuffer(ReqCode,30);
end;

procedure Tserver.sudpDataReceived(Sender: TComponent;
  NumberBytes: Integer; FromIP: String);
var ReqCode:array[0..29] of char;ReqCodeStr:string;
begin
     ReqCodeStr:='show'+Edit1.text;
     StrpCopy(ReqCode,ReqCodeStr);
     SUDP.ReadStream(TmpStream);
     server.Caption:='正在接收数据...';
     RsltStream.CopyFrom(TmpStream,NumberBytes);
     if NumberBytes< BufSize then { 数据已读完 }
     begin
         RsltStream.Position:=0;
         server.Caption:='显示图象...';
         image1.Picture.Bitmap.LoadFromStream(rsltstream);
         TmpStream.Clear;
         RsltStream.Clear;
         button1.OnClick(nil);
    end
    else
    begin
      TmpStream.Clear;
      ReqCode:='show';
      SUDP.RemoteHost:=Edit2.Text;
      SUDP.SendBuffer(ReqCode,30);
    end;
end;

procedure Tserver.Timer1Timer(Sender: TObject);
begin
    button1.OnClick(nil);
    timer1.enabled:=false;
end;

procedure Tserver.Button2Click(Sender: TObject);
begin
try
     image1.Picture.LoadFromFile('c:\windows\desktop\4.jpg');
finally
end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -