Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
4-88669
slym
2002-03-23 19:18
2002.05.27
Как сделать оконную функцию на чтение/запись в файл


1-88413
Keymaster
2002-05-16 18:37
2002.05.27
Как отключить Memo?


7-88656
pvn
2002-03-02 19:44
2002.05.27
WriteFile(hPort, S, StrLen(S), actual_bytes, nil)


4-88685
greenrul
2002-03-27 11:06
2002.05.27
Как понизить/повысить громкость системную?


3-88373
ЕленаКв
2002-04-30 07:42
2002.05.27
В таблице есть поле summa в котором данные стрингового типа,





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский