Вниз
Скачать: 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.01 c
1-34926
BigDaddy
2003-05-30 14:25
2003.06.12
PChar и string - не срабатывает приведение типов


11-34769
Vit@l
2002-09-22 11:09
2003.06.12
У меня че-то глючит или че?


1-34828
DeMoN_Astra
2003-05-31 17:33
2003.06.12
шедулер


3-34745
Юлия
2003-05-23 19:11
2003.06.12
Уникальный индекс


3-34676
Al11
2003-05-22 13:53
2003.06.12
Подскажите, как можно отсортировать записи только по дню и месяцу




   Наверх