русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Прямой доступ к нетекстовым файлам ТР


Дата добавления: 2015-06-12; просмотров: 473; Нарушение авторских прав


 

Прямой доступ позволяет обращаться к записям файла по номерам. Нумерация записей начинается с нуля.

Следующие подпрограммы позволяют организовывать прямой доступ к записям типизованных и нетипизованных файлов. Всюду ниже f - файловая переменная.

1. Функция FilePos(var f):longint возвращает номер позиции указателя файла. После открытия файла эта функция возвращает 0.

2. Функция FileSize(var f):longint возвращает количество записей файла.

3. Процедура Seek(var f;n:longint) перемещает указатель файла f в позицию с номером n. Обращение Seek(f; FileSize(f)) установит указатель в конец файла.

4. Процедура Truncate(f) усекает файл по текущей позиции указателя. Для удаления последней записи файла выполним последовательность операторов Seek(f;FileSize(f) -1); Truncate(f).

 

В ТР существует предопределенная переменная FileMode, которая определяет режим для открываемых файлов. По умолчанию FileMode=2, что соответствует режиму чтения и записи, FileMode=1 - только запись, FileMode=0 - только чтение.

Процедуры Reset и Rewrite открывают существующие файлы в соответствии с установленными режимом. Вновь создаваемый файл процедурой Rewrite открывается в режиме чтения и записи независимо от значения переменной FileMode.

Пример 4. Программа удаления четных чисел из файла целых чисел. Вспомогательный файл не используется. Порядок следования чисел не меняется.

Program del_even;

Var f:file of integer;

i,j:longint; {i - указатель для чтения, j - указатель для записи}

n:integer;

f_name:string[40];

Begin

write('Введите имя файла '); readln(f_name);

Assign(f,f_name); Reset(f);

i:=0; j:=0;

while not Eof(f) do

begin read(f,n); i:=i+1;

if odd(n) then

begin Seek(f,j);

j:=j+1;

write(f,n) {Записываем нечетное.}

end;

Seek(f,i)

end;

Seek(f,j);



Truncate(f);

Close(f)

end.

26. ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ

 

Переменные, структура и тип которых определяются в разделе описаний блока (программы или подпрограммы), существуют и не изменяют своей структуры в течение всего времени работы блока. Такие переменные и связанные с ними структуры называются статическими.

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

Например, при решении задачи требуется сохранить в оперативной памяти слова вводимого текста, удовлетворяющие некоторому условию. Таких слов может не оказаться вовсе или это будут все слова текста. При использовании статических структур придется зарезервировать объем памяти для хранения структуры максимального размера. При этом память используется нерационально.

 



<== предыдущая лекция | следующая лекция ==>
Нетипизованные файлы | Ссылочный тип данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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