@Dalas try my code in your project if it's ok? ----------
This "my Frankstein" Stored Procedure try verify is your "IP v4 address". a.k.a. "FrankenDure" or "DureStein"
you'll have 7 fields-response:
1) X_IP_Part1 = "0" if error (value empty, wrong value (ex.: ".", "1.", " ", etc...) , value > 255 (ex.: "256.2.3.4" ), or the value ok!
2) X_IP_Part2 = "0" if error (value empty, wrong value (ex.: ".", "1.", " ", etc...) , value > 255 (ex.: "1.256.3.4" ), or the value ok!
3) X_IP_Part3 = "0" if error (value empty, wrong value (ex.: ".", "1.", " ", etc...) , value > 255 (ex.: "1.2.256.4" ), or the value ok!
4) X_IP_Part4 = "0" if error (value empty, wrong value (ex.: ".", "1.", " ", etc...) , value > 255 (ex.: "1.2.3.256" ), or the value ok!
5) X_IP_BIGINT_VALUE = 0 if your IP-address it's wronged; "n" value equals your IP-Address as "Integer" value
6) X_ERROR_ON_IP_PARTX = the content wronged in "X" part of your IP-address
7) X_IP_PARTX_ERROR = = what part os your IP-address is wronged?
---------- 8) if your IP-address is: 111.222.333.444.555 ---- .555 it should be ignored any case!!!
9) you can try using this command: -----> SELECT * FROM "prc_IP_To_Integer"('127.0.0.1'); /* FOR EXAMPLE */
10) Of course, it's just my test with many lines, not optimization, etc.. etc.. etc.. but works! Enjoy and have a fun!
Link: https://mega.nz/file/j7xgAZrK Key to download: -8lAtnTOl9Gck4WXTayQDjyHVsPJAHf79h2VFzD6XR8 Password 7zip: Firebird_Stored_Procedure_for_test_IP_Address_IPv4_by_Emailx45
NOTE: the message: "NONE IP ADDRESS OK"... it should be (just) "IP ADDRESS OK"
sorry this my bad english and quick typing
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3