Ver Mensaje Individual
  #4  
Antiguo 19-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Cita:
Empezado por Gagiel
Muy interesantes las posibles soluciones, pero creo que la mejor es la útima, ya es la más completa, según mi opinion.
Si me hechas una manita con el codigo
Si te refieres a comprobar la ip, es muy sencillo. Con una función como esta:
Código Delphi [-]
Uses Winsock;

function GetIp: string;
var
  Buffer: array[0..127] of char;
  WSAData: TWSADATA;
  HostEnt: phostent;
begin
  Result:= '';
  FillChar(Buffer,Sizeof(Buffer),#0);
  if WSAStartup(MAKEWORD(1, 1), WSADATA) = 0 then
  begin
    if GetHostName(@Buffer,Sizeof(Buffer)) = 0 then
    begin
      HostEnt:= gethostbyname(@Buffer);
      if HostEnt <> nil then
        Result:= String(inet_ntoa(PInAddr(HostEnt.h_addr_list^)^));      
    end;
    WSACleanup;
  end;
end;

Obtenemos la ip del equipo, si el cable de red esta desconectado nos dará un valor del tipo "127.0.0.1" y si esta conectado pero el DHCP no funciona dará un valor por defecto (sigo sin encontrar el valor). En cualquier caso, lo normal es que en nuestra red utilicemos direcciones del tipo 192.168.x.x o 10.x.x.x así que solo tenemos que comprobar que la ip que obtenemos se encuentra dentro del rango para saber si todo funciona bien. De todas formas tendras que realizar los ajustes necesarios para tu red.

Última edición por seoane fecha: 20-03-2007 a las 13:08:22.
Responder Con Cita