Пользовательские модули

Что делать, чтобы стать программистом Что делать, чтобы стать программистом

Многие сегодня хотят стать программистами. Хотят. Но ничего не делают для этого. Не делают даже простых вещей. Не хотят даже прочитать книжку из 10 страниц. В итоге так и остаются никем. Потому что мечты не сбываются никогда. Сбываются только планы… Подробнее...

В этом разделе я расскажу, как создать свой модуль и как использовать его в своей программе. Структуру модуля вы уже знаете. Если забыли, то см. здесь: Модули.

Итак, создаём программу обычным уже известным нам способом.

Затем выбираем в меню ФАЙЛ команду СОЗДАТЬ МОДУЛЬ.

Сохраняем модуль под именем, например, myunit. Для этого выбираем меню ФАЙЛ - СОХРАНИТЬ.

Всё. Модуль готов и сохранён. Для верности можете сохранить весь проект.

При создании модуля в Lazarus структура его формируется автоматически, то есть в редакторе исходного кода сразу появляются основные разделы модуля. И вам остаётся только добавить свой код.

Итак, добавляем свои подпрограммы в модуль и получаем примерно следующее:

Листинг 26.1. Наш модуль на Паскале.
unit myunit;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils;

var x : integer;

function MyFunc(y : integer) : integer;

implementation

{**********************************************************************
 Эта функция будет видна из других программ, так как она объявлена
 в разделе interface
 **********************************************************************}
function MyFunc(y : integer) : integer;
begin
  Result := x + y;
end;

{**********************************************************************
 Эта функция НЕ будет видна из других программ, так как она НЕ объявлена
 в разделе interface. Однако она будет видна в самом модуле myunit.
 **********************************************************************}
function MyFunc100 : integer;
begin
  Result := 100;
end;

begin
  x := MyFunc100;
end.

Обратите внимание на комментарии. Вы уже изучили немало, поэтому должны понимать смысл этих комментариев. Более подробно описывать не буду.

А теперь посмотрим, как использовать функции нашего модуля в нашей программе.

Листинг 26.2. Использование модуля в программе.
program mu;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, myunit
  { you can add units after this };

begin
  x := MyFunc(50);
  Write(x);
  ReadLn;
end.

Первым делом нужно подключить модуль к программе. Вы уже знаете, как это сделать. Если вы создавали этот модуль из этой же программы, то модуль будет подключен автоматически.

Ну а дальше, надеюсь, всё понятно. Мы не объявляем в программе переменную х, так как она объявлена в модуле myunit в разделе глобальных переменных, следовательно, видна из нашей программы.

В программе мы вызываем функцию MyFunc, а результат выводим на экран. Если же вы попробуете вызвать из программы функцию MyFunc100, которая также имеется в нашем модуле, то это приведёт к ошибке компиляции, так как функция MyFunc100 не объявлена в интерфейсном разделе, то есть не видна из других модулей и программ.

В этом разделе мы немного коснулись темы видимости переменных. Более подробно об этом я расскажу в следующем разделе.


Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика