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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вызвать из процедуры другую процедуру? 
:(
    Опции темы
BCworm
Дата 27.8.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Подскажите пожалуйста как вызвать из процедуры другую процедуру. Что где указывать?
Если можно какой нибудь пример коротенький.


PM MAIL   Вверх
BaD_SeCt0R
Дата 27.8.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


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

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



Цитата(BCworm @  27.8.2008,  10:18 Найти цитируемый пост)
Подскажите пожалуйста как вызвать из процедуры другую процедуру. Что где указывать?

Вопрос, конечно, интересный...

Цитата(BCworm @  27.8.2008,  10:18 Найти цитируемый пост)
Если можно какой нибудь пример коротенький.

Код

procedure One;
begin
  //...
end;

procedure Two;
begin
  One;
end;

обычно делают так...


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
Exai1e
Дата 27.8.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(BaD_SeCt0R @  27.8.2008,  11:24 Найти цитируемый пост)
Вопрос, конечно, интересный...

 smile 

Мне кажеться следующим вопросом будет, как вызвать процедуру из другого модуля, поэтому:

Код

//Модуль с процедурой:
unit Unit2;   //Дополнительный модуль

interface

procedure SomeProcedure;     //Процедура которую необходимо вызывать, обязательно ДО "implementation"

implementation

procedure SomeProcedure;
begin
  //...
end;

end.


Основной модуль:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2; //Подключаем модуль "с процедурой"

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure One;
begin
  SomeProcedure; //Вызываем
  //или
  Unit2.SomeProcedure; //или так =)
end;

end.



--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
BCworm
Дата 27.8.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо!

Я тоже подозревал что нужно просто в тексте первой процедуры написать имя второй.
Но у меня почемто выскакивет ошибка Unknown Identifier - т.е как будто процедуры с таким именем нет
PM MAIL   Вверх
volvo877
Дата 27.8.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Exai1e, ничего, что мы в разделе Паскаль? Дельфи - здесь...
Цитата(Exai1e @  27.8.2008,  10:32 Найти цитируемый пост)
Мне кажеться следующим вопросом будет, как вызвать процедуру из другого модуля
А мне кажется, что здесь не форум прорицателей. Вот когда БУДЕТ следующий вопрос - будешь на него отвечать. Если сумеешь. 

BCworm, кроме всего прочего вызываемая процедура должна быть описана выше второй, из которой ты будешь ее вызывать (в некоторых случаях для этого требуется опережающее описание: Forward). Если не получается - показывай код, я не гадалка.
PM MAIL   Вверх
Christoph
Дата 27.8.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

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



Цитата(Exai1e @ 27.8.2008,  10:32)
Цитата(BaD_SeCt0R @  27.8.2008,  11:24 Найти цитируемый пост)
Вопрос, конечно, интересный...

 smile 

Мне кажеться следующим вопросом будет, как вызвать процедуру из другого модуля, поэтому:

Код

//Модуль с процедурой:
unit Unit2;   //Дополнительный модуль

interface

procedure SomeProcedure;     //Процедура которую необходимо вызывать, обязательно ДО "implementation"

implementation

procedure SomeProcedure;
begin
  //...
end;

end.


Основной модуль:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2; //Подключаем модуль "с процедурой"

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure One;
begin
  SomeProcedure; //Вызываем
  //или
  Unit2.SomeProcedure; //или так =)
end;

end.

а зачем писать 
Код

Unit2.SomeProcedure;


Есть такая вероятность что не увидят этк процедуру? Я думал что прога перебирает все uses


--------------------
user posted image
PM MAIL ICQ   Вверх
Exai1e
Дата 28.8.2008, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Christoph @  28.8.2008,  00:07 Найти цитируемый пост)
а зачем писать 

я же написал, или так или так smile например еси 2 процедуры с одним названиям в разных модулях smile


Цитата(volvo877 @  27.8.2008,  13:55 Найти цитируемый пост)
Exai1e, ничего, что мы в разделе Паскаль? Дельфи - здесь...

извиняюсь :( незаметил...
 smile 


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

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

3. Оффтопить

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

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

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


 




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


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

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