
- •Введение
- •Начальные сведения о программах на языке Pascal
- •Структура Pascal-программы
- •Внешний вид исходного текста программы
- •Простейшие операторы
- •Ввод и вывод: консоль
- •Типы данных и операции
- •Операции и выражения
- •Приведение типов данных
- •Операции
- •Составной оператор
- •Инструкции выбора
- •Процедуры и функции
- •Множества
- •Сортировки массивов
- •Улучшенные сортировки
- •Рекурсия
- •Модуль GraphAbc
- •Указатели в Паскале
- •Динамически распределяемая память
- •Динамические структуры данных
- •Списочные структуры
- •Текстовые файлы
- •Бинарные файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Элементы комбинаторики
- •Матрица смежности.
- •2. Массив ребер.
- •3. Списки инцидентности.
- •4. Списки смежности.
- •Части графа.
- •Методы обхода графа.
- •Поиск в глубину.
- •Поиск в ширину.
- •Поиск кратчайших путей.(Алгоритм Дейкстры).
- •Основы ооп
- •Классы объектов
- •Принципы ооп
- •Создание и уничтожение объектов
- •Полиморфизм и наследование в Delphi
- •Наследование
- •Полиморфизм
- •Статическое замещение методов.
- •2) Перегрузка
- •Интегрированная среда разработки Delphi 7
- •Стандартные компоненты Delphi
- •Дополнительные компоненты
- •Другие дополнительные компоненты
- •Компоненты 32-разрядного интерфейса
- •Коллекция картинок
- •2 Индикатор выполнения
- •3 Ползунок
- •Реверсивный счетчик UpDown
- •Редактор горячих клавиш
- •Компоненты для работы с датами
- •Строка состояния
- •8 Панель инструментов
- •9 Элементы с вкладками
- •10 Компонент RichEdit
- •Компоненты вкладки Dialogs Страница Dialogs
- •Диалог выбора шрифта — компонент FontDialog
- •Диалог выбора цвета — компонент ColorDialog
- •Диалоги печати и установки принтера — компоненты PrintDialog и PrinterSetupDialog
- •Диалоги поиска и замены текста — компоненты FindDialog и ReplaceDialog
- •Страница Samples
- •Графические возможности Delphi 7
- •Формирование изображений программным способом
- •Мультимедиа-возможности Delphi
- •Компонент Animate
- •Компонент MediaPlayer
- •Воспроизведение звука
- •Просмотр видеороликов и анимации
- •Компоненты доступа к базам данных. Компоненты представленя данных.
Нетипизированные файлы
Главное преимущество нетипизированных файлов - это высокая скорость их обработки. Открыть как нетипизированный можно и файл любой другой природы: текстовый или бинарный типизированный. В основном это применяется в тех случаях, когда нужно перекопировать довольно большой кусок одного файла в другой без изменений.
Описание нетипизированных файлов
В разделе var файловые переменные, предназначенные для работы с нетипизированными файлами, описываются следующим образом: var g: file;
Никакая файловая переменная не может быть задана константой.
Открытие и закрытие нетипизированного файла
В зависимости от того, какие действия ваша программа собирается производить с открываемым файлом, возможно двоякое его открытие:
reset(f[,size]); - открытие файла для считывания из него информации и одновременно для записи в него (если такого файла не существует, попытка открытия вызовет ошибку). Эта же команда служит для возвращения указателя на начало файла;
rewrite(f[,size]); - открытие файла для записи в него информации; если такого файла не существует, он будет создан; если файл с таким именем уже есть, вся содержавшаяся в нем ранее информация исчезнет. Необязательная переменная size может задать количество байтов, единовременно считываемых из нетипизированного файла или записываемых в него. По умолчанию размер таких "кусков" принимается равным 128 байт. Закрываются нетипизированные файлы процедурой close(f), общей для всех типов файлов.
Поиск в нетипизированном файле
Все подпрограммы, описанные в разделе "Поиск в типизированном файле", будут работать и для нетипизированного файла. Но, поскольку тип элементов нетипизированного файла не определен, то размер одного "элемента" принимается равным 128 байт (по умолчанию) или указанному в переменной size во время открытия файла.
Запись и чтение
Для осуществления записи в нетипизированный файл и считывания из него применяются две специальные процедуры blockread() и blockwrite().
Процедура blockread(f:file; buf,count:word [;result:word]) предназначена для считывания из файла f нескольких элементов разом (их количество указывается в переменной count, а длина устанавливается во время открытия файла) при помощи буфера обмена данными buf. Необязательная переменная result может хранить количество элементов, фактически считанных из файла.
Процедура blockwrite(f:file; buf,count:word [;result:word]) производит запись данных в нетипизированный файл при помощи буфера buf.
|
Текстовые |
Типизированные |
Нетипизированные |
append |
+ |
|
|
assign |
+ |
+ |
+ |
blockread |
|
|
+ |
blockwrite |
|
|
+ |
close |
+ |
+ |
+ |
eof |
+ |
+ |
+ |
eoln |
+ |
|
|
filepos |
|
+ |
+ |
filesize |
|
+ |
+ |
read |
+ |
+ |
|
readln |
+ |
|
|
reset |
+ |
+ |
+ |
rewrite |
+ |
+ |
+ |
seek |
|
+ |
+ |
seekeof |
+ |
|
|
seekeoln |
+ |
|
|
truncate |
|
+ |
+ |
write |
+ |
+ |
|
writeln |
+ |
|
|