Delphi 2005
Klijent salje zahtjev serveru tipa 'SEND_FILE' i onda path+filename koji treba da posalje klijentu..
i sad klijent treba dobit taj fajl i spremit ga recimo na c:\GET_FILE\filename
Evo kod koji ne radi:
KLIJENT:
Code:
procedure TForm5.Button2Click(Sender: TObject);
var fajl:string;
dolazni:TFileStream;
begin
if listbox1.ItemIndex<>-1 then
begin
fajl:='';
fajl:=edit1.Text;
fajl:=fajl+listbox1.Items[listbox1.ItemIndex];
end;
Form1.TCPclient.WriteLn('SEND_FILE');
Form1.TCPclient.WriteLn(fajl);
dolazni:=TFileStream.Create('c:\GET_FILE\'+listbox1.items[listbox1.ItemIndex],fmCreate);
Form1.TCPclient.ReadStream(dolazni,-1,true);
dolazni.Free;
end;
procedure TForm5.Button2Click(Sender: TObject);
var fajl:string;
dolazni:TFileStream;
begin
if listbox1.ItemIndex<>-1 then
begin
fajl:='';
fajl:=edit1.Text;
fajl:=fajl+listbox1.Items[listbox1.ItemIndex];
end;
Form1.TCPclient.WriteLn('SEND_FILE');
Form1.TCPclient.WriteLn(fajl);
dolazni:=TFileStream.Create('c:\GET_FILE\'+listbox1.items[listbox1.ItemIndex],fmCreate);
Form1.TCPclient.ReadStream(dolazni,-1,true);
dolazni.Free;
end;
SERVER:
Code:
procedure TForm1.tcpSEND_FILECommand(ASender: TIdCommand);
var fajl:string;
stream:TFileStream;
begin
fajl:=ASender.Thread.Connection.ReadLn;
stream:=TFileStream.Create(fajl,fmOpenRead or fmShareDenyNone);
ASender.Thread.Connection.WriteStream(stream,true,true,0);
stream.Free;
end;
procedure TForm1.tcpSEND_FILECommand(ASender: TIdCommand);
var fajl:string;
stream:TFileStream;
begin
fajl:=ASender.Thread.Connection.ReadLn;
stream:=TFileStream.Create(fajl,fmOpenRead or fmShareDenyNone);
ASender.Thread.Connection.WriteStream(stream,true,true,0);
stream.Free;
end;
U cem je problem?