Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LotusBleifrei am 03.03.04 - 11:37:46

Titel: sortierung von ip adressen
Beitrag von: LotusBleifrei am 03.03.04 - 11:37:46
Hi,

ich habe endlich mal ne lustige Anwendung für unser eins generiert. Jetzt habe ich ein klitze kleines Problem...

Habe eine Spalte names IP-Adressen, darin sind lauter IP Adressen aufgelistet.
192.168.0.1
192.168.10.2
192.168.10.240
192.168.10.90
192.168.11.3
192.168.13.49

Welche Formel muss ich benutzen oder wie könnte generell der Code aussehen damit ich die IP - Adressen richtig sortiere?
Beispiel die IP 10.240 ist ja grösser wie 10.90 >> aber angezeigt wird 10.90 erst nach 10.240 :((
kann ich da was mit @Sort machen??

Die Spalte hat die Eigenschaft:
Sortierung: Aufsteigend
Typ: Standard

Gruss Deny
Titel: Re:sortierung von ip adressen
Beitrag von: Gandhi am 03.03.04 - 11:44:03
Du kannst eine versteckte Sortierspalte einfügen...
Standardmäßig behandelt Notes das wie einen Text. und die "9" ist da nun mal größer als die "2"
Titel: Re:sortierung von ip adressen
Beitrag von: koehlerbv am 03.03.04 - 12:02:56
Wie Gandhi schon schrieb: Du brauchst hierfür eine versteckte Sortieransicht.
In dieser musst Du die IP-Adressen (Text) in eine sortierbare Zahl umwandeln. Hierzu holst Du Dir die einzelnen Portionen mit @Word, wandelst sie mit @TextToNumber in eine Zahl und bringst diese per Multiplikation in die richtige Dimension.
Zum Abschluss addierst Du Deine temporären Variablen, um den Spaltenwert zu bekommen - fertig.

HTH,
Bernhard
Titel: Re:sortierung von ip adressen
Beitrag von: LotusBleifrei am 03.03.04 - 12:40:47
Brücke an Captain Picard,

also danke für die "Befehle" habe jetzt bisschen rumgespielt...für einen Anfänger in scripting nicht schlecht soweit... *lol*

das ist meine Lösung:
ipAdress: 10.10.10.1; 10.10.10.10; 10.10.10.112; 10.10.11.1; 10.10.11.11; 10.10.11.110;

@TextToNumber(@Word(ipAdress;".";3):@Word(ipAdress;".";4));
Sortierung aufsteigend => Versteckte Spalte => Ausgabe wäre zb.
10,1
10,10
10,112
11,1
11,11
11,110

jo und er sortiert fein also habe nix mit multiplikation etc... gemacht...für meine Bedürfnisse reicht das mal :) *freu*
Titel: Re:sortierung von ip adressen
Beitrag von: koehlerbv am 03.03.04 - 12:52:36
Dann solltest Du das übrigens auch ausbauen können auf alle vier Komponenten der IP-Adressen, denn
10,112
entsprechend Deiner Formel ja nicht "zehn komma einhundertzwölf", sondern eine Zahlenliste
10 : 112
Wieder ein Beweis, wie mächtig doch die Notes-Formelsprache ist:
217 : 160 : 137 : 156
würde auch richtig einsortiert.
Das Multiplizieren kann man sich so tatsächlich sparen ;-)

Bernhard
Titel: Re:sortierung von ip adressen
Beitrag von: LotusBleifrei am 03.03.04 - 13:01:22
hey danke schön :) sehr mächtig das ganze und es macht sogar spass :))

werde es auf die ganze IP aufsetzen!

also thnx :))
Titel: Re:sortierung von ip adressen
Beitrag von: LotusBleifrei am 04.03.04 - 09:54:42
hab wieder ein klliitzekleines problemchen:

gehen wir von dieser formel aus:

@TextToNumber(@Word(ipAdress;".";1):@Word(ipAdress;".";2):@Word(ipAdress;".";3):@Word(ipAdress;".";4));


Jetzt habe ich soweit alle IP-Adressen sortiert, lustigerweise habe ich noch ein paar Strings darunter gemischt

192.168.0.1
192.168.10.2
192.168.10.240
192.168.10.90
192.168.11.3
192.168.13.49
Local
FREI
kein Netz

Logischer weise bekomme ich durch diese obere Formel einen@ERROR...mit welchem Befehl kann ich Strings ausschliessen...oder nach Strings sortieren...

MfG Deny
Titel: Re:sortierung von ip adressen
Beitrag von: LotusBleifrei am 04.03.04 - 15:26:35
Naja jetzt werde ich keine STRINGS mehr einfügen jetzt sind nur noch reine IP Adressen drin...das ist nicht so einfach...

Es gibt natürlich auch Felder in denen keine IP Adresse vorhanden ist, da bekomme ich auch @ERROR...

Ich habe dann eine Bedingung eingefügt aber sie wirkt irgendwie nicht...was mache ich falsch?


@If(ipAdress !=""; @TextToNumber(@Word(ipAdress;".";1):@Word(ipAdress;".";2):@Word(ipAdress;".";3):@Word(ipAdress;".";4)));

Soll laut meiner Ansicht heissen...
Wenn die Variable ipAdress nicht leer ist...dann soll er folgendes aus ipAdress machen...oder funktioniert das nicht weil ich ihm kein "ansonsten" mitgegeben habe?

gruss deny