status
Galera é o seguite
tó desenvolvendo aqui um programa e preciso que ele verifique se eu estou conectado a net.
os exemplos que tenho aqui não dá certo pois ele verifica se estar 0.0.0.0
só que sempre estar 127.0.0.1 ou o IP. mesmo...
Alguém pode me ajudar?
:D
Grato!
tó desenvolvendo aqui um programa e preciso que ele verifique se eu estou conectado a net.
os exemplos que tenho aqui não dá certo pois ele verifica se estar 0.0.0.0
só que sempre estar 127.0.0.1 ou o IP. mesmo...
Alguém pode me ajudar?
:D
Grato!
Ajmsistemas
Curtidas 0
Respostas
Skaarj
09/02/2003
Usa um NMFTP [testei no D5], aqi a resposta é ñ conectado e pede a caixa de conex dial-up, coloq um else e vc terá o usuário conectado..
end;
if (NMFtp1.GetLocalAddress = ´0,0,0,0´) Then
begin
Application.MessageBox(´Conecte-se e tente enviar o registro novamente´,´officeCOM Config´,0);
reg := TRegIniFile.create(´RemoteAccess\´);
Conexao := reg.ReadString(´´,´Default´,´´);
reg.free;
Executa:=´rundll32.exe rnaui.dll,RnaDial ´; {executavel e biblioteca do windows}
Conecta:=Executa+Conexao; {concatena comando e nome da conexão}
Dialup:=Pchar(Conecta); {transforma string em caracter para ser aceita pela função}
winexec(Dialup,sw_show);
end;
end;
if (NMFtp1.GetLocalAddress = ´0,0,0,0´) Then
begin
Application.MessageBox(´Conecte-se e tente enviar o registro novamente´,´officeCOM Config´,0);
reg := TRegIniFile.create(´RemoteAccess\´);
Conexao := reg.ReadString(´´,´Default´,´´);
reg.free;
Executa:=´rundll32.exe rnaui.dll,RnaDial ´; {executavel e biblioteca do windows}
Conecta:=Executa+Conexao; {concatena comando e nome da conexão}
Dialup:=Pchar(Conecta); {transforma string em caracter para ser aceita pela função}
winexec(Dialup,sw_show);
end;
GOSTEI 0
Dor_poa
09/02/2003
Adiciona nas USES ShellAPI, ScktComp, Winsock
Function GetLocalIp:String;
type
Tapinaddr = Array[0..10] of Pinaddr;
PaPinaddr = ^TaPInAddr;
var
Phe : PhostEnt;
PPtr: PaPiNaddr;
Buffer :Array[0..63] of Char;
i:Integer;
GInitData: Twsadata;
begin
WsaStartup($101,GInitData);
Result := ´´;
Gethostname(Buffer, SizeOf(buffer));
Phe := GetHostbyName(Buffer);
If Phe= nil then Exit;
Pptr := Papinaddr(phe^.h_addr_list);
i:= 0;
While Pptr^[I] <> nil do
begin
Result := StrPas(Inet_ntoa(pptr^[i]^));
Result := StrPas(Inet_ntoa(pptr^[i]^));
Inc(I);
end;
WsaCleanUp;
if Copy(Result , 0,3) <> ´200´ then
begin
Showmessage(´fora da internet´);
end;
end;
Function GetLocalIp:String;
type
Tapinaddr = Array[0..10] of Pinaddr;
PaPinaddr = ^TaPInAddr;
var
Phe : PhostEnt;
PPtr: PaPiNaddr;
Buffer :Array[0..63] of Char;
i:Integer;
GInitData: Twsadata;
begin
WsaStartup($101,GInitData);
Result := ´´;
Gethostname(Buffer, SizeOf(buffer));
Phe := GetHostbyName(Buffer);
If Phe= nil then Exit;
Pptr := Papinaddr(phe^.h_addr_list);
i:= 0;
While Pptr^[I] <> nil do
begin
Result := StrPas(Inet_ntoa(pptr^[i]^));
Result := StrPas(Inet_ntoa(pptr^[i]^));
Inc(I);
end;
WsaCleanUp;
if Copy(Result , 0,3) <> ´200´ then
begin
Showmessage(´fora da internet´);
end;
end;
GOSTEI 0