如何利用DELPHI的 Tseversocket Tclientsocket 实现一个bmp文件的传输?急需答复!谢! 如何利用DELPHI的 Tseversocket Tclientsocket 实现一个bmp文件的传输?急需答复!谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可用stream传输,delphi的demo有例子 客户端程序:type TForm1 = class(TForm) Cli1: TClientSocket; Button1: TButton; Button2: TButton; Edit1: TEdit; Label1: TLabel; SD1: TSaveDialog; Edit2: TEdit; Edit3: TEdit; Label2: TLabel; Button3: TButton; Button4: TButton; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Cli1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure Cli1Read(Sender: TObject; Socket: TCustomWinSocket); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; f:file; cmd:string;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begincli1.Address:=edit2.Text;//cli1.Port:=IntToStr(Edit3.Text);cli1.Active:=true;button1.Enabled:=false;end;procedure TForm1.Button2Click(Sender: TObject);beginif sd1.Execute thenbeginassignfile(f,sd1.FileName);reset(f,1);cli1.Socket.SendText(edit1.text);end;end;procedure TForm1.Cli1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);beginshowmessage('error');end;procedure TForm1.Cli1Read(Sender: TObject; Socket: TCustomWinSocket);var b:byte;begincase socket.ReceiveLength of 1:begin socket.ReceiveBuf(b,1); blockwrite(f,b,1); socket.SendText('OKG'); end; 3: begin cmd:=socket.ReceiveText; if cmd='END' then begin closefile(f); showmessage('下载完成!') end else if cmd='OKR' then socket.SendText('OKS') else if cmd='OKN' then cli1.Socket.SendText('GET'); end; end;end;procedure TForm1.Button3Click(Sender: TObject);beginmessagebox(0,'欢迎光临mincer之家------http://mincer.yeah.net'+#13+'本程序没有加很多错误处理,各位可以加上^_^','Information',64);end;procedure TForm1.Button4Click(Sender: TObject);begincli1.Socket.SendText('LYF');end;procedure TForm1.Button5Click(Sender: TObject);beginclose;end;end. 服务端程序:unit Unit1;//By mincer 2001interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;type TForm1 = class(TForm) Ser1: TServerSocket; procedure Ser1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure FormCreate(Sender: TObject); // procedure Ser1Accept(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end;var Form1: TForm1; //filename:string; STARTread:boolean; f:file; cmd:string; Filename:string; //getFilenamemask:boolean;implementation{$R *.DFM}procedure TForm1.Ser1ClientRead(Sender: TObject; Socket: TCustomWinSocket);var b:byte;r:integer;begincase socket.ReceiveLength of 3: begin cmd:=socket.ReceiveText; if cmd='GET' then socket.SendText('OKR') else if cmd='LYF' then close else if cmd='OKS' then begin assignfile(f,filename); reset(f,1); blockread(f,b,1,r); socket.SendBuf(b,1) end else if cmd='OKG' then begin blockread(f,b,1,r); if r=0 then begin closefile(f); socket.SendText('END'); end else socket.SendBuf(b,1); end; end; 4..255:begin filename:=socket.ReceiveText; socket.SendText('OKN'); end;end;end;procedure TForm1.FormCreate(Sender: TObject);beginser1.Port:=8372;ser1.Active:=true;end;end. 求一字符串处理函数 一个非常简单的问题,一时之间想不起来了,但很急,希望大家帮助 着急:用bitbmp画出一个区域,读进文字,怎么样可以使这个区域是透明的啊?? 怎样控制StringGrid中的滚动条? 有谁用过ReadStrings接收数据? 为什么sql server2000数据库里的数据在Win XP下不能显示中文啊? 请问Delphi怎么实现在Excel中数据的操作? 一个搞笑的小问题!!!! 移动窗体问题,不好意思,初来窄道,只能给这么多分了 :) 怎样让一个form紧贴着另外一个form? 难道高手————?? 看看如何解决这个错误!
type
TForm1 = class(TForm)
Cli1: TClientSocket;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Label1: TLabel;
SD1: TSaveDialog;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Cli1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure Cli1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
f:file;
cmd:string;
implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
cli1.Address:=edit2.Text;
//cli1.Port:=IntToStr(Edit3.Text);
cli1.Active:=true;
button1.Enabled:=false;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
if sd1.Execute then
beginassignfile(f,sd1.FileName);
reset(f,1);
cli1.Socket.SendText(edit1.text);
end;
end;
procedure TForm1.Cli1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
showmessage('error');
end;procedure TForm1.Cli1Read(Sender: TObject; Socket: TCustomWinSocket);
var b:byte;
begin
case socket.ReceiveLength of
1:begin
socket.ReceiveBuf(b,1);
blockwrite(f,b,1);
socket.SendText('OKG');
end;
3: begin
cmd:=socket.ReceiveText;
if cmd='END' then
begin
closefile(f);
showmessage('下载完成!')
end
else if cmd='OKR' then
socket.SendText('OKS')
else if cmd='OKN' then
cli1.Socket.SendText('GET');
end;
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
messagebox(0,'欢迎光临mincer之家------http://mincer.yeah.net'+#13+'本程序没有加很多错误处理,各位可以加上^_^','Information',64);
end;procedure TForm1.Button4Click(Sender: TObject);
begin
cli1.Socket.SendText('LYF');
end;procedure TForm1.Button5Click(Sender: TObject);
begin
close;
end;end.
unit Unit1;
//By mincer 2001
interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScktComp;type
TForm1 = class(TForm)
Ser1: TServerSocket;
procedure Ser1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure FormCreate(Sender: TObject);
// procedure Ser1Accept(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
//filename:string;
STARTread:boolean;
f:file;
cmd:string;
Filename:string;
//getFilenamemask:boolean;
implementation{$R *.DFM}
procedure TForm1.Ser1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var b:byte;
r:integer;
begincase socket.ReceiveLength of
3: begin
cmd:=socket.ReceiveText;
if cmd='GET' then
socket.SendText('OKR')
else if cmd='LYF' then
close
else if cmd='OKS' then
begin
assignfile(f,filename);
reset(f,1);
blockread(f,b,1,r);
socket.SendBuf(b,1)
end
else if cmd='OKG' then
begin
blockread(f,b,1,r);
if r=0 then
begin
closefile(f);
socket.SendText('END');
end
else
socket.SendBuf(b,1);
end;
end;
4..255:begin
filename:=socket.ReceiveText;
socket.SendText('OKN');
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ser1.Port:=8372;
ser1.Active:=true;
end;end.