Ver Mensaje Individual
  #2  
Antiguo 12-08-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.297
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por raxsys
(1) Necesito hacer un programa que en primer lugar me liste todos los equipos conectados a mi red.
(2) En cada equipo estaría instalado mi programa
(3) desde la lista poder enviar entre ellos no solo texto (como en chat), sino también imagenes, el contenido de un treeview, o tal vez intercambiar archivos.
Buenas.
El (1) no es problema, es sencillo. Puedes mirar trucos 319, 272 de trucomanía, tal vez te sirvan. O tb puedes probar ésta rutina:

Código Delphi [-]
var
  Computer                 : Array[1..500] of String[25];
  ComputerCount            : Integer;
 
procedure FindAllComputers(Workgroup : String);
  Var
    EnumHandle                : THandle;
    WorkgroupRS               : TNetResource;
    Buf                       : Array[1..500] of TNetResource;
    BufSize                   : Cardinal;
    Entries                   : Cardinal;
    Result                    : Integer;
  begin
    ComputerCount := 0;
    Workgroup := Workgroup + #0;
    FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
    With WorkgroupRS do begin
      dwScope := 2;
      dwType := 3;
      dwDisplayType := 1;
      dwUsage := 2;
      lpRemoteName := @Workgroup[1];
    end;
    WNetOpenEnum( RESOURCE_GLOBALNET,
                  RESOURCETYPE_ANY,
                  0,
                  @WorkgroupRS,
                  EnumHandle );
    Repeat
      Entries := 1;
      BufSize := SizeOf(Buf);
      Result :=
       WNetEnumResource( EnumHandle,
                         Entries,
                         @Buf,
                         BufSize );
     If (Result = NO_ERROR) and (Entries = 1) then begin
        Inc( ComputerCount );
        Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);
      end;
    Until (Entries <> 1) or (Result <> NO_ERROR);
    WNetCloseEnum( EnumHandle );
  end;  { Find All Computers }
El (2) tampoco, sólo necesitas haber acabado ya el programa.
Yo empezaría por el (3); Me parece que vas a tener que utilizar Sockets; Puedes empezar a mirar las Indy, creo que por ahí anda una demo de un Chat, míratelo, creo que es un buen punto de partida, a partir de ah´se trata de ampliarlo a tus necesidades.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita