Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 17:36   #1
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию Процедурные директивы Far и Forward

На лекциях рассказывали про эти директивы, но до практики дело не дошло.

Собственно мне стало интересно, можно ли, используя их, задавать размерность массива уже после запуска exe'шника?
Пример:
Код:
type
  mass=array[1..n] of integer;
var
  A:mass;
  n:integer;
begin
  read(n);
Вот в какое место поставить эти директивы, чтобы компилятор их адекватно воспринял?
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 23.11.2009, 17:43   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

))) Конечно можно! Кроме них Вам потребуется еще динамический массив
danekne вне форума Ответить с цитированием
Старый 23.11.2009, 17:54   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

эм... йа креведко...
можно простейший исходник? я разберусь, по образу и подобию.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 23.11.2009, 17:57   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

В паскале нет динамомашин. Они есть в дельфе. Это смотрится так:
Код:
Var Ar: Array of Byte;
Begin
SetLength(Ar,5);
End;
Forward директива - опережающее описание, например у вас есть процедура Alex, и процедура Cones. В процедуре Alex вы обращаетесь к процедуре Cones и наоборот. Просто так Вы это не опишете. Нужно так:
Код:
Procedure Alex; forward;

Procedure Cones;
Bla bla bla
Alex
End;

Procedure Alex
Bla bla bla *2
Cones
End;
Дело в том, что при компиляции обращение к несуществующей процедуре (считай еще не описанной) будет восприниматься как ошибка. forward обманывает компьютер, говоря, что Alex уже описана.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 23.11.2009 в 18:00.
Alex Cones вне форума Ответить с цитированием
Старый 23.11.2009, 18:15   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Спасибо, Alex Cones. Несмотря на то, что мы формально изучаем Object Pascal, на минисессии был именно делфи. На вопрос "Как мы тут будем работать?" последовал ответ "Да это то же самое". Поэтому без угрызений совести воспользуюсь вашим советом.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Директивы. VintProg Свободное общение 3 10.11.2009 14:35
Forward declaration из чужого namespace futureteamleader Общие вопросы C/C++ 1 17.10.2009 04:46
процедурные типы данных Granus Общие вопросы Delphi 2 14.03.2009 19:52
Директивы компиляции joker Общие вопросы Delphi 3 10.06.2008 09:41
Директивы препроцессора в С++ alef Общие вопросы C/C++ 1 25.04.2008 01:36