Експертна система Delphi.int.ru

Общност на програмисти
Комуникация, помощ, обмен на опит

Експерт от Delphi.int.ru

Други раздели на портала

Отидете на въпрос:

Статистика за днес:

Въпроси: 0
Отговори: 0
Мини-форуми: 0

Топ експерти

Здравейте експерти!
Моля, кажете ми как да направя възможно въвеждането на числа само от 1 до 31 в Редактиране, не мога да направя втория ден.

Мини форум с въпроси

има много по-просто и красиво решение.
До редактиране поставете Image. А за самото Редактиране в събитието Onchange напишете някъде по този начин

опитвам
i: = StrToInt (Edit1.text);
ако (i> = 1) и (i
И това е всичко. Сега, когато потребителят въведе невалиден номер, вдясно в изображението ще се появи предупреждение. Ако всичко е наред - например зелена точка.

Вземете TSpinEdit, задайте го в инспектора на обекти:

Стойност = 1;
Min = 1;
Макс = 31.
И няма нужда да страдате.

Цитат (МаксХаровск):

Първо), във второто, ако въведете от клавиатурата, пак можете да пишете колкото искате

Цитат (МаксХаровск):

Ще видя още, като цяло исках да блокирам входа след 31.
Направих така, че ако въведете повече от 31, тогава редакцията се изчиства, така че съобщението ми постоянно се изкачва

По-добре да не блокирате въвеждането. Тъй като потребителят винаги ще намери начин да въведе неправилно (например, някои могат чрез ArtMoney, или както се наричат ​​аналозите сега, или например чрез API).
Моят начин е, че потребителят може да въведе каквото пожелае. След това, когато щракне върху бутона "изчисли", ние просто проверяваме въведеното. Ако нещо не е наред, ние просто се кълнем и излизаме от манипулатора.

Само числа:

процедура TForm11.FormCreate (Изпращач: TObject);
вар
Стил: LongInt;
започнете
Стил: = GetWindowLong (Edit1.Handle, GWL_STYLE);
Win32Check (Стил <> 0);
Win32Check (Style = SetWindowLong (Edit1.Handle, GWL_STYLE, Style или ES_NUMBER));
край;

като цяло, има събитие OnKeyPress за това

vikonannya програми rozpochina да започне от това много различно, de prizupinilosya.