
- •Динамическая память и указатели. Типы указателей. Описание указателей.
- •Операции над указателями. Выделение динамической памяти для типизированных и нетипизированных указателей. Проблема утечки памяти.
- •Стеки и очереди.
- •Модули.
- •Классы, объекты. Объявление класса, принципы ооп.
- •Инкапсуляция и разграничение доступа к членам класса.
- •Методы (виды методов), конструктор и деструктор.
- •Перекрытие методов, перекрытие конструктора, inherited
- •Поля, Свойства. События
- •Полиморфизм is, as.
- •Дерево классов delphi. Класс tObject. Класс tPersistent. Класс tСomponent.
- •Класс tСontrol.
- •Свойства и методы для обеспечения отношения родительский-дочерний
- •Свойства позиционирования и выравнивания
- •Свойства, определяющие внешний вид элементов управления. Property Color Cursor:Tcursor; Enabled:Boolean; Font, Hint, ShowHint
- •События при нажатии мышью на левую кнопку. Общие события, возникающие при манипулировании мышью.
- •События, предназначенные для поддержки перетаскивания.
- •Свойства и методы, поддерживающие связь родительский-дочерний.
- •События клавиатуры TwinControl. События активизации оконного элемента и потери фокуса.
- •Класс tGraphicControl. Метка Tlabel. Компонент Timer.
- •Interval: cardinal; - интервал в милисекундах после которого начинается событие OnTimer.
- •Класс tCustomEdit. Строка ввода Edit.
- •Класс tStrings. Текстовый редактор Memo.
- •Кнопки.Button, BitBtn, SpeedButton
- •Список ListBox.
- •Комбинированная строка ввода ComboBox.
- •Items:tString;-содержит список названий переключателей.
- •Классы и компоненты, предназначенные для создания изображений. Класс tCanvas. Класс tFont. Класс tPen. Класс Tbrush.
- •Компонент Image. Компонент Shape. Компонент PaintBox.
- •Диалоговые окна. OpenDialog SaveDialog
- •Этапы развития технологии программирования.
- •Первый этап - «стихийное» программирование (50-60-е годы).
- •Второй этап - структурный подход к программированию
- •Третий этап -объектный подход к программированию(с середины 80-х до конца 90-х годов XX )
- •Четвертый этап – компонентный подход и case-технологии (с середины 90-х годов до нашего времени).
- •Проблемы разработки сложных программных систем.
- •Блочно-иерархический подход к созданию сложных систем.
- •Жизненный цикл по и этапы его разработки. Гост 19.102-77 «Стадии разработки»
- •Постановка задачи. Анализ требований и определение спецификаций. Проектирование. Реализация. Сопровождение.
- •Эволюция моделей жизненного цикла по.
- •Жизненный цикл по при использовании case-технологий. Технология rad
- •Оценка качества процессов создания по.
- •5. Оптимизирующий уровень (optimizing level)
- •Понятие технологичности программного обеспечения. Нисходящая и восходящая разработка по
- •Последовательность проектирования и реализации (Иерархический , Операционный , Комбинированный)
- •Модульное программирование. Модули и их свойства. Сцепление модулей. Связность модулей.
- •Предпроектные исследования предметной области
- •Разработка технического задания. Последовательность разработки тз.
- •Принципиальные решения начальных этапов проектирования: Выбор архитектуры программного обеспечения. Выбор типа пользовательского интерфейса. Выбор подхода к разработке.
- •Стадии тестирования. Принципы тестирования. Формирование тестовых наборов ст иФн.
- •Ручной контроль по: инспекция исходного текста, сквозные просмотры, проверка за столом.
- •Структурное тестирование.
- •Функциональное тестирование.
- •Тестирования модулей и комплексное тестирование.
- •Критерии завершения тестирования и отладки. Оценочное тестирование
События при нажатии мышью на левую кнопку. Общие события, возникающие при манипулировании мышью.
События при нажатии мышью на левую кнопку
Type
TNotifyEvent=procedure(Sender:Tobject) of object; Property OnClick:TNotifyEvent;
- возникает при выборе элемента управления, если была нажата и отпущена левая кнопка мыши.
Property OnDblClick:TNotifyEvent
– возникает при двойном щелчке левой клавишей мыши по элементу управления.
Общие события, возникающие при манипулировании мышью.
Type TMouseEvent=procedure(Sender:Tobject; Button:TMouseButton; Shift:TShiftState;X,У:integer) of object; Property OnMouseDown: TMouseEvent; Property OnMouseUp: TMouseEvent; - событие возникает при нажатии /отпускании клавиши мыши, когда указатель мыши находится над элементом управления.
Button (mbLeft, mbRight, mbMiddle)- какая кнопка мыши нажата. Shift [SsShift, ssLeft, ssRight, ssMiddle, ssAlt, ssCtrl]– множество, обозначающее кнопки нажатые одновременно с Shift,Alt,Ctrl. X,Y –координаты указателя мыши в клиентской области компонента.
Type TMouseEvent=procedure(Sender:Tobject; Button:TMouseButton; Shift:TShiftState;X,У:integer) of object; Property OnMouseMove:TMouseMoveEvent; - событие возникает при перемещении курсора мыши, над элементом управления
События, предназначенные для поддержки перетаскивания.
Type TStartDragEvent = procedure (Sender:TObject; var DragObject:TdragObject) of object; Property OnStartDrag:TStartDragEvent; - событие возникает, когда начинается перетаскивание компонента. Параметр DragObject содержит ссылку на объект, используемый для формирования изображения элемента управления во время перетаскивания. По умолчанию равняется nil, что означает, переноситься будет сам компонент.
Type TDragOverEvent=procedure (Sender, Source: TObject; X, Y:Integer; State:TdragState;var Accept:Boolean) of object; Property OnDragOver: TdragOverEvent; событие возникает в процессе перетаскивания, когда перетаскиваемый компонент Source находится над элементом Sender X, Y – глобальные координаты курсора мыши. State определяет состояние перетаскиваемого компонента по отношению к другим компонентам там возможны следующие состояния: dsDragEnter – курсор входит в пределы компонента; dsDragMove – курсор перемещается в пределах компонента; dsDragLeave – курсор выходит за пределы компонента.
Type TDragDropEvent=procedure (Sender,Source:TObject; X,Y:Integer) of object; Property OnDragDropEvent; - событие возникает в момент, когда Source опускается на элемент Sender. Type TEndDragEvent = procedure (Sender,Target:TObject; X,Y:integer) of object; Property OnEndDrag:TendDragEvent; - событие возникает, когда завершается перетаскивание элемента управления Sender над элементом Target
Свойства и методы, поддерживающие связь родительский-дочерний.
Потомки TControl – являются оконными элементами управления.
Такие элементы во время выполнения программы могут получать фокус ввода, реагируют на события, возникающие при использовании клавиатуры. Наличие окна позволяет активизировать элемент управления во время выполнения программы.
Каждое окно Windows связано со специальным числовым идентификатором – дескриптором окна.
В этом классе завершается определение характеристик связи родительский дочерний, начатое в TControl (только оконный элемент может быть контейнером).
ContolCount: Integer; Controls[Index:integer]:TControl; ParentCtrl3D: Boolean;
СВОЙСТВА ContolCount: Integer; - задает кол-во дочерних эл-в управления.
Controls[Index:integer]:TControl; - массив дочерних ParentCtrl3D: Boolean; – используется ли значение свойства Ctrl3D родителя
МЕТОДЫ
Function ContainIsControl(Control:TControl):Boolean; - истина, если текущий элемент управления является родительским по отношению к Control
Procedure InsertControl(AControl:TControl); - помещает компонент AControl в свойство-массив Controls данного оконного элемента.
RemoveControl(AControl:TControl); - удаляет компонент AControl из свойства-массива Controls данного оконного элемента
ВАЖНЫЕ СВОЙСТВА И МЕТОДЫ
СВОЙСТВА
Brush: TBrush; - задает кисть с помощью которой рисуется фон.
Ctrl3D:Boolean; - элемент выглядит как объемный/ плоский.
Handle:HWND; - определяет числовой дескриптор окна.
Showing:Boolean; - или компонент виден на экране (аналогично Visible)
Type
TTabOrder=-1..32767;
TabOrder:TTabOrder; - определяет позицию компонента в последовательности табуляции родителя.
TabStop:Boolean; - или компонент находится в списке табуляции, False недоступен.
Type
TRect = record
Case integer of
0: (left, top, right, bottom: integer);
1: (TopLeft, BottomRight: TPoint);
end;
МЕТОДЫ
Function CanFocus:Boolean;dynamic; - может ли элемент получить фокус.
Function Focused:Boolean;dynamic; - получил ли оконный элемент фокус ввода.
Procedure SetFocus;virtual; - передает фокус ввода данному оконному элементу.