|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2018, 15:37 | #1 |
Пользователь
Регистрация: 12.05.2017
Сообщений: 30
|
Проверка строки на правильность даты.
Здравствуйте. Столкнулся с простой задачкой как мне казалось, но не могу решить второй день.
Нужно проверить строку на правильность формата даты. На форме можно использовать только один Edit и кнопку. Edit принимает строку, предположительно содержащую дату в формате дд.мм.гггг, разделитель может быть любым не числовым символом и значения дня, месяца и года может не совпадать с форматом. Функция проверяет на корректность введенной даты и возвращает строку в строго определенном формате дд.мм.гггг. По возможности не использовать стандартные функции. Если дата введена не корректно - возвращает пустую строку. Например функция принимает 28/3-18 возвращает 28.03.2018. |
05.04.2018, 16:17 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
На самом деле - это нелогичная и очень странная задача.
И, она может вообще не иметь решения. Ну, во-первых, порядок чисел всегда совпадает с форматом? всегда первым идёт день, потом месяц, потом год? во-вторых, по каким правилам двухзначное значение года превращается в чётырёхзначное? например, 9:005:45 - это какая дата в-третьих, лишние символы могут быть в строке и что с ними делать? например, 01.09.17.1 (/day=01/)-(alpha="0005").[17] ? в-четвертых, чем вызвано требование ? Это какая-то извращённая учебная задача? |
05.04.2018, 19:07 | #3 |
Пользователь
Регистрация: 12.05.2017
Сообщений: 30
|
Решил задачу, делюсь кодом:
Код:
|
05.04.2018, 23:33 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
во-первых, Вы не ответили ни один мой вопрос.
во-вторых, EncodeDate - это стандартная функция, её вполне достаточно для решения всей вашей задачи (см. обработку исключений - пример - тут ) в-третьих, любопытно, что ваша функция вернёт для такого варианта строки: 1.2.-2000 p.s. впрочем, это всё неважно, главное, что Вы решили свою проблему и, судя по всему, ваш код Вас устраивает. Последний раз редактировалось Serge_Bliznykov; 05.04.2018 в 23:36. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка на правильность введении строки(С++) | ЕКатерина4545 | Помощь студентам | 2 | 14.12.2015 12:53 |
Определить правильность даты, введенной с клавиатуры (Паскаль) | галина01 | Помощь студентам | 1 | 02.12.2014 20:15 |
Проверка даты (строки) (начальный уровень) | joi | Общие вопросы по Java, Java SE, Kotlin | 1 | 03.11.2012 21:31 |
DateEdit из Библиотеки RX. Как проверить правильность даты? | Vit@L | Компоненты Delphi | 2 | 22.02.2010 11:11 |
Проверка строки на правильность данных | haros | Microsoft Office Excel | 10 | 28.02.2009 16:39 |