Помогите понять Delphi

интернет программирование обучение Наука Delphi

Дали лабораторную работу. Сказали, что от паскаля особо ничем не отличается. Да, конечно, не отличается... =_=
Надо составить программу калькулятор для подсчета сложения и вычитания.(Даны 2 окошка для 2 чисел, 2 метки для них, 2 окошка для сложения и вычитания, 2 метки для них, т.е. названия, и даны кнопки готово и выход)
В лабораторной дан готовый код, а дальше написано действовать самостоятельно.(В шоке о_О)
В результате жесткого задрачивания в гугл-переводчике текста ошибок, я все-таки додумался в var прописать переменные.
Вот, что у меня вышло. Буду благодарен, если объясните почему ругается. Я мог и типы попутать и не там написать... Первый раз запускаю...Там 2 модуля: Unit1,Unit2.
--
unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
a,b: string;
c,d: real;
plus, minus: real;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);//×òåíèå ñâîéñòâà Text â îêíå
b:=StrToFloat(Edit2.Text);//ðåäàêòèðîâàíèÿ è ïåðåâîä â
//ôîðìàò âåùåñòâåííîãî ÷èñëà
c:=Plus(a,b);
d:=Minus(a,b);
Edit3.Text:=FloatToStr(c);//Ïåðåâîä âåùåñòâåííîãî òèïà â
Edit4.Text:=FloatToStr(d);//òèï String è çàïèñü â îêíà
// ðåäàêòèðîâàíèÿ
end;

end.
-------------------------------------------------------------------------------------
unit Unit2;

interface
var a,b,Plus,Minus: real;
implementation
begin
Plus:=a+b;
Minus:=a-b
end.
-------------------------------------------------------------------------------------
Извините за китайские комментарии.

Примечание:
Вот сам текст лабы:
----
Лабораторная работа №1

Создание простейшего Windows-приложения в Delphi. Состав проекта.

Предварительная подготовка: В рабочей папке создать папку с именем «Арифметические действия».

1. Изменить название формы (установить свойство Caption равным “Арифметические действия сложения и вычитания”).
2. Поместить на форму компонент TGroupBox. Установить свойство Caption равным “Окно ввода”. Поместить в TGroupBox две метки с именами «Число 1» и «Число 2» и два компонента TЕdit. Удалить все символы из свойства Text в обоих окнах.
3. Поместить на форму второй компонент TGroupBox. Изменить его свойство Caption по образцу. Согласно образцу добавить новые компоненты и изменить их свойства.
4. Добавить две кнопки (компонент TButton ) с соответствующими заголовками.
5. Для кнопки «Выход» по двойному щелчку ввести следующий код:
Application.Terminate;

6. Для кнопки «Готово» по двойному щелчку ввести следующий код:

begin
a:=StrToFloat(Edit1.Text);//Чтение свойства Text в окне
b:=StrToFloat(Edit2.Text);//редактирования и перевод в
//формат вещественного числа
c:=Plus(a,b);
d:=Minus(a,b);
Edit3.Text:=FloatToStr(c);//Перевод вещественного типа в
Edit4.Text:=FloatToStr(d);//тип String и запись в окна
// редактирования
end;

7. Добавить в проект модуль пользовательских функций Unit2 (Файл/Создать/Модуль). Описать две функции сложения и вычитания двух чисел с именами Plus и Minus, а также тип переменных a,b,c,d.
8. В модуль Unit1 к списку используемых модулей добавить модуль Unit2.
9. Запустить приложение на выполнение, используя пункт меню Выполнить/Выполнить, либо по клавише F9, либо по «быстрой кнопке».
10. В папке «Арифметические действия» сохранить оба модуля и файл проекта.

Примечание:
Ругательства:
[Îøèáêà] Unit1.pas(46): Incompatible types: 'String' and 'Extended'
[Îøèáêà] Unit1.pas(47): Incompatible types: 'String' and 'Extended'
[Îøèáêà] Unit1.pas(49): Missing operator or semicolon
[Îøèáêà] Unit1.pas(50): Missing operator or semicolon
[Ôàòàëüíàÿ Îøèáêà] Project1.dpr(6): Could not compile used unit 'Unit1.pas'

Примечание:
Программа запахала, но я внёс свои изменения.
---
unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

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

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);//×òåíèå ñâîéñòâà Text â îêíå
b:=StrToFloat(Edit2.Text);//ðåäàêòèðîâàíèÿ è ïåðåâîä â
//ôîðìàò âåùåñòâåííîãî ÷èñëà
c:=a+b;
d:=a-b;
Edit3.Text:=FloatToStr(c);//Ïåðåâîä âåùåñòâåííîãî òèïà â
Edit4.Text:=FloatToStr(d);//òèï String è çàïèñü â îêíà
// ðåäàêòèðîâàíèÿ
end;

end.
---
Здесь нет Unit2
И нет переменных plus, minus, а также тип данных изменил на extended.
Может, кто-нибудь объяснит зачем Plus(a,b). Minus(a,b) и зачем создавать Unit2?

Примечание:
Почти разобрался.
Можете перевести строку на человеческий язык?
c:=Plus(a,b);
d:=Minus(a,b);
Вижу, что присваивание, но что такое Plus и Minus?
На переменные не похоже. Функция? гугл молчит.

Примечание:
Serg_SW, да так работает. Уже делал ранее, но мне надо разобраться с подключением модулей и процедурами. Я не умею описывать процедуры. Если бы мне дали пример оформления...
Ответы:
А где ругается? Как ругается?
c:=Plus(a,b);
d:=Minus(a,b);


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.