Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.083 c
15-1148380909
Василий Алибабаевич
2006-05-23 14:41
2006.06.18
еМул - количество отданой инфы


2-1148850258
wsih
2006-05-29 01:04
2006.06.18
Сортировка TreeView


15-1148447053
Ega23
2006-05-24 09:04
2006.06.18
С Днём рождения! 24 мая


2-1149086654
Pascal-men
2006-05-31 18:44
2006.06.18
Простите что не в тему!


15-1148270549
divinus
2006-05-22 08:02
2006.06.18
Евровидение