Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vedr: at tjekke et ip nr, som er inden for et område af IP nummer, der er tilladt

0 views
Skip to first unread message

Tommy Andersen

unread,
Jan 9, 2003, 6:13:44 AM1/9/03
to
Hej med jer derude....

Jeg har et lille problem, som jeg ikke rigtig kan dreje...

hvis jeg har et IP nr der feks hedder 192.168.0.10

og jeg gerne vil tjekke om dette IP nr ligger i et IP område der sat til:

fra 192.168.0.0 til 192.168.0.100

er der nogle derude der har et godt forslag til dette.

Jeg har været inde at splite IP nummer op, men det giver ikke et godt
resultat, efter min mening

TA


Jakob Andersen

unread,
Jan 9, 2003, 8:05:15 AM1/9/03
to
"Tommy Andersen" <tad...@privat.dk> wrote

> Jeg har et lille problem, som jeg ikke rigtig kan dreje...
> hvis jeg har et IP nr der feks hedder 192.168.0.10
> og jeg gerne vil tjekke om dette IP nr ligger i et IP område der sat til:
> fra 192.168.0.0 til 192.168.0.100

Noget ala nedenstående skulle nok kunne gøre det du ønsker:

Function ValidIPRange( IP, RangeStart, RangeEnd )
Dim HexIP, HexRangeStart, HexRangeEnd
IP = Split( IP, "." )
RangeStart = Split( RangeStart, "." )
RangeEnd = Split( RangeEnd, "." )
HexIP = Hex(IP(0)) & Hex(IP(1)) & Hex(IP(2)) & Hex(IP(3))
HexRangeStart = Hex(RangeStart(0)) & Hex(RangeStart(1)) &
Hex(RangeStart(2)) & Hex(RangeStart(3))
HexRangeEnd = Hex(RangeEnd(0)) & Hex(RangeEnd(1)) & Hex(RangeEnd(2)) &
Hex(RangeEnd(3))
If HexIP <= HexRangeEnd AND HexIP >= HexRangeStart Then
ValidIPRange = True
Else
ValidIPRange = False
End If
End Function

Ovenstående er taget fra min hukommelse og er ikke testet, men teorien i det
skulle være god nok.

--
Jakob Andersen


Jens Gyldenkærne Clausen

unread,
Jan 9, 2003, 10:01:10 AM1/9/03
to
Tommy Andersen skrev:

> og jeg gerne vil tjekke om dette IP nr ligger i et IP område
> der sat til:
>
> fra 192.168.0.0 til 192.168.0.100

Hvis du ved at inddata er et gyldigt ip-nummer kan du nøjes med at
udføre to tjek:
a) Left(ipVar, 10) = "192.168.0."
b) Hiv det sidste tal ud og undersøg værdien i forhold til dine
grænser (0 og 100). Du skal konvertere værdierne til int for at
sammenligne korrekt

En mere generel metode er at splitte nummeret op og kontrollere
hver gruppe for sig.
Jeg har lagt et eksempel på <http://damu.dk/jc/usenet/function.asp>
- kildekoden er tilgængelig via link på siden.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Tommy Andersen

unread,
Jan 9, 2003, 11:58:29 AM1/9/03
to
Mange tak for jeres svar

Men jeres svar har ført til et nyt.....

Hvad nu hvis IP range springer...

Feks

192.168.0.0 to 192.168.0.255
192.168.1.0 to 192.168.1.100

ta


Christian M. Nielsen

unread,
Jan 9, 2003, 1:41:57 PM1/9/03
to

"Tommy Andersen" <tad...@privat.dk> wrote in message
news:3e1daa2d$0$198$edfa...@dread16.news.tele.dk...

Så kører du det gennem to løkker og undersøger om det ligger inden for enten
den ene eller den anden.

som Jakob skrev

> If HexIP <= HexRangeEnd AND HexIP >= HexRangeStart Then

' her skal den så køre næste check som du an kalde *******2

RangeStart2 = Split( RangeStart2, "." )
RangeEnd2 = Split( RangeEnd2, "." )

--

Mvh / Regards

-=< Christian >=-

What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
Destiny is not a matter of chance it is a matter of choice


Jakob Andersen

unread,
Jan 9, 2003, 1:48:14 PM1/9/03
to
"Tommy Andersen" <tad...@privat.dk> wrote

> Hvad nu hvis IP range springer...
>
> Feks
>
> 192.168.0.0 to 192.168.0.255
> 192.168.1.0 to 192.168.1.100

Hvis du benytter min funktion kan du vel blot bruge:

If ValidIPRange( "192.168.0.10", "192.168.0.0", "192.168.0.255" ) AND
ValidIPRange( "192.168.0.10", "192.168.1.0", "192.168.1.100" ) Then
' Ip'en er i dit Range
End If

--
Jakob Andersen


Jakob Andersen

unread,
Jan 9, 2003, 2:09:56 PM1/9/03
to
"Jakob Andersen" <ja...@effectus.dk> wrote

> If ValidIPRange( "192.168.0.10", "192.168.0.0", "192.168.0.255" )
> AND ValidIPRange( "192.168.0.10", "192.168.1.0", "192.168.1.100" )
> Then
> ' Ip'en er i dit Range
> End If

Det AND skulle selvfølgelig være et OR

--
Jakob Andersen


0 new messages