Zitat von
Luckie:
Ich habe zwei
IP Adressen: 192.168.2.100 und 192.168.5.100 Jeder Teil der
IP Adresse liegt mir als Integer vor. Wie kann ich jetzt alle
IP Adressen in diesem Bereich generieren? Ich habe da irgendwie gerade einen Blackout.
kürze sie zu jeweils 4 bytes mache einen integer daraus und lasse von integer1 bis integer2 alle zahlen durchlaufen.
Delphi-Quellcode:
TIP =
array[0..3]
of Integer;
function makeip(
IP: Integer):
String;
begin
result := IntToStr((
IP shr 24)
and $FF) + '
.' + IntToStr((
IP shr 16)
and $FF) + '
.' + IntToStr((
IP shr 8)
and $FF) + '
.' + IntToStr((
IP shr 0)
and $FF);
end;
ip1_int := ((ip1[0]
and $FF)
shl 24)
or ((ip1[1]
and $FF)
shl 16)
or ((ip1[2]
and $FF)
shl 8)
or ((ip1[3]
and $FF)
shl 0);
ip2_int := ((ip2[0]
and $FF)
shl 24)
or ((ip2[1]
and $FF)
shl 16)
or ((ip2[2]
and $FF)
shl 8)
or ((ip2[3]
and $FF)
shl 0);
for i := ip1_int
to ip2_int
do
begin
Memo1.Lines.Add(IntToStr(makeip(i));
end;