Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2003
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Esta bien amigos... pues ahi tienen el codigo que necesitan para enviar un archivo de un pc a otro:

Lo que utilizo son los componentes TNMStrm y TNMStrmServ de NetMasters... la etiqueta FastNet del IDE de Delphi. Deben poner el TNMStrmServ en la aplicación que recibira el archivo y obviamente el TNMStrm en la que lo envía... claro si desean enviar y recibir desde cualquier aplicación deberán incluir los 2.

Bien estos componentes funcionan con Streams (TMemoryStream o TFileStream), entonces depende de como queremos cargarlos... supongamos que enviaremos una imagen JPEG:

procedure TForm1.Button1Click(Sender: TObject);
var
str: TMemoryStream; //Stream donde cargaremos la imagen
mi_jpeg: TJPEGImage;
begin

mi_jpeg:=TJPEGImage.Create;
mi_jpeg.LoadFromFile('C:\imagen.jpg'); //cargamos la imagen
str:= TMemoryStream.Create; // iniciamos nuestro Stream
mi_jpeg.SaveToStream(str); //asignamos la imagen al Stream
NMStrm1.Host:='192.168.0.1'; // IP del PC donde enviaremos
NMStrm1.PostIt(str); // enviamos el stream
str.Free; //liberamos el stream
mi_jpeg.Free; // liberamos el JPEG


end;


Como se estarán imaginando de esta forma podrian capturar y enviar la captura de la pantalla del usuario.

Solo nos resta el codigo para el PC que recibirá el Stream... Obviamente usamos el componente NMStrmServ que tiene el evento OnMsg que se ejecuta cuando se hace un PostIt desde un NMStrm:


procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream);

{fijense como en la declaracion de este procedimiento tenemos como parametro un TStream, por esta razon no tendremos que crear un Stream propio para nuestra imagen. Solo lo usamos.}

var
mi_jpeg: TJPEGImage; //nuestra imágen

begin

mi_jpeg:= TJPEGImage.Create;
mi_jpeg.LoadFromStream(strm);

end;

eso es todo si desean mostrar la imagen pues simplemente a un componente TImage le asignan el JPEG y listo... Se que les servirá el codigo y no solo a Ustedes si no a mas gente del foro, esa es la idea. Y pues mi problema y espero que me colaboren es el siguiente:

Estoy conectando los PC's con los ICS (componentes para el manejo de Winsock, igual que los INDY), el incoveniente es que cuando un PC cliente se bloquea algo dificil de suceder en WINDOWS pues no se desconecta del servidor y cuando ingresa nuevamente pues genera un error que algunas veces me tira el servidor y desconecta a todo el mundo... pues no se que hacer e intentado validar la entrada de cada cliente pero no funciona...

Salu2 desde Colombia...


__________________
Diego. Colombia es pasión.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:32:34.


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
Copyright 1996-2007 Club Delphi