![]() |
GetDateFormat problem
Hallo
GetLastError gibt mir 183 ( Cannot create a file when that file already exists. ERROR_ALREADY_EXISTS ) zurück. Woran liegt das?
Delphi-Quellcode:
lDate := ValueStr;
var lDate : String; lTokens: TStrings; lSystemTime : TSystemTime; lBuffer : array[0..64] of Char; lErrorCode : Integer; Begin lTokens := TStringList.Create( ); ExtractStrings( ['.'], [], PChar( ValueStr ), lTokens ); lSystemTime.wDay := StrToInt(lTokens[0]); lSystemTime.wMonth := StrToInt(lTokens[1]); lSystemTime.wYear := StrToInt(lTokens[2]); GetDateFormat( LOCALE_USER_DEFAULT, DATE_SHORTDATE, @lSystemTime, nil, lBuffer, sizeof( lBuffer ) ); lErrorCode := GetLastError(); If( lErrorCode = 0 ) Then lDate := lBuffer; |
Re: GetDateFormat problem
Stehen denn in wDay, wMonth, wYear gültige Werte?
|
Re: GetDateFormat problem
ja, wDay = 25, wMonth=8 und wYear= 2004 der rest ist 0.
So wie es aussieht wird das Datum schon konvertiert. Es befindet sich im lBuffer trotz fehler. |
Re: GetDateFormat problem
Das geht bei mir:
Delphi-Quellcode:
Bei einer ungültigen Angabe wird auch "Falscher Parameter" ausgegeben.
procedure TForm1.Button1Click(Sender: TObject);
var lSystemTime : TSystemTime; lBuffer : array[0..64] of Char; lErrorCode : Integer; begin FillChar(lSystemTime, sizeof(TSYSTEMTIME), #0); lSystemTime.wDay := 25; lSystemTime.wMonth := 8; lSystemTime.wYear := 2004; if GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, @lSystemTime, nil, lBuffer, sizeof(lBuffer)) <> 0 then ShowMessage(string(lBuffer)) else ShowMessage(SysErrorMessage(GetLastError)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 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