keypress delphi



Delphi keypress

Автор Матвей Казаков задал вопрос в разделе Другие языки и технологии

помогите с созданием калькулятора в delphi... и получил лучший ответ

Ответ от Ёергей[новичек]
Можешь просто: / процедура обработки события KeyPress procedure Edit1.KeyPress(var key:char) ; begin case key of '0'.. '9', #8, #13: ; '-': if Length(text)<>0 then key:=#0; else if not ((key = DecimalSeparator) and (Pos(DecimalSeparator,text)=0)) then key:= #0; end; Или компонентом: // компонент программиста unit NkEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TNkEdit = class(TEdit) private FNumb: single; // число, находящееся в поле редактирования // Это описание функции доступа // и процедуры установки поля FNumb function GetNumb: single; procedure SetNumb(value:single); protected procedure KeyPress(var Key: Char); override; public published constructor Create(AOwner:TComponent); override; property Numb : single // свойство компонента read GetNumb write SetNumb; end; procedure Register; implementation // процедура регистрации компонента procedure Register; begin RegisterComponents('Samples',[TNkEdit]); end; // конструктор компонента constructor TNkEdit.Create(AOwner:TComponent); begin // don't forget to call the ancestors' constructor inherited Create(AOwner); end; // функция доступа к полю FNumb function TNkEdit.GetNumb:single; begin try // поле Text может быть пустым Result:=StrToFloat(text); except on EConvertError do begin Result:=0; text:=''; end; end; end; // процедура записи в поле FNumb procedure TNkEdit.SetNumb(Value:single); begin FNumb:=Value; Text:=FloatToStr(value); end; // процедура обработки события KeyPress procedure TNkEdit.KeyPress(var key:char) ; begin case key of '0'.. '9', #8, #13: ; '-': if Length(text)<>0 then key:=#0; else if not ((key = DecimalSeparator) and (Pos(DecimalSeparator,text)=0)) then key:= #0; end; inherited KeyPress(key); // вызов процедуры обработки события // OnKeyPress родительского класса end; end.

Ответ от Sm[гуру]
Нахрен в калькуляторе какой-то combobox сдался ? > мне надо фильтр поставить, чтобы вводить только числа от 0 до 9 и запятую-причем только одну Надо - поставь. В чем проблема ? Не знаешь как ? Плати - и получай готовое реш

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: помогите с созданием калькулятора в delphi...
 

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

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*