Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ массив файлов

Автор: мисс_граффити 21.10.2006 20:15

В Делфи прекрасно создается и обрабатывается массив типизированных файлов.
TP7 делает все, что требуется.
В FAQ'е написано:

Цитата
<variable> : Array[<index>] OF <type>
Где
<variable> - правильный идентификатор.
Array, OF- зарезервированные слова.
<index> - индекс задающий размерность массива.
<type> - любой тип Паскаля, кроме файлового.

Откуда взялась инфа, что так нельзя? Или нельзя не потому, что не откомпилируется, а по другим причинам?
Или файловый тип - это что-то другое?

Автор: volvo 21.10.2006 21:05

Юля, где-то в доках на TP 6.0 была такая информация...

Кстати, в технической документации на Паскаль вообще много непонятного. Например, здесь:
http://zeus.sai.msu.ru:7000/programming/bp70_lr/lr4.shtml#25

написано:

Цитата
Файловый тип состоит из линейной последовательности компонентов, которые могут иметь любой тип за исключением файлового типа или структурного типа, содержащего компонент с файловым типом.
, несмотря на что вот такой код:

type
trec = record
i: integer;
f: file;
end;
filetype = file of trec;

var
arr: array[1 .. 10] of record
f: filetype;
end;

begin
end.

прекрасно компилируется. И может быть даже работает... Но вот результатам выполнения такого кода веры нет и быть не может, потому что сегодня он работает, а завтра не будет... Это то же самое, что использовать код
for i := 1 to 10 do begin
writeln(i);
inc(i);
end;
... На TP он работает (несмотря на явное предупреждение, что так делать нельзя), на более новых компиляторах - уже выдает ошибку... Использование в TP - на свой страх и риск...

Автор: мисс_граффити 21.10.2006 21:15

Просто мне в ходе многофазной сортировки понадобилось упорядочить "ленты" (file of integer), создала массив, сделала все... Работает.
Потом полезла в FAQ (по другому вопросу) и наткнулась...
Вот и возник вопрос - если компилируется, но нельзя - почему? То ли ведет к ошибкам, то ли считается дурным тоном...