Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: FreRi am 28.08.07 - 09:13:03

Titel: @Sort
Beitrag von: FreRi am 28.08.07 - 09:13:03
Hallo,

ich habe in einem Feld eine Liste mit relativ langen Namen von Textbausteinen

ich möchte diese Liste nach einer bestimmten Zeichenfolge innerhalb des Namens sortieren und versuche das über die Formel @Sort, konkret über folgende Befehlsfolge:

@SetField( Sortierfeld; @Sort(Sortierfeld ;[CustomSort];@If(@Word($A; "_"; 3) < @Word($B; "_"; 3);-1;@Word($A; "_"; 3) > @Word($B; "_"; 3) ;1;0)));

dh. mit @Word bekomme ich die gewünschten Sortierkriterien, @Sort sollte das ganze sortieren und @SetField sollte das ganze zurückschreiben.

Irgendwie funkt`s nicht!
Titel: Re: @Sort
Beitrag von: dirk_2909 am 28.08.07 - 09:18:27
Wenn Du schon das Sortierkriterium herausextrahiert hast, braucht Du doch keine vergleiche (@if) mehr machen.

Du must "nur" dafür Sorgen, dass die Liste der Sorierkriterien sortiert wird und dann "nur" diese Sorierkrietrien mit den Namen der entsprechenden Textbausteinen ersetzen.

(@Replace)...
 oder...
Musst Du dem benutzer denn die Langen Namen anzeigen? Kannstz Du nicht sofort kürzere Anzeigen, die besser (sofort) sortiert werden können
Titel: Re: @Sort
Beitrag von: FreRi am 28.08.07 - 09:27:55
Hallo Dirk,

a) ja, ich muss dem Anwender den Namen anzeigen

b) das @If zum Vergleich benötige ich ja aufgrund der Syntax von @Sort (in Zusammenhang mit CUSTOMSORT) ,denke ich

lg FreRi
Titel: Re: @Sort
Beitrag von: umi am 28.08.07 - 09:33:23
Wo ist sortierfeld definiert?
Oder ist es ein Feld im Dokument, dann müsste es doch @setfield("Sortierfeld";...); heissen?

PS: Einzeiler sind etwas schwierig zum debuggen :-)
Titel: Re: @Sort
Beitrag von: dirk_2909 am 28.08.07 - 09:45:36
@FreRi

Du hast Recht. Das @If benötigst Du dann.

Was klappt denn genau nicht?
Denke es legt am @SetField ?!

hast Du auch vorher das Feld "Initialisiert" ??

Field Sortierfeld := Sortierfeld ;
@SetField( "Sortierfeld" ; .... );
Titel: Re: @Sort
Beitrag von: m3 am 28.08.07 - 09:47:02
hast Du auch vorher das Feld "Initialisiert" ??

Field Sortierfeld := Sortierfeld ;
@SetField( "Sortierfeld" ; .... );
Das ist mit Notes 7 nicht mehr notwendig, IIRC.

Immer wenn man glombi brauchen würde, ist er auf Urlaub ....
Titel: Re: @Sort
Beitrag von: dirk_2909 am 28.08.07 - 10:00:18
Zitat
Das ist mit Notes 7 nicht mehr notwendig, IIRC.

OK - wieder schlauer :D es schadet aber nicht (habe keine Lust den Code zu ändern)
Titel: Re: @Sort
Beitrag von: Tode am 28.08.07 - 10:09:15
@m3: Du hast recht, dieses Konstrukt ist sogar schon seit R6 nicht mehr nötig, denn dort wurde die Formel- Engine komplett überarbeitet.

Ich denke übrigens auch, dass die Fehlenden Anführungszeichen um den Feldnamen bei @SetField der Fehler ist.

Gruß
Tode
Titel: Re: @Sort
Beitrag von: FreRi am 28.08.07 - 10:29:03
@ALL

Danke; was solche Anführungszeichen alles ausmachen können! ;)