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;
begin
case 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;
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;