IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> массив файлов, где работает, а где нет?
сообщение
Сообщение #1


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


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

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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

Кстати, в технической документации на Паскаль вообще много непонятного. Например, здесь:
Файловые типы

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

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 - на свой страх и риск...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.10.2020 19:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name