Seite 1 von 1

Listen sortieren nach Datum

Verfasst: 15.05.2019 09:23
von stevie1401

Code: Alles auswählen


Structure Eingabe
  Datum.s
  Art.s
  Betrag.s
EndStructure

Global NewList Eingabe.Eingabe()




AddElement(Eingabe())
eingabe()\Datum="12.03.1966"
eingabe()\Art="Egal"
eingabe()\Betrag="-30"

AddElement(Eingabe())
eingabe()\Datum="12.03.1965"
eingabe()\Art="Egal"
eingabe()\Betrag="-50"


AddElement(Eingabe())
eingabe()\Datum="12.03.2018"
eingabe()\Art="Egal"
eingabe()\Betrag="-35"

AddElement(Eingabe())
eingabe()\Datum="12.03.2019"
eingabe()\Art="Egal"
eingabe()\Betrag="-45"


ForEach eingabe()
  Debug eingabe()\Datum
  Debug eingabe()\Art
  Debug eingabe()\Betrag
Next

Wie kann ich die eingabe() nach Datum sortieren?


Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 09:26
von RSBasic
Besser wäre es, wenn du in das Feld "Datum" den Datumswert speicherst. Dann kannst du viel besser nach Datum sortieren, weil der Datumswert ab 01.01.1970 aufsteigend ist.
Den Datumswert bekommst du mit Date(). Nach dem Auslesen kannst du mit FormatDate() wieder in das gewünschte Datumsformat anzeigen.

Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 09:28
von stevie1401
ok, und wie sortiere ich dann?

Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 09:28
von Bisonte

Code: Alles auswählen

SortStructuredList(Eingabe(), #PB_Sort_Ascending, OffsetOf(Eingabe\Datum), TypeOf(Eingabe\Datum))

Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 09:31
von stevie1401
Ich verwende normalerweise diese Routine:

Code: Alles auswählen



 
  For i = 1 To anz - 1
    merki = i
    For l = i + 1 To anz
      If Punkte(l) > Punkte(merki) 
        merki = l
      EndIf
    Next l
    Swap Name(i), Name(merki)
    Swap Punkte(i), Punkte(merki)
    Swap Datum(i), Datum(merki)
    
  Next i

Damit kann ich aber kein Datum sortieren und ich kann das auch nicht in Listen verwenden - oder doch?

Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 09:34
von stevie1401
Ah, alles klar, den Befehl "SortStructuredList" kannte ich nicht. Besten Dank.

Re: Listen sortieren nach Datum

Verfasst: 15.05.2019 18:06
von mk-soft
Wenn man den Datum String richtig anlegt, kann man diesen auch ohne Probleme sortieren.

Format "YYYY.MM.DD"