Also .....
Wenn ich deine Liste nehme (ich hab die Startdatum Werte etwas verändert) ...
|#||Route~Paderborn - Lippstadt Paderborn|StartDate~25.02.2006|StartTime~08:00:00|EndTime~15:00:00|
|#||Route~Paderborn - Hannover- Paderborn|StartDate~10.02.2006|StartTime~06:15:00|EndTime~00:00:00|
|#||Route~Paderborn - Hannover- Paderborn|StartDate~21.02.2006|StartTime~00:00:00|EndTime~21:00:00|
|#||Route~Paderborn - Hannover- Paderborn|StartDate~13.02.2006|StartTime~06:00:00|EndTime~00:00:00|
|#||Route~Paderborn - Hannover- Paderborn|StartDate~24.02.2006|StartTime~00:00:00|EndTime~21:00:00|
Und die durch deinen Code laufen lasse .....
_dLim1 := "|";
_dlim2 := "~";
_dlim5 := "|#|";
REM {Sortieren und neu numerieren};
_unsortedList := SourceField;
_sortedList := @Sort(@TextToTime(@Left(@Right(_unsortedList;_dLim1 + "StartDate" + _dLim2);_dLim1) + " " + @Left(@Right(_unsortedList;_dLim1 + "StartTime" + _dLim2);_dLim1)));
@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(_newSortedList) + 1) + _dLim5 + @Right(_position ; _dLim5))
)
;""
)
)
)
);
FIELD SolutionBikerboy := @Trim(_newSortedList);
Dann kommt bei mir als Ergebnis diese Liste raus ....
1|#||Route~Paderborn - Hannover- Paderborn|StartDate~10.02.2006|StartTime~06:15:00|EndTime~00:00:00|
3|#||Route~Paderborn - Hannover- Paderborn|StartDate~13.02.2006|StartTime~06:00:00|EndTime~00:00:00|
4|#||Route~Paderborn - Hannover- Paderborn|StartDate~21.02.2006|StartTime~00:00:00|EndTime~21:00:00|
5|#||Route~Paderborn - Hannover- Paderborn|StartDate~24.02.2006|StartTime~00:00:00|EndTime~21:00:00|
6|#||Route~Paderborn - Lippstadt Paderborn|StartDate~25.02.2006|StartTime~08:00:00|EndTime~15:00:00|
Und ich denke mal das ist nicht das Ergebis das du da haben willst.
Das Problem das du da hast liegt hier ....
@Do(
@StatusBar(@Text(@Elements(_newSortedList) + 1));
_newSortedList := _newSortedList : (@Text(@Elements(_newSortedList) + 1) + _dLim5 + @Right(_position ; _dLim5))
)
Weil du beim ersten Durchlauf nämlich ZWEI Elemente von _newsortedlist erzeugst.
Außerdem hast du, zumindest mit der Liste die du uns da zur Verfügung gestellt hast noch ein anderes Problem ....
Schreib doch mal nach deinem Sort ein
@StatusBar("SortedList");
@StatusBar(_sortedList);
Das gibt dir den Wert von _sortedList in die Statuszeile aus. Es würde mich sehr wundern, wenn du da etwas angezeigt bekommst.