Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_DELPHI срсп.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
530.43 Кб
Скачать

ҚР ДЕНСАУЛЫҚ САҚТАУ МИНИСТРЛІГІ

С.Д.АСФЕНДИЯРОВ АТЫНДАҒЫ

ҚАЗАҚ ҰЛТТЫҚ МЕДИЦИНА УНИВЕРСИТЕТІ

МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РК

КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ ИМЕНИ С.Д.АСФЕНДИЯРОВА

Тема №27. Работа с файлами

Цель: Изучить способы работы с файлами в системе Delphi, общую технологию работы с файлами в Delphi, стандартные диалоговые окна Windows.

Задачи обучения: Формирование умений и навыков работы с файлами в системе Delphi, стандартными диалоговыми окнами Windows.

Организационная часть - 5 мин

Перекличка студентов и выяснение причин отсутствия студентов.

Количество формируемых компетенций: знания, практические навыки.

Основные вопросы темы: - 45 мин

  1. Способы работы с файлами в системе Delphi.

  2. Общая технология работы с файлами в Delphi.

  3. Стандартные диалоговые окна Windows.

  4. Панель Dialogs.

перерыв - 10 мин

Методы обучения и преподавания: деловые игры, ажурная пила.

Методы контроля формируемых на занятии компетенций:

  • тестирование проводится в компьютерной форме (студент должен ответить на «тест», содержа­щий в себе минимальные знания и навыки – основные определения, теоретические вопросы дан­ной темы);

  • решение ситуационных задач (занятии студент должен выполнить индивидуаль­ное задание: по получению определенных навыков, решению типовых задач);

Самостоятельная работа студентов - 50 мин

Освоение практических навыков: Решение типовых и ситуационных задач.

При работе с файлами в системе Delphi7 возможны два принципиально разных подхода. Первый состоит в использовании стандартных подпрограмм (они имелись еще в классической версии Паскаля тридцатилетней давности), позволяющих записывать содержимое переменных в файлы и считывать их обратно из файлов в переменные. К этим средствам добавились также библиотеки стандартных функций по работе с файлами, основанные на системных функциях Windows.

В связи с появлением версии Object Pascal и реализации понятия класса в языке появились средства объектной работы с данными. Это второй подход к работе с файлами в системе Delphi7. В свою очередь в рамках каждого из подходов применяются также существенно различающиеся приемы. Например, при классическом подходе в работе с файлами могут использоваться прямые обращения к функциям Windows или обращения к функциям BIOS.

Общая технология работы с файлами в Delphi7

Несмотря на все различия, независимо от используемого подхода технология работы с файлами в системе Delphi7 требует определенного порядка действий.

  1. Прежде всего файл должен быть открыт. Это означает, что операционная система «дает добро» на внесение изменений в данный файл (например, на запись данных) и следит, чтобы обращения других пользователей и программ к этому файлу (если компьютер подключен к сети) выполнялись корректно. Так, считывание данных из файла, в который другой пользователь в этот момент вносит изменения, невозможно. При открытии файла системе управления файлами обычно сообщается, в каком режиме файл будет открыт: планируется ли вносить изменения в его содержимое или же файл открывается только для считывания из него данных. В последнем случае к файлу, как правило, могут обращаться и другие пользователи. Обычно указывается также, какова внутренняя структура открываемого файла – это требуется, чтобы выполнить операции с ним максимально быстро. После того как файл успешно открыт, в программу возвращается его идентификатор – переменная, которая будет использоваться для идентификации этого файла во всех процедурах обработки.

  2. Начинается работа с файлом. Это может быть считывание из него данных, запись, поиск и другие операции.

  3. Файл закрывается. Это означает, что он снова доступен другим приложениям без ограничений. Кроме того, закрытие файла гарантирует, что все внесенные в него изменения не пропадут, потому что для повышения скорости работы результаты промежуточных действий обычно сохраняются в специальных буферах операционной системы.

Файлы

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

Объявление файла

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

Как и любая структура данных (переменная, массив) программы, файл должен быть объявлен в разделе описания переменных. При объявлении файла указывается тип элементов файла.

В общем виде объявление файла выглядит так: Имя:file of Тип Элементов;

Примеры:

abc: file of char; // файл символов

flag: file of real; // файл вещественных чисел

f: file of integer; // файл целых чисел

Файл, компонентами которого являются данные символьного типа, называется символьным, или текстовым. Описание текстового файла в общем виде выглядит так:

Имя:TextFile;

где:

  • имя - имя файловой переменной;

  • TextFile - обозначение типа, показывающее, что Имя — это файловая переменная, представляющая текстовый файл.

Назначение файла

Объявление файловой переменной задает только тип компонентов файла. Для того чтобы программа могла выводить данные в файл или считывать данные из файла, необходимо указать конкретный файл, т. е. связать файловую переменную с конкретным файлом (задать имя файла).

Имя файла задается вызовом процедуры AssignFile, связывающей файловую переменную с конкретным файлом.

Описание процедуры AssignFile выглядит следующим образом:

AssignFile(var f, ИмяФайла: string)

Имя файла задается согласно принятым в Windows правилам. Оно может быть полным, т. е. состоять не только непосредственно из имени файла, но и включать путь к файлу (имя диска, каталогов и подкаталогов).

Ниже приведены примеры вызова процедуры AssignFile:

AssignFile(f, 'a:\result.txt');

AssignFile(f, '\students\ivanov\korni.txt');

fname:=('otchet.txt'); AssignFile(f,fname);