- •Символьный и строковой типы.
- •Операции над символами и строками
- •Преобразование строк
- •Строки в Delphi
- •Множества и операции с ними
- •Модули в Delphi
- •Событийно – ориентированное программирование
- •Объективно-ориентирование программирование
- •Классы и объекты
- •Объявление класса
- •Абстрактные методы
- •Перегружаемые методы
- •Структура проекта Делфи
- •Визуальное программирование
- •Реакция на события.
- •Компоненты Делфи
- •Фокус ввода
- •Общие свойства объектов
- •Модуль Math
- •Класс tLabel
- •Панели и их назначение
- •Обработка исключительных ситуаций
- •Класс tExeption
- •Создание нового класса исключения
- •Компоненты страницы Dialogs
- •Компоненты tOpenDilog, tSaveDialog
- •Графика в Делфи
- •Класс tCanvas
- •Метод класса tCanvas
- •Класс Tpen
- •Класс tFont
- •Класс tBrush
- •Класс tGraphics Tpicture
- •Класс TpaintBox
- •Класс tBitMap
- •Методы BitMap
- •Класс tImage
- •Подрограмма формирования преобразования строк.
- •Класс tForm
- •Печать из программы
- •Работа с файлами
- •Работа с файловой системой Windows.
Класс tBitMap
Битовый образ – небольшая картинка в памяти компьютера загружаемая из ресурса, так же его можно сформировать путем копирования из другого образа или графической поверхности. Загрузку из файла выполняет метод LoadFromFile.
Bm:=TBitMap.Create; bm.LoadFromFile(b1.bmp) теперь сформированный битовой образ можно вывести. Отображение битового образа обеспечивает Метод draw объекта canvas с параметрами. 1-2) Координаты точки начала вывода. 3) Битовый образ.
From1. Canvas.Draw(10,20,bm)
Свойства:
P Canvas
P PixelFormat глубина цвета (число битов на пиксель)
P ScanLine – массив указателей, на каждую строку точечного изображения. Строки идут сверху вниз. Число элементов в массиве содержит это свойство. var BitMap1:TBitMap; p:pByteArray; begin …………… Y:=…
p:=bitMap1.ScanLine[y] for x:=0 to BitMap1.Width-1 do p[x]:=clRed;
Методы BitMap
Procedure FreeImage; Уменьшение объема памяти для хранения точечного изображения путем уменьшения глубины цвета
Procedure Mask (Color:TColor) осуществляет установку цвета изображения в качестве прозрачного.
Класс tImage
Располагается на странице едишинл. Компонент изображения. Предназначен для вывода на форму графического рисунка. Поддерживает многочисленные форматы . Программист может присвоить рисунок компоненту имаге(вывести изобржение) как при разработке в среде делфи, так и во время выполнения программы. Для этого нужно присвоить свойству пикче объект содержащий рисунок.
Если статический. В инспектора объектов выбираем свойство пикче и вызываем специальный редактор для выбора загрузки файла.(кнопка load)
Если динамический. Используется метод loadFile объекта пикче, который должен принадлежать изображению. Например, для вывод изображния файла рисунка picture1.jpg В объект image 1 во время выполнения программы используется оператор Image1.Picture.LoadFromFile(‘picture.jpg). Определяет тип создаваемого рисунка. Если расширение не распознается капе тип графического файла, то возникает исключение класс Einvalid Graphic график.
AutoSize – если истино, то размеры имеджа на форму не известны. Чтобы подстроить размеры рисунка под размеры объекта Stretch. Если стреч истина, то подстраивается под размеры объекта. Свойство стреч не влияет на файлы типа .ico. Изображения реагирует на щелчки мыши. Следовательно, их можно использовать в качестве графических кнопок.
Center. Если истина, то центрирует картинку. Если ложь, то картинка распространяется от верхнего левого угла.
TShape
Компонент предназначен для отображения на форме простейших геометрических фигур. Конкретная форма задается в свойстве shape. Перечислимый тип type TShapetype=(stRectangle;stSquarte;StRoundRect;StRoundSquarel; StCircle; StEllipse). Изменение свойства shape приводит к периресовке изображения. Объект класса TShape обладает свойствами Pen и Brash. Границы фигуры определяются пером. Изменяя координаты фигуры можно демонстрировать простейшую операцию.
TChart
Additional и предназначен для графического представление числовых данных. Создать диаграмму можно с помощью мастера и с помощью паскаля. Мастер запускается командой file – new – business – TieChartWizard. Сначала выбираем источник данных. Если данные не из файла, а генерируется переключатель Non DataBase Chart. Show legend определяет наличие легенды (дополнительная панель, на которую указывается соответствие цветов частей диаграммы указанным значением). Show Marks включает небольшие желтые подсказки на части диаграммы. Далее кнопка finish и появится форма на которой будет располагаться объект Chart1 заполненный случайным набором. Дальше настроить диаграмму можно с помощью редактора edit Chart в результате попадаем в многостраничное окно. Страница series позволяет объединить несколько диаграмм в одном графике. Можно объединять в разных режимах: сложение, вычитание и тд. Страница axis(оси) – параметры по осям. Страница titles – содержит средства для оформления заголовком.
Общая схема использования компонентов:
Компонент помещается на форму
После щелчка ПКМ по компоненту в вспомогательном меню выбираем опцию edit Chart. В ответ имеем многостраничное окно редактора компонента.
Страница series открывает доступ к сериям. Это объекты класса TCharSeries. Эти объекты будут отображать наборы чисел в графическом виде.
Чтобы отобразить данные нужно создать хотя бы одну серию. Add выбираем подходящий вид графика из стандартных представленных в таблице. После закрытия редактора компонет будет содержать примерный вид графика.
Реальный вид графика зависит от фактических данных, которые создаются в рабочей программе и добавляется к серии методами Addx|_ Addy|- Addxy.
Доступ к нужной серии получаем с помощью индексированной Serieslist [0] Chart1.Seritslist[0].Addxy(….
Добавление новой точки к серии добавляется методом function Addxy (const AxValue, AYValue:double; Const AxLable: string; AColor:TColor):integer; Label произвольное название группы которой принадлежит точка. Color цвет группы.
Пример.
График синуса. На форме создадим обработчик события OnActivate формы.
Procedure TForm1.FormActivate(Sender TObject); (через инспектор объектов для формы Events).
Var k:integer; for k:=0 to 20 do Chart1.SeriesList [0]. abbXY(k,sin(k*pi/10),’’,cbred); end;
Чтобы удалить ранее введенную точку или изменить ее значение надо сформировать обработчик события OnClickPainter.
Procedure SeriesClickPointer(Sender:TCustonSeries; ValueIndex:Integer; x,y:integer);
ValueIndes - номер ближайшей точки, около которой был выполнен щелчек. x y - координаты точки щелчка.