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

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

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

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


Гость






Зачем существует деление файлов на тепизированные и нетипизированные, ведь по сути нетипизированные файлы болльшоц роли не игроют, а любоц файл можно открыть как типизированный (file of bite)????????????????????????? sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

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


открыть-то можно.... но у тебя каждая компонента будет типизированна - byte,
а еслиты используешь нетипизированные файлы, ты можешь считывать любые структуры (разные) из файла, причем структуры любой сложности,
всего одним оператором...
то есть соль в том, что имею нетипизированный файл можно туда записывать данные имеющие разную структуру!


Вот тебе пример.
модуль для чтения и вывода BMP
такую структуру :

type
TPaletteEntry = record {тип п литры}
B,G,R:Byte;
Flags:Byte;
end;
TBitmapFileHeader = record
bfType :word;
bfsize :longint;
bfReserved1 :word;
bfReserved2 :word;
bfOffBits :longint;
biSize :longint;
biWidth,BiHeight :longint;
BiPlanes :word;
bibitCount :word;
biCompression :longint;
biSizeImage :longint;
biXPelsPerMeter, biYPelsPerMeter :Longint;
biClrUsed, biCLrImportant :longint;
end;

TpPalArray =array[0..255, red..BLUE] of byte;
var
F :FILE; { BMP file }
bfh :TBitMapFileHeader; {з головок ф йл }
Pal : array[0..256] of TPaletteEntry;

мы считываем всего одним оперератром.
BlockRead(f,BFH,SizeOf(BFH));

а потом совсем другую структуру, тоже одним оператором
BLOCKREAD(f,Pal,Palsize*4);

(палитра).
А теперь подумай что было бы если бы мы файл как байтвый открыли? читай-кавсе это ....

Сообщение отредактировано: Oleg_Z -


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


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

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


Если все писать через file of bite, то с его помощью удобно будет прочесть файл с записями такого типа?
type
Trec = record
name:string[15];
age:integer;
stock:double;
percent:real;
ID :Qword;
end;


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

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


Мне кажется, что более удобно пречесть файл с записями такого типа будет в случае

Цитата
...
type
 Trec = record
   name:string[15];
   age:integer;
   stock:double;
   percent:real;
   ID :Qword;
 end;
...
var
     TipeFile = TRec;



Цитата
    ID :Qword;

Это какой - то пользоватеьский тип данных - ты его не описал (числовой?)
Хотя без разницы, удобства при считывании файла в которм пресутствуют данные такого типа
Цитата
    name:string[15];

с помошью file of byte врядли будет успешным :no:


Вот будь файл file of string или просто Text, то считал бы всё без проблем, но как строку :yes:

Сообщение отредактировано: VBproffi -


--------------------
Чтоб мудро жизнь прожить
Знать надобно не мало,
Ты лучше голодай,
Чем что попало есть
И лучше будь один,
Чем вместе с кем попало

О.Хаям
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






VBproffi, читаем ответы внимательно !!!

Цитата(VBproffi @ 22.06.05 18:36)
с помошью file of byte врядли будет успешным :no:
Если это реакция на:
Цитата(hiv @ 22.06.05 13:07)
то с его помощью удобно будет прочесть файл с записями такого типа?
, то как видно выделенный мной символ остался незамеченным Вами... Это не было утверждением, это был вопрос...

Кстати, информация к размышлению:
Цитата(VBproffi @ 22.06.05 18:36)
при считывании файла в которм пресутствуют данные такого типа
name:string[15];
с помошью file of byte врядли будет успешным :no:

Правда? Тогда я подтверждаю, что с помощью File Of Byte можно совершенно спокойно прочесть и строку, и структуру, содержащую строку тоже. Есть возражения? С удовольствием выслушаю... ;)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

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


Возражений - нет
Есть вопрос
Исходник бы, я честно был уверен в правоте sad.gif :D


--------------------
Чтоб мудро жизнь прожить
Знать надобно не мало,
Ты лучше голодай,
Чем что попало есть
И лучше будь один,
Чем вместе с кем попало

О.Хаям
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата(VBproffi @ 23.06.05 5:08)
Исходник бы, я честно был уверен в правоте

Исходник, говоришь? Ну, посмотри, как данные записываются, и как читаются. И попробуй найти отличия в прочитанном...


Прикрепленные файлы
Прикрепленный файл  FILES.PAS ( 978 байт ) Кол-во скачиваний: 286
 К началу страницы 
+ Ответить 

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

 





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