Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   StringToDate Problem (https://www.delphipraxis.net/192626-stringtodate-problem.html)

HolgerX 6. Mai 2017 13:08

AW: StringToDate Problem
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1370416)
Zitat:

Zitat von HolgerX (Beitrag 1370405)
...(FormatDate mit z.B. immer YYYY-MM-DD) oder direkt das ISO Format zu verwenden.

YYYY-MM-DD ist ja schon das (erweiterte/lange) ISO-Format (https://de.wikipedia.org/wiki/ISO_8601

( ;) )

@Gee21

Du solltes nicht deine 'Prüfroutine' umschreiben, sondern die Stelle, an der Du die Text-Datei schreibst!

Dort solltest du das Datum nicht einfach mit DateToStr in deine Textdatei schreiben, sondern mit FormatDate bei Verwendung von z.B. 'YYYY-MM-DD' als Formatstring.

Dann haben alle Datumsangaben immer das gleiche Format, egal welche Sprache auf dem QuellPC eingestellt ist! ;)

zeras 6. Mai 2017 13:36

AW: StringToDate Problem
 
Zitat:

Zitat von gee21 (Beitrag 1370411)


Delphi-Quellcode:
    for I := 39 to 78 do begin

     s := server.Strings[i];  //Datum zB: 17.03.2017    aus der textdatei

      if isdate(s)=false then begin
         if server.Strings[i]='Nothing'=false then cat1.add(server.Strings[i]);
      end;

    end;

Auch sollte nicht "=false" schreiben, sondern

Delphi-Quellcode:
    for I := 39 to 78 do begin

     s := server.Strings[i];  //Datum zB: 17.03.2017    aus der textdatei

      if not isdate(s) then begin
         if server.Strings[i]='Nothing'=false then cat1.add(server.Strings[i]);
      end;

    end;
[/QUOTE]

HolgerX 6. Mai 2017 19:16

AW: StringToDate Problem
 
Hmm..

dann aber auch gleich statt


Zitat:

Zitat von zeras (Beitrag 1370419)
Delphi-Quellcode:
    for I := 39 to 78 do begin

     s := server.Strings[i];  //Datum zB: 17.03.2017    aus der textdatei

      if not isdate(s) then begin
         if server.Strings[i]='Nothing'=false then cat1.add(server.Strings[i]);
      end;

    end;


das 2. =false auch entfernen ;)

Delphi-Quellcode:
    for I := 39 to 78 do begin

     s := server.Strings[i];  //Datum zB: 17.03.2017    aus der textdatei

      if not isdate(s) then begin
         if not(server.Strings[i]='Nothing') then cat1.add(server.Strings[i]);
      end;

    end;

p80286 7. Mai 2017 09:55

AW: StringToDate Problem
 
Das Problem würde nicht existieren, würde das sog. ISO-Datum (YYYY-MM-DD) verwendet. Das ist allerdings eine Norm aus dem letzten Jahrhundert.:evil:

Gruß
K-H

himitsu 7. Mai 2017 10:23

AW: StringToDate Problem
 
Aus dem letzten Jahrtausend, aber sie wird vermutlich auch noch die nächsten 7982 Jahre funktionieren, oder bis zur nächsten Zombieapokalypse.

sko1 7. Mai 2017 11:01

AW: StringToDate Problem
 
Wenn man die Textdatei selbst erstellt und diese dann selbst verarbeitet, kann man doch jedes x-beliebige Format nehmen?

FormatDateTime(meinDatum,'YYYYMMDD')

und dann entsprechend "auseinandernehmen', Zeichen 1-4=Datum, 5 und 6 = Monat, 7 und 8 = Tag

und sortieren kann man so ein Format auch wunderbar und dann ist egal welche internationalen Datumsformate da existieren und ggf. verändert werden.

Ciao
Stefan


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

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