FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Obtener tres primeras partes de una ip
¡Buenas!, hace tiempo me acerqué por aquí con una pregunta similar, cómo obtener el último trozo (de 192.168.1.25, obtener 25) ahora he creado esta función, pero no me funciona, pues me devuelve lo que sería 192. de 192.168.1.25 en vez de, como quiero, 192.168.1.
Gracias simplemente, por el tíempo empleado en leer esto.
__________________
:) |
#2
|
|||
|
|||
function TresTrozos(Ip:string):string;
var posicion,i:integer; direccion:string; begin direccion := ip; for i:=1 to 3 do begin posicion := Pos('.', Direccion); <- El problema esta aqui. Encuentra siempre la primera ocurrencia de '.', con lo que al final desecha todo menos la primera parte de la direccion If I = 3 Then begin Delete(Direccion, posicion, Length(Direccion)); Result := Direccion; end; end; end; Prueba con esto repeat siguiente:=Pos('.',Direccion); if siguiente<>0 then begin Trozo := copy(parametros,1,siguiente-1); Direccion := Copy(Direccion, Siguiente +1, Length(Direccion) -Siguiente); end else Trozo := copy(Direccion,1,length(Direccion)); Until (siguiente=0); Result := Trozo; En cada una de las iteraciones del bucle tendras las partes de la IP. Puedes hacer con ellas lo que necesites. Un saludo |
#3
|
||||
|
||||
Mira este otro
Este tambien funciona:
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo Última edición por yusnerqui fecha: 20-08-2004 a las 15:03:11. |
|
|
|