![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сравнить две даты, высчитав кол-во дней? [D2005, XP]
Евгений Сальников © (2009-09-12 20:55:00)Всем Привет,
Есть две даты, в формате:
Едит1 ( 2009-09-12)
Едит2 ( 2009-11-05)
Как обработав две даты, вывести в Едит3 ( 54) ?
Anatoly Podgoretsky (2009-09-13 20:19:00) [1]А чего сокращенно?
turbouser (2009-09-13 17:49:00) [2]
> Rouse_ © (13.09.09 13:39) [18]
Пропил совесть tuser :))
Евгений Сальников (2009-09-13 15:36:00) [3]
> Юрий Зотов © (13.09.09 15:21) [22]
Спасибо, коротко и лаконично, дай бог вам Здоровья и еще раз с Праздником! Всем Спасибо за обучение!
Юрий Зотов (2009-09-13 15:21:00) [4]Евгений Сальников (13.09.09 14:55) [21]
// Преобразует строку формата YYYY-MM-DD в дату
function YYYY_MM_DD_ToDate(YYYY_MM_DD: string): TDate;
var
Settings: TFormatSettings;
begin
GetLocaleFormatSettings(GetThreadLocale, Settings);
Settings.DateSeparator := '-';
Settings.ShortDateFormat := 'yyyy-mm-dd';
Result := StrToDate(YYYY_MM_DD, Settings)
end;
procedure TForm1.FormClick(Sender: TObject);
begin
Caption := DateToStr(YYYY_MM_DD_ToDate(Edit1.Text))
end;
Евгений Сальников (2009-09-13 14:55:00) [5]Парни, не сортесь, объясните на примере пожалуйста!
Юрий Зотов (2009-09-13 14:01:00) [6]> СовестьДМ © (13.09.09 12:51) [17]
Если это все, что Вы можете сказать (вместо того, чтобы показать новичку обработку ошибок ввода), то отвечаю: Ваш ламерский сарказм был неуместен тем более.
Евгений Сальников (2009-09-13 13:49:00) [7]
> Rouse_ © (13.09.09 13:39) [18]
Ха ха...
Rouse_ (2009-09-13 13:39:00) [8]
> СовестьДМ ©
Ты уж определись с ником и остановись на каком нибудь одном, либо "СовестьДМ", либо "TUser"
СовестьДМ (2009-09-13 12:51:00) [9]
> Юрий Зотов © (13.09.09 09:36) [15]
Ваш Мастерский сарказм неуместен
не так ли?
Юрий Зотов (2009-09-13 09:45:00) [10]> Евгений Сальников (13.09.09 00:43) [7]
> А как преобразовать 2009-09-12 в 12.09.2009 ?
Преобразовывать надо не строку в другую строку, а строку в дату (тип TDate или TDateTime). Если исходная строка представляет дату в системном формате, то этот формат можно не указывать, а если в другом, то его надо явно указать. Поэтому существуют 2 варианта функции StrToDate, а детали и примеры см. в справке.
Юрий Зотов (2009-09-13 09:36:00) [11]> СовестьДМ © (13.09.09 02:17) [9]
> как насчет EConvertError?
Как обычно - если ввели не дату, то получим сообщение об ошибке и код не сработает.
Впрочем, я не буду возражать, если Вы вместо ламерских подколок снизойдете до того, что приведете здесь же пример обработки такой ситуации. После того, как проснетесь, конечно.
Anatoly Podgoretsky (2009-09-13 06:19:00) [12]> СовестьДМ (13.09.2009 02:56:13) [13]
В три часа ночи то.
СовестьДМ (2009-09-13 02:56:00) [13]грубый ты
и откуда эта знания про алкашей???
Германн (2009-09-13 02:46:00) [14]
> СовестьДМ © (13.09.09 02:27) [11]
Спать, алкаш, спать!
СовестьДМ (2009-09-13 02:27:00) [15]
> Германн © (13.09.09 02:24) [10]
за Зотова заступился типо?
Германн (2009-09-13 02:24:00) [16]
> СовестьДМ © (13.09.09 02:17) [9]
>
>
> > Юрий Зотов © (12.09.09 21:23) [2]
>
> как насчет EConvertError?
Обработать как положено.
СовестьДМ (2009-09-13 02:17:00) [17]
> Юрий Зотов © (12.09.09 21:23) [2]
как насчет EConvertError?
Германн (2009-09-13 01:08:00) [18]
> Евгений Сальников (13.09.09 00:43) [7]
>
> А как преобразовать 2009-09-12 в 12.09.2009 ?
Читать хелп.
Начинать с StrToDate, далее по гиперссылкам.
Евгений Сальников (2009-09-13 00:43:00) [19]А как преобразовать 2009-09-12 в 12.09.2009 ?
Евгений Сальников (2009-09-12 23:57:00) [20]Удалено модератором