Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_DELPHI срсп.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
530 Кб
Скачать

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

омпонент
Окно выбора цвета (TColorDialog)

С помощью данного компонента вызывается стандартное диалоговое окно выбора цвета (рис.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 мин

Преподаватель анализирует компетенций знаний, практические навыкинавыки

Студентов по данной теме, проводит разбор общих ошибок допущенных студентами при выполнении заданий. Затем преподаватель анализирует достижения и недостатки каждого студента с выставлением итоговой оценки в журнал по двум параметрам (за знания и практические навыки).

Литература:

  1. С. И. Бобровский. Учебный курс Delphi7. Питер, 2006г.

  2. Г.Г. Рапаков, С.Ю. Ржеуцкая. Программирование на языке Паскаль. Санкт-Петербург, 2005г.

  3. Н.Культин. Учебный курс Delphi Санкт-Петербург, 2005г.

  4. Н.Культин. Delphi в задачах и примерах. Санкт-Петербург, 2005г.

  5. Е.Р. Алексеев, О.В. Чесноков. Шаг за шагом. Москва, 2005г.

стр - 19 из 18