Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

Ввод в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.043 c
2-1142603701
De
2006-03-17 16:55
2006.04.02
Одноименные параметры в Query


3-1139407817
$Инъектор
2006-02-08 17:10
2006.04.02
Проблемы с русским - Absolute database


2-1142492556
Darkwing
2006-03-16 10:02
2006.04.02
Скринсейвер


15-1141998023
Cashmare
2006-03-10 16:40
2006.04.02
Иран


1-1140902492
Grol
2006-02-26 00:21
2006.04.02
Умолчать о ошибке после закрытия программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский