27. Januar 2010 18:12
Hallo Michelle,
die IP-Adresse ist eigentlich nichts anderes als ein
32-Bit- Unsigned Integer. Da wir Menschen aber so unsere Probleme mit großen Zahlen haben, haben die Macher von TCP/IP an uns gedacht, und das ganze in eine lesbare Form mit den 4 Zahlen und den Punkten gebracht.
Das heißt dein Feld könnte ein BigInteger z.B. IP64 sein (integer geht nicht, weil der nur
31 Bit für positive Werte kann), das du in deine Customer-Tabelle einträgst. Darauf legst du einen Schlüssel. Wenn du jetzt die letzte IP benötigst, machst du bei gesetztem Schlüssel ein
- Code:
Customer.Findlast
oder
- Code:
Customer.find('+').
Deine neue IP-Adresse ist dann einfach
- Code:
neueIP := CustomerIP + 32;
Eine lesbare IP-Adresse bekommst du dann mit folgender Funktion z.B.
- Code:
IPString := getIPString(ip64):
getIPString:
- Code:
for i := 1 to 4 do
begin
if i >1 then
resultstr := '.'+resultstr;
resultstr := format(ip64 mod 256)+ resultstr;
ip64 := ip64 div 256;
end;
Gruß, Fiddi
Zuletzt geändert von fiddi am 1. Februar 2010 14:36, insgesamt 1-mal geändert.