![]() |
funktioniert StrToDate richtig?
Hallo Forum
ich habe ein kleines Problem wenn ich fogendes ausführe und in Edit 1 z.B 05-28-2005 eingebe kommt in Label1 May-28-2005 obwohl der Formatstring mit 'mmm' laut hilfe die Kurzform des Monatsnamen akzeptieren soll. Ich muß aber eingaben im Format mmm-dd-yyyy' verarbeiten. aber dann krieg ich immer einen Fehler. wenn ich z.B : May-31-2005 eingebe krieg ich einen Fehler!!! ('Mai-28-2005' ist kein gültiges Datum.) Kann mir mal jemand sagen warum? Hoffe auf erklärende Antworten Stefan
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var d1 : TDate; begin if key =VK_RETURN then begin ShortDateFormat := 'mmm-dd-yyyy'; DateSeparator := '-'; d1 := StrToDate(Edit1.Text); label1.Caption := dateToStr(d1); end; end; end. |
Re: funktioniert StrToDate richtig?
Hallo Stefan,,
die textuelle Darstellung ist keine Eingabe-Option. Wenn du das brauchst, dann wirst du es selbst basteln müssen. Zum Thema StrToDate findest du in der Online Hilfe das hier: Zitat:
|
Re: funktioniert StrToDate richtig?
Hallo marabu
stimmt schon was da in der Hilfe steht. Ich dachte halt wenn die Threadsichere Variante
Delphi-Quellcode:
aufgerufen wird werden die Formatsettings berücksichtigt aber es kommt der gleiche Fehler.
function StrToDate(const S: string; const FormatSettings: TFormatSettings): TDateTime; overload;
Schade, dass das halt nicht so ist. Trotzdem danke Gruß Stefan |
Re: funktioniert StrToDate richtig?
Der interne Zugriff auf die globalen FormatSettings ist der Grund, warum die Function in ihrer alten Form nicht thread-sicher ist. An der Funktionalität ändert sich da gar nichts. Das gilt auch für die anderen Routinen.
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
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-2025 by Thomas Breitkreuz