Листинг 24.. Чтение из файла
unitrd_;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
Type
TForm1 = class(TForm)
Button2: TButton;
Edit1: TEdit;
Memo1: TMemo;
Button1: TButton;
procedureButton2Click(Sender: TObject);
procedureButtonlClick(Sender: TObject); private
{ Private declarations ) public
{ Public declarations } end;
Var
Form1: TForml;
Implementation
{$R *.dfm}
// щелчок на кнопке Открыть
procedureTForm1.Button1Click(Sender: TObject);
var
f: TextFile; // файл fName: String[80]; // имя файла
buf: String[80]; // буфер для чтения из файла
Begin
fName := Edit1.Text; AssignFile(f, fName); {$!-}
Reset(f); // открыть для чтения {$I+}
if IOResult <>0 then begin
MessageDlgt'Ошибка доступа к файлу ' + fName,
mtError,[mbOk],0); exit; end;
// чтение из файла
while notEOF(f) do begin
readln(f, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
End;
CloseFile(f); // закрыть файл
End;
// щелчок на кнопке Сохранить — запись в файл
procedureTForml.Button2Click(Sender: TObject);
Var
f: TextFile; // файл
fName: String[80]; // имя файла
i: integer/; begin
fName := Edit1.Text; AssignFile(f, fName);
Rewrite(f); // открыть для перезаписи
// запись в файл
for i:=0 toMemo1.Lines.Count do // строки нумеруются с нуля
writeln(f, Memo1.Lines[i]);
CloseFile(f); // закрыть файл
MessageDlg('Данные записаны в файл ',mtlnformation,[mbOk],0);
End;
End.
Для организации обработки файла использована инструкция цикла while, которая обеспечивает проверку значения функции EOF перед каждым чтением, в том числе и перед первым.
Наличие кнопки Сохранитьи соответствующей ей процедуры позволяет сохранить содержимое поля Memo в файле, т. е. программа чтение из файла представляет собой примитивный редактор текста.
Добавление очередной прочитанной из файла строки в поле Memo выполняется применением метода Add к свойству Lines.
Контрольні питання
1. Навести характеристику поняття файли
2. Оголосити процедуру об’яви файлів
3. Розповісти про призначення файлів
4. Розповісти про вивід у файл
5. Окреслити процедуру відкриття файлу для віводу
6. Розповісти про помилки відкриття файлу
7. Охарактеризувати процедуру закриття файлу
САМОСТІЙНА РОБОТА СТУДЕНТА
ЗМІСТОВИЙ МОДУЛЬ 4: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ
ТЕМА 4.1: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ
Самостійне заняття №22 –Засоби системних модулів
План заняття
1. Поняття та характеристики системних модулів Delphi
2. Принципи дії та характеристика cистемних модулів Delphi
Кроме программ, структуру которых мы только что рассмотрели, средства языка позволяют создавать модули. В отличие от программы, модуль не может быть автономно запущен на выполнение и содержит элементы, например, переменные и подпрограммы, которые допускается использовать в программе или в других модулях. Для того чтобы можно было использовать средства модуля, его необходимо подключить, указав имя этого модуля в разделеuses. Типичными примерами модулей являются System и SysUtils, содержащие большое количество стандартных подпрограмм. Напомним, что для каждой формы приложения создается отдельный модуль.
Компилятор распознает модуль по его заголовку и создает в результате своей работы не исполняемый файл (ехе), как это было для приложения, а файл модуля с расширением dcu.
Модуль состоит из заголовка, в котором после ключевого слова unit указывается имя модуля, и четырех разделов: интерфейса (interface), реализации (implementation), инициализации (initialization) И деинициализации (Finalization).
Модуль имеет следующую структуру:
Структура подключаемого модуля |
В разделе интерфейса размещаются описания идентификаторов, которые должны быть доступны всем модулям и программам, использующим этот модуль и содержащим его имя в списке uses. В разделе интерфейса объявляются типы, константы, переменные и подпрограммы. При этом для подпрограмм указываются только их заголовки. Другие используемые модули указываются в списке uses. Раздел интерфейса начинается ключевым словом Interface.
В разделе реализации располагается код подпрограмм, заголовки которых были приведены в разделе интерфейса. Порядок следования подпрограмм может не совпадать с порядком расположения их заголовков, приводимых в разделе интерфейса. Кроме того, допускается оставлять в заголовке только имя подпрограммы, т. К. список параметров и тип результата функции уже были предварительно указаны. В разделе реализации можно также описывать типы, объявлять константы и переменные и описывать подпрограммы, которые используются только в этом модуле и за его пределами не видны. Раздел интерфейса начинается словомImplementation.
В разделе инициализации располагаются инструкции, выполняемые в начале работы программы, которая подключает данный модуль. Разделы инициализации модулей выполняются в том порядке, в котором они перечислены в списке раздела uses программы. Раздел инициализации начинается словом Initialization и является необязательным.
При наличии раздела инициализации в модуле можно использовать раздел деинициализации, который начинается словом Finalization и является необязательным. В этом разделе располагаются инструкции, выполняемые при завершении программы. Разделы деинициализации модулей выполняются в порядке, обратном порядку их перечисления в списке uses программы.
Контрольні питання
1. Надайте характеристику поняттям системних модулів Delphi
2. Наведіть дії та застосування cистемних модулів Delphi
АУДИТОРНЕ ЗАНЯТТЯ
ЗМІСТОВИЙ МОДУЛЬ 4: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ
ТЕМА 4.2: ДИНАМІЧНІ СТРУКТУРИ
Лекція №30 –Динамічні змінні та вказівники
План заняття
1. Характеристика поняття динамічних змінних та вказівників
2. Поняття динамічної змінної
Дата добавления: 2014-12-01; просмотров: 888;