Разделы презентаций


Т.7 Программирование в RAD- системах

Содержание

Обзор Палитры КомпонентСтраница AdditionalTBitBtn - кнопка вроде TButton, однако на ней можно разместить картинку (glyph). TBitBtn имеет несколько предопределенных типов (bkClose, bkOK и др), при выборе которых кнопка принимает соответствующий вид.TSpeedButton

Слайды и текст этой презентации

Слайд 1Т.7 Программирование в RAD-системах

Лекция 36

Т.7 Программирование в RAD-системах				Лекция 36

Слайд 2Обзор Палитры Компонент
Страница Additional
TBitBtn - кнопка вроде TButton, однако на

ней можно разместить картинку (glyph). TBitBtn имеет несколько предопределенных типов

(bkClose, bkOK и др), при выборе которых кнопка принимает соответствующий вид.

TSpeedButton - кнопка для создания панели быстрого доступа к командам (SpeedBar)

TTabSet - горизонтальные закладки. Обычно используется вместе с TNoteBook для создания многостраничных окон. Название страниц можно задать в свойстве Tabs.

TNoteBook - используется для создания многостраничного диалога, на каждой странице располагается свой набор объектов. Используется совместно с TTabSet.

TTabbedNotebook - многостраничный диалог со встроенными закладками, в данном случае - закладки сверху.

Обзор Палитры КомпонентСтраница AdditionalTBitBtn - кнопка вроде TButton, однако на ней можно разместить картинку (glyph). TBitBtn имеет

Слайд 3TMaskEdit - аналог TEdit, но с возможностью форматированного ввода. Формат

определяется в свойстве EditMask.
TOutline - используется для представления иерархических отношений

связанных данных. Например - дерево директорий.

TStringGrid - служит для представления текстовых данных в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство Cell.

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

TImage - отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF.

TShape - служит для отображения простейших графических объектов на форме: окружность, квадрат и т.п.

TBevel - элемент для рельефного оформления интерфейса.

THeader - элемент оформления для создания заголовков с изменяемыми размерами для таблиц

TScrollBox - позволяет создать на форме прокручиваемую область с размерами большими, нежели экран.

TMaskEdit - аналог TEdit, но с возможностью форматированного ввода. Формат определяется в свойстве EditMask.TOutline - используется для

Слайд 4Страница Dialogs
компоненты для вызова стандартных диалогов Windows
OpenDialog; выбрать файл

SaveDialog; сохранить файл
FontDialog; настроить шрифт ColorDialog; выбор цвета
PrintDialog; печать PrinterSetupDialog;

настройка принтера
FindDialog; поиск строки ReplaceDialog; поиск с заменой

Страница System

TTimer - таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval.

TPaintBox - место для рисования. В обработчики событий, связанных с мышкой передаются относительные координаты мышки в TPaintBox, а не абсолютные в форме.

Страница Dialogsкомпоненты для вызова стандартных диалогов WindowsOpenDialog; выбрать файл  SaveDialog; сохранить файлFontDialog; настроить шрифт ColorDialog; выбор

Слайд 5TFileListBox - специализированный ListBox, в котором отображаются файлы из указанной

директории (св-во Directory). На названия файлов можно наложить маску, для

этого служит св-во Mask. Кроме того, в св-ве FileEdit можно указать объект TEdit для редактирования маски.

TDirectoryListBox - специализированный ListBox, в котором отображается структура директорий текущего диска. В св-ве FileList можно указать TFileListBox, который будет автоматически отслеживать переход в другую директорию.

TDriveComboBox - специализированный ComboBox для выбора текущего диска. Имеет свойство DirList, в котором можно указать TDirectoryListBox, который будет отслеживать переход на другой диск.

TFilterComboBox - специализированный ComboBox для выбора маски имени файлов. Список масок определяется в свойстве Filter. В свойстве FileList указывается TFileListBox, на который устанавливается маска.
!!!! С помощью последних четырех компонент (TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox) можно построить свой собственный диалог выбора файла, причем для этого не потребуется написать ни одной строчки кода.

TMediaPlayer - служит для управления мултимедйными устройствами (типа CD-ROM, MIDI и т.п.). Выполнен в виде панели управления с кнопками Play, Stop, Record и др.

TFileListBox - специализированный ListBox, в котором отображаются файлы из указанной директории (св-во Directory). На названия файлов можно

Слайд 6Графические компоненты
TImage, TShape, TBevel.
TBevel - объект для украшения программы, может

принимать вид рамки или линии. Объект предоставляет меньше возможностей по

сравнению с TPanel, но не занимает ресурсов. Внешний вид указывается с помощью свойств Shape и Style.

Свойство объектов Canvas

У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них.

Canvas является объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Canvas обладает также рядом графических методов : Draw, TextOut, Arc, Rectangle и др. Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п. (без использования дополнительных ресурсов), однако при этом Вы должны обрабатывать событие OnPaint того объекта, на канве которого Вы рисуете.

Графические компонентыTImage, TShape, TBevel.TBevel - объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет

Слайд 7Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap

- картинка размером строго 8x8, используется для заполнения области.
Color -

цвет заливки.
Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - вид заливки тем какое Вы определили последним.
Handle - возможность использовать кисть в прямых вызовах процедур Windows API .
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
CopyMode - каким образом происходит копирование (метод CopyRect) на данную канву изображения из другого места: один к одному, с инверсией изображения и др.
Font - шрифт, которым выводится текст (метод TextOut).
Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии
Mode - режим вывода: простая линия, с инвертированием, с выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др.
Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства.
Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения .
Свойства Canvas :Brush -кисть, является объектом со своим набором свойств:Bitmap - картинка размером строго 8x8, используется для

Слайд 8Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo,

Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих

методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода картинок на канву - Draw и StretchDraw, В качестве параметров указываются прямоугольник и графический объект для вывода (это может быть TBitmap, TIcon или TMetafile). StretchDraw отличается тем, что растягивает или сжимает картинку так, чтобы она заполнила весь указанный прямоугольник.
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника. Длину и высоту текста можно узнать с помощью функций TextWidth и TextHeight.

Объект TPaintBox
На странице System Палитры Компонент есть объект TPaintBox, который можно использовать для построения приложений типа графического редактора или, например, в качестве места построения графиков. Никаких ключевых свойств, кроме Canvas, TPaintBox не имеет. Важно, что координаты указателя мыши, передаваемые в обработчики соответствующих событий (OnMouseMove и др.), являются относительными, т.е. это смещение мыши относительно левого верхнего угла объекта TPaintBox.

Методы Canvas:Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке

Слайд 9Свойства в Delphi
В отличие от “просто” поля, любое изменение значения

некоторого свойства любого компонента сразу же приводит к изменению визуального

представления этого компонента, поскольку свойство инкапсулирует в себе методы (действия), связанные с чтением и записью этого поля (которые, в свою очередь, включают в себя необходимую перерисовку).
Свойства служат двум главным целям:1) они определяют внешний вид формы или компонента; 2) свойства определяют поведение формы или компонента.

Простые свойства - значения которых являются числами или строками.
Перечислимые свойства - могут принимать значения из предопределенного набора (списка).
Вложенные свойства - поддерживают вложенные значения (или объекты). Object Inspector изображает знак “+” слева от названия таких свойств. Имеется два вида таких свойств: множества и комбинированные значения. Object Inspector изображает множества в квадратных скобках. Комбинированные значения отображаются в Инспекторе Объектов как коллекция некоторых величин, каждый со своим типом данных. Некоторые свойства для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя точками в правой части строки Инспектора Объектов.

Свойства в DelphiВ отличие от “просто” поля, любое изменение значения некоторого свойства любого компонента сразу же приводит

Слайд 10Delphi позволяет легко манипулировать свойствами компонент как в режиме проектирования

(design time), так и в режиме выполнения программы (run time).
В

режиме проектирования манипулирование свойствами осуществляется с помощью Дизайнера Форм (Forms Designer) или на страничке “Properties” Инспектора Объектов.

Управление свойствами визуальных компонент в режиме выполнения

Все изменения значений свойств компонент в режиме выполнения должны осуществляться путем прямой записи строк кода на языке Паскаль.

MyComponent.Width := 35;

Устанавливает ширину (Width) компонента в значение 35. Если свойство Width компонента еще не было равно 35 к моменту выполнения данной строки программы, Вы увидите, как компонента визуально изменит свою ширину.

Вам нет необходимости после изменения свойства Width указывать объекту, чтобы он перерисовал себя, хотя при обычном программировании именно так Вы и должны поступать.

Delphi позволяет легко манипулировать свойствами компонент как в режиме проектирования (design time), так и в режиме выполнения

Слайд 11Свойства формы

Свойства формы

Слайд 14Методы в Delphi
Создание методов с помощью визуальных средств
Синтаксический “скелет” метода

может быть сгенерирован с помощью визуальных средств - в Инспекторе

Объектов дважды щелкнуть мышкой на пустой строчке напротив названия интересующего Вас события в требуемом компоненте, если эта строчка не пуста, то двойной щелчок на ней переместит Вас в окне Редактора Кода в то место, где находится данный метод.

Метод - это процедура, которая определена как часть класса и инкапсулирована (содержится) в нем.
Методы манипулируют полями и свойствами классов (хотя могут работать и с любыми переменными) и имеют автоматический доступ к любым полям и методам своего класса. Доступ к полям и методам других классов зависит от уровня “защищенности” этих полей и методов. Методы можно создавать как визуальными средствами, так и путем написания кода вручную.

Методы в DelphiСоздание методов с помощью визуальных средствСинтаксический “скелет” метода может быть сгенерирован с помощью визуальных средств

Слайд 15Нет никакого функционального различия между модулями, созданными Вам в Редакторе,

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

на три секции:
Заголовок
Секция Interface
Секция Implementation

“Скелет” модуля выглядит следующим образом:

unit Main; {Заголовок модуля}
interface {Секция Interface}
implementation {Секция Implementation}
end.

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

Нет никакого функционального различия между модулями, созданными Вам в Редакторе, и модулями, сгенерированными Delphi автоматически. В любом

Слайд 16События в Delphi
Объекты из библиотеки визуальных компонент (VCL) Delphi, равно

как и объекты реального мира, имеют свой набор свойств и

свое поведение - набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть в Инспекторе Объектов на странице событий.

Среди набора событий для различных объектов из VCL есть как события, импортируемые из Windows (MouseMove, KeyDown), так и события, порождаемые непосредственно в программе (DataChange для TDataSource).

Поведение объекта определяется тем, какие обработчики и для каких событий он имеет. Создание приложения в Delphi состоит из настройки свойств используемых объектов и создания обработчиков событий.

События в DelphiОбъекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой

Слайд 17Типы данных, определенных в Delphi
Физические целые типы
Логические целые типы
по умолчанию

задано 32-разрядное представление чисел

Типы данных, определенных в DelphiФизические целые типыЛогические целые типыпо умолчанию задано 32-разрядное представление чисел

Слайд 18Операции с целыми
Операции отношения
Поразрядные операции: and, or, xor, not
Операции

сдвига: shl, shr
Арифметические операции

Операции с целымиОперации отношенияПоразрядные операции: and, or, xor, not Операции сдвига: shl, shr Арифметические операции

Слайд 19Побитовые операции

Побитовые операции

Слайд 20Стандартные функции для целых


Стандартные функции для целых

Слайд 21Павловская Т.А. (СПбГУИТМО)
Стандартные процедуры

Павловская Т.А. (СПбГУИТМО)Стандартные процедуры

Слайд 22
Физические символьные типы
Логический символьный тип именуется char. В классическом языке

Pascal char - единственный символьный тип. В Delphi char всегда

соответствует физическому типу данных AnsiChar.
Физические символьные типыЛогический символьный тип именуется char. В классическом языке Pascal char - единственный символьный тип.

Слайд 23Булевы типы
Для совместимости с другими языками определены типы ByteBool, WordBool

и LongBool длиной 1, 2 и 4 байта соответственно. Истинным

в них считается любое отличное от нуля значение.

Логические операции

Булевы типыДля совместимости с другими языками определены типы ByteBool, WordBool и LongBool длиной 1, 2 и 4

Слайд 24Операции отношения

Операции отношения

Слайд 25Действительные типы
Цветом выделены логические действительные типы
Арифметические
+ -

* /
Операции отношения
< = >=

<>

Действительные типыЦветом выделены логические действительные типыАрифметические+   -   *   /Операции отношения< 		=

Слайд 26Функции для действительных чисел

Функции для действительных чисел

Слайд 27Физические строковые типы
Логический строковый тип именуется просто String. Отнесение его

к типу AnsiString или ShortString задается командой $Н. По умолчанию

задается {$Н+}, и String совпадает с AnsiString.

Для совместимости с другими языками программирования в Delphi поддерживается класс строк с конечным нулем. Зарезервированных слов или идентификаторов для этого класса не существует. Строки с конечным нулем состоят из ненулевых символов и оканчиваются символом с порядковым номером 0 (#0). В отличие от типов AnsiString, ShortString и WideString, строки с нулевым окончанием не имеют указателя длины: Конец в этих строках обозначается нулем.

Физические строковые типыЛогический строковый тип именуется просто String. Отнесение его к типу AnsiString или ShortString задается командой

Слайд 28Строковые функции

Строковые функции

Слайд 29Функции работы со строками

Функции работы со строками

Слайд 30Функции сравнения строк

Функции сравнения строк

Слайд 31Тип дата-время
Этот тип служит для одновременного хранения даты и времени

и определяется с помощью ключевого слова TDateTime. Он занимает 8

байтов и представляет собой вещественное число с фиксированной дробной частью, в которой хранится время как доля суток, прошедшая с 0 часов. В целой части хранится дата как количество суток, прошедшее с 30 декабря 1899 года.
Над величинами этого типа можно выполнять те же операции, что и над вещественными числами. Кроме того, для работы с датой и временем определены стандартные подпрограммы.
Тип дата-времяЭтот тип служит для одновременного хранения даты и времени и определяется с помощью ключевого слова TDateTime.

Слайд 32Функции:
Now – возвращает сегодняшнее число и время;
Date – возвращает сегодняшнюю

дату;
Time – возвращает время;
DateTimeToStr – переводит дату и время в

строку;
DateToStr – переводит дату в строку;
TimeToStr – переводит время в строку.

Функции: Now – возвращает сегодняшнее число и время;Date – возвращает сегодняшнюю дату;Time – возвращает время;DateTimeToStr – переводит

Слайд 33Процедуры
FormatDateTime - преобразует дату и время в заданный формат.
StrToDate (S)

- преобразует строку в формат даты.
StrToDateTime (S) - преобразует строку

в формат даты/времени.
StrToTime (S) - преобразует строку в формат времени.
DayOfWee k (DT) - Возвращает целое значение, соответствующее дню недели в параметре типа TdateTime: 1="Воскресенье, 2=Понедельник,..., 7=Суббота
ПроцедурыFormatDateTime - преобразует дату и время в заданный формат.StrToDate (S) - преобразует строку в формат даты.StrToDateTime (S)

Слайд 34function Now: TDateTime;
Возвращает текущую дату и время
Writeln( Now);



Writeln( DateToStr(Now));

function Now: TDateTime;Возвращает текущую дату и времяWriteln( Now);Writeln( DateToStr(Now));

Слайд 35Процедура DecodeTime
Выделяет из переменной TDateTime часы минуты, секунды и миллисекунды

DecodeTime(Time,Hour,

Min, Sec, MSec);

Hour, Min, Sec, MSec типа Word
Time типа TDateTime

Процедура DecodeTimeВыделяет из переменной TDateTime часы минуты, секунды и миллисекундыDecodeTime(Time,Hour, Min, Sec, MSec);Hour, Min, Sec, MSec типа

Слайд 36var
Present: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec:

Word;
Begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
end.

var Present: TDateTime; Year, Month, Day, Hour, Min, Sec, MSec: Word;Begin Present:= Now; DecodeDate(Present, Year, Month, Day);end.

Слайд 37Динамические массивы
type mas = array of real;
mas2 = array of array

of real;

var a, b : mas; c : mas2;


Распределение памяти

выполняется с помощью процедуры SetLength, например:

SetLength(a, 3); { В массиве а – три элемента }

SetLength(c, 3); { В массиве c – три столбца }
SetLength(c[0], 5); { В столбце 0 – пять элементов }
SetLength(c[1], 5); { В столбце 1 – пять элементов }
SetLength(c[2], 6); { В столбце 2 – шесть элементов }
Динамические массивыtype	mas 	= array of real;		mas2 	= array of array of real;var a, b : mas; c

Слайд 38 Преобразование типов или приведение типов
Преобразователи типов напоминают стандартные функции Паскаля

с именами, совпадающими с именами базовых типов (Byte, Integer и

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

Например, значение Byte(300) равно 44

var X: Integer; L: Longint;  begin X := Integer (L * 1234567);

Однако подобным способом невозможно преобразовать число типа Real в число типа Integer или любое число в строку. Для таких, более сложных, преобразований типов в Delphi имеется набор стандартных функций, упрощающих процесс преобразования.

 Преобразование типов или приведение типовПреобразователи типов напоминают стандартные функции Паскаля с именами, совпадающими с именами базовых типов

Слайд 39Подпрограммы преобразования значений с плавающей запятой

Подпрограммы преобразования значений с плавающей запятой

Слайд 40Помимо стандартных функций, в Паскале имеется еще одна возможность явно

ука¬зывать, в какой тип должны быть приведены конкретные данные. Эта

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

var С: Byte;  . . . Char(C):= 'А';

Переменной С будет присвоен код ASCII символа 'А'. При этом необходимо, чтобы длины (в байтах) переменной и присваиваемого значения совпадали. Другая форма записи этого оператора:

С := Byte('А') ;

Помимо стандартных функций, в Паскале имеется еще одна возможность явно ука¬зывать, в какой тип должны быть приведены

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика