Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите, кто знает модули... 
:(
    Опции темы
BadJungo
Дата 29.10.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.10.2006

Репутация: нет
Всего: нет



Не могли бы вы рассказать что такое модули, как они работают ну и может какой нить примерчик если не трудно... Это просто для себя!
PM MAIL   Вверх
volvo877
Дата 29.10.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Внизу страницы есть линки - посмотри там...

+ в поиск введи слово Implementation, и посмотри полученные ссылки. Вот одна из них:
http://forum.vingrad.ru/topic-63198/unread...tion/index.html
PM MAIL   Вверх
Guedda
Дата 29.10.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



Для удобства программирования придумали модули - файлы, в которых хранятся различные функции, чтобы облегчить программисту навигацию. Допустим, есть несколько функций:
Код

function Plus(a,b : Real) : Real;
begin
  Plus := a + b;
end;

function Minus(a,b : Real) : Real;
begin
  Minus := a - b;
end;

function Increase(a,b : Real) : Real;
begin
  Increase := a * b;
end;

function Divide(a,b : Real) : Real;
begin
  if b <> 0 then Divide := a / b else Divide := 0;
end;


Вот их немного. А если функций не 4, а, скажем, 500. Это заметно увеличит главный модуль программы, и программисту трудно будет ориентироваться в коде. Для этого и придумали модули. Создаем новый модуль, переписываем в него эти функции, а в коде главной программы просто дописываем:
Код

program MyProg;

uses
  Crt, MyModule; //Вот этот самый модуль MyModule.pas, который мы создали, и в котором лежат функции

{...}


Теперь просто вызываем названия функций в программе, да и всё.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
BadJungo
Дата 29.10.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.10.2006

Репутация: нет
Всего: нет



Если я правильно понимаю, то потом из этого модуля можно вызывать любые входящие в него функции?
PM MAIL   Вверх
volvo877
Дата 29.10.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(BadJungo @  29.10.2006,  16:58 Найти цитируемый пост)
потом из этого модуля можно вызывать любые входящие в него функции? 
Не совсем... не любые, а только те, которые описаны в секции Interface. Все, что описано ТОЛЬКО в Implementation - для "внутреннего" использования этого модуля, и снаружи недоступно...

PM MAIL   Вверх
BadJungo
Дата 29.10.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.10.2006

Репутация: нет
Всего: нет



volvo877, А ты не мог бы поподробнее рассказать по поводу Interface и Implementation? Просто что бы знать в чем их отличия и для чего они служат!

Это сообщение отредактировал(а) BadJungo - 29.10.2006, 18:35
PM MAIL   Вверх
DarlkElfTen
Дата 29.10.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 16.3.2006

Репутация: нет
Всего: 1



по моему только что ясно объяснили..
Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

стандыртный код вылезающий рпи загрузке делфей.

то, что ниже надписи mplementation - может быть  использованно только конкретным модулем
Unit1

еслиже мы попытаемся вызвать их из юнита 2(Unit2) то компилятор выдаст ошибочку.

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


как то сумбурно получилось..а воопсче советую почитать статьи)

Добавлено @ 19:02 
ай, черт..я думал это в етме делфи обсчие вопросы...если тута нету классов. тогда моб реч можно переделть под функции и процедрочки)
--------------------
"Две башни"
PM MAIL ICQ   Вверх
volvo877
Дата 29.10.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(BadJungo @  29.10.2006,  17:34 Найти цитируемый пост)
А ты не мог бы поподробнее рассказать по поводу Interface и Implementation?

Я же написал тебе - зайди в поиск и ищи по ключевым словам, даже пример ссылки тебе привел. Трудно? Что, обязательно ВСЕ, что уже выкладывалось на форуме, Copy/Paste-ить в эту тему?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1182 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.