![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
![]()
Здравствуйте, помогите пожалуйста.
У меня на форме есть Mask Edit с маской "99/99/99;1;_" , т.е. маска типа " . . ". Если пользователь ввел только первые три цифры и нажал сохранить, то в БД сохраняется запись типа "01.1 . " или если 4 то "01.10. ", для меня это неудобно, так как потом использую left join в запросе. Как мне убирать лишние символы? Спасибо. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Варианты от того что считается "лишними символами":
- если лишние - это все, кроме цифр, то в маске вместо 1 во втором поле поставить 0 (в этом случае в свойстве Text не будут сохраняться никакие посторонние символы, точки тоже); - если лишние те, которые в конец после последней цифры, то перед тем как отправить в базу значение свойства Text, в цикле убрать концевые символы. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
![]()
Извените за долгое молчание, на работе завалили.
Цитата:
Код:
"01.2 . " "01.23. " "01.23.4 " "01.23.45" вместо 12345 могут быть любые чила, но первые три цифры будут обязательно. Последний раз редактировалось tarakan1983; 11.07.2012 в 19:01. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Так примерно:
Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
![]()
У меня вышло чуть по другому
Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Правильно или нет, вам судить. Все детали задачи здесь мало известны.
Судя по результату, оба варианта выдают одно и тоже. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
![]()
Спасибо, вроде все нормально, еще маленький вопрос, не знаю правда стоит он внимания или нет. Защита от дурака, если Юзьверь введет "_1.__.__", как от этого защититься?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
А что должно произойти в этом случае?
Запрет записи такой строки, например. Или ввод можно подкорректировать и отправить в базу. Но в таком случае как корректная строка должна выглядеть? |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
![]()
Если пользователь начал заполнять это поле, именно начал заполнять а не просто установил курсор в него, то программа ему должна сказать "Ослик - первые три символа надо заполнить обязательно", т.е. минимум "01.1_.__" иначе присвоить этому полю пустое значение
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
В MaskEdit есть событие OnChange. В процедуре обработки этого события можно проверять какие символы и как вводятся. При необходимости выдавать предупреждение. Менять значение свойства Text в этой процедуре напрямую нельзя (но если очень надо, то можно).
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лишние символы вводимого текста | victorshkoda | Общие вопросы Delphi | 13 | 05.01.2012 22:46 |
лишние символы в ячейке StringGrid при раскрашивании | furstenberg | Компоненты Delphi | 5 | 29.10.2011 14:06 |
При копировании текста из word в блокнот появляются лишние символы. | paru10 | Microsoft Office Word | 2 | 11.02.2010 16:16 |
Edit,RichEdit + mask | Iogan Gamba Puti | Win Api | 1 | 10.05.2008 14:45 |