Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2010, 07:21   #1
yaxx
 
Регистрация: 06.10.2010
Сообщений: 9
По умолчанию Как привязать действие onkeypress на клавишу enter #13?

ничего не получается(((

Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, XPMan, Menus;

type
TForm1 = class(TForm)
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn2: TBitBtn;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
BitBtn14: TBitBtn;
BitBtn15: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
XPManifest1: TXPManifest;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
CtrlC1: TMenuItem;
CtrlV1: TMenuItem;
N5: TMenuItem;
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure CtrlC1Click(Sender: TObject);
procedure CtrlV1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
var a,b,c:real;
d:char;

implementation

uses Unit2;



{$R *.dfm}

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'1';
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'2';
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'3';
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'4';
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'5';
end;

procedure TForm1.BitBtn8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'6';
end;

procedure TForm1.BitBtn9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'7';
end;

procedure TForm1.BitBtn10Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'8';
end;

procedure TForm1.BitBtn11Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'9';
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'0';
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.Clear;
end;

procedure TForm1.BitBtn12Click(Sender: TObject);
begin
if edit1.Text<>'' then a:=strtofloat(edit1.Text);
d:='+';
edit1.Clear;
end;

procedure TForm1.BitBtn13Click(Sender: TObject);
begin
if edit1.Text<>'' then a:=strtofloat(edit1.Text);
d:='-';
edit1.Clear;
end;

procedure TForm1.BitBtn14Click(Sender: TObject);
begin
if edit1.Text<>'' then a:=strtofloat(edit1.Text);
d:='/';
edit1.Clear;
end;

procedure TForm1.BitBtn15Click(Sender: TObject);
begin
if edit1.Text<>'' then a:=strtofloat(edit1.Text);
d:='*';
edit1.Clear;
end;

procedure TForm1.BitBtn16Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.Clear;
c:=sqrt(a);
edit1.text:=floattostr(c);
end;

procedure TForm1.BitBtn17Click(Sender: TObject);
begin
if edit1.Text<>'' then b:=strtofloat(edit1.text);
case d of
'+': c:=a+b;
'-': c:=a-b;
'*': c:=a*b;
'/': c:=a/b;
end ;
edit1.Text:=floattostr(c)
end;
procedure TForm1.CtrlC1Click(Sender: TObject);
begin
edit1.CopyToClipboard;
end;

procedure TForm1.CtrlV1Click(Sender: TObject);
begin
edit1.PasteFromClipboard;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.N5Click(Sender: TObject);
begin
form2.ShowModal;
end;

end.
Мне нужно привязать к bitbtn17 on keypress #13 чтобы при нажатии на кнопку выводил результат например: 5+5=10 а у меня выводит 55.((
yaxx вне форума Ответить с цитированием
Старый 16.10.2010, 09:17   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Код:
procedure TForm1.BitBtn17Click(Sender: TObject);
begin
  if edit1.Text<>'' then b:=strtofloat(edit1.text);
  case d of
    '+': c:=a+b;
    '-': c:=a-b;
    '*': c:=a*b;
    '/': c:=a/b;
  end ;
  edit1.Text := floattostr(a) + d + edit1.text+'='+ floattostr(c)
end;
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отключить клавишу Win Marsel737 Общие вопросы Delphi 10 05.02.2011 01:44
Как правильно обработать onkeypress? Stilet JavaScript, Ajax 6 13.08.2009 16:14
Заставить работать клавишу Enter для события ToolButton1Click AndreyF Помощь студентам 4 09.01.2009 14:32
Как в OnkeyPress отловить если в Edit есть текст позицию заменяемого символа? slips Общие вопросы Delphi 3 06.12.2008 18:12