![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов функции из модуля, в TurboPascal'e
Oni © (2005-11-28 15:13:00)Бодрого времени суток. Будьте бобры, подскажите как в программе вызывать функции из модуля.
Что собственно дано: есть TP_7.0 c которым я не работал тыщу лет.
Есть написанный модуль с процедурами и функциями, есть программка на TP,в которой надо вызывать енти проц. и фун., в этом собственно и заключается проблема.
К примеру:
Содержание модуля с функциями:
unit ArrRout;
interface
implementation
uses crt;
function BubbleSorting(var a:array of integer) : boolean;
var i,j,k,n : integer;
begin
bubblesorting:=false;
n:=SizeOf(a);
for i:=2 to n do
for j:=n downto i do
begin
k:=a[j-1];
a[j-1]:=a[j];
a[j]:=k
end;
bubblesorting:=true;
end;
end.
Код программы:
program tst;
uses crt, ArrRout;
var a : array [1..10] of byte;
i,j : integer;
begin
for i:=1 to SizeOf(Arr) do
begin
a[i]:=i;
Write(a[i]); Write('_')
end;
if BubbleSorting(a) <- Здесь говорит что "Unknow indefiner"
then
begin
end
else WriteLn('Error');
ReadKey;
end.
Всё находится в одной папке.
Плохиш (2005-11-28 15:25:00) [1]
> interface
>
> implementation
Конечно Unknow indefiner".
В интерфейс секцию описание функции включать Пушкин должен?
Ega23 (2005-11-28 15:25:00) [2]Ты не объявил функцию в unit ArrRout; Она считается "внутренней" функцией юнита и извне видна не будет. если хочешь, чтобы она была видна "извне", следует сделать так:
unit ArrRout;
interface
function BubbleSorting(var a:array of integer) : boolean;
implementation
uses crt;
function BubbleSorting(var a:array of integer) : boolean;
var i,j,k,n : integer;
begin
bubblesorting:=false;
n:=SizeOf(a);
for i:=2 to n do
for j:=n downto i do
begin
k:=a[j-1];
a[j-1]:=a[j];
a[j]:=k
end;
bubblesorting:=true;
end;
end.