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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2013, 18:13   #1
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Восклицание калькулятор (сложение,отнимание,умножение,делен ие) Делфи 7

добрый вечер, уважаемые программисты ! помогите,пожалуйста,написать программу на языке Делфи 7.

вот задание:
сделать проект,который содержит главную форму с 4-ма кнопками выбора, и подключенные к ней 4-ри формы. Формы являются подобными (унаследованные) и выполняют операцию «+», «-», «*», «/» (в форме два поля ввода и кнопка равна, формы имеют разные заголовки).

заранее спасибо всем!!!

Последний раз редактировалось программирование; 24.09.2013 в 19:56.
программирование вне форума Ответить с цитированием
Старый 24.09.2013, 18:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попыток конечно же не было?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2013, 19:22   #3
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
По умолчанию попытки были

вот одна из попыток:
Код:
unit Unit7;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,Unit7,Unit8, Unit9;



type
  TForm7 = class(TForm)
    plus: TButton;
    minus: TButton;
    umnoj: TButton;
    podel: TButton;
    procedure plusClick(Sender: TObject);
    procedure minusClick(Sender: TObject);
    procedure umnojClick(Sender: TObject);
    procedure podelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.minusClick(Sender: TObject);
begin
 form7.Hide;
form7.show;
end;

procedure TForm7.plusClick(Sender: TObject);
begin
form7.Hide;
form7.show;

end;

procedure TForm7.podelClick(Sender: TObject);
begin
form7.Hide;
form7.show;
end;

procedure TForm7.umnojClick(Sender: TObject);
begin
 form7.Hide;
form7.show;
end;

end.
это написание первого проекта,который содержит главную форму с 4-ма кнопками выбора, и подключенные к ней 4-ри формы.

Последний раз редактировалось Stilet; 24.09.2013 в 20:25.
программирование вне форума Ответить с цитированием
Старый 24.09.2013, 19:37   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну нормально. Только я бы form7.Hide;form7.show; заменил на Form7.ShowModal.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2013, 19:42   #5
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Вопрос создать дочернею форму?

Формы являются подобными (унаследованные) - это как? тоесть нужно создать дочернею форму?
программирование вне форума Ответить с цитированием
Старый 24.09.2013, 20:31   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
тоесть нужно создать дочернею форму?
Что такое наследование знаешь? Это когда один компонент содержит свойства и методы, описанные в другом компоненте таким образом чтобы дополнять его структуру в своем теле.
Предок:
Код:
TForm1=class(TForm)
 public
  Свойство1;
end;
Наследник:
Код:
TForm2=class(TForm1)
 public
  Свойство2;
end;
Таким образом объект типа TForm2 содержит и Свойство2 и Свойство1 наследуя его у предка.

Вот как бы делал я:
[CODE]unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls;

type

{ TForm1 }
// Класс от которого пойдет наследование
{ TFormA }
TFormA = class(TForm)
private
{ private declarations }
Oper:string;
Edit1,Edit2:TEdit;
Button:TButton;
public
{ public declarations }
procedure init;
end;

{ TFormAPlus }
// Класс сложения, наследующий форму с эдитами
TFormAPlus = class(TFormA)
public
{ public declarations }
procedure Eval(Sender: TObject);
end;

{ TFormAMinus }
// Класс вычитания, тоже наследует форму с эдитами
TFormAMinus = class(TFormA)
public
{ public declarations }
procedure Eval(Sender: TObject);
end;

// Главная форма
TForm1 = class(TForm)
procedure FormClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

// Операции
const b='+-*/';
var
Form1: TForm1;

implementation

{$R *.lfm}
// Инициализатор формы-ребенка. Оформляет ее эдитами и кнопкой
procedure TFormA.init;
begin
Position:=poMainFormCenter;
Width:=100;Height:=100;
Edit1:=TEdit.Create(self); Edit1.Parent:=self; Edit1.Align:=alTop; Edit1.Show;
Edit2:=TEdit.Create(self); Edit2.Parent:=self; Edit2.Align:=alTop; Edit2.Show;
Button:=TButton.Create(self); Button.Parent:=self; Button.Align:=alClient; Button.Show;
Button.Caption:='Evaluate';
end;

{ TFormAMinus }
// Обработчик для формы вычитания
procedure TFormAMinus.Eval(Sender: TObject);
begin
ShowMessage(FloatToStr(StrToFloatDe f(Edit1.Text,0)-StrToFloatDef(Edit2.Text,0)));
end;


{ TFormAPlus }
//Обработчик для формы сложения
procedure TFormAPlus.Eval(Sender: TObject);
begin
ShowMessage(FloatToStr(StrToFloatDe f(Edit1.Text
I'm learning to live...

Последний раз редактировалось Stilet; 24.09.2013 в 21:08.
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение, умножение, НОД многочленов vasektemuprosek Паскаль, Turbo Pascal, PascalABC.NET 15 07.01.2013 13:11
[Tasm]Сложение/Умножение длинных чисел falcon92 Помощь студентам 0 17.11.2010 15:34
Сложение и умножение korzunmaria Помощь студентам 3 20.05.2010 20:07
Сложение и умножение korzunmaria Паскаль, Turbo Pascal, PascalABC.NET 3 20.05.2010 19:01
Сложение, вычитание, деление, умножение в Turbo Debugger GaJIbI4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 08.03.2010 15:23