Esta es una función que recibe un texto y comprueba si es una ip válida
PRIVATE FUNCTION comprobarip(ip AS String) AS Boolean
DIM partes AS String[] = Split(ip, "."), Valido AS Boolean, Contador AS Integer
DIM numero AS Integer
IF partes.count <> 4 THEN
valido = FALSE 'si no hay cuatro grupos de números no mirar mas
ELSE
valido = TRUE
'hay cuatro grupos de caracteres separados por puntos. Comprobar cada uno
FOR contador = 0 TO partes.Max
IF IsDigit(partes[contador]) THEN
numero = CInt(partes[contador])
valido = TRUE
ELSE
valido = FALSE
ENDIF
IF valido THEN 'si la parte está formada solo por numeros
valido = IIf(valido AND numero >= 0 AND numero < 256, TRUE, FALSE)
'el número debe ser positivo y menor que 256
ENDIF
IF NOT valido THEN
BREAK 'si un grupo de números no es válido no mirar mas
ENDIF
NEXT
ENDIF
RETURN valido
END
DIM partes AS String[] = Split(ip, "."), Valido AS Boolean, Contador AS Integer
DIM numero AS Integer
IF partes.count <> 4 THEN
valido = FALSE 'si no hay cuatro grupos de números no mirar mas
ELSE
valido = TRUE
'hay cuatro grupos de caracteres separados por puntos. Comprobar cada uno
FOR contador = 0 TO partes.Max
IF IsDigit(partes[contador]) THEN
numero = CInt(partes[contador])
valido = TRUE
ELSE
valido = FALSE
ENDIF
IF valido THEN 'si la parte está formada solo por numeros
valido = IIf(valido AND numero >= 0 AND numero < 256, TRUE, FALSE)
'el número debe ser positivo y menor que 256
ENDIF
IF NOT valido THEN
BREAK 'si un grupo de números no es válido no mirar mas
ENDIF
NEXT
ENDIF
RETURN valido
END
Para utilizarla hacer así
valido=ComprobarIp(texto.text)
valido valdrá true o false según que sea o no una ip válida