PDA

View Full Version : SORTA über zwei Felder?



Allrounder
03-07-13, 10:11
Hallo,

ich möchte innerhalb einer Datenstruktur nach zwei Feldern sortieren. Eins numerisch, eins Alpha, beide nicht direkt hintereinander innerhalb der DS:

D Array DS dim(99)
D qualified
D Feld1A (Sortierfeld 2)
D Feld2A
D Feld3A
D Feld4N (Sortierfeld 1)

So funktioniert's leider nicht:

SORTA %subarr(Array(*).Feld4N : 1 : 99);
SORTA %subarr(Array(*).Feld1A : 1 : 99);

Gibt es inzwischen (V7R1) eine Lösung?
In den Handbüchern habe ich nichts gefunden.
Oder hat jemand eine Alternative parat?

Vielen Dank schonmal!

Fuerchau
03-07-13, 10:17
Auch V7 bietet da nicht mehr.
Du musst die Felder schon hintereinander legen und per Overlay ein gemeinsames Feld definieren.
Zu bedenken ist lediglich, dass dann immer ein Alpha-Sort durchgeführt wird.

Wenn du dich mit C-API's auskennst, dann kannst du ja "qsort()" einbinden.
Dieser Routine übergibst du die Adresse einer Vergleichsroutine (Achtung: Prozedur!).

Allrounder
04-07-13, 07:41
Die Lösung "ein gemeinsames Feld per Overlay" funktioniert. Vielen Dank.