J'ai une chaine représentant une date sous la forme jj/mm/aa et je souhaite tester la validité de cette date, y compris sur un système américain(ou musulman ou martien...)
Je me suis naïvement dit qu'en utilisant StrToDate(string;FormatSettings:TFormatSettings), j'allais m'en tirer, mais non.
Voici un resumé de mon code :
function TSegmentMID.VerifierDate(MaDate:string):boolean;
var FormatSettings : TFormatSettings;
begin
try
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatSettings);
FormatSettings.DateSeparator:='/';
FormatSettings.ShortDateFormat :='dd/mm/yy';
StrToDate(MaDate,FormatSettings); result := true
except
On Exception do begin
result = false
end;
end;
end; |
Des fois, ça marche, des fois, ça marche pas
Selon l'humeur, il me balance (ou non) que le 26/07/05 est une date invalide.
Quelqu'un a une solution?
Message édité par Zozol le 27-07-2005 à 11:53:27