Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Zahlenwert einer IP-Adresse ermitteln

  Alt 17. Mär 2007, 14:20
negaH zeigt hier, wie man aus einer IP-Adresse einen Zahlenwert errechnen kann:

Delphi-Quellcode:
function ToIP(I1,I2,I3,I4: Integer): Cardinal;

  function Check(Value: Integer): Byte;
  begin
    if (Value >= 0) and (Value <= 255) then Result := Value
      else raise Exception.Create('ToIP: Values I1,I2,I3,I4 must be in Range 0 upto 255 each');
  end;

begin
  Result := Check(I1) shl 24 or Check(I2) shl 16 or Check(I3) shl 8 or Check(I4);
end;
Diesen Zahlenwert kann man dann weiter verwenden. Um wieder einen String zu erhalten, kann man sich folgender Funktion bedienen:

Delphi-Quellcode:
function IPToStr(Value: Cardinal): String;
begin
  Result := Format('%d.%d.%d.%d', [Value shr 24, Value shr 16 and $FF, Value shr 8 and $FF, Value and $FF]);
end;
  Mit Zitat antworten Zitat