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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2008, 02:32   #1
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
Смущение Ошика выхова процедуры

вот такая процедура:
Цитата:
procedure initOCT;
begin
OCT[1].Nam := 'LOAD'; OCT[1].Cod := 1; OCT[1].Len:=5;
OCT[2].Nam := 'SAVE'; OCT[2].Cod:=2; OCT[2].Len:=5;
OCT[3].Nam := 'INC'; OCT[3].Cod:=3; OCT[3].Len:=4;
OCT[4].Nam := 'DEC'; OCT[4].Cod:= 4; OCT[4].Len:= 4;

OCT[5].Nam := 'ADD'; OCT[5].Cod := 5;
OCT[5].Len := 5;
OCT[6].Nam := 'ADC'; OCT[6].Cod := 6;
OCT[6].Len := 5;
OCT[7].Nam := 'SUB'; OCT[7].Cod := 7;
OCT[7].Len := 5;
OCT[8].Nam := 'SBB'; OCT[8].Cod := 8;
OCT[8].Len := 5;
OCT[9].Nam := 'MUL'; OCT[9].Cod := 9;
OCT[9].Len := 4;

OCT[10].Nam := 'DIV'; OCT[10].Cod := 10;
OCT[10].Len := 4;

OCT[11].Nam := 'AND'; OCT[11].Cod := 11;
OCT[11].Len := 5;

OCT[12].Nam := 'OR'; OCT[12].Cod := 12;
OCT[12].Len := 5;

OCT[13].Nam := 'XOR'; OCT[13].Cod := 13;
OCT[13].Len := 5;

OCT[14].Nam := 'CMP'; OCT[14].Cod := 14;
OCT[14].Len := 5;

OCT[15].Nam := 'JE'; OCT[15].Cod := 15;
OCT[15].Len := 4;

OCT[16].Nam := 'JNE'; OCT[16].Cod := 16;
OCT[16].Len := 4;

OCT[17].Nam := 'JB'; OCT[17].Cod := 17;
OCT[17].Len := 4;

OCT[18].Nam := 'JNB'; OCT[18].Cod := 18;
OCT[18].Len := 4;

OCT[19].Nam := 'JA'; OCT[19].Cod := 19;
OCT[19].Len := 4;

OCT[20].Nam := 'JNA'; OCT[20].Cod := 20;
OCT[20].Len := 4;

OCT[21].Nam := 'JMP'; OCT[21].Cod := 21;
OCT[21].Len := 4;

OCT[22].Nam := 'START';OCT[22].Cod := 0;
OCT[22].Len := 0;

OCT[23].Nam := 'END'; OCT[23].Cod := 0;
OCT[23].Len := 0;

OCT[24].Nam := 'BYTE'; OCT[24].Cod := 0;
OCT[24].Len := 0;

OCT[25].Nam := 'WORD'; OCT[25].Cod := 0;
OCT[25].Len := 0;

OCT[26].Nam := 'RESB'; OCT[26].Cod := 0;
OCT[26].Len := 0;

OCT[27].Nam := 'RESW'; OCT[27].Cod := 0;
Вот такой выхов на формкрейте:
initOCT;

Что не так?)
adwaer вне форума Ответить с цитированием
Старый 18.06.2008, 02:34   #2
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
По умолчанию

ах да, еще объявлен тип данный:
Цитата:
type
TOCT = record
Nam: string;
Cod, Len: integer;
end;

var
OCT: Array [1..27] of TOCT;
adwaer вне форума Ответить с цитированием
Старый 18.06.2008, 08:23   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от adwaer Посмотреть сообщение
вот такая процедура:

Вот такой выхов на формкрейте:
initOCT;

Что не так?)
Какая ошибка-то ? Все правильно написано. Разве что end в конце не хватает. Может порядок - процедура должна быть объявлена до вызова.

А вот так проще будет:
Код:
procedure initOCT;
   procedure add(N:integer; Nm:String; CD, L:integer);
   begin
       OCT[N].Nam := Nm; OCT[N].Cod := CD; OCT[N].Len:=L;
   end;
begin
   add(1, 'LOAD', 1, 5);
   ...
alexBlack вне форума Ответить с цитированием
Старый 18.06.2008, 09:40   #4
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
По умолчанию

Весь прикол в том, что мне нужно мутить в ГУИ и консольном режиме прогу. В целях компактности процедурку эту засунул в отдельный юнит, в юните ГУИ режима добавил uses этот юнит. Вызов процедуры не получается, воспринимает как идентиффикатор.. мб я неправильно юнит процедурки объявил?
Код:
unit uOCT;

interface

implementation

procedure initOCT;
begin
.........
end;
end.
adwaer вне форума Ответить с цитированием
Старый 18.06.2008, 09:44   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Процедура должна быть объявлена в интерфейсной части
Код:
...
interface
procedure initOCT;
implementation

procedure initOCT;
begin
.........
end;
end.
Модуль нужно подключить - uses uOCT;
alexBlack вне форума Ответить с цитированием
Старый 18.06.2008, 10:09   #6
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
По умолчанию

Спасибо! Все работает
adwaer вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуры Killbrum Помощь студентам 5 10.06.2008 08:59
Модули и процедуры Алексей Д. Помощь студентам 32 24.05.2008 19:08
Время процедуры AngelOfDeath Общие вопросы Delphi 11 29.04.2008 15:26
процедуры FIIR БД в Delphi 9 26.02.2008 11:26
процедуры FIIR Помощь студентам 2 26.02.2008 08:12