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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 22:30   #1
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию Ошибка forward в модуле.

Подскажите как исправить.. делаю по шаблону но о такой хрени нам не говорили. ошибка - Ожидалось forward.. Объектно-ориентированное программирование только начал проходить
Код:
Unit mod1;

interface  

const n=10;

Type masiv=array[1..n]of real;
var masA:masiv;
Type PROG = object;
procedure PROG.InputMass(var masA:masiv;n:integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);тут ошибка
end;
implementation  процедуры втыкать не стал здесь. 
procedure PROG.InputMass(var masA: masiv; n : integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);
end;end.
dimka123 вне форума Ответить с цитированием
Старый 11.12.2014, 22:44   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Насколько я понимаю, объект надо описывать - то есть, указать в нём свойства и заголовки методов.
Вадим Мошев вне форума Ответить с цитированием
Старый 11.12.2014, 22:46   #3
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Насколько я понимаю, объект надо описывать - то есть, указать в нём свойства и заголовки методов.
да. ошибка с objectom... не пойму почему так... а еще 6 лаб переделывать под эту хрень
dimka123 вне форума Ответить с цитированием
Старый 12.12.2014, 00:12   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Может лучше так:
Код:
// ....
var masA:masiv;
Type PROG = class(TObject)  // и точку с запятой ; не ставить 
procedure InputMass(var masA:masiv;n:integer);
procedure Outobmen(masA:masiv;n:integer);
end;

implementation
// и т.д.
type_Oleg вне форума Ответить с цитированием
Старый 12.12.2014, 00:43   #5
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Может лучше так:
Код:
// ....
var masA:masiv;
Type PROG = class(TObject)  // и точку с запятой ; не ставить 
procedure InputMass(var masA:masiv;n:integer);
procedure Outobmen(masA:masiv;n:integer);
end;

implementation
// и т.д.
даже если и так лучше то выдает ошибку( Неизвестное имя 'TObject') . ABC.NET издевается(
dimka123 вне форума Ответить с цитированием
Старый 12.12.2014, 09:19   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

dimka123, а Вы не так, случайно, хотите написать?

Код:
Unit mod1;

interface

const n=10;

Type masiv=array[1..n]of real;
var masA:masiv;
Type PROG = class
  procedure InputMass(var masA:masiv;n:integer);
  procedure Outobmen(masA:masiv;n:integer);
end;

implementation
procedure PROG.InputMass(var masA: masiv; n : integer);
begin
end;

procedure PROG.Outobmen(masA:masiv;n:integer);
begin
end;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2014, 13:56   #7
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
dimka123, а Вы не так, случайно, хотите написать?

Код:
Unit mod1;

interface

const n=10;

Type masiv=array[1..n]of real;
var masA:masiv;
Type PROG = class
  procedure InputMass(var masA:masiv;n:integer);
  procedure Outobmen(masA:masiv;n:integer);
end;

implementation
procedure PROG.InputMass(var masA: masiv; n : integer);
begin
end;

procedure PROG.Outobmen(masA:masiv;n:integer);
begin
end;

end.
так.но использовал бы object а не . сlass
dimka123 вне форума Ответить с цитированием
Старый 12.12.2014, 14:58   #8
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от dimka123 Посмотреть сообщение
так.но использовал бы object а не . сlass
да и если и так.. то этот долбаный паскаль всеравно орет на forward
Type PROG = class;
procedure PROG.InputMass(var masA:masiv;n:integer);
procedure PROG.Outobmen(masA:masiv;n:integer) ;
end;
Код:
Unit mod1;// НАПИСАЛ НАЗВАНИЕ И СРАЗУ СОХРАНЯЕШЬ  В ТУ ПАПКУ ГДЕ ЛЕЖИТ САМА ПРОГА.И НАЗЫВАЕШЬ ТАКОЕ ЖЕ КАК ИМЯ МОДУЛЯ

interface   // СЮДА ХЕРАЧИШЬ ОПИСАНИЕ ПЕРЕМЕННЫХ И ПРОЦЕДУРЫ.

const n=10;

Type masiv=array[1..n]of real;
var masA:masiv;
Type PROG = class;
procedure PROG.InputMass(var masA:masiv;n:integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);
end;

implementation // А ТУТ РАСПИСЫВАЕШЬ ЭТИ ПРОЦЕДУРЫ 

procedure PROG.InputMass(var masA: masiv; n : integer); 
var i : integer;
begin;
writeln('Ввод массива'); 
for i := 1 to n do begin;
  write('masA[',i,'] = ');
    readln(masA[i]); end;

end;

procedure PROG.Outobmen(masA:masiv;n:integer);
var i,i1,i2,k:integer;x:real;
begin;
k:=0;{проверим стоит ли заниматься обменом}
for i:=1 to n do
if masA[i]>0 then k:=k+1;
if k<2 then
 begin
  write('В массиве нет пар положительных элементов!');
  readln;
  exit;
 end;
i1:=1;i2:=n;{начало и конец}
repeat
for i:=i1 to i2 do
if masA[i]>0 then
 begin
  i1:=i;{ищем первый положительный с начала}
  break;
 end;
for i:=i2 downto i1 do
if masA[i]>0 then
 begin
  i2:=i;{то же с конца}
  break;
 end;
if i1<=i2 then{если не прошли середину, обмениваем элементы}
 begin
  x:=masA[i1];
  masA[i1]:=masA[i2];
  masA[i2]:=x;
 end;
i1:=i1+1;{начало вперед}
i2:=i2-1;{конец назад}
until i2<i1;{все поменяли, встретились}
writeln('Перестановка положительных:');
for i:=1 to n do
write(masA[i]:5:1);
readln
end;  //КОНЕЦ РОЦЕДУРЫ
end. //КОНЕЦ САМОГО МОДУЛЯ
dimka123 вне форума Ответить с цитированием
Старый 12.12.2014, 15:03   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это не паскаль долбаный
Код:
Type PROG = class;
procedure PROG.InputMass(var masA:masiv;n:integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2014, 15:08   #10
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это не паскаль долбаный
Код:
Type PROG = class;
procedure PROG.InputMass(var masA:masiv;n:integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);
end;
когда ставил object он просил точку с запятой, ) ошибка убралась спасибо)
а как в самой программе теперь вызывать эти процедуры? подскажите плиз

uses mod1;

begin;
InputMass(masA,n);
Outobmen(masA,n);
end.
dimka123 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в модуле Gulnur10 БД в Delphi 1 02.05.2013 10:12
ошибка Forward reference needs override dosha1302 Помощь студентам 1 04.03.2013 22:25
ошибка в модуле. Паскаль Elabrion Помощь студентам 7 04.12.2011 21:00
Паскаль, ошибка в модуле Liam_ Помощь студентам 1 13.06.2011 10:29