Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
ВнизString to Date Найти похожие ветки
← →
Grihan (2006-05-06 20:55) [40]Мефисто!
<ешкин кот> ...
мне что, заюзать TryStrToDate и не парится??? а что делать, если юзер написал в редакторе матом??? или "ешкин кот"?
для этого и анализируется результат работы трансформаторных функций. И как вы сами понимаете, мне будет трудно компьютеру объяснить следующее: не смотря на то, что функция TryStrToDate затрудняется пропарсить строку, она справилась со своей задачей. Честь ей и хвала.
← →
Grihan (2006-05-06 21:02) [41]
> > 1. Что куда вводится "Болгаром"?
> > 2. Что там изначально (до того, как этот "Болгар" фокус
> > переведет на этот компонент) уже указано?
> > 3. Что он может и должен туда вводить?
> > 4. А что получиться должно уже ясно: TDateTime.
1) Есть TxxSuperDateEdit, лежащий на форме. туда и вводит.
2) Предположительно программист, пожелающий воспользоватся TxxSuperDateEdit может захотеть проинициализировать TxxSuperDateEdit сегодняшним числом, чтобы конечному пользователю облегчить жизнь
3) конечный пользователь может вводить все что угодно, например:
a) 10.10.2005
b) 10.10.2005 г.
c) today
d) f...k
4) в случае, если пользователю повезло, и он ввел в редактор распознаваемый текст, мы его конвертим в TDateTime иначе выдаем сообщение об ошибке.
← →
mfender © (2006-05-06 21:09) [42]А болгары не пишут в TMaskEdit?
← →
KilkennyCat © (2006-05-06 21:25) [43]Удалено модератором
← →
Мефисто (2006-05-06 21:29) [44]Grihan (06.05.06 20:55) [40]
>> мне что, заюзать TryStrToDate и не парится???
Заюзать или расширить функционал. На сколько она может, на столько она дату и распарсит (см. исходники). Ест-но разработчики не могут предусмотреть все варианты вывода даты по маске (кто знает кому и чего взбредет в голову). А как вы сами понимаете, за вас парсер под ваши нужды писать никто не будет.
И вообщем если честно, не совсем ясен ваш подход в данной ситуации. Пользователь вводит дату на свой манер, а программе это творчество расхлебывать? Почему бы просто не организовать давно проверенное средство - ввод данных по маске? Если создается некий SuperDateEdit - то распарсить дату вам придется... сложновато. Одно будет облегчение если вводу данных предшествовала хоть какая нибудь маска ввода, а в ином случае будет затруднительно отличить например: 10.10.2006 - на каком месте месяц, а на каком день? Можно задать такую маску, что распарсить замучаешься: Сегодня 6 - 2006 год (май). Как анализировать? Плюс возможные опечатки пользователя.
Вобщем, сам решай, анализируй, мучайся ;)
Удачи в творческих успехах! :)
← →
Virgo_Style © (2006-05-07 14:29) [45]а если наш болгарин написал 02.03.17, то программа должна сама определить, где месяц, где день, и какое столетие имелось в виду? Как-то нереально это.
← →
homm © (2006-05-07 21:30) [46]
> [41] Grihan (06.05.06 21:02)
> 4) в случае, если пользователю повезло, и он ввел в редактор
> распознаваемый текст, мы его конвертим в TDateTime иначе
> выдаем сообщение об ошибке.
Прежде чем хамить людям, которые тебе помогают, описал бы задачу. Что значит "распознаваемый". Наверное сам даже не задумывался.
← →
Шутник (2006-05-07 21:47) [47]Гриха сутки трепался на форуме по пустяковому вопросу, вместо того, чтобы сесть, подумать и решить проблему без всяких выпендрёжей типа DecodeDate(StrToDate(DateToStr(TryStrToDate(TryDateToStr(TxxSuperDateEdit.Date)) ))).
← →
TUser © (2006-05-08 10:26) [48]Пользователь - существо бесправное. Он должен вводить данные в том формате, который предусмотрен в программе. А если ему вздумается написать today на китайском наречии, то программа должна сообщить об ошибке и попросить ввести дату еще раз.
← →
Virgo_Style © (2006-05-08 13:13) [49]Я бы сделал стандартный DateTimePicker или MonthCalendar, а уж рядом кнопочка для выбора известных дат из списка. Или ComboBox...
← →
KilkennyCat © (2006-05-08 13:26) [50]По поводу локализации программ написано куча статей, от теоретических до практических. Если память не изменяет, даже в стандартных делфевых примерах есть.
ИМХО, тут нужно просто четкое ТЗ.
Будет неоднозначное ТЗ - будет грамотное решение.
> TUser © (08.05.06 10:26)
> Пользователь - существо бесправное.
Не, так нельзя. Надо ему давать максимально много прав, но с умом, чтоб он сам себе не навредил при всем желании.
← →
KilkennyCat © (2006-05-08 13:27) [51]
> [50] KilkennyCat © (08.05.06 13:26)
Опечатался.
Будет однозначное ТЗ - будет грамотное решение.
← →
TUser © (2006-05-08 13:34) [52]> Надо ему давать максимально много прав
Разрешить вводить дату по древнеегипетскому календарю?
← →
KilkennyCat © (2006-05-08 13:42) [53]
> [52] TUser © (08.05.06 13:34)
Как дополнительная фишка - почему бы и нет, если не нарушает работу программы. Главное, в справке описать и оценить экономическую выгоду.
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.013 c