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

Вниз

Ввод в MaskEdit   Найти похожие ветки 

 
RomanH ©   (2006-03-20 11:03) [0]

Доброе утро мастера. Имеется маска (000;0;)  в MaskEdit.Как программно ограничить ввод именно трехзначного числа т.е. в обработчике события MaskEditExit сообщить ошибку
Application.MessageBox("Введите трехзначное число.",
           "Ошибка ввода",MB_ICONERROR+MB_OK);
if length(MaskEdit1.Text)<9 then так не получается заранее благодарен


 
Leonid Troyanovsky ©   (2006-03-20 11:31) [1]


> RomanH ©   (20.03.06 11:03)  

> if length(MaskEdit1.Text)<9 then так не получается заранее
> благодарен


А почему 9, если уж оно трехзначное?
Для проверки можно попытаться преобразовать его к целому.
Хотя, такая проверка делается самим TMaskEdit и если
не введены все три цифры, то возбуждается исключение (EDBEditError)
Invalid input value. Use escape key to abandon changes.

--
Regards, LVT.


 
XeON ©   (2006-03-21 01:09) [2]

Попробуй поставить значение MaxLength в 3. А потом в каком-нибудь Button1 пишешь процедуру проверки:

procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
try
i:=StrToInt(MaskEdit1.Text);
if i<100 then ShowMessage("Введите трёхзначное число");
except
ShowMessage("Введите трёхзначное число");
end;

end;

Вот тебе полнейший ответ на твой вопрос. Можно ещё сделать проверку на то, что бы число не было больше 999. Но т.к. длина вводимого текста ограничена 3 символами - больше чем 999 ввести не получиться!

Будут вопросы - пиши на мыло. (оно указанно в анкете).


 
Leonid Troyanovsky ©   (2006-03-21 08:25) [3]


> XeON ©   (21.03.06 01:09) [2]

> Вот тебе полнейший ответ на твой вопрос.


Конечно же, нет.
Полный ответ предусматривал бы обработку EDBEditError.
См., например,

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/61581e447c1a19ba

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
2-1142586275
ilga
2006-03-17 12:04
2006.04.02
ADOQuery.Parameters


1-1141139914
Cybernik
2006-02-28 18:18
2006.04.02
Не стартует тред в вынь98. В XP всё нормально.


15-1141754213
ArtemESC
2006-03-07 20:56
2006.04.02
JavaScript


15-1141641390
Некто
2006-03-06 13:36
2006.04.02
Когда-то здесь было сообщение про crossover и FreeBSD


15-1141988762
Petr V. Abramov
2006-03-10 14:06
2006.04.02
Вопрос по архивам