Крипто-форум crprogram.16mb.com

Програмування на Object Pascal, Lazarus, криптографія, криптоаналіз, шифри, вихідні коди, вирішення задач, приклади програм

Часовий пояс: UTC десь + 2 години




Розпочати нову тему Відповісти  [ 4 повідомлень ] 
Автор Повідомлення
 Заголовок повідомлення: Модулі Object Pascal
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Для більшості складних програм на Object Pascal
код програми розбивають на логічні частини, з певним набором функцій.

Такі частини називають модулями.

Існують стандартні модулі, які додані до середовища, наприклад, якщо в Lazarus створити нову форму побачимо

Цитата:
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
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

end.

Червоним і виділені модулі.

Також існує можливість самостійно створювати модулі.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Модулі Object Pascal
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Модулі зберігаються у файлах
Назва_модуля.pas
Структура модуля:
Код:
unit Nazva;

interface

uses
  [модулі які підключаються до даного];


function [функція1];
function [функція2];

implementation

uses
  [модулі які підключаються до даного];


const
[константи];

function [функція1:integer]:string; /// приклад
begin
  Result := inttostr(функція1); //приклад
end;

function [функція2:integer]:string; /// приклад
begin
  Result := inttostr(функція2); //приклад
end;

end.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Модулі Object Pascal
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Приклад:

Модуль
Код:
unit Nazva;

interface

uses
  SysUtils, Classes;


function func1(x:string):string;
function func2(x:string):string;

implementation

uses
  Variants;


const
d=5;

function func1(x:string):string;
begin
  Result := inttostr(strtoint(x)+d);
end;

function func2(x:string):string;
begin
  Result := inttostr(strtoint(x)-d);
end;

end.


головна програма
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text:=func1(edit1.Text);
end;

end.


Відповідно перша функція func1 збільшує число з edit1 на 5.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Модулі Object Pascal
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 17
Дякую дуже хороша стаття.


Повернутися наверх
  
 
Показати повідомлення за:  Сортувати по:  
Розпочати нову тему Відповісти  [ 4 повідомлень ] 

Часовий пояс: UTC десь + 2 години



cron
Роwеrеd bу рhрВB® аnd Hostinger web hosting