Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Sortiern nach Datum (strings) (https://www.delphipraxis.net/152147-sortiern-nach-datum-strings.html)

Luckie 14. Jun 2010 23:32

AW: Sortiern nach Datum (strings)
 
So bald sich aber das Datumsformat ändert, funktioniert der Code nicht mehr!

mkinzler 15. Jun 2010 06:28

AW: Sortiern nach Datum (strings)
 
Deshalb ist es ja auch keine gute Idee Datumswerte als Strings abzulegen

idefix2 15. Jun 2010 08:40

AW: Sortiern nach Datum (strings)
 
@Luckie, mkinzler

im Prinzip habt ihr Recht, aber es hängt natürlich von den Anforderungen an das Programm ab.

Wenn die Daten jetzt schon in diesem Format vorliegen und dabei in absehbarer Zeit keine Änderung vorgesehen ist, kann man das wohl so lassen und seine Energie genausogut in andere Sachen stecken :)

himitsu 15. Jun 2010 08:47

AW: Sortiern nach Datum (strings)
 
Wenn die Datumsstrings programmintern erzeugt werden, dann sollte man sich dazu auch eine passende Umkehrfunktion auswählen.
DateToStr <> StrToDate sollte im laufenden Betrieb kaum probleme bereiten, es sei denn jemand spielt an den Systemoptionen rum oder man verbietet seinem Delphiprogramm nicht, die neuen Daten zu importierern.

Sollten diese Strings aber auch noch gespeichert oder übertragen werden und es muß unbedingt ein String sein, dann sollte man ein bestimmtes Datumsformat festlegen, welches sich dann auch leicht dekodieren läßt.

PS: Es gibt auch Datumsformate, welche sich direkt als String vergleichen lassen ... also alles welches dieses als irgendwelche Folgen von YY-MM-DD, btw. YYYY-MM-DD enthält. :stupid:

xZise 15. Jun 2010 10:33

AW: Sortiern nach Datum (strings)
 
Zitat:

Zitat von eragon123 (Beitrag 1028886)
Danke für die Hilfe.
Ich habe jetzt erst einmal dieser Variante
Delphi-Quellcode:
function less (a,b: string): boolean;
begin
less := copy(a,7,2)+copy(a,4,2)+copy(a,1,2) < copy(b,7,2)+copy(b,4,2)+copy(b,1,2)
end;
genutzt. So schnell muss es nicht sein da nur maximal ca. 100 Datensätze sortiert werden müssen.

Aber das ist doch keine Sortierung? Oder ging es dir eher darum, wie vergleiche ich zwei Strings miteinander?

MfG
Fabian

idefix2 15. Jun 2010 13:21

AW: Sortiern nach Datum (strings)
 
Er ist bei seinem Sortierprogramm darüber gestolpert, dass er Datumswerte, die als Strings vorliegen, falsch vergleicht - und deshalb falsch sortiert.

eragon123 15. Jun 2010 15:35

AW: Sortiern nach Datum (strings)
 
Genauso ist es.
Die Daten sind in Form von Strings, da meine Quelle das genauso her gibt. Und das erst umzuwandeln lohnt sich vom Aufwand her nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz