Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi strftime für Delphi ? (https://www.delphipraxis.net/199280-strftime-fuer-delphi.html)

myicq 11. Jan 2019 13:30

strftime für Delphi ?
 
Hallo alle schlaue,

gibt es irgendwo eine strftime() Library für Delphi ?

Also, eine Funktion ähnlich in php, wo ich gleiches Formattierungsbild eingeben kann, ergebniss String.

Code:
 mystring := strftime('Heute ist %Y %m %d');
habe soweit nichts gefunden

Schokohase 11. Jan 2019 13:35

AW: strftime für Delphi ?
 
Delphi-Referenz durchsuchenSystem.SysUtils.FormatDateTime

Delphi-Quellcode:
str := System.SysUtils.FormatDateTime('"Heute ist "yyyy mm dd',System.SysUtils.Now());

myicq 11. Jan 2019 13:40

AW: strftime für Delphi ?
 
Danke für das Antwort. Klar kenne ich die Formatcodes von Delphi.

In dieser Fall brauche ich aber die formatcodes von strftime() zu behandeln.

Ich kann das wenn notwendig selbst umsetzen. Aber hätte jemand das schon gemacht..

myicq 11. Jan 2019 22:45

AW: strftime für Delphi ?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe beim neusuche herausgefunden das es strftime() gibt in MSVCRT.DLL. Das würde mir reichen.

Aber : ich mache irgendwas falsch ?

Gefunden habe ich das hier: http://rvelthuis.de/downloads.html

Mein Code + Unit im Anhang. Ich bekomme kein Fehler beim call an _strftime(), aber auch kein ergebniss.

Was mache ich falsch ?

Luckie 12. Jan 2019 05:16

AW: strftime für Delphi ?
 
Zitat:

Zitat von myicq (Beitrag 1423134)
In dieser Fall brauche ich aber die formatcodes von strftime() zu behandeln.

Wie meinen?

scrat1979 12. Jan 2019 08:45

AW: strftime für Delphi ?
 
Zitat:

Zitat von myicq (Beitrag 1423134)
Danke für das Antwort. Klar kenne ich die Formatcodes von Delphi.

In dieser Fall brauche ich aber die formatcodes von strftime() zu behandeln.

Ich kann das wenn notwendig selbst umsetzen. Aber hätte jemand das schon gemacht..

Wie wäre es denn, vor dem FormatDateTime durch StringReplace die Formatcodes umzuwandeln? So viele sind es ja nicht...

freimatz 12. Jan 2019 08:57

AW: strftime für Delphi ?
 
Zitat:

Zitat von myicq (Beitrag 1423157)
Mein Code + Unit im Anhang. Ich bekomme kein Fehler beim call an _strftime(), aber auch kein ergebniss.
Was mache ich falsch ?

Allzuviel Ahnung habe ich da nicht davon, aber weil sonst keiner darauf geantwortet hat nur ein Verdacht: kann es sein, dass Du AnsiString statt String verwenden musst?

Schokohase 12. Jan 2019 09:32

AW: strftime für Delphi ?
 
Zitat:

Zitat von scrat1979 (Beitrag 1423164)
Wie wäre es denn, vor dem FormatDateTime durch StringReplace die Formatcodes umzuwandeln? So viele sind es ja nicht...

Nicht so gut, wenn du dir diesen gültigen format-String anschaust
Code:
Aus %%Y wird %Y
rauskommen müsste durch
Delphi-Quellcode:
strftime
Code:
Aus %Y wird 2019
Der passende Format-String für Delphi wäre
Code:
"Aus %Y wird "yyyy
Meine Einschätzung: Es ist einfacher den Formatstring so wie er ist zu parsen und direkt die Werte zu ersetzen als diesen erst umzuformen (da muss man auch parsen) und dann durch
Delphi-Quellcode:
FormatDateTime
zu jagen.

scrat1979 12. Jan 2019 09:37

AW: strftime für Delphi ?
 
Zitat:

Zitat von Schokohase (Beitrag 1423166)
Zitat:

Zitat von scrat1979 (Beitrag 1423164)
Wie wäre es denn, vor dem FormatDateTime durch StringReplace die Formatcodes umzuwandeln? So viele sind es ja nicht...

Nicht so gut, wenn du dir diesen gültigen format-String anschaust
Code:
Aus %%Y wird %Y
rauskommen müsste durch
Delphi-Quellcode:
strftime
Code:
Aus %Y wird 2019
Der passende Format-String für Delphi wäre
Code:
"Aus %Y wird "yyyy
Meine Einschätzung: Es ist einfacher den Formatstring so wie er ist zu parsen und direkt die Werte zu ersetzen als diesen erst umzuformen (da muss man auch parsen) und dann durch
Delphi-Quellcode:
FormatDateTime
zu jagen.

Vielleicht verstehen ich das ganze auch gerade falsch. Aber wenn ich beispielsweise %Y mit StringReplace in YYYY umwandle dann kommt doch bei FormatDateTime 2019 als Beispiel raus.

EDIT: Klar, direkt parsen ist natürlich besser :)

Schokohase 12. Jan 2019 09:53

AW: strftime für Delphi ?
 
Wenn du bei
Code:
Aus %%Y wird %Y
alle
Delphi-Quellcode:
%Y
durch
Delphi-Quellcode:
YYYY
ersetzt, dann erhälst du
Code:
Aus %YYYY wird YYYY
Du brauchst aber für die korrekte Formatierung
Code:
"Aus %Y wird "YYYY


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Seite 1 von 2  1 2      

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