Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. Листинг 24.. Чтение из файла




End.

Var

Begin

Implementation

Var

Type

Uses

Interface

Листинг 24.. Чтение из файла

unit rd_;

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

TForm1 = class(TForm)

Button2: TButton;

Edit1: TEdit;

Memo1: TMemo;

Button1: TButton;

procedure Button2Click(Sender: TObject);

procedure ButtonlClick(Sender: TObject); private

{ Private declarations) public

{ Public declarations } end;

Form1: TForml;

{$R *.dfm}

// щелчок на кнопке Открыть

procedure TForm1.Button1Click(Sender: TObject);

var

f: TextFile; // файл fName: String[80]; // имя файла

buf: String[80]; // буфер для чтения из файла

fName:= Edit1.Text; AssignFile(f, fName); {$!-}

Reset(f); // открыть для чтения {$I+}

if IOResult <> 0 then begin

MessageDlgt'Ошибка доступа к файлу ' + fName,

mtError,[mbOk],0); exit; end;

// чтение из файла

while not EOF(f) do begin

readln(f, buf); // прочитать строку из файла

Memo1.Lines.Add(buf); // добавить строку в поле Memo1

end;

CloseFile(f); // закрыть файл

end;

// щелчок на кнопке Сохранить — запись в файл

procedure TForml.Button2Click(Sender: TObject);

f: TextFile; // файл

fName: String[80]; // имя файла

i: integer/; begin

fName:= Edit1.Text; AssignFile(f, fName);

Rewrite(f); // открыть для перезаписи

// запись в файл

for i:=0 to Memo1.Lines.Count do // строки нумеруются с нуля

writeln(f, Memo1.Lines[i]);

CloseFile(f); // закрыть файл

MessageDlg('Данные записаны в файл ',mtlnformation,[mbOk],0);

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).

Модуль имеет следующую структуру:

Структура подключаемого модуля
1. Unit <Имя модуля>;2. // Раздел интерфейса Interface 3. Uses <Список модулей>;4. Const <Список констант>;5. Туре <Описание типов>;6. Var <Объявление переменных>;7. <Заголовки процедур>;8. <Заголовки функций>;9. �10. // Раздел реализации 11. Implementation 12. Uses <Список модулей>;13. Const <Список констант>;14. Туре <Описание типов>;15. Var <Объявление переменных>;16. <Описание процедур>;17. <Описание функций>;18. �19. // Раздел инициализации 20. Initialization 21. <Инструкции>22. �23. // Раздел деинициализации 24. Finalization 25. <Инструкции>26. end.

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

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

В разделе инициализации располагаются инструкции, выполняемые в начале работы программы, которая подключает данный модуль. Разделы инициализации модулей выполняются в том порядке, в котором они перечислены в списке раздела uses программы. Раздел инициализации начинается словом Initialization и является необязательным.

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

Контрольні питання

1. Надайте характеристику поняттям системних модулів Delphi

2. Наведіть дії та застосування cистемних модулів Delphi


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 4: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ

ТЕМА 4.2: ДИНАМІЧНІ СТРУКТУРИ

Лекція №30 – Динамічні змінні та вказівники




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 323; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.