Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gosy_shpory_FULL_provereno.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
24.96 Mб
Скачать
  1. Файловый ввод/вывод информации. Поиск файлов в каталогах. Создание текстового файла в проекте приложения. Диалоги сохранения и открытия файлов.

Для работы с файлами в рамках Объектного Паскаля предусмотрено два механизма. Встроенный языковой механизм предполагает работу с файлами с помощью переменных типа file. Такие переменные могут быть типизированы, что позволяет упростить работу с файлами содержащими одинаковые структуры данных, такие как записи. Частным случаем является работа с текстовым файлом, для которой предусмотрено сокращение в виде типа TextFile. В целом для работы с такими файлами используются те же процедуры и функции, что и для обычных файлов.

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

Другими классами для работы с файловой системой являются классы TSaveDialog и TOpenDialog, реализующие диалог сохранения и открытия файлов. Свойство Filter данных объектов позволяет установить допустимые расширения выбираемых файлов, свойство DefaultExt регламентирует расширение по-умолчанию, а свойство FilterIndex, указывает какое из перечисленных расширений используется как основное. С помощью свойства InitialDir возможно задать директорию в которой будет открыт диалог, а Title позволяет установить заголовок появляющегося окна. Вызов метода Execute вызывает появление диалогового окна. На время его работы выполнение основной программы прекращается. По завершении работы пользователя с диалогом Еxecute возвращает true, если была выбран файл или false в остальных случаях. Имя выбранного файла можно получить из свойства FileName. Для поиска файлов в каталогах используются функции FindFirst, FindNext, FindClose. Поиск инициируется вызовом метода FindFirst, которому передается маска для имени файла, его атрибуты и структура хранения результатов поиска. В случае, если метод возвращает 0, можно обработать результаты поиска записанные в структуру и перейти к следующему файлу с помощью вызова FindNext. Функция вернет значение отличное от нуля в случае, если следующий файл не найден. По окончании поиска следует вызвать функцию FindClose, для освобождения ресурсов занятых во время поиска. Структура содержащая информацию о результатах поиска включает в себя дату изменения файла(Time), его размер(Size), атрибуты(Attr), полное имя(Name) и системную информацию.

var

searchResult : TSearchRec;

begin

if FindFirst('Unit1.d*', faAnyFile, searchResult) = 0 then

begin

repeat

ShowMessage(Имя файла = '+searchResult.Name);

ShowMessage('Размер файла = '+IntToStr(searchResult.Size));

until FindNext(searchResult) <> 0;

// Должен освободить ресурсы, используемые этими успешными, поисками

FindClose(searchResult);

end;

end;

  1. Страница событий объекта в инспекторе объектов. Управление событиями. Код обработки события по умолчанию и других. Локализация обработчиков событий. Связывание события с уже существующим обработчиком. Связывание событий меню с кодом.

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

Организация ЭВМ и микропроцессорные системы (Ковалев В.В.)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]