Delphi - mostrar ventana de configuracion ip

 
Vista:

mostrar ventana de configuracion ip

Publicado por Miguel Ayuso (2 intervenciones) el 22/09/2004 18:37:36
Me gustaria saber si se prodria sacar la ventana de configuracion ip desde un programa en delphi o como poder asignar la direccion ip y su subred automaticamente desde un programa en delphi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mostrar ventana de configuracion ip

Publicado por BigLuis (713 intervenciones) el 22/09/2004 19:28:37
Mira estas funciones.Con ellas obtines tu IP y luego haces lo que quieras con ella.
function GetIPinfo:String;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
Nombre,Direccion : String;
begin // no error checking...
Result:='';
try
WSAStartup(2, WSAData);
SetLength(Nombre, 255);
Gethostname(PChar(Nombre), 255);
SetLength(Nombre, StrLen(PChar(Nombre)));
HostEnt := gethostbyname(PChar(Nombre));
with HostEnt^ do
Direccion := Format('%d.%d.%d.%d',[ Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
Result:=Direccion;
finally
WSACleanup;
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra

Publicado por BigLuis (713 intervenciones) el 22/09/2004 19:29:52
procedure TForm1.IP1Click(Sender: TObject);
Type
// Una estructura que une el estado del adaptador
// con una matriz de estructuras TNameBuffer
ASTAT = record
adapt: TAdapterStatus;
NameBuff: Array[0..29] Of TNameBuffer;
end;
Var
Adaptador: ASTAT;
Ncb: TNCB;
Nombre: String;
DatosSocket: TWSADATA;
BloqueIP: PHostEnt;
DirIP: Tinaddr;
begin
//FormPing.Memo1.cLEAR;
With Ncb Do // Inicializamos la estructura para ejecutar
Begin // el comando NCBSTAT
ncb_command := char(NCBASTAT);
ncb_lana_num := char(0); // asumimos que sólo hay un adaptador
ncb_callname := '*'; // y no facilitamos nombre
ncb_buffer := @Adaptador; // dirección de la estructura para obtener
ncb_length := sizeof(Adaptador); // los datos devueltos
End;

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sigue

Publicado por BigLuis (713 intervenciones) el 22/09/2004 19:30:20
Netbios(@Ncb); // Llamada a NetBios

// Mostramos los datos
With Adaptador.adapt Do
//ShowMessage('La dirección MAC es: ' +
// FormPing.Memo1.Lines.Add('Mi dirección MAC es : ' +
Edit4.Text:=(
IntToHex(Integer(adapter_address[0]), 2) +
IntToHex(Integer(adapter_address[1]), 2) +
IntToHex(Integer(adapter_address[2]), 2) +
IntToHex(Integer(adapter_address[3]), 2) +
IntToHex(Integer(adapter_address[4]), 2) +
IntToHex(Integer(adapter_address[5]), 2));

WSAStartup($0101, DatosSocket); // Inicializamos Windows sockets
SetLength(Nombre, MAX_PATH); // y obtenemos el nombre de nuestro equipo
gethostname(PChar(Nombre), MAX_PATH);
// que usamos para obtener un bloque de información sobre IP
BloqueIP := gethostbyname(PChar(Nombre));
// del cual recuperamos la dirección
CopyMemory(@DirIP, (BloqueIP^).h_addr_list^, BloqueIP.h_length);
//FormPing.Memo1.Lines.Add('');
//FormPing.Memo1.Lines.Add('Mi Direccion IP es : '+' '+inet_ntoa(DirIP));
Edit1.Text:=(inet_ntoa(DirIP)); // y la mostramos
//ShowMessage(inet_ntoa(DirIP)); // y la mostramos
//FormPing.Show;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra

Publicado por BigLuis (713 intervenciones) el 22/09/2004 19:31:52
No olvides añadir las unidaddes WSocket, WinSock al uses

procedure TForm1.IP2Click(Sender: TObject);
var
//WinSock
//=====================
wVersionRequested : WORD;
wsaData : TWSAData;
//=====================
p : PHostEnt;
s : array[0..128] of char;
p2 : pchar;
begin
try
{Start up WinSock}
wVersionRequested := MAKEWORD(1, 1);
//showmessage(inttostr(wVersionRequested));
WSAStartup(wVersionRequested, wsaData);
//WSAStartup($0101, DatosSocket); // Inicializamos Windows sockets
{Get the computer name}
GetHostName(@s, 128);
p := GetHostByName(@s);
Edit5.Text:=(p^.h_Name);
//Memo1.Lines.Add(p^.h_Name);
{Get the IpAddress}
p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
Edit2.Text:=p2;
//Memo1.Lines.Add(p2);
finally
{Shut down WinSock}
WSACleanup;
end
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar ventana de configuracion ip

Publicado por Miguel Ayuso (2 intervenciones) el 23/09/2004 08:43:23
Gracias BigLuis pero yo no quiero obtener la dirección ip eso ya se hacerlo lo que quiero es grabarla o poder sacar la ventana de configuracion para que el cliente la grabe desde mi programa en delphi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar