Ver Mensaje Individual
  #1  
Antiguo 29-05-2013
shekinax_007 shekinax_007 is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 5
Reputación: 0
shekinax_007 Va por buen camino
Unhappy la variable TStream

disculpen x la molestia, pero necesito ayuda cn esto, stoy haciendo un proyecto acerca de sockets y conexion clients-server y necesito enviar archivos pude hacerlo como el componente opendialog de delphi que me permite seleccionar directament el archivo, pero queria saber si podria crear mi variable TfileStream directament con la direccion o directorio del archivo,el Filename y size,(lo cual puedo obtener con otras funciones) manualmente. porfaaa necesito ayuda...no es mi area la programacion por que soy de redes y telecomunicaciones pero me encantoo programar y quisiera presentar este proyecto,pues me encanto esta area.

aqui le dejo el codigo de como lo hago con el opendialog
OpenDialog1.Filter := 'All Files (*.*)'; // you can add more choices by adding | and followed by description and (*.extension)
OpenDialog1.FilterIndex := 1; // Here you follow which index number from above you want
if OpenDialog1.Execute then
begin
Edit1.Text := ExtractFileName(OpenDialog1.FileName); // To send as filename after
ClientSocket1.Socket.SendText('FILE!'+Edit1.Text);
sleep(2000); // Need to sleep so the other end has time to process the commands
Streamsize := TFileStream.Create(OpenDialog1.FileName, fmopenread); // Stream created just to Calculate size
Edit2.Text := inttostr(Streamsize.Size);
Sleep(2000);
ClientSocket1.Socket.SendText('SIZE!'+Edit2.Text); // Sends filesize through primary socket
Streamsize.Position := 0;
Streamsize.Free;
sleep(2000);
ClientSocket2.Address := Edit3.Text;
ClientSocket2.Open; // ready to send file on second socket
if ClientSocket2.Socket.SendStream(TFileStream.Create(OpenDialog1.FileName, fmopenRead)) then memo1.Lines.Add('File Sent');
// above creates a stream and sends as a stream its in a if line because this is the only way it will automatically check the byte order and send the whole stream
end;
Responder Con Cita