Вниз
Скачать: CL | DM;

numedit   Найти похожие ветки 

 
CAHbKA   (2003-05-25 06:44) [0]

Нужен нормальный компонент для ввода только чисел с исходником в *.pas или корректное описание всех процедур.
Требования:
1. Только цифры.
2. В качестве разделителя целой и дробной части числа можно использовать как "," , так и "." .
2. Поддержка буфера обмена по Ctrl+C, Ctrl+X, Ctrl+V, а так же Ctrl+A .
Вот и всё:)

Первые два получаются ЛеХко! А вот из-за отключенных букв... :(
Можно ли еще обойтись без хука, определить одновременное нажатие, например, Ctrl+A? Просто "A" исключить просто, а вот с Ctrl не получается:(


 
Юрий Зотов ©   (2003-05-25 07:20) [1]

Обычный Edit с замещенными KeyDown и обработчиками WM_COPY, WM_CUT, WM_PASTE и EM_SETSEL (проверка на число и откат, если не число). При обработке "А" проверяйте ShiftState, вот и все.


 
CAHbKA   (2003-05-25 07:54) [2]

Спасибо Юрий, ждал ответ именно от Вас... попробую...


 
Юрий Зотов ©   (2003-05-25 08:12) [3]

Поправка - WM_COPY и WM_CUT, конечно, трогать не нужно.


 
AbrosimovA   (2003-05-28 12:32) [4]

Если ты в событие OnKeyPress для Edit вставишь следующую строку, то тебе не придется искать другой компонент.

if not(Key in ["0".."9"],DecimalSeparator) then Key := #0;

Т.е. разрешается вводить только цифры и десятичную точку(запятую), в ином случае в Edit изменений происходить не будет.


 
Danilka ©   (2003-05-28 12:45) [5]

AbrosimovA (28.05.03 12:32)
за исключением вставки из буфера обмена и нескольких DecimalSeparator.

но все можно легко обойти, не пойму, в чем проблема...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-34970
Начинающий_
2003-05-27 12:04
2003.06.12
Про файлы в DOS и Windows...


1-34779
MegaVolt
2003-06-02 11:24
2003.06.12
Как передавать параметры из модальной формы в основную прогу?


1-34870
adogg
2003-05-31 15:43
2003.06.12
Combo Box


1-34919
esa
2003-05-30 11:48
2003.06.12
открытие файла


6-34955
daan_m
2003-04-11 06:32
2003.06.12
Мне требуется узнать на отправляющей стороне сколько уже отправл




   Наверх