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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2010, 19:12   #1
smile)
 
Регистрация: 13.09.2010
Сообщений: 3
По умолчанию программу, которая вычисляет произведение двух заданных пользователем чисел

здравствуйте) не могли бы вы мне помочь...?
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  StdCtrls, Buttons;
type
TfmMult = class(TForm)
btFirst: TBitBtn;
btSecond: TBitBtn;
edInput: TEdit;
mmOutput: TMemo;
btClose: TButton;
lbMessage: TLabel;
procedure btCloseClick(Sender: TObject);
procedure btFirstClick(Sender: TObject);
procedure btSecondClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
X,Y:integer;
public
{ Public declarations }
end;

var
fmMult: TfmMult;
implementation
{$R *.DFM}

procedure TfmMult.btCloseClick(Sender: TObject);
begin
Close;
end;

procedure TfmMult.btFirstClick(Sender: TObject);
begin
//Преобразуем текст из edInput в целое число:
X:=StrToInt(Trim(edInput.Text));

//Сообщаем в мемо-поле о вводе первого числа:
mmOutput.Lines.Add('Первое число - '+edInput.Text);

//Очищаем поле ввода:
edInput.Text:='';

//Возвращаем фокус полю ввода:
edInput.SetFocus;

//Выводим подсказку в поле метки:
lbMessage.Caption:='Введите второе число:';

//Делаем первую кнопку недоступной, а вторую доступной:
btFirst.Enabled:=False;
btSecond.Enabled:=True;
end;

procedure TfmMult.btSecondClick(Sender: TObject);
begin
//Преобразуем текст из edInput в целое число:
Y:=StrToInt(Trim(edInput.Text));

//Сообщаем в мемо-поле о вводе второго числа:
mmOutput.Lines.Add('Второе число - '+edInput.Text);

//Вычисляем и показываем результат:
mmOutput.Lines.Add('Результат: '+IntToStr(X)+'*'+
IntToStr(Y)+'='+IntToStr(X*Y));

//Очищаем поле ввода:
edInput.Text:='';

//Возвращаем фокус полю ввода:
edInput.SetFocus;

//Выводим подсказку в поле метки:
lbMessage.Caption:='Введите первое число:';

//Делаем первую кнопку доступной, а вторую недоступной:
btFirst.Enabled:=True;
btSecond.Enabled:=False;
end;

procedure TfmMult.FormActivate(Sender: TObject);
begin
//Передаем фокус полю ввода edInput:
edInput.SetFocus;
end;

end.

Задание 1.
Измените программу так, чтобы при вводе первого числа была бы видна только кнопка btFirst, а кнопка btSecond была бы невидимой (а не недоступной), а при вводе второго числа, наоборот, кнопка btSecond стала бы видимой, а кнопка btFirst - невидимой.

Последний раз редактировалось artemavd; 15.09.2010 в 19:16.
smile) вне форума Ответить с цитированием
Старый 15.09.2010, 19:19   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Как пример:
Код:
//Edit1 - первое число
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 Form1.btSecond.Enable:=False;
 Form1.btFirst.Enable:=True;
end;

//Edit2 - второе число
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
 Form1.btFirst.Enable:=False;
 Form1.btSecond.Enable:=True;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция,которая выполняет сложение двух чисел,заданных в виде строк 6kakain9 Помощь студентам 3 10.02.2010 17:55
функция gcd, которая возвращает наибольший общий делитель двух целых чисел Jereme Общие вопросы C/C++ 2 21.01.2010 01:49
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей NoUserName Помощь студентам 3 01.03.2009 18:10
процедура, которая вычисляет объем шара motaro Паскаль, Turbo Pascal, PascalABC.NET 2 21.01.2008 19:22