Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Бинарные файлы. Assignfile(f,’text.txt’);

Способы считывания

Var f:text; n:integer;

Begin

Assignfile(f,’text.txt’);

Rewrite(f);

Writeln(f,’ 11 22 33 44 ‘);

Writeln(f,’ 55 66 77 88 ‘);

Close(f);

Способы:

1) способ

Reset(f);

While not eof(f) do begin

Read(f,n); write(n:4);

End;

2) Способ

While not seekEOF(f) do begin

Read(f,n); write(n:4);

End;

Writeln;

Close(f);

3) Способ

Reset(f);

While not eoln(f) do begin

Read(f,n); write(n:4);

End;

Writeln;

Closefile(f);

4)

Reset(f);

While not seekeoln(f) do begin

Read(f,n); write(n:4);

Writeln;

Closefile;

5) Способ

Reset(f);

While not eof do begin

While not eoln(f) do begin

Read(f,n); write(n:4);

End;

End;

Closefile(f);

6) Способ

Reset(f);

While not seekeof do begin

While not seekeoln(f) do begin

Read(f,n); write(n:4);

End;

Writeln;

End;

Closefile(f);

 

Пример: какой то там пример я нифига не запсиал ибо у меян шаблоны сбились.

 

 

Компонента занимает от 1 до 64 кбайт.

Процедуры и функции:

1) Procedure reset (var f:file [;n:word]);{Открывает бинарный файл для чтения по n байт}

2) Rewrite (var f:file [;N:word]);

3) Filesize(var f):longint {Разме файла в компанентах} {по умолчанию считается порция 128 байт}

4) Blockread (var f:file; var buf; cont:word; [var rez:word]) {Эта процедура считывает из файла F в буфер buf кол-во КОМПОНЕНТ count. параметр rez позволяет контролировать сколько компонент ьыло прочитано}

5) Blockwrite (var f:file; var buf; count:word; [var rez:word]);

Buf>=N*count (N- Размер компоненты)

 

Var i:integer; qaz:record;

G:integer;

M:string;

End;

F:file’

begin;

assignfile(f,’a.txt’);

rewrite(f);

for i:=1 to 10 do begin

readln(qaz.g);

readln(qaz.m);

blockwrite(f,qaz,1);

End;

Closefile(f);

End.

Program copyfile;

Var formF, ToF:file;

numRead,numwritten:word;

buf:array[1..512] of byte;

srt1,str2:string;

begin

assignfile(fromF,str1);

{sI-}

Reset(formf,1);

{$I+}

If ioresult<>0 then begin

Writeln(‘Файл-источник не найден’);

Halt;

End;

Assignfile(tof,str2);

Rewrite(tof,1);

Writeln(‘Копиуем’,filesize(formf),’байт ‘);

Repeat

Blockread(fromF,buf,size(buf),numread);

Blockwrite(tof,buf,numread,numwriteln);

Unti (numread=0) or(numwriteln<>numread);

Closefile(fromF);

Closefile(tof);

End.

Для чего нужны бинарные файлы:

1) Работа с файлами для которой не важна природа данных хранящихся в файлах

2) Запись в файл только необходимой информации. Только те данные что информативны для нас. Эффективное храненнние данных

 

Var f:file; n:integer;

t:Boolean;

nomer:byte;

rec:record

group:integer;

memo:string:

end;

begin

nomer:=1;

assignfile(f,’b.txt’);

reset(f);

while not eof(f) do begin

t:=(nomer mod 2)=0

blockread(f,rec,1);

if t then begin

writeln(rec.group);

writeln(rec.memo);

end;

inc(nomer);

end;

closefile(f);

end.

Type TRec= record

Group:integer;

Name:string[30];

End;

Var f,f1:file;

Procedure writenew;

Var a:trec;

Len:byte;

Begin

Write (‘Номер’); readln(a.group);

Write(‘Имя’); readln(a.name);

Len:=length(a.name);

Reset(f,1);

Seek(f,filesize(f));

Blockwrite(f,a.group,4);

Blockwrite(f,len,1);

Blockwrite(f,a.name,len);

Close(f);

Var

Group:integer;

Meno:string;

I:byte;

F,f2:file;

Bb:Boolean;

Procedure writeff;

Begin

Reset(f,1);

Seek(f,filesize(f));

Readln(group); readln(memo);

Blockwrite (f,group,2);

Blockwrite(f,memo[o],1);

For i:=1 to length(memo) do

Blockwrite(f,memo[i],1);

End;

Procedure readff;

Begin

Reset(f,1);

Reset(f2,1);

Repeat

Blockread(f,group,2);

Blockread(f,memo[0],1);

Blockread(f,memo,ord(memo[0]));

Bb:=false;

For i:=1 to length(memo) do

If memo[i] in [‘0’..’9’]); then bb:=true;

If not bb then blockwrite(f2,memo,length(memo)+1);

Until eof(f);

End;

<== предыдущая лекция | следующая лекция ==>
 | Процедуры работы с кучей
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 200; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.