Peter Wagemans Posted February 1, 2003 Posted February 1, 2003 Er zijn een paar mensen op het forum bezig met FileMaker templates die log files analyseren. Daarbij is een ip adres als dusdanig soms nogal lastig, en is het veel handiger om het voor te stellen als een getal - waardoor je ranges van ip adressen gemakkelijker aankunt. Bekijk even volgende calculatie: Right("00" & MiddleWords(Substitute(ip, ".", " "), 1 , 1) , 3) & "." & Right("00" & MiddleWords(Substitute(ip, ".", " "), 2 , 1) , 3) & "." & Right("00" & MiddleWords(Substitute(ip, ".", " "), 3 , 1) , 3) & "." & Right("00" & MiddleWords(Substitute(ip, ".", " "), 4 , 1) , 3) Interessant hier is dat er geen Position() functie gebruikt wordt, die functie zou de calculatie nodeloos complex maken. In plaats daarvan vervangen we de puntjes door spaties, waardoor de krachtige MiddleWords() functie kan gebruikt worden. Tenslote wordt de Right() functie gebruikt met een klein truukje om het verkregen getal aan te vullen met "leading" nullen. PS: Mijn Mac gebruikt komma's (er zijn een paar leeghoofden bij FileMaker die de internationale support maar niet in orde krijgen) hier de punt-komma versie voor mensen met een systeem dat OK is: Right("00" & MiddleWords(Substitute(ip; "."; " "); 1 ; 1) ; 3) & "." & Right("00" & MiddleWords(Substitute(ip; "."; " "); 2 ; 1) ; 3) & "." & Right("00" & MiddleWords(Substitute(ip; "."; " "); 3 ; 1) ; 3) & "." & Right("00" & MiddleWords(Substitute(ip; "."; " "); 4 ; 1) ; 3) Quote
Peter Wagemans Posted February 1, 2003 Author Posted February 1, 2003 BTW, je kan een IP adres ook numeriek compleet anders voorstellen: MiddleWords(Substitute(ip, ".", " "), 1 , 1) * 256^3 + MiddleWords(Substitute(ip, ".", " "), 2 , 1) * 256^2 + MiddleWords(Substitute(ip, ".", " "), 3 , 1) * 256^1 + MiddleWords(Substitute(ip, ".", " "), 4 , 1) * 256^0 Dit geeft je een minder aanschouwelijke voorstelling, maar het is wel een beter formaat om over verschillende subnets een range te bepalen. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.