Anton R.
Faust правильно сказал
<<ПыСы. в блоке Interface разберись что должно быть >>
Ну кто в интерфейсной части пишет конструкцию begin-end;
В интерфейсной части содержатся объявления всех глобальных объектов модуля
(типов, констант, переменных и блоков), которые должны стать доступными основной программе и/или другим модулям.
При объявлении глобальных блоков в интерфейсной части указываются только их заголовок.
Сначала ВЫ правильно поставили
s:real; { Присвоили переменной s вещественный тип}
Тут же ВЫ объявили переменную s:=5
Получается s - переменная и в то же время константа.
Так не делают.
Если ВЫ хотите чтобы переменная s объвлена в этой части и ей было присвоено
значение 5,
то надо написать
const s=5;
или
const
s=5;
Теперь если Вы захотите ее вывести(т.е. s) на экран то она выведется как
целое число 5
Поэтому надо ставить
const s=5.00;
или
const
s=5.00
В расчете такая константа так и будет участвовать
если s=5.0 то и будет 5.0, если s=5.00 то и будет 5.00
s=5.12 то и будет 5.12
Но можно сделать типизированную константу т.е. совместить объявление типа и значение переменной.
Тогда это будет выглядеть так:
CONST
s:real=5
или
CONST s:real=5
Вот тогда при выводе она может быть и 5.0 и 5.00 и нули необязательно ставить самому.
Если ВЫ хотите чтобы переменная потом при работе получила значение 5, то надо указать
var
s:real;
Подумайте, что ВЫ хотите поставить в этот раздел - переменную или константу.
======================================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы, но не доступных для
других модулей}
public
{ Public declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы и доступных для
других модулей}
end;
{ Сюда могут помещаться объявления типов, констант,
переменных, функций и процедур, к которым будет доступ
из других модулей, но которые не включаются в класс
формы }
var m:real; {Если m просто переменная вещественного типа}
const s=5; {Если s просто константа}
const r=5.00; {Если r просто константа с 2 нулями}
const k:real=5; {Если k типизированная константа}
implementation
var st:string; {Если st просто переменная типа string}
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage ('qqq')
end;
end.
=============================================
Вот тогда будет правильно.
Вот теперь все объявленные константы и переменные будут доступны для других
модулей и частей программы.
Но вы можете использовать объявления переменных и констант в разделе
реализации implementation, но они уже не будут доступны для других модулей
и частей программы - PRIVATE;
Пробуйте и все получится.
LEND