![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Buga |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
Подскажите, как можно узнать текущую дату (только дату) и проверить введеную строку является ли она датой?
|
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Приведи пример что является датой, а что нет. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Можно воспользоваться TMaskEdit, он просто не позволит ввести дату в неправельном формате. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Buga |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
Дата считается введеной правильно, если она удовлетворяет след. условиям:
1. Формат представлен в виде дд.мм.гггг 2. Существует такой день в этом месяце, существует такой месяц и подобные А как работать с TMaskEdit? ![]() ![]() |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Ну если формат фиксированый, то грубо так:
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Buga, у TMaskEdit есть свойство Editmask, где можно определить какой символ может присутствовать в каждой позиции, а разделители вообще сам рисует в нужной позиции, 32 - декобря он, конечно пропустит, это придется проверять вручную.
Как альтернатива - есть на вкладке samples TCalendar, он уж точно не позволит выбрать неверную дату. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Buga |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
try
StrToDate(MaskEdit1.Text) except ShowMessage('Ошибка'); end; Почему в таком случае он все равно выдает ошибку, что не может перевести в дату? Ведь здесь есть обработка исключительной ситуации. |
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
MaskEdit.Text имеет тип TMaskedText, а не String. Поэтому не получается выполнить преобразование.
Это сообщение отредактировал(а) Sunr1se - 4.5.2006, 12:48 --------------------
IRC-канал Винграда |
|||
|
||||
Buga |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
А как можно перевести в String?
|
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Готовый текст находится в MaskEdit1.EditText
--------------------
IRC-канал Винграда |
|||
|
||||
Guedda |
|
||||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Перевод даты в string:
Перевод строки в дату:
А там дальше как хочешь, так и оперируй. Я бы сравнил так:
-------------------- Ll 2 |
||||||
|
|||||||
Amina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
Как проверить, существует ли дата?
Это сообщение отредактировал(а) Girder - 9.5.2006, 19:51 |
|||
|
||||
Buga |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
Amina, даже в таком случае выдается ошибка о невозможно перевода строки в дату.
Мне надо сделать так, чтобы это сообщение не выводилось, а подменялось каким-нибудь моим, например: "Дата введена не правильно". |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |