Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сложение,вычитание [D7, WinXP]


Алексей2 ©   (2005-10-18 22:19:00) 

Как допустим ввести два слагаемых в edit и что бы в другом editпоказало ответ?
Или  как сделать так чтобы например, мне даны  слагаемых мне надо написать ответ, если ответ правильный появилось слово правильно.
Покажите пожалуйста образец!


Алексей2   (2005-10-25 10:25:00) [1]

Zeqfreed ©
обясни как работает [1]


Zeqfreed   (2005-10-19 21:12:00) [2]

zero   (19.10.05 19:04) [2]
Разве [1] сложно?


V0RoN   (2005-10-19 20:16:00) [3]

Сорри, не то написал:

symma := StrToInt(edit1.text) + StrToInt(edit2.text);
otvet := StrToInt(edit3.text);
If otvet = symma Then
ShowMessage('ПРАВИЛЬНО!');


V0RoN   (2005-10-19 20:14:00) [4]

сравнение с ответом
symma := StrToInt(edit1.text) + StrToInt(edit2.text);
otvet := edit3.text
If otvet = symma Then
ShowMessage('ПРАВИЛЬНО!');


сложение
symma := StrToInt(edit1.text) + StrToInt(edit2.text);
edit3.text := IntToStr(symma)


zero   (2005-10-19 19:04:00) [5]

а разве нельзя проще как на pacаle?


Zeqfreed   (2005-10-18 22:56:00) [6]

Алексей2   (18.10.05 22:19)

> Как допустим ввести два слагаемых в edit  и что бы в
> другом edit показало ответ?

...

type
 TForm1 = class(TForm)
   edOp1: TEdit;
   edOp2: TEdit;
   edRes: TEdit;
   procedure FormCreate(Sender: TObject);
 private
  procedure edOpsKeyPress(Sender: TObject; var Key: Char);
  procedure edOpsChange(Sender: TObject);
 public
   { Public declarations }
 end;

...
implementation
...

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

procedure TForm1.edOpsChange(Sender: TObject);
var
op1, op2 : String;
i1, i2 : Integer;
begin
with Form1 do begin
 op1 := edOp1.Text;
 op2 := edOp2.Text;

 try
  i1 := StrToInt(op1);
  i2 := StrToInt(op2);

  edRes.Text := IntToStr(i1 + i2);
 except
  edRes.Text := 'error';
 end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
edRes.ReadOnly := true;
edRes.Font.Style := [fsBold];
edRes.Font.Color := clRed;

edOp1.Text := '1';
edOp2.Text := '2';

edOp1.OnKeyPress := edOpsKeyPress;
edOp2.OnKeyPress := edOpsKeyPress;

edOp1.OnChange := edOpsChange;
edOp2.OnChange := edOpsChange;

edOp1.OnChange(self);
end;

end.


Например, так. А теперь, полагаю, объяснить надо как это все работает? Или это, в общем-то, не важно? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо