Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 11.12.2014, 23:30   #1
dimka123
Форумчанин
 
Регистрация: 25.12.2011
Сообщений: 96
Репутация: 10
По умолчанию Ошибка 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, 23:44   #2
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,552
Репутация: 3678
По умолчанию

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

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

Может лучше так:
Код:

// ....
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, 01:43   #5
dimka123
Форумчанин
 
Регистрация: 25.12.2011
Сообщений: 96
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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, 10:19   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,177
Репутация: 5241
По умолчанию

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, 14:56   #7
dimka123
Форумчанин
 
Регистрация: 25.12.2011
Сообщений: 96
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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, 15:58   #8
dimka123
Форумчанин
 
Регистрация: 25.12.2011
Сообщений: 96
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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, 16:03   #9
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,882
Репутация: 6285
По умолчанию

Это не паскаль долбаный
Код:

Type PROG = class;
procedure PROG.InputMass(var masA:masiv;n:integer); 
procedure PROG.Outobmen(masA:masiv;n:integer);
end;

__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 12.12.2014, 16:08   #10
dimka123
Форумчанин
 
Регистрация: 25.12.2011
Сообщений: 96
Репутация: 10
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это не паскаль долбаный
Код:

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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в модуле 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


06:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru