Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmir_na_Object_Pascal_lab_raboty_.doc
Скачиваний:
208
Добавлен:
11.03.2016
Размер:
14.48 Mб
Скачать

Лабораторная работа 8. Работа с файлами

Под файлом понимается именованнаяобласть внешней памяти компьютера.

Любой файл имеет три характерные особенности:

1. Файл имеет имя, что дает возможность программе работать одновременно с несколькими файлами;

2. Файл содержит компоненты одного типа;

3. Длина создаваемого файла не оговаривается при его объявлении и ограничивается только размером устройств внешней памяти.

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

Работать с файлами в Delphi можно как с помощью компонентов, которые имеют свойства и методы такой работы, так и напрямую с помощью процедур и функий Object Pascal`я.

8.1. Компоненты для работы с файлами в Delphi

Сначала рассмотрим компоненты Delphi, которые умеют работать с файлами. Они читают и сохраняют своё содержимое, строки типа String, в файл текстового формата. Это компоненты TStringList, TListBox, TComboBox и TMemo, расположенные на первой вкладке палитры компонентов. Содержимое этих компонентов очень легко записать в файл с помощью только одной команды, а также считать из файла тоже с помощью одной команды. Каждая строка компонентов TListBox и TComboBox является объектом Items[i], а TMemo - Lines[i], где i - номер строки, который отсчитывается от нуля. Добавление строк в компоненты выполняется методами Add и Insert: begin Memo1.Lines.Add('Первая строка'); ComboBox1.Items.Add('Первая строка'); ComboBox1.Items.Add('Вторая строка'); ListBox1.Items.Add('Первая строка'); ListBox1.Items.Add('Вторая строка'); end ; Метод Add добавляет новую строку в конец. Метод Insert имеет дополнительный параметр, указывающий, после какой строки разместить новую строку. Доступ к строкам осуществляется так: ComboBox1.Items[0] := 'Первая строка изменилась' ; ListBox1.Items[1] := 'Вторая строка изменилась' ;

У компонентов TComboBox и TMemo дополнительно есть свойство Text, где (как и у компонента Edit) находится вводимый текст: ComboBox1.Text := ' Вводимый текст ';

Memo1.Text := 'Новый текст'; На выделенную в данный момент строку компонента TComboBox указывает свойство ItemIndex типа Integer, т.е. это номер выделенной строки. Следовательно, получить саму выделенную строку компонента ComboBox можно следующей конструкцией: S:=ComboBox1.Items[ComboBox1.ItemIndex]; или, пользуясь оператором присоединения With ComboBox1 do S:=Items[ItemIndex];

Впрочем, чтобы стереть всё сразу, есть метод Clear во всех этих компонентах. Ну а теперь собственно о сохранении содержимого в файл. Для этого выполните команду ListBox1.Items.SaveToFile(' Имя_файла.txt ') ; Расширение можно поставить любое по желанию, не обязательно .txt, как и вообще без него обойтись. Но расширение .txt позволит легко открыть файл стандартным виндовским Блокнотом, что бывает очень удобно на этапе написания программы! Для загрузки из файла служит метод LoadFromFile: ListBox1.Items.LoadFromFile(' Имя_файла.txt ') ; Что делать, если в своей программе мы не работаем с компонентами Combobox, ListBox или Memo, а сохранять информацию нужно? Все очень просто - берём один из компонентов и делаем его невидимым, для этого в Инспекторе Объектов ставим в свойство Visible значение False. Функциональность его от этого не изменится, а дальше с ним работаем как обычно. В конце работы с файлами этот компонент можно удалить.

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