Domino 9 und frühere Versionen > ND8: Entwicklung
Serialisierte Liste nach Datum sortieren
bikerboy:
Also mit meiner Frage nach dem Fehler war in diesem Fall unberechtigt, da wir das Zeit Kriterium drin haben und es nicht möglich ist 2 Positionen mit dem selben Datum + Zeitwert zu versehen.
In anderen Listen habe ich die Idee von jBubbleBoy aufgenommen und für meine Ansprüche umgebaut. Bin gespannt was ihr davon haltet.
--- Code: ---dlim1 := "|" ;
_dlim2 := "~";
_dlim5 := "|#|" ;
_input := wert1 ;
_tmpList := @Right(@Sort(@Left(@Right(_input ; _dlim1 + "SlipDate" + _dlim2); _dlim1) + _dlim5 + _input);_dlim5);
@For(_n := 1 ; _n <= @Elements(_tmpList); _n := _n + 1;
@Do(
_entry := @Subset(@Subset(_tmpList ; _n) ; -1);
_value := @Left(@Right(_entry ; _dlim1 + "SlipNo" + _dlim2) ; _dlim1);
_from := "SlipNo" + _dLim2 + _value ;
_to := "SlipNo" + _dlim2 + @Text(_n);
_entry := @ReplaceSubString(_entry; _from; _to);
_newList := _newList : _entry
)
);
--- Ende Code ---
bikerboy:
Das die Zählung nicht stimmt habe ich auch festgestellt und auch lange gesucht, aber hier nun die verbesserte Funktion :
--- Code: ---@If(posDataString = "" ; @Return("") ; "");
_dLim1 := "|";
_dLim2 := "~";
_dLim3 := "#";
_dLim4 := "|~|" ;
_dLim5 := "|#|" ;
REM {Sortieren und neu numerieren};
_unsortedList := posDataString;
_sortedList :=@Sort(@TextToTime(@Left(@Right(_unsortedList;_dLim1 + "StartDate" + _dLim2);_dLim1) + " " + @Left(@Right(_unsortedList;_dLim1 + "StartTime" + _dLim2);_dLim1)));
@StatusBar("SortedList");
@StatusBar(_sortedList);
@Transform(_sortedList ; "_key" ;
@Transform(_unsortedList ; "_position";
@Do( _posKey := @TextToTime(@Left(@Right(_position;_dLim1 + "StartDate" + _dLim2);_dLim1) + " " + @Left(@Right(_position;_dLim1 + "StartTime" + _dLim2);_dLim1));
@If( _posKey = _key ;
@Do(
_newSortedList := _newSortedList : (@Text(@Elements(@Trim(_newSortedList)) + 1) + _dLim5 + @Right(_position ; _dLim5))
)
;""
)
)
)
);
FIELD posDataString := @Trim(_newSortedList);
@True
--- Ende Code ---
bikerboy:
--- Zitat von: Thomas Schulte am 03.02.09 - 14:09:34 ---Also .....
.....
Schreib doch mal nach deinem Sort ein
--- Code: ---@StatusBar("SortedList");
@StatusBar(_sortedList);
--- Ende Code ---
Das gibt dir den Wert von _sortedList in die Statuszeile aus. Es würde mich sehr wundern, wenn du da etwas angezeigt bekommst.
--- Ende Zitat ---
Das mit @Statusbar stimmt die List die hinten rausplummst ist aber richtig.
Thomas Schulte:
Das ist richtig. Aber nur deshalb, weil du deinen Sort eigentlich in deinen Transforms machst.
dein Sort liefert nämlich wenn du es etwas genauer betrachtest nur eine Fehlermeldung zurück, weil er mit dem @textToTime das du verwendest nicht umgehen kann.
bikerboy:
Gut das raff ich ich nicht... also das @Sort sortiert nicht und in meinem @Transform sortiere ich doch auch nicht und trotzdem kommt das richtige ergebnis raus. Frei nach dem Motto - * - ergibt plus ?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln