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

📄 server.pas

📁 基于TCP/IP通信协议控件
💻 PAS
字号:
unit server;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IdBaseComponent, IdComponent, IdTCPServer, StdCtrls, ExtCtrls, 
IdAntiFreezeBase, IdAntiFreeze, Buttons;

type
  TfrmServer = class(TForm)
    //TfrmServer = class(TFORM)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    IdTCPServer1: TIdTCPServer;
    Edit1: TEdit;
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure IdTCPServer1Execute(AThread: TIdPeerThread);
    //procedure Button2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmServer: TfrmServer;
  //frmServer: TfrmServer; 
SendFileName: string;
implementation

{$R *.dfm}

procedure TfrmServer.IdTCPServer1Execute(AThread: TIdPeerThread);
var 
SendFile: TFileStream; 

begin 
with AThread.Connection do
begin 
Memo1.Lines.Add('Sending file '+SendFileName);//在Memo里添加要发送的文件名称 

WriteLn(SendFileName);//把文件名发送给客户端 

SendFile := TFileStream.Create(SendFileName, fmOpenRead);//创建一个TFileStream,打开我们要发送的文件 

WriteStream(SendFile);//使用流模式把文件发送到客户端 

Memo1.Lines.Add('Total ' + IntToStr(SendFile.Size) + ' Bytes sent');//显示总共发送的字节数 


Disconnect;//断开连接 

SendFile.Free;//释放流对象 

end; 
end; 

procedure TfrmServer.SpeedButton1Click(Sender: TObject); 
begin 
Memo1.Lines.Clear; 
end; 

procedure TfrmServer.SpeedButton2Click(Sender: TObject); 
begin 
if OpenDialog1.Execute then//执行文件选择标准对话框,选择要发送的文件 

begin 
SendFileName := OpenDialog1.Filename;//文件名赋值给SendFileName变量 
Edit1.Text := OpenDialog1.Filename;
end; 
end; 

procedure TfrmServer.SpeedButton3Click(Sender: TObject); 

begin 
    IdTCPServer1.Active := True;//启动服务器 

SpeedButton3.Enabled := False; 
end; 

end. 



⌨️ 快捷键说明

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