Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   la variable TStream (https://www.clubdelphi.com/foros/showthread.php?t=83268)

shekinax_007 29-05-2013 02:56:56

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;

ecfisa 29-05-2013 03:08:34

Hola shekinax_007, bienvenido a Club Delphi :)

Como a todos los que ingresan te invitamos a que leas nuestra guía de estilo.

Por favor, cuando incluyas código en tus mensaje usa los TAG's, se usan de este modo:



Saludos.

shekinax_007 29-05-2013 04:08:25

ok! perdon ya mismo lo hagooo

shekinax_007 29-05-2013 04:11:52

aqui esta mi codigo
 
aqui esta el codigo
la variable Stramsize es una variable global de mi unit.
Código Delphi [-]
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;


La franja horaria es GMT +2. Ahora son las 00:54:45.

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