Dlaczego poniższe procedury przesyłają pliki do 8192 bajtów,
a jak plik jest większy to zapisuje się to powyżej tej liczby?
procedure TForm.ButtonClick(Sender: TObject);
var
Plik: File;
Bufer: Array of Char;
begin
AssignFile(Plik, 'Jakiś_plik.txt');
Reset(Plik, 1);
SetLength(Bufer, FileSize(Plik));
BlockRead(Plik, Bufer[0], FileSize(Plik));
ClientSocket.Socket.SendBuf(Bufer[0], FileSize(Plik));
CloseFile(Plik);
end;
procedure TForm.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
Plik: File;
Bufsize: Integer;
Bufer: Array of Char;
begin
Bufsize := Socket.ReceiveLength;
AssignFile(Plik, 'Jakiś_przesłany_plik.txt');
Rewrite(Plik, 1);
SetLength(Bufer, Bufsize);
Socket.ReceiveBuf(Bufer[0], Bufsize);
BlockWrite(Plik, Bufer[0], Bufsize);
CloseFile(Plik);
end;
Ma ktoś jakiś pomysł żeby to działało dla plików każdej objętości?
Pozdarwiam...
piechnat