Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Uses Crt;

End.

Readln; Close(F);

BlockRead(F, Rec, Sizeof(Rec), Result); Writeln(I);

BlockRead(F, I, Sizeof(I), Result);

Reset(F, 1);

Begin

END.

CLOSE(TOF);

CLOSE(FROMF);

BLOCKWRITE(TOF, BUF, NR, NWR);

BLOCKREAD(FROMF, BUF, SIZEOF(BUF), NR);

REPEAT

ASSIGN(TOF,NAME);

READLN(NAME);

ASSIGN(FROMF, NAME);

READLN(NAME);

BEGIN

WRITE(‘ИМЯ ВХОДНОГО ФАЙЛА ’);

WRITE(‘ИМЯ ВЫХОДНОГО ФАЙЛА ’);

RESET(FROMF, 1); {существующий файл}

REWRITE(TOF, 1);{новый файл}

UNTIL (NR = 0) OR (NWR <> NR);

В примере программы при открытии файла без типа в вызове процедуры RESET указана длина записи равная 1. В этом случае при копировании файла не будут записаны лишние символы в новый файл.

 

Пример 8. Допустим имеем такой файл: dЦHello! Здесь: d - ASCII 100, Ц - ASCII 150, Hello! - строка из 6-ти символов. Организовать чтение из файла с выводом на экран.

type R = record

A: Byte;

C: Array[1..6] of Char; end;

var F: File; I: Byte; Rec: R; Result: Word;

Assign(F, '1.txt'); { связываем файл с переменной}

{$I-}

{$I+}

if IOResult<>0 then Halt;

Writeln('Rec values: '); Writeln('A: ', Rec.A); Writeln('S: ', Rec.C);

В примере функция SIZEOF принимает в качестве параметра любую переменную и возвращает ее размер в байтах. Размер переменных стандартных типов (Integer, Byte....) можно найти в таблицах типов. Поэтому SIZEOF иногда очень выручает, упрощая работу. Дополнительный параметр процедуры RESULT указывает размер буфера, который используется для передачи данных. Буфер по умолчанию равен 128 байт. Если его явно не указывать, то Паскаль устанавливает это значение.

Пример 9. Сформировать данные для записи в файл.

type R = record

A: Integer;

B: Word; end;

var F: File;

Result: Word;

C: Char;

<== предыдущая лекция | следующая лекция ==>
Файлы без типа (нетипизированные файлы) | ClrScr;
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 318; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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