Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Компонент Окно выбора файла (TOpenDialog)



 

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

Свойства класса TOpenDialog:

 

Свойство Назначение
DefaultExt Расширение имени, используемое по умолчанию. Добавляется в конец выбранного пользователем имени файла, если расширение не указано явно
FileName Выбранное пользователем имя файла вместе с полным путем поиска
Files Список выбранных имен файлов. В свойстве Options должен быть включен флажок ofAllowMultiSelect
Filter Набор масок, в соответствии с которыми отбираются имена файлов для отображения в диалоговом окне. Каждая маска состоит из двух частей: названия и шаблона, – разделенных символом |. Одному названию могут соответствовать несколько шаблонов. Маски отделяются друг от друга символом |
FilterIndex Номер текущей маски. Нумерация начинается с 1
HistoryList Список ранее выбранных файлов (тип TStrings)
InitialDir Текущий каталог, содержимое которого отображается при первом открытии диалогового окна
Options Набор флажков, определяющих работу окна выбора файлов
Title Заголовок диалогового окна

 

Среди методов этого класса следует отметить функцию

 

functionGetStaticRect: TRect;

 

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

События класса TOpenDialog:

 

Событие Условие генерации
OnCanClose Пользователь пытается закрыть диалоговое окно. Обработчик этого события позволяет проконтролировать правильность выбранного или введенного в соответствующее поле окна имени файла и разрешить или запретить закрытие
OnFolderChange Пользователь переключился в другой каталог
OnIncludeItem К текущему списку файлов в диалоговом окне будет добавлено новое имя. Обработчик данного события дает возможность отбирать допустимые имена по алгоритму, определяемому программистом
OnSelectionChange Пользователь выбрал новое имя файла в диалоговом окне
OnTypeChange Пользователь выбрал новую маску файлов (свойство Filter)

 

В следующем примере при щелчке на кнопке отображается диалоговое окно выбора имени файла (объект OpenDialogl), которое имеет заголовок Выбор нужного файла, а в списке отображаются все файлы, имеющие расширение.PAS. Это обеспечивается присвоением свойству FilterIndex значения 2.

 

procedureTForml.ButtonlClick(Sender: TObject);

Begin

OpenDialogl.Filter: = 'Все файлы (*. *) |*.*|Файлы Паскаля

(*.pas)|*.PAS';

OpenDialogl.Title: = 'Выбор нужного файла';

OpenDialogl.FilterIndex: = 2;

if OpenDialogl.Execute then

Begin

AssignFile(F, OpenDialogl.FileName);

// работа с файлом F

end; end;

 

 

Компонент Окно сохранения файла (TSaveDialog)

 

Этот компонент практически ничем не отличается от компонента TOpenDialog за исключением некоторых настроек, специфичных для процесса сохране­ния файла.

 

 

TStringGrid

 

Использование многими пользователями электронных таблиц типа Excel стало практически неотъемлемой частью применения компьютеров. В системе Delphi 5 имеются два компонента, которые позволяют до некоторой степени сымитировать работу электронной таблицы, оставляя при этом, конечно, основную работу по реализации конкретных функций такой таблицы программистам.

Первый компонент – это таблица строк, позволяющая работать с тексто­вой информацией в двумерной таблице, имеющей столбцы и строки (их размеры можно менять с помощью мыши). Дополнительно, к каждой ячейке таб­лицы можно «привязать» свой объект, характеристики которого программист пред­ставит в виде строки, расположенной в этой ячейке.

 

Основное свойство таблицы строк – это двумерный массив Cells, позволяющий обращаться к содержимому ячеек и изменять их содержимое. Первое измерение – это номер строки, второе – номер столбца.

 

Замечание: Нумерация элементов в таблице строк начинается с нуля.

 

Число столбцов задается в свойстве ColCount, число строк – в свойстве RowCount.

Следующий код программы изменяет размер таблицы, помещенной на форму в режиме проектирования (по умолчанию принят размер 5x5 элементов), на размер 10x10 ячеек и заполняет ячейки строками, содержащими их координаты.

 

procedureTForm1.FormCreate(Sender: TObject);

varc, r: integer; begin

StringGrid1.ColCount: = 10; StringGrid1.RowCount: = 10; forс: = 0 to StringGrid1.ColCount-1 do forr: = 0 to StringGrid1.RowCount-1 doStringGrid1.Cells[c, r]: =

'(' + IntToStr(c) + ', ' + IntToStr(r) + ')'; end;

 

Обратите внимание, что левый столбец и верхняя строка, хотя и содержат тексто­вую информацию, фактически являются заголовочными областями. Использовать их наравне с другими ячейками не совсем правильно.

 

Замечание: Число строк и столбцов, имеющих характер заголовка, задается свойствами FixedCols и FixedRows. Если таблица не содержит заголовочной информации, эти свойства должны принимать значение 0.

 

Можно получить доступ ко всем элементам одного столбца или одной строки. Соответствующие свойства Col и Row имеют тип TStrings, позволяющий обращаться к нужному элементу по номеру.

Чтобы привязать к ячейке объект (наследник класса TObject), надо использовать свойство Objects, представляющее собой такой же массив, как Cells, но содержащий не строки, а объекты. Эти объекты должны создаваться, а также уничтожаться про­граммистом вручную, иными словами, весь контроль над состоянием этого массива полностью возлагается на разработчика. Свойство Objects предоставляет только доступ к нужному объекту.

 

Свойства, предназначенные для оформления таблицы строк:

 

Свойство Назначение
BorderStyle Стиль отрисовки ячейки. Значение этого свойства можно комбинировать со значением свойства Ctrl3D для получения оригинального вида ячеек
Ctrl3D Таблица представляется в «трехмерном» стиле
ColWidths Массив, хранящий ширину каждого столбца в пикселах
DefaultColWidth Начальная ширина столбца по умолчанию
DefaultDrawing Если значение свойства – true, производится автоматическая отрисовка содержимого каждой ячейки. В противном случае для таблицы необходимо определить обработчик события OnDrawCell, чтобы запрограммировать процесс отрисовки ячейки
DefaultRowHeight Начальная высота строки по умолчанию
FixedColor Цвет области строк и столбцов, служащих заголовком таблицы
GridHeight Высота всей таблицы (в пикселах)
GridLineWidth Ширина (в пикселах) линий, разделяющих ячейки таблицы
GridWidth Ширина всей таблицы (в пикселах)
Options Множество значений (тип set of TGridOption), позволяющее задавать различные режимы работы таблицы: выделение нескольких ячеек, способ использования линий прокрутки и прочие. В частности, чтобы разрешить изменение размеров строк и столбцов, надо установить значение true для свойств goRowSizing и goColSizing, вложенных в свойство Options. Чтобы разрешить редактирование содержимого ячеек, надо записать значение true в подсвойство goEditing
RowHeights Массив, хранящий высоту каждой строки в пикселах
ScrollBars Наличие полос прокрутки
VisibleColCount Число видимых в таблице столбцов (без области заголовка)

 

 

TImage

 

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

 

В большинстве случаев содержимое изображения загружается из файла на этапе проектирования. Для этого служит свойство Picture (класс TPicture), описывающее точечное изображение (.ВМР), значок, графический метафайл Windows или другой пользовательский графический ресурс. Класс TPicture (рисунок) не является компо­нентом Delphi 5, он просто входит в состав библиотеки VCLкак вспомогательный, но на его основе могут быть созданы полноценные компоненты.

Текущее содержимое экземпляра класса хранится в одном из свойств: Bitmap (класс TBitmap), Icon (значок, класс TIcon) или Metafile (класс TMetafile, формат графичес­кого метафайла Windows.EMF). Обратиться к любому из этих свойств для отобра­жения графики можно через свойство Graphic. Ширина и высота изображения (в пикселах) задаются в свойствах Width и Height.

После размещения объекта Image на форме появится пунктирная рамка, которая задает (по умолчанию) размеры будущей картинки. Эти размеры желательно зара­нее указать в свойствах Width и Height.

Выбрав в Инспекторе объектов свойство Picture, можно вызвать специальный редак­тор, с помощью которого можно загрузить изображения в форматах.BMP, .ICO, JPGили в одном из форматов графического метафайла Windows.

 

TChart

 

Это очень мощный и богатый возможностями компонент, разработанный Давидом Бернеда (версия, включенная в систему Delphi 5, имеет номер 4.02). Он позволяет строить красивые двух- и трехмерные диаграммы на основе различ­ных данных, является наследником класса TPanel и наследует все свойства панели.

 

Создать диаграмму можно двумя способами: визуально с помощью Мастера (без программирования) и непосредственно средствами Паскаля.

 

Мастер запускается командой File > New > Business > TeeChart Wizard (Файл > Создать > Деловые > Мастер диаграмм), после чего разработчику надо выпол­нить ряд уточнений. Сначала выбирается источник данных. Пусть он не располо­жен в файле, а генерируется программой – переключатель Non Database Chart (He на основе базы данных). Затем выбирается внешний вид диаграммы. Она может быть двумерной или трехмерной что определяется переключателем 2D/3D.

На следующем этапе работы Мастера флажок Show Legend (Отображать легенду) опре­деляет наличие легенды –дополнительной панели, на которой указывается соответ­ствие цветов частей диаграммы указанным значениям. Флажок Show Marks включает небольшие желтые подсказки у каждой из частей диаграммы.

На этом создание диаграммы заканчивается. После щелчка на кнопке Finish (Готово) в Проектировщике форм появится новая форма, на которой будет расположен объект Chart1. Он заполнен неким набором случайно сгенерированных значений.

 

Настройка диаграммы выполняется с помощью редактора, который вызывается двойным щелчком на объекте Chart1.

 

Параметры отображения диаграммы в окне определяются на вкладке Chart (Диа­грамма), состоящей в свою очередь из набора дополнительных панелей.

 

ü Панель Series (Ряд данных) очень важна. Она позволяет объединять несколько диаграмм на одном графике с помощью кнопки Add (Добавить). При этом над значениями рядов данных можно выполнять различные операции, зада­ваемые на вкладке Functions (Функции): сложение (Add), вычитание (Subtract), умножение (Multiply), деление (Divide), взятие наибольшего (High), наимень­шего (Low) или среднего (Average) значения.

 

ü Панель General (Общие) содержит элементы управления для:

· экспорта изображения в файл – кнопка Export (Экспортировать);

· установки (в процентах) сдвига границ изображения по отношению к границам объекта – поля Margins (Поля);

· масштабирования – панель Zoom (Масштаб);

· прокрутки – панель Allow Scroll (Разрешить прокрутку).

 

ü Средства панели Axis (Оси) отвечают за все, что касается определения коорди­натных осей, их масштаба, заголовков, шага пунктирной сетки и так далее.

ü Панель Titles (Заголовки) содержит средства для оформления заголовка.

ü Панель Legend (Легенда) используется при оформлении внешнего вида и содержимого легенды.

ü Средства панели Panel (Панель) описывают форму и визуальное представление панели-основы, на которой расположена диаграмма.

ü Панель Pages (Страницы) служит для разделения диаграммы на страницы. Увеличивая число точек на странице с помощью поля Points per Page (Точки на страницу), можно подобрать оптимальное соотношение между наглядностью диаграмм и разумным числом страниц.

ü Панель Walls (Границы) позволяет задать цвет и размеры границ диаграммы.

ü Панель 3D описывает пространственное представление трехмерных диа­грамм. С помощью нескольких движков проектируемую диаграмму можно вращать и масштабировать.

На вкладке Series (Ряды данных) в редакторе задаются конкретные параметры оформления каждого ряда данных (каждого графика, добавленного при помощи вкладки Chart). Выбор текущего ряда данных производится с помощью раскрывающегося списка Area (Область).

 

Здесь наиболее важна панель Data Source (Источник данных). С ее помощью можно задать для ряда случайные значения (Random Values), отказаться от генерации значений (No Data) или сформировать значения текущего ряда данных как результат применения некоторой функции (раскрывающийся список Function) к значениям выбранных рядов данных. Выбор рядов данных – занесение в список Selected Series (Выбранные ряды) осуществляется с помощью кнопки >.

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

 

functionAddXY(ConstAXValue, AYValue: Double; ConstAXLabel: String; AColor: TColor): Longint;

 

Обработчик щелчка на кнопке, например, Button1 запишется следующим образом.

 

procedureTForm1.ButtonlClick(Sender: TObject); begin

Series1.AddXY(

StrToFloat(Edit1.Text),

StrToFloat(Edit2.Text),

'Эксперимент A', clRed); end;

 


 

TMainMenu

 

Компонент класса TMainMenu определяет главное меню формы. На форму можно поместить сколько угодно объектов этого класса, но отображаться в полосе меню в верхней части формы будет толь­ко тот из них, который указан в свойстве Menu формы.

После установки компонента на форму необходимо создать его опции. Для этого следует дважды щелкнуть по компоненту левой кнопкой мыши либо нажать на нем правую кнопку и выбрать про­должение Menu Designer в появившемся вспомогательном меню, либо, наконец, щелкнуть по кнопке в правой половине строки Items Инспектора Объектов.

Создание опций не вызывает проблем. Перейдите в окно Инспектора Объектов и введите текст опции в строке Caption, после чего нажмите Enter – опция готова и можно переходить к следую­щей. Каждая опция главного меню может раскрываться в список подопций или содержать конечную команду. Для создания подопций щелкните мышью по строке ниже опции и введите первую подопцию. Продолжайте ввод, пока не будет создан весь список подопций, после чего щелкните по пустому прямоугольнику справа от первой опции и введите вторую опцию. Процесс гораздо сложнее описать, чем выполнить.

В названиях опций можно указать символ «& » перед тем симво­лом, который определит клавиши быстрого выбора опции.

Для создания разветвленных меню, т.е. таких, у которых подопции вызывают новые списки подопций, щелкните по подопции и нажмите Ctrl+Bnpaвo, где Вправо – клавиша смешения курсора впра­во. Такого же эффекта можно добиться после щелчка правой кноп­кой мыши на подопции и выборе продолжения Create Submenu.

Каждый элемент меню является объектом класса TMenuItem. Свойства этого класса описаны в следующей таблице. Термин «родительская опция» означает опцию, выбор которой приводит к раскрытию подменю с данной опцией.

 

propertyBreak: TMenuBreak; Позволяет создать многоколончатый список подме­ню (см. ниже).
propertyChecked: Boolean; Если True, рядом с опцией появляется галочка.
propertyCommand: Word; Используется при разработке приложений, обра­щающихся непосредственно к API-функциям Windows.
propertyCount: Integer; Содержит количество опций в подчиненном меню, связанном с данным элементом (только для чтения).
propertyDefault: Boolean; Определяет, является ли данная опция подменю умалчиваемой (см. ниже).
propertyGrouplndex: Byte; Определяет групповой индекс для зависимых опций (см. свойство Radioltem).
propertyItems[Index: Integer]: TMenuItem; Позволяет обратиться к любой опции подчиненного меню по ее индексу.
propertyMenulndex: Integer; Определяет индекс опции в списке Items родитель­ской опции.
propertyRadioltem: Boolean; Определяет, зависит ли данная опция от выбора других опций в той же группе Grouplndex. Только одна опция группы может иметь True в свойстве Checked. Рядом с такой опцией вместо галочки изображается круг.
propertyShortcut: TShortCut Задает клавиши быстрого выбора данной опции.

 

Тип TMenuBreak определен следующим образом:

 

type TMenuBreak = (mbNone, mbBarBreak, mbBreak);

 

Свойство Break по умолчанию имеет значение mbNone. Два других возможных значений этого свойства используются для создания многоколончатых списков подменю. Значение mbBarBreak заканчивает предыдущую колонку и начинает новую. Данная опция меню будет открывать новую колонку, которая отде­ляется от предыдущей вертикальной чертой. Значение mbBreak также создает новую колонку, но не вставляет разделительную чер­ту. Эти значения игнорируются в опциях самого первого уровня. В окне конструктора меню многоколончатое меню отображается как обычное.

Если в свойстве Default указано значение True, такая опция вы­деляется цветом и выбирается двойным щелчком мыши на роди­тельской опции. Только одна опция в подменю может быть умалчи­ваемой.

В отличие от других компонентов, строка Hint для опций меню задает только расширенное сообщение, которое отображается на панели статуса.

Для элемента меню определено единственное событие ОnСliск, которое возникает при щелчке на опции или при нажатии Enter, если в этот момент данная опция была выбрана (подсвечена). Обра­ботчик события становится доступен после двойного щелчка на опции в окне конструктора меню.

 

 

Список литературы

Основная литература:

1. Фаронов В.В. Delphi. Программирование на языке высокого уровня. Издательство «Питер». 2012, 640 с.

2. Программирование на языке Object Pascal: Учеб. пос. / Т.И.Немцова и др; Под ред. Л.Г.Гагариной. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с.:

3. Бобровский С.И. Delphi 7. Учебный курс. Издательство «Питер». 2004, 736 с.

4.Филоненко И.Н. Программирование и основы алгоритмизации. Методические указания к лабораторным работам. Направление подготовки «Управление в технических системах» - КИ МАМИ 2015г.

Дополнительная литература:

1.Митчелл К. Керман Программирование и отладка в Delphi. Пер. с англ. - М.: Издательский дом «Вильямс». 2003, 672 с.: ил. - Парал. тит. англ.

2. Оузьер Д. Delphi. Освой самостоятельно: Пер. с англ. под ред. Тимофеева - М.: «Восточная книжная компания», 1997.

 

Информационное обеспечение:

1.ОС Windows XP.

2. Интегральная среда разработки Delphi 7.

3. MS Office.

 

 

Лабораторный практикум обсужден на заседании выпускающей кафедры Автоматизации производства и информационных технологий и одобрен Ученым советом Коломенского института.

Автор-составитель: ст. преп. Филоненко И.Н.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-11; Просмотров: 663; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.056 с.)
Главная | Случайная страница | Обратная связь