Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> free pascal
Начать новую тему   Ответить на тему   вывод темы на печать

free pascal

Автор
Сообщение
Димитрий
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 06.10.2007
Сообщения: 227


Статус: Offline
СообщениеДобавлено: 2009.06.08 22:22.19
Ответить с цитатой
program Arsak;

uses crt;

type
PEmployee=^TEmployee;

TEmployee=object
name:string[12];
procedure Init(newname:string[12]);
end;

procedure TEmployee.Init(NewName:string[12]); // выдает ошибку 
begin
   name:=NewName;
end;

var An:PEmployee;

begin
  clrscr;
   new(an,sizeof(PEmployee));
   an.init('Novoe ');

  readln;
end.


Помогите разобраться в комментах написал где выдает ошибку не могу понять почему
Посмотреть профиль Отправить личное сообщение
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2009.06.08 22:25.16
Ответить с цитатой
а какую ошибку?

Димитрий писал(а):
procedure


изврат такой
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.06.08 22:29.32
Ответить с цитатой
массив так не передают, насколько я помню

что-то типа

type
massive = array of ...

var
newname: massive

procedure TEmployee.Init(newname)

как-то так, давно уже паскаль в глаза не видел
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2009.06.08 22:38.35
Ответить с цитатой
дык он с каким то французским акцентом Smile
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Димитрий
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 06.10.2007
Сообщения: 227


Статус: Offline
СообщениеДобавлено: 2009.06.08 22:49.33
Ответить с цитатой
Какой массив это объект определяется а у него процедура init для инициализации объекта и свойство name, поля просто размером в 12 символов. Ругается function doesnt't match any method og this class "TEmployee.Init(shortString)"
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.06.08 23:37.36
Ответить с цитатой
э, ну ладно, не массив

попробуй вместо Init другое название процедуры

*есть подозрение, что в фпц может так конструктор обзываться, а я фпц в глаза не видел, трубопаскаль успешно позабыл*
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2009.06.08 23:41.01
Ответить с цитатой
Димитрий писал(а):
procedure


а так правдо щаз пишут?

Добавлено спустя 1 минуту 15 секунд:

andy ice

ты чо на! не массив на! абъект на!

ООП в действии
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Димитрий
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 06.10.2007
Сообщения: 227


Статус: Offline
СообщениеДобавлено: 2009.06.09 01:03.54
Ответить с цитатой
Вообщем так дожно выглядеть:
program Arsak;

uses crt;

type

TEmployee=object
name:string;
procedure Init(newname:string);
function getname:string;
end;

procedure TEmployee.Init(NewName:string);
begin
   name:=NewName;
end;

function Temployee.getname:string;
begin
   getname:=name;
end;

var An:TEmployee;

begin
  clrscr;
  an.init('Novoe ');
  writeln(an.getname);
  readln;
end.


Добавлено спустя 7 минут 24 секунды:

Leon
чем тебе procedure не нравиться?
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.06.09 06:24.12
Ответить с цитатой
ну это статическое использование. объект не создан, потомучто.
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2009.06.09 10:10.19
Ответить с цитатой
объект не создал
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Fakir
Шадринский лавочник™


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 12665
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2009.06.09 20:12.51
Ответить с цитатой
Димитрий писал(а):
чем тебе procedure не нравиться?

Просто Леон последние лет несколько пишет

Процедура Выполнить()
...
...
КонецПроцедуры
Посмотреть профиль Отправить личное сообщение ICQ Number
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2009.06.09 22:18.44
Ответить с цитатой
Fakir



Procedure

тоже пишу. Просто не обращал внимания - смешное слово Smile
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> free pascal

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы