Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   como enviar un archivo comprimido con Tcliensocket (https://www.clubdelphi.com/foros/showthread.php?t=21693)

infochica 25-05-2005 08:57:13

como enviar un archivo comprimido con Tcliensocket
 
Hola a todos:

Estoy haciendo un programa de envio de ficheros comprimidos en gz utilizando el componente Tclientsocket de delphi, hasta ahi bien. El error es que nunca me llega la ultima linea del fichero al servidor. Utilizo este codigo para mandar el fichero comprimidor:

vpath:='C:\Documents and Settings\mireya\Mis documentos\'+nombrefichero;
Assignfile(A,vpath);
reset(A);
Longitud:=FileSize(A);
Leidos:=0;
while Longitud > 0 do
begin
move(buff2,Buff,sizeof(Buff));
BlockRead(A,Buff[0],SizeOf(Buff),Leidos);
ClientSocket1.socket.SendBuf(Buff[0],SizeOf(Buff));
Longitud:=Longitud - Leidos;
end;
CloseFile(A);

Haber si alguien me puede ayudar.

Gracias

jachguate 25-05-2005 15:38:35

Hola infochica. Bienvenida a los foros del clubdelphi. Ya que sos nueva pora qui, te recomiendo la lectura de la guia de estilo. También que te intereses por aprender a usar las etiquetas [ code ], [ delphi ] y [ sql ], que te permiten publicar trozos de código perfectamente indentados y con la sintaxis resaltada.

Viendo someramente el código que enviaste, me parece que mas que no enviar la última línea, envia caracteres de mas, con basura.

Cambiá la línea

Código Delphi [-]
  ClientSocket1.socket.SendBuf(Buff[0],SizeOf(Buff));

por:

Código Delphi [-]
  ClientSocket1.socket.SendBuf(Buff[0],Leidos);

Creo que con eso debiera funcionar sin mas.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 00:46:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi