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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2010, 17:59   #1
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
Вопрос параметры процедуры

Здраствуйте!
искал по форуму нужную мне тему.. но результаты не очень впечеляют.. я бы даже сказал плохие.. (( Решил создать сам тему...

Я хотел бы реши такую задачу на делфи( или паскале разница не очень большая).. Допустим у меня есть тип рекорд
напривмер вот такой:
Код:
//----------------------
type my_rec = record
   a:word;
   b:string[32];
end;
//----------------------
Далее я хочу создать типизированый файл типом которого будет то самый тип my_rec. Для этого я хочу создать процедуру для и записи в этот файл записей типа my_rec. Смысл моей задачи состоит в том чтобы в качестве параметра процедуры была файловая переменая типа my_rec.. то есть:
Код:
//----------------------
procedure make_file(f:file of my_rec; rec:my_rec);
begin
   write(f,rec);
end;
//----------------------
но делфи пишет что нельзя определять файловые переменые в качестве параметров функции ((
я сначала думал было выкрутиться новым типом:
Код:
//----------------------
type my_rec_file = file of my_rec;

procedure write_to_file(f:my_rec_file; rec:my_rec);
begin
   write(f,rec);
end;
//----------------------
что собственно не очень то изменило ситуацию..
но тогда возникает вопрос если процедуры assignfile; reset; rewrite; closefile; и т.д. поддериживают в качестве параметров файловые переменые... то почему я не могу создать такую процедуру?...

я хочу созадть процедуру независимую от каких либо переменных.. все должно быть исключительно локальным.. никаких ссылок на глобальные пременные
может кто знает решение этой задачи..буду очень благодарен..

Последний раз редактировалось Stilet; 16.08.2010 в 08:56.
lowercase вне форума Ответить с цитированием
Старый 15.08.2010, 18:02   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а можно точный текст ошибки?
возможно нужен var префикс к файловой переменке
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.08.2010, 18:10   #3
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

сори..да там в должна быть ссылочная переменная
Код:
procedure make_file(var f:file of my_rec; rec:my_rec);
begin
  write(f,rec);
end;
вот елки палки.. я сам напсал себе ответ... приношу свои извинения...
я понял в чем моя ошибка...

Код:
procedure make_file(var f:file of my_rec; rec:my_rec);
begin              // это есть неправильный вариант;
write(f,rec);
end;
вот так будет правильно...
Код:
type my_rec_file = file of my_rec;

procedure write_to_file(f:my_rec_file; rec:my_rec);
begin
write(f,rec);
end;
ну и плюс дописать var перед переменной f:my_rec_file....

Последний раз редактировалось Stilet; 16.08.2010 в 08:55.
lowercase вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управляющие структуры, процедуры Function и процедуры Sub Natalo4ka Помощь студентам 0 17.05.2010 22:00
Как передать в поток параметры? И как из потока параметры достать? Anekdot Общие вопросы Delphi 2 19.02.2010 22:40
Параметры программы Яр|/||< (^_^) Общие вопросы Delphi 2 22.06.2009 23:56
Параметры danielsteiner Общие вопросы C/C++ 1 12.04.2009 20:47
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54