КАТЕГОРИИ: Архитектура-(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; Просмотров: 226; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |