cześć
potrzebuję porównać dwie daty czy pierwsza jest większa, mniejsza czy równa drugiej.
Pierwszą datę otrzymuję z komponentu MaskEdit->Text a formacie "DD-MM-YYYY"
Drugą pobieram funkcją Date()
Próbowałem już robić coś takiego
String MaskEditText = me3->Text.Trim();
String year = MaskEditText.SubString(7,4);
String month = MaskEditText.SubString(4,2);
String day = MaskEditText.SubString(1,2);
MaskEditText = year+"-"+month+"-"+day;
String systemDateText = Date().FormatString("YYYY-MM-DD");
TDateTime MaskEditDate = StrToDate(MaskEditText);
TDateTime systemDate = StrToDate(systemDateText);
if(MaskEditDate > systemDate)
{
ShowMessage("MaskEditDate > systemDate");
}
if(MaskEditDate == systemDate)
{
ShowMessage("MaskEditDate = systemDate");
}
if(MaskEditDate < systemDate)
{
ShowMessage("MaskEditDate < systemDate");
}
ale cały czas przy konwersji
``TDateTime MaskEditDate = StrToDate(MaskEditText);
TDateTime systemDate = StrToDate(systemDateText);`
wywala mi błąd np. '2000-01-01' is not a valid date.
Nie rozumiem dlaczego skoro kompilator nie wywala żadnego błędu a data do konwersji jest podana w prawidłowym formacie.