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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2009, 13:53   #1
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию НЕТИПИЗИРОВАННЫЕ Файлы

Доброго времени суток!
Объясните, как правильно....использывать функцию
BLOCKREAD, BLOCKWRITE

есть ли еще кактие процедуры и функции, кроме:
RESET
REWRITE
SEEK
READ
WRITE
EOF
EOLN
GETFTIME
SETFTIME
ERASE
CLOSE
Doholyan вне форума Ответить с цитированием
Старый 01.08.2009, 14:15   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Объясните, как правильно....использывать функцию
Первый аргумент - файловая переменная.
Второй - буфер.
Третий - количество записей, которые нужно прочитать/передать
Четвертый (не обязательный) - реальное количество записей, которое было прочитано/передано.

Ну и что-то вроде примера:
Код:
uses crt;
var
f : file;
i,cnt : word;
str : array[1..10] of char;

begin
clrscr;

assign(f,'test.fl');
rewrite(f);

for i:=1 to 10 do
 str[i] := 'A';
blockwrite(f,str,10);
for i:=1 to 5 do
 str[i] := 'B';
blockwrite(f,str,5);
close(f);

reset(f);
repeat
blockread(f,str,10,cnt);
for i:=1 to cnt do
 write(str[i]);
until cnt<10;
close(f);

readln;
end.
Цитата:
есть ли еще кактие процедуры и функции, кроме:
SeekEof
SeekEoln
SetTextBuf
Append
Flush
и еще другие.. наверняка что-нибудь забыл упомянуть.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.08.2009, 15:26   #3
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Спасибо Sazary!!
вопросик....вот в переменную (arraySTR) присваеваеш две переменные "А"и "В"типа CHAR . Как различаються в будущем эти переменные? если они занеслись под одной переменной....
SetTextBuf- что это за процедура в краткости?
Взорании болгодарен!
Doholyan вне форума Ответить с цитированием
Старый 01.08.2009, 16:08   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Doholyan
вопросик....вот в переменную (arraySTR) присваеваеш две переменные "А"и "В"типа CHAR . Как различаються в будущем эти переменные? если они занеслись под одной переменной....
str - массив из 10 символов.
Сначала заполняю его буквами 'A':
Код:
for i:=1 to 10 do
 str[i] := 'A';
затем пишу это в файл:
Код:
blockwrite(f,str,10);
Потом заполняю его пятью буквами 'B':
Код:
for i:=1 to 5 do
 str[i] := 'B';
и тоже пишу в файл.
Далее файл закрываем и открываем на чтение.

в цикле читаем по 10 записей:
Код:
blockread(f,str,10,cnt);
в cnt записывается реальное количество прочитанных записей. То есть на первой итерации это будет 10 (10 букв 'A'), а на второй - 5 (5 букв 'B').

Цитата:
SetTextBuf- что это за процедура в краткости?
Устанавливает буфер ввода-вывода для текстового файла.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.08.2009, 21:04   #5
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

примерно догнал....
вот только:
в файле так понимаю....это будет выглядить как единая строка??
И раздиления между ними будет (CNT)(колличество записей)....
Тоесть при создавание нетипированного файла нужно строго следить за количеством и расположению записей?
И, только по этим критериям можно оброщаться в файле к нужной информации?


извени за дотошность...но пока из "нутри" не пойму.....не могу успокоиться!!!


Громадное СПАСИБО!!!!!!
Doholyan вне форума Ответить с цитированием
Старый 01.08.2009, 22:50   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Doholyan, да. это просто НАБОР БАЙТ. (ещё часто говорят - бинарный файл). Т.е. что там за записи, в какой они идут последовательности - знает только тот, кто проектировал/программировал структуру этого файла. Сами по себе разделители там не появятся и количества байт/записей в файле тоже не будет, если Вы сами не запишете туда эту информацию.

Цитата:
И, только по этим критериям можно оброщаться в файле к нужной информации?
точно. Так Вы чего хотите добиться то?..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.08.2009, 23:26   #7
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
Радость

точно. Так Вы чего хотите добиться то?..[/QUOTE]

более глубокого понятия....в принцепи и все...
С текстФайлами разобрался....Типизированными тоже усвоид...а, про НЕТИПИЗИРОВАННЫЕ...в книги было что они есть....а описание не какого...вот и заинтересовало...че это за каша и с чем её едят!!!!



ВСЕМ ВСЕМ ВСЕМ огромное спасибо....что разьяснили!
Думаю что вопросов...не появиться по этой теме!
Doholyan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Типизированные/нетипизированные Файлы. dzhI Общие вопросы Delphi 7 11.02.2009 12:18
типизированные и нетипизированные файлы andrey4623 Общие вопросы Delphi 1 28.12.2007 19:09
ПОМОГИТЕ!! Типизированные и нетипизированные файлы. Zebo Помощь студентам 1 08.06.2007 09:35