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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2008, 18:01   #1
MyQwErTy
Пользователь
 
Аватар для MyQwErTy
 
Регистрация: 16.10.2008
Сообщений: 73
По умолчанию типизированные файлы

Код:
var 
tipiz: file of string[255];
begin
assign(tipiz,'C:\Pascal\tipiz.dat');
   {$I-}
   rewrite(tipiz);
   {$I+}
   If  Ioresult <> 0
     Then Writeln('no place')
     Else
     writeln(tipiz,'...');
  close(tipiz);
можете найти где ошибка??
Illegal type in write/writeln statement
MyQwErTy вне форума Ответить с цитированием
Старый 11.11.2008, 18:22   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

замените tipiz: file of string[255];
на tipiz: text;
функция writeln только для текстовых файлов, для типизированных write
_Dmitry вне форума Ответить с цитированием
Старый 11.11.2008, 18:26   #3
MyQwErTy
Пользователь
 
Аватар для MyQwErTy
 
Регистрация: 16.10.2008
Сообщений: 73
По умолчанию

Цитата:
замените tipiz: file of string[255];
на tipiz: text;
после этого надеюсь он останется типизированным??

Последний раз редактировалось MyQwErTy; 11.11.2008 в 18:34.
MyQwErTy вне форума Ответить с цитированием
Старый 11.11.2008, 18:34   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Цитата:
после этого надеюсь он останется типизированнм??
Нет, от будет текстовым.
Если всё же нужен типизированный, то пишите в него так
Код:
var 
  tipiz: file of string;
  s: string;
begin
  assign(tipiz,'C:\Pascal\tipiz.dat');
   {$I-}
   rewrite(tipiz);
   {$I+}
   If  Ioresult <> 0
     Then Writeln('no place')
     Else
     begin
       s:='...';
       write(tipiz,s);
     end;
  close(tipiz);
_Dmitry вне форума Ответить с цитированием
Старый 11.11.2008, 18:36   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Проще writeln на write заменить.
puporev вне форума Ответить с цитированием
Старый 11.11.2008, 19:09   #6
MyQwErTy
Пользователь
 
Аватар для MyQwErTy
 
Регистрация: 16.10.2008
Сообщений: 73
По умолчанию

Цитата:
Проще writeln на write заменить.
уже пробовал, тоже самое получается
ещё проблемка:
на строке
Код:
write(tipiz,s);
выводится ошибка: I/O error 103
MyQwErTy вне форума Ответить с цитированием
Старый 11.11.2008, 19:32   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Так, ищем ошибки.
1.Если хочешь обязательно string[255], то сначала опиши этот тип, поскольку он пользовательский.
type str=string[255];
объявляешь переменные этого типа
var tipiz:file of str;
s:str;
в программе s:='.......';
write(tipiz,s);
проверял, работает.
puporev вне форума Ответить с цитированием
Старый 11.11.2008, 20:54   #8
MyQwErTy
Пользователь
 
Аватар для MyQwErTy
 
Регистрация: 16.10.2008
Сообщений: 73
По умолчанию

всё работает, спасибо
MyQwErTy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированные файлы Xeon332 Помощь студентам 8 27.02.2009 20:15
Типизированные файлы.Паскаль.help! ромка) Паскаль, Turbo Pascal, PascalABC.NET 1 17.05.2008 07:59
типизированные и нетипизированные файлы andrey4623 Общие вопросы Delphi 1 28.12.2007 19:09
Типизированные файлы в C++ Builder Amateur Помощь студентам 3 12.11.2007 20:42