Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
ВнизTAdvStringGrid - конроль ввода в ячейку Найти похожие ветки
← →
kserg@ukr.net (2002-05-17 10:50) [0]кто работал с TAdvStringGrid подскажите мне, как сделать контроль ввода в ячейку данных в формате hh:mm.
Я пытаюсь организовать след.путем:
- в событии OnEditMask задаю маску ввода Value:="!90:00;1;_";
- а в событии OnCellValidate делаю
try
ETime:= StrToTime(Value);
valid:= true;
except
MessageDlg("Incorrect time "+Value,MtError,[mbOk],0);
valid:= false;
end;
Но алгоритм где-то не закрывает "дыру".
Напр.: ввожу 59:00, жму ENTER - срабатывает контроль, вылетает месага, возврат фокуса к ред-нию некорректного значения, но если я повторно жму ENTER - то контроль уже не работает.
(я подозреваю, что не наступает само событие редактирования)
Тоже самое, если после набора некорректного времени я мышкой жму в др.ячейку: контроль срабатывает (месага вылетает), но фокус всё равно перемещается в новую ячейку, а в старой остается некорректное значение.
помогите, а то уже задолбася отлавливать...
← →
kserg@ukr.net (2002-05-17 11:54) [1]так всё таки - какие еще события задействовать, чтоб контроль вводимого времени был более строгим
← →
kserg@ukr.net (2002-05-17 13:14) [2]раз никто такого не делал, то хоть мыслю подкиньте :-)
← →
KilkennyCat (2002-05-17 16:17) [3]я же уже отвечал... у меня все работает.
Можно просто отлавливать все нажатия клавиш в данной ячейке.
то есть, контролировать позицию и разрешать только цифры и только одного диапазона. Получится программная маска, простая и надежная.
← →
kserg@ukr.net (2002-05-17 17:44) [4]>KilkennyCat © (17.05.02 16:17)
а пример можешь подкинуть?
я такое делал, но для TEdit-a, где просто контролировал ввод числа безо всякой маски
← →
KilkennyCat (2002-05-18 02:51) [5]смотри ответ на свойи предыдущие вопросы.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c