IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Компонент-Калькулятор
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 49
Пол: Мужской

Репутация: -  0  +


При создании калькулятора возникла проблема: в задаче есть 2 Edit'а в них вводятся значения a и b над которыми производятся определённые операции,поставив курсор в Edit1 и вводя значения при помощи кнопок калькулятора вводится нормально а когда поставить курсор на Edit2 и начав вводить значения при помощи кнопок курсор перескакивает на Edit1 и начинает вводить значения туда,помогите пожалуйста это исправить.
Проблему можно увидеть в процедурах Button2Click-Button11Click и в Button25Click. Там видно что коряво это написал но по другому не знаю как(



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Edit1: TEdit;
Edit2: TEdit;
Image1: TImage;
Image2: TImage;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Button21: TButton;
Button22: TButton;
Button23: TButton;
Button25: TButton;
CheckBox1: TCheckBox;
Button1: TButton;
CheckBox2: TCheckBox;

procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Image1Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button23Click(Sender: TObject);

procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

s1,s2: string;
a,b,c: real;
operacia, i, k: integer;
vibrano, injener: boolean;

implementation

{$R *.dfm}

procedure ravno;
begin
if ((form1.Edit1.Text='') or (form1.Edit2.Text='')) and
(injener=false) then begin
showmessage('не задан операнд');
exit;
end;

a:=strtofloat(form1.Edit1.Text);
if injener <> true then b:=strtofloat(form1.Edit2.Text);


if (b=0) and(form1.Edit2.Text<>'')then begin
showmessage('На ноль делить нельзя');
form1.Edit2.Text:='';
exit;
end;

case operacia of
1: c:=a+b;
2: c:=a-b;
3: c:=a*b;
4: c:=a/b;
5: begin
if form1.checkbox2.checked=true then c:=sin(a*Pi/180) else
c:=sin(a);
end;
6: begin
if form1.checkbox2.checked=true then c:=cos(a*Pi/180) else
c:=cos(a);
end;
7: begin
if form1.checkbox2.checked=true then c:=sin(a*Pi/180)/cos(a*Pi/180) else
c:=sin(a)/cos(a);
end;
8: begin
if form1.checkbox2.checked=true then c:=cos(a*Pi/180)/sin(a*Pi/180) else
c:=cos(a)/sin(a);
end;
9: c:=sqrt(a);
10: c:=a*a;
11:
begin
c:=1;
k:= strtoint(form1.edit2.text);
for i:=1 to k do c:=a*c;
end;

end; //case
form1.Edit3.text:=floattostrf(c,ffGeneral,18,4);

end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit3.text:='';
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
Edit3.text:='';
vibrano:=true;
end;




procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','+','-',#8]) then key :=#0;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
var i: integer;
begin
if not (key in ['0'..'9','+','-',#8]) then key :=#0;

end;

procedure TForm1.Image1Click(Sender: TObject);
begin
showmessage('Кротов Роман. ТПМ-301. 2009 год.');
end;

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

procedure TForm1.Button16Click(Sender: TObject);
begin
button17.Visible:=true;
button18.Visible:=true;
button19.Visible:=true;
button20.Visible:=true;
button21.Visible:=true;
button23.Visible:=true;
checkbox2.Visible:=false;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
operacia:=1; injener:=false;
ravno;
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
operacia:=2; injener:=false;
ravno;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
operacia:=3; injener:=false;
ravno;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
operacia:=4; injener:=false;
ravno;
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
operacia:=5;
injener:=true;
ravno;
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
operacia:=6;

injener:=true;
ravno;
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
operacia:=7;
injener:=true; ravno;
end;

procedure TForm1.Button20Click(Sender: TObject);
begin
operacia:=8; injener:=true; ravno;
end;

procedure TForm1.Button21Click(Sender: TObject);
begin
operacia:=9; injener:=true; ravno;
end;

procedure TForm1.Button23Click(Sender: TObject);
begin
operacia:=10; injener:=true;ravno;
end;

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

end;

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


end;

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


end;

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


end;

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


end;

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


end;

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


end;

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

end;

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


end;

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


end;

procedure TForm1.Button22Click(Sender: TObject);
begin
s1:=edit1.Text;
s1:='';
edit1.Text:=s1;
s2:=edit2.Text;
s2:='';
edit2.Text:=s2;

end;

procedure TForm1.Button25Click(Sender: TObject);
begin
s1:=edit1.Text;
s1:=s1+',';
edit1.Text:=s1;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=true then
begin
button17.Visible:=true;
button18.Visible:=true;
button19.Visible:=true;
button20.Visible:=true;
button21.Visible:=true;
checkbox2.Visible:=true;
button1.Visible:=true;
button23.Visible:=true

end
else
begin
button17.Visible:=false;
button18.Visible:=false;
button19.Visible:=false;
button20.Visible:=false;
button21.Visible:=false;
checkbox2.Visible:=false;
button23.Visible:=false;
button1.Visible:=false;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
operacia:=11;
injener:=false;
ravno;
end;

end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 5:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name