- •2. Визуальные компоненты
- •2.1. Свойства
- •2.2. События
- •2.3. Методы
- •If Edit1.CanFocus then Edit1.SetFocus; {перед получением фокуса производится проверка на возможность передачи фокуса компоненту}
- •3. Работа с текстом
- •3.1. Использование надписей
- •3.2. Однострочный редактор
- •3.3. Общие свойства, события и методы компонентов редактирования
- •3.4. Класс tStrings
- •3.5. Многострочный редактор
- •3.6. Использование списков
- •3.7. Таблица String Grid
- •4. Кнопки и переключатели
- •4.1. Работа с кнопками
- •4.1.1. Стандартная кнопка
- •4.1.2. Кнопка с рисунком
- •4.2. Работа с переключателями
- •4.2.1. Переключатель с независимой фиксацией
- •If CheckBox1.Checked then MessageDlg ('Время истекло! ', mtError, [mbОк], 0);
- •4.2.2. Переключатель с зависимой фиксацией
- •4.3. Объединение элементов управления
- •5. Использование форм
- •5.1. Свойства, методы и события форм
- •5.2. Организация взаимодействия форм
- •5.3. Особенности модальных форм
- •5.4. Шаблоны форм
- •5.5. Процедуры и функции, реализующие диалоги
- •5.6. Стандартные диалоги
- •If OpenDialog1.Execute then // при отмене диалога открытие файла не происходит
- •If SaveDialog1.Execute then { Получить имя файла }
- •6.Главное и контекстное меню, панели инструментов
- •6.1. Класс tMenuItem
- •6.2. Cоздание главного и контекстного меню
- •6.3. Динамическая настройка меню
- •6.4. Панели инструментов
- •7. Создание графических изображений
- •7.1. Классы для работы с графикой
- •7.2. Основные компоненты для размещения изображений
- •7.3. Типы графических объектов
- •7.4. Создание диаграмм
- •8. Печать объектов
- •8.1. Класс tPrinter
- •8.2. Печать текста
- •Var fPrn: Text; // объявлена переменная типа Text.
- •8.3. Диалоговые окна для работы с принтером
- •8.4. Печать графических изображений
- •8.4.1. Печать форм
- •8.4.2. Печать диаграмм
- •9. Работа с датами
- •9.1. Преобразование даты
- •9.2. Компоненты для ввода дат
- •10. Сохранение параметров программы.
- •Ini : tIniFile; //объявляем переменную типа inifile
- •Ini : tIniFile; //объявляем переменную типа inifile
- •11. Обработка исключительных ситуаций
- •Var f: File; begin AssignFile(f, 'Somefile.Ext'); try // оператор, в котором возможна ошибка Reset(f); // работы с файлом finally CloseFile(f) end;
7.4. Создание диаграмм
Компонент TChart представляет собой библиотеку процедур построения диаграмм, написанных с использованием VCL. Компонент TChart выведен из класса TPanel и поэтому наследует его свойства.
Для добавления диаграммы к приложению необходимо разместить компонент TChart на форму и при необходимости изменить размеры диаграммы.
Диаграмму также можно добавить с помощью команды File | New (Файл | Создать) и пиктограммы TeeChart Wizard, расположенной во вкладке Business (Бизнес) диалогового окна New Application (Создать приложение).
Редактор диаграмм и рядов предоставляет доступ к большинству свойств диаграммы и ряда и имеет две основные вкладки: Chart (Диаграмма), которая предоставляет доступ к свойствам диаграмм и упрощает добавление ряда к диаграмме, и Series (Ряд), которая позволяет изменять свойства ряда.
При добавлении в диаграмму нового ряда происходит автоматическое заполнение этого ряда случайными данными (только во время разработки), что позволяет сразу увидеть результат изменения свойств диаграммы и ряда.
Метод Add() используется для добавления данных в диаграмму. При вызове этого метода в ряд данных добавляется только одно значение (точка), поэтому для добавления массива значений следует организовать цикл:
for i := 0 to TotalPointCount do
Series1.Add(SomeData[i], Strin [i+1], clTeeColor);
Первый аргумент метода Add() содержит координату Y добавляемого значения (в данном случае элемент массива); второй – подпись для соответствующей точки диаграммы, а третий – ее цвет (константа clTeeColor присваивает данному значению цвет, используемый по умолчанию).
Метод АddXY() используется для добавления данных в график. Форма этого метода совпадает с формой метода Аdd( ) за исключением дополнительного аргумента, который представляет собой массив значений X.
Пример проектирования диаграммы:
На форме Form1 размещены компоненты Chart и BitBtn1. Для Chart установлен ряд Series1.
procedure TForm1.BitBtn1Click(Sender: TObject);
const TotalPointCount=10;
XData:array [1..TotalPointCount] of real = (0,1,2,3,4,5,6,7,8,9);
YData:array [1..TotalPointCount] of real = (0,1,2,3,4,5,6,7,8,9);
Strin:array [1..TotalPointCount] of char = ('0','1','2','3','4','5','6','7','8','9');
var i :integer;
begin
for i := 1 to TotalPointCount do
Series1.AddXY(XData[i], YData[i], Strin [i+1], clTeeColor);
end;
8. Печать объектов
8.1. Класс tPrinter
Для использования свойств и методов класса TPrinter в оператор uses вызывающего модуля приложения необходимо добавить Printers. Ко всем перечисляемым свойствам и событиям следует обращаться через объект Printer. Например, выражение Printer.Canvas предоставляет доступ к объекту Canvas объекта Printer.
Свойства класса TPrinter:
• Aborted типа Boolean. Принимает значение True, когда печать прервана, например, закрыв Print Manager (Диспетчер печати). Для того чтобы определить, не вызывался ли метод Abort класса TPrinter, нужно проверить значение этой переменной в цикле печати. Если это так, цикл следует завершить немедленно, не вызывая EndDoc.
• Canvas. Для печати графики и текста WYSIWYG (What You See Is What You Get – что видишь, то и получаешь) следует присвоить соответствующие значения Реn, Brush и другим подсвойствам свойства Canvas и вызвать их методы так же, как при отображении на экране графики.
• Fonts. Список типа TStrings, содержащий имена всех шрифтов, поддерживаемых текущим принтером. Печать с применением шрифтов TrueType осуществляется на любых принтерах.
• Handle. Это значение передается любой функции Windows API, которой требуется дескриптор контекста устройства (HDC), например GetTextMetrics.
• Orientation. Принимает одно из двух значений: poPortrait или poLandscape. Эти значения присваиваются перед началом печати. Кроме того, они используются для определения параметров страницы.
• PageHeight. Высота страницы в пикселях.
• PageNumber. Номер текущей страницы. Объект Printer увеличивает PageNumber при каждом вызове метода NewPage, а также при печати простого текста, когда Writeln начинает новую страницу.
• PageWidth. Ширина страницы в пикселях.
• PrinterIndex. Индекс имени текущего принтера в списке Printers.
• Printers. Список установленных принтеров. Обратившись к массиву Printer.Printers[PrinterIndex], можно получить имя текущего принтера.
• Printing. Имеет значение True, если идет процесс печати.
• Title. Строка, которая идентифицирует задачу печати в Print Manager (Диспетчере печати) или заголовок задачи в сети.
Методы _______класса TPrinter:
• Abort. Этот метод прерывает процесс печати. Вызов Abort устанавливает флаг Printer.Aborted в True.
• BeginDoc. Метод вызывается до начала нового задания печати. При использовании процедур Write и Writeln для печати простого текста не требуется вызывать BeginDoc.
• EndDoc. Этот метод следует вызывать по завершении печати. EndDoc очищает выходной буфер и, если необходимо, выталкивает последнюю страницу. При использовании процедур Write и Writeln для печати простого текста не следует вызывать EndDoc. Этот метод также не следует вызывать, если печать была прервана вызовом Printer.Abort.
• NewPage. Начать новую страниц. NewPage очищает выходной буфер и выталкивает текущую страницу.