Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации №2 .doc
Скачиваний:
2
Добавлен:
14.11.2019
Размер:
354.3 Кб
Скачать

9 Динамический обмен данными — dde

Динамический обмен данными (Dmamical Data Exchange — DDE) — это технология, появившаяся на заре Windows, но сохраняющая свое значение до сих пор, поскольку предоставляет удобный способ обмена данными между программами.

В этом диалоге программ одна, инициирующая диалог, называется клиентом, а другая, отвечающая на сообщения клиента — сервером. Диалог ведется на заданную тему (topic). Данные, передаваемые от одной программы к другой, называются элементами данных (items). В диалоге могут также передаваться серверу некоторые команды — макросы (macros). Этих основных понятий: клиент, сервер, тема, элемент данных в макрос достаточно, чтобы строить приложения, основанные на DDE. Всю сложную задачу обработки в процессе диалога множества сообщений Windows берет на себя Delphi, инкапсулируя все необходимые процедуры в четырех компонентах, расположенных в библиотеке на странице System: DdeClientConv, DdeClientltem, DdeServerConv и DdeServerltem. Первые два из них организуют работу клиента, а два вторые — работу сервера

10 Назначение и свойства компонентов страницы Dialogs

Рисунок 4 – Вид страницы Dialogs

В состав Delphi включены простые компоненты, реализующие стандартные диалоговые окна Windows.

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

Основной метод, которым производится обращение к любому диалогу, — Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента — диалога запоминается выбор пользователя, который можно прочитать и использо­вать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку От­мена или клавишу Esc, то функция Execute возвращает false. Поэтому стандартное обращение к диалогу имеет вид:

if <имя компонента-диалога> Execute then

<операторы,, использующие выбор пользователя>;

OpenDialog – диалог «Открыть файл» и SaveDialog – диалог «Сохранить файл как».

В се свойства этих компонентов одинаковы, но их смысл различен для открытия и сохранения файлов.

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

FileNameимя выбранного пользователем файла, записанное в виде строки. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла

Filter – Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров.

В его левой панели Filter Name записывается тот текст, который увидит пользователь в выпадающем списке Тип файла диалога. А в правой панели Filter записываются разделенные точками с запятой шаблоны фильтра.

Например

Все фалы *.*

Текстовые (doc; txt) *.doc, *.txt

Filterlndex – определяет номер фильтра, который будет по умолчанию показан пользователю в момент открытия диалога. Например, значение Filterlndex = 1 задает по умолчанию первый фильтр.

InitialDir – определяет начальный каталог, который будет открыт в момент начала работы пользователя с диалогом.

DefaultExt – определяет значение расширения файла по умолчанию.

Title – позволяет вам задать заголовок диалогового окна, подсказывающий пользователю ожидаемые действия. Например, «Укажите имя открываемого файла».

Событие OnCanClose возникает при нормальном закрытии пользователем диалогового окна после выбора файла.

При отказе пользователя от диалога — нажатии кнопки Отмена, клавиши Esc и т.д. событие OnCanClose не наступает. В обработке события OnCanClose можно произвести дополнительные проверки выбранного пользователем файла.

Можно также написать обработчики событий OnFolderChange — изменение каталога, OnSelectionChange — изменение имени файла, OnTypeChange — изменение типа файла. В этих обработчиках предусматривают обычно какие-то сообщения пользователю.

Пример использования диалога:

if OpenDialogl.Execute then begin

FName := OpenDialogl.FileName;

Memo1.Lines.LoadFromFile(FName); end;

Для создания команды «Сохранить как выполняется» рекомендуется перед вызовом диалога указать команду SaveDialogl.FileName := <Имя файла>; Если файл быт создан и еще не сохранялся, то это имя файла по умолчанию, а если он был открыт и изменен, то это его имя.

OpenPictureDialog – окно открытия рисунка и SavePictureDialog – окно сохранения рисунка

Э ти компоненты являются, соответственно, наследниками класса TOpenDialog и класса TSaveDialog. Диалоговые окна содержат дополнительную область для быстрого просмотра содержимого выбранного графического файла.

FontDialog –окно выбора шрифта

К омпонент предназначен для вызова стандартного диалогового окна выбора шрифта, доступного в системе. Компонент имеет набор свойств, которые приведены ниже:

Device – устройство, для которого отображается список доступных шрифтов. Возможные значения — fdScreen (экран), fdPrinter (принтер) и fdBoth (как экран, так и принтер).

Font – выбранный пользователем шрифт (тип TFont) .

MaxFontSize Максимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов.

MinFontSize Минимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов

Options Дополнительные характеристики внешнего вида диалогового окна.

Если, например, на форме имеется надпись Labell, то при щелчке на кнопке Button следующий обработчик вызовет диалоговое окно выбора шрифта. После того как пользователь сделает выбор, шрифт, которым сделана надпись, изменится.

procedure TForml.ButtonlClick(Sender: TObject);

begin

if FontDialogl.Execute then

Labell.Font.Assign(fontDialogl.Font);

end;

ColorDialog – окно выбора цвета

С помощью данного компонента вызывается стандартное диалоговое окно выбора цвета.

Color (тип ТСоlor) – содержит выбранный пользователем цвет

CustomColors (тип TStrings) – хранит в текстовом формате описание дополнительных пользовательских цветов. Цвет в этом формате задается шестью символами, определяющими в шестнадцатеричном виде значение цвета в соответствии с требованием цветовой системы RGB. Каждый байт задается двумя символами, например FFFFFF или 08ЕЕ08. B соответствует одной из составляющих цвета RGB.

Options –позволяет выполнять тонкие специфические настройки работы окна.

PrintDialog, PrinterSetupDialog, PageSetupDialog –Печать, Настройка принтера, Настройка параметров страницы печати

T PrinterSetupDialog, предназначен для настройки параметров работы принтера, не имеет оригинальных свойств, потому что эти настройки существенно различаются для разных видов принтеров. На основании этого компонента можно создавать свои собственные компоненты для конкретных принтеров.

T PrintDialog отображает стандартное окно печати Windows. B нем можно задать различные параметры печати, которые определяются следующими свойствами диалога.

P ageSetupDialog позволяет настроить характеристики печатаемых страниц. Они задаются в свойствах Margin Bottom, MarginLeft, Margin Right, MarginTop (нижняя, левая, правая, верхняя границы печати), PageHeightH PageWidth (высота и ширина страницы), а также в свойстве Options, описывающем дополнительные параметры. Единицы измерения размеров задаются в свойстве Units.