Sortierung {Erldigt]
Moderator: Moderatoren
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Sortierung {Erldigt]
Hallo,
habe ein Array, wo ich die Elemente sortieren möchte, dass klappt ja auch.
Erstes Element: Datum
Zweites Element: String(aus Zahlen)
Mit ASort(aTmp, , , {|aX, aY| DtoS(aX[1]) + aX[2] < DtoS(aY[1]) + aY[2]}) bekomme ich z.B. eine Sortierung (zweites Element)
"100"
"201"
"30004"
"60"
"700"
Nun soll das aber nach Datum und zweites Feld "numerisch" sortiert werden, also
"60"
"100"
"201"
"700"
"30004"
Jemand eine Idee, wie man dann die Sortierung des Arrays zur Ausgabe sortieren kann ?
habe ein Array, wo ich die Elemente sortieren möchte, dass klappt ja auch.
Erstes Element: Datum
Zweites Element: String(aus Zahlen)
Mit ASort(aTmp, , , {|aX, aY| DtoS(aX[1]) + aX[2] < DtoS(aY[1]) + aY[2]}) bekomme ich z.B. eine Sortierung (zweites Element)
"100"
"201"
"30004"
"60"
"700"
Nun soll das aber nach Datum und zweites Feld "numerisch" sortiert werden, also
"60"
"100"
"201"
"700"
"30004"
Jemand eine Idee, wie man dann die Sortierung des Arrays zur Ausgabe sortieren kann ?
Zuletzt geändert von Wolfgang Ciriack am Di, 03. Mai 2022 15:11, insgesamt 1-mal geändert.
Viele Grüße
Wolfgang
Wolfgang
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: Sortierung
Code: Alles auswählen
ASort(aTmp, , , {|aX, aY| DtoS(aX[1]) + Str(Val(aX[2]),10,0) < DtoS(aY[1]) + Str(Val(aY[2]),10,0)})
Herzlich,
Tom
Tom
- Martin Altmann
- Foren-Administrator
- Beiträge: 16537
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Sortierung
Aufsteigend oder Absteigend numerisch? Mach doch für das numerische Feld das Komplement als strzero().
Bsp.: Dein numerisches Feld hat eine Länge von 5:
Oder meintest Du was anderes?
Viele Grüße,
Martin
Bsp.: Dein numerisches Feld hat eine Länge von 5:
Code: Alles auswählen
ASort(aTmp, , , {|aX, aY| DtoS(aX[1]) + strzero( 99999 - aX[2], 5 ) < DtoS(aY[1]) + strzero( 99999 - aY[2], 5 ) })
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Sortierung
Ok, funktionieren beide, Danke.
Hatte sowas schon mal, bin bloß auf die Schnelle nicht mehr auf diese einfache(n) Lösung(en) gekommen.
Hatte sowas schon mal, bin bloß auf die Schnelle nicht mehr auf diese einfache(n) Lösung(en) gekommen.
Viele Grüße
Wolfgang
Wolfgang