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;
procedure Button2Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations )
public
{ Public declarations }
end;
var
Form1: TForml;
Implementation
{$R *.dfm}
// щелчок на кнопке Открыть
procedure TForm1.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 not EOF(f) do begin
readln(f, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
end;
CloseFile(f); // закрыть файл
end;
// щелчок на кнопке Сохранить — запись в файл
procedure TForml.Button2Click(Sender: TObject);
var
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('Данные записаны в файл ',mtInformation,[mbOk],0);
end;
end.
Для организации обработки файла использована инструкция цикла while, которая обеспечивает проверку значения функции EOF перед каждым чтением, в том числе и перед первым.
Наличие кнопки Сохранить и соответствующей ей процедуры позволяет сохранить содержимое поля Memo в файле, т. е. программа чтение из файла представляет собой примитивный редактор текста.
Добавление очередной прочитанной из файла строки в поле Memo выполняется применением метода Add к свойству Lines.
Стандартные диалоговые окна Windows
Панель Диалоги (Dialogs)
Н
а
панели Диалоги (Dialogs)
расположен ряд невизуальных компонентов,
позволяющих использовать в программе
стандартны диалоговые окна Windows,
например окна выбора и сохранения файлов
или изображений, окна выбора цвета и
шрифта, окно настройки принтера и другие.
Внимание! |
Эти компоненты не предназначены для выполнения конкретных действий: загрузки файла, печати, изменения текущего шрифта и прочих. Они применяются только для получения от пользователя желаемых значений настроек, например ввода полного имени файла вместе с путем поиска, указания гарнитуры шрифта, задания числа печатаемых страниц. |
Все эти компоненты являются наследниками класса TCommonDialog. Самый важный его метод – это функция
function Execute: Boolean;
Она выполняет открытие соответствующего окна и возвращает значение True, если пользователь щелкнул на кнопке ОК. Реальные поля ввода и заголовки определяются в конкретных компонентах. Когда диалоговое окно открывается в первый раз, возникает событие OnShow, а при закрытии окна - событие OnClose.
К
омпонент
Окно выбора файла (TOpenDialog)
Компонент предназначен для выбора файла с целью последующего открытия. Свойства и события класса TOpenDialog приведены в таблице 27.2 и 27.3.
Таблица 27.2. Свойства класса TOpenDialog
Свойство |
Назначение |
DefaultExt |
Расширение имени, используемое по умолчанию. Добавляется в конец выбранного пользователем имени файла, если расширение не указано явно |
FileName |
Выбранное пользователем имя файла с полным путем поиска |
Files |
Список выбранных имен файлов. В свойстве Options должен быть включен флажок ofAllowMultiSelect |
Filter |
Набор масок, в соответствии с которыми отбираются имена файлов для отображения в диалоговом окне. Каждая маска состоит из двух частей: названия и шаблона, - разделенных символом │. Одному названию могут соответствовать несколько шаблонов. Маски отделяются друг от друга символом │ |
FilterIndex |
Номер текущей записи. Нумерация начинается с 1 |
HistoryList |
Список ранее выбранных файлов (тип TString) |
InitialDir |
Текущий каталог, содержимое которого отображается при первом открытии диалогового окна |
Options |
Набор флажков, определяющих работу окна выбора файлов |
Title |
Заголовок диалогового окна |
Среди методов этого класса следует отметить функцию
function GetStaticRect: Trect;
Оно возвращает координаты прямоугольной области диалогового окна (часть клиентской области), зарезервированной для нужд разработчика (например, для отображения содержимого текущего выбранного файла).
Таблица 27.3. События класса TOpenDialog
Событие |
Условие генерации |
OnCanClose |
Пользователь пытается закрыть диалоговое окно. Обработчик этого события позволяет проконтролировать правильность выбранного или введенного в соответствующее поле окна имени файла и разрешить или запретит закрытие |
OnFolderChange |
Пользователь переключился в другой каталог |
OnIncludeItem |
К текущему списку файлов в диалоговом окне будет добавлено новое имя. Обработчик данного события дает возможность отбирать допустимые имена по алгоритму, определенному программистом |
OnSelectionChange |
Пользователь выбрал новое имя файла в диалоговом окне |
OnTypeChange |
Пользователь выбрал новую маску файлов (свойство Filter) |
К
омпонент
Окно сохранения файла
(TSaveDialog)
Этот компонент практически ничем не отличается от компонента TOpenDialog за исключением некоторых настроек, специфичных для процесса сохранения файла.
Компоненты Окно открытия рисунка (TOpenPictureDialog) и Окно сохранения рисунка (TSavePictureDialog)
Э
ти
компоненты являются, соответственно,
наследниками класса TOpenDialog
и класса TSaveDialog.
Диалоговые окна содержат дополнительную
область для быстрого просмотра содержимого
выбранного графического файла.
Компонент Окно выбора шрифта (TFontDialog)
К
омпонент
предназначен для вызова стандартного
диалогового окна выбора шрифта, доступного
в системе. В соответствии с полями этого
окна компонент имеет набор свойств,
которые приведены в таблице 27.4.
Таблица 27.4. Свойства класса TFontDialog
Свойство |
Назначение |
Device |
Устройство, для которого отображается список дотупных шрифтов. Возможные значения – fdScreen (экран), fdPrinter (принтер), fdBoth (как экран, так и принтер) |
Font |
Выбранный пользователем шрифт (тип TFont) |
MaxFontSize |
Максимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов |
MinFontSize |
Минимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов |
Options |
Дополнительные характеристики внешнего вида диалогового окна |
К
Рисунок 27.7.
Стандартное диалоговое окна выбора
цвета в операционной системе Windows
С
помощью данного компонента вызывается
стандартное диалоговое окно выбора
цвета (рис.27.7).
Свойство Color (тип Color) содержит выбранный пользователем цвет, а свойство CustomColor (тип TString) хранит в текстовом формате описание дополнительных пользовательских цветов. Цвет в этом формате задается шестью символами, определяющими в шестнадцатеричном виде значение цвета в соответствии с требованием цветовой системы RGB. Каждый байт задается двумя символами, например FFFFFF или 08EE08. Имеется также свойство Options, присутствующее у всех подобных компонентов и позволяющее выполнять тонкие специфические настройки работы окна.
К
омпоненты
Печать, Настройка принтера и Настройка
параметров страницы печати (TPrintDialog,
TPrinterSetupDialog,
TPageSetupDialog)
Компонент TPrinterSetupDialog, предназначен для настройки параметров работы принтера, не имеет оригинальных свойств, потому что эти настройки существенно различаются для разных видов принтеров. На основании этого компонента можно создавать свои собственные компоненты для конкретных принтеров.
Компонент TPrintDialog отображает стандартное окно печати Windows. В нем можно задать различные параметры печати, которые определяются следующими свойствами (табл.27.5).
Таблица 27.5. Свойства класса TPageSetupDialog
Свойство |
Назначение |
Collate |
Флажок Разобрать по копиям |
Copies |
Число копий |
FromPage |
Номер страницы, с которой начнется печать |
MaxPage |
Максимальное число страниц, которое может быть напечатано |
MinPage |
Минимальное число страниц, которое может быть напечатано |
Options |
Дополнительные параметры настройки |
PrintRange |
Вид диапазона печатаемых страниц документа. Возможные значения: prAllPages (все страницы); prSelection (страницы выбранного фрагмента), prPageNums (страницы из диапазона FromPages/ToPage) |
PrintToFile |
Имеет значение True, если вывод должен осуществляться не на принтер, а в файл |
ToPage |
Номер страницы, на которой заканчивается печать |
Компонент TPageSetupDialog позволяет настроить характеристики печатаемых страниц. Они задаются в свойствах MarginBottom, MarginLeft, MarginRight, MarginTop (нижняя, левая, правая, верхняя границы печати), PageHeight и PageWidth (высота и ширина страницы), а также в свойстве Options, описывающем дополнительные параметры. Единицы измерения размеров задаются в свойстве Units.
Компонент Поиск (TFindDialog)
К
омпонент
используется для отображения диалогового
окна поиска текстовой строки. Свойства
класса TFindDialog приведены
в таблице 27.6.
Таблица 27.6. Свойства класса TFindDialog
Свойство |
Назначение |
FindText |
Строка для поиска |
Options |
Дополнительные настройки |
Position |
Координата левого верхнего угла диалогового окна при его выводе на экран (в пикселях) |
Из методов этого класса следует отметить процедуру
procedure CloseDialog;
Эта процедура закрывает окно, но не меняет значений установленных свойств, чтобы в дальнейшем можно было выполнить поиск со старыми параметрами. При щелчке на кнопке Найти далее генерируется событие OnFind.
Компонент Поиск и замена (TReplaceDialog)
Д
анный
компонент является наследником компонента
TFindDialog. Он несколько
расширяет его возможности и позволяет
вводить строку для замены найденного
текста. Компонент имеет новое свойство
ReplaceText и соответствующее
ему поле в диалоговом окне. При щелчке
на кнопке Заменить или Заменить
все генерируется сообщение OnReplace.
Перерыв - 10 мин
Совместная работа студента с преподавателем - 25 мин
После выполнения практической части работы, преподаватель проверяет правильность и последовательность действий студентов, достигли они конечного результата. Затем преподаватель проводит опрос студентов с анализом темы. Выясняет практическое его применение.
Контроль заключительного уровня знании - 20 мин
Преподаватель проводит анализ результатов практической работы студентов, выясняет осознанно ли выполнили работу. Затем студенты сдают тесты для контроля знаний.
Контроль
Вопросы:
1. Перечислите последовательность действий в технологии работы с файлами.
2. Какие типы файлов Вы знаете и как они объявляются?
3. Как работать с текстовым файлом (открытие, запись, считывание из файла, закрытие файла)?
4. Как работать с типизированным файлом (открытие, запись, считывание из файла, закрытие файла)?
5. Как работать с стандартными диалоговыми окнами Windows?
6. Как выбрать файл с помощью компонента TOpenDialog?
7. Как сохранить файл с помощью компонента TSaveDialog?
9. Как выбрать цвет с помощью компонента TColorDialog?
10. Как выбрать шрифт с помощью компонента TFontDialog?
Тесты: См. Сборник тестовых заданий по «Информатике», тема « Основы программирование языка Delphi»
- Общая оценка знаний - 5 мин
Преподаватель анализирует компетенций знаний, практические навыкинавыки
Студентов по данной теме, проводит разбор общих ошибок допущенных студентами при выполнении заданий. Затем преподаватель анализирует достижения и недостатки каждого студента с выставлением итоговой оценки в журнал по двум параметрам (за знания и практические навыки).
Литература:
С. И. Бобровский. Учебный курс Delphi7. Питер, 2006г.
Г.Г. Рапаков, С.Ю. Ржеуцкая. Программирование на языке Паскаль. Санкт-Петербург, 2005г.
Н.Культин. Учебный курс Delphi Санкт-Петербург, 2005г.
Н.Культин. Delphi в задачах и примерах. Санкт-Петербург, 2005г.
Е.Р. Алексеев, О.В. Чесноков. Шаг за шагом. Москва, 2005г.
стр -
