Компонент Image . Компонент Shape . Компонент PaintBox .
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Компонент Image

Страница палитры Additional. Используется для размещения на форме картинки. Файл изображения может быть битовой картой (расширение bmp), пиктограммой (ico), метафайлом (wmf). Непосредственный потомок класса TGraphicControl.

Canvas: Tcanvas предназначается для формирования изображения на этапе выполнения программы.

Center: Boolean;если true, то изображение центре компонента.

Picture: Tpicture – определяет изображение, помещаемое в компонент.

Stretch: Boolean - если значение true, то картинка увеличивается или уменьшается до размеров компонента.

Image обрабатывает все события от мыши.

Компонент Shape.

Страница палитры компонентов Additional. Экземплярами класса являются компоненты фигуры – круги, эллипсы, прямоуг и т.д.

Свойства

Brash:tBrash – кисть для закрашивания поверхности фигуры.

Pen:Tpen - карандаш для рисования контура фигуры.

Shape:Tshape – определяет фигуру выводимую на экран. Событием по умолчанию является OnDragDrop.

Компонент PaintBox

Страница System.

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

Свойство

OnPaint: TNotifyEvent;

возникает перед тем как компонент должен быть перерисован. Событие по умолчанию OnClick.

Диалоговые окна . OpenDialog, SaveDialog, FontDialog.

Диалоговые окна служат для открытия файлов (OpenDialog), сохранения файлов (SaveDialog), для настройки параметров шрифта (FontDialog).

Для любого диалогового окна метод
Function Execute: Boolean; - размещает это окно в модальном режиме. Возвращает ИСТИНА, если окно закрыто кнопкой Открыть, и ЛОЖЬ если кнопкой Отмена.


OpenDialog, SaveDialog

Property FileName: TFileName; - имя выбранного файла.

Property Files: TStrings; - содержит список имен выделенных файлов (только для чтения).

Property Filter:sting; - Содержит описание одного или нескольких файловых фильтров.

property FilterIndex:Integer; - определяет какой элемент фильтра будет показан по умолчанию при открытии диалогового окна.

Property InitialDir:string; - определяет папку, содержимое которой появляется при открытии диалогового окна.

FontDialog

Property Font:TFont;

Задает характеристики шрифта будет использоваться один из шрифтов, зарегистрированных в ОС.

Активизируется методом Execute.

  1. Создание меню. Класс TMenuItem. Контекстное меню PopupMenu.

Создание меню.

Для создания главного меню имеется невизуальный компонент MainMenu, расположенный на странице Standart.

Главное свойство, которого Items:TMenuItem;Default; - содержит элементы нулевого уровня нулевого уровня главного меню Процесс создания меню на этапе конструирования осуществляется с помощью встроенного конструктора меню (Menu Designer).

Для его вызова устанавливается компонент MainMenu; двоиной щелчок по нему, или контекстное меню и вызватьMenu Designer, или открыть меню Items.

Главное меню.

Каждый элемент меню представляет собой объект класса TMenuItem, который является непосредственным потомком TComponent.элемент меню может представлять собой:

подменю;

команду;

разделительную линию.

Bitmap:TBitmap – указатель на объект, содержащий побитовое отображение изображения. Используется для связывания элемента меню и изображения.

Caption:string; – текст элемента меню. Если перед символом поместить &, то создастся клавиша быстрого перехода (акселератор) для открытого меню. Переход осуществляется при нажатии Alt+символ.

Cheked:Boolean; – если ИСТИНА, элемент помечается галочкой

Count:Integer; - содержит число младших элементов, находящихся в свойстве Item. Доступно только для чтения.

Default:Boolean; - если ИСТИНА, то текст меню выделяется полужирным , а двойное нажатие старшего элемента приводит к появлению у текущего элемента обработчика события OnCleack. По умолчанию ЛОЖЬ. Enabled:Boolean;

Items[i]:TMenuItem;default; - задает младшие по отношению к текущему элементу. Число младших задается свойством Count. Нумерация с нуля, свойство доступно для чтения.

Type TShortCut=Low(Word)..High(Word);

Propery ShortCut:TShortCut; - определяет комбинацию «горячих» клавиш для быстрого выбора элемента меню.

 

Событие.

Property OnClick:TnotyfyEvent; - возникает при выборе элемента меню.

Контекстное меню PopupMenu.

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

Type TPopupAlignment=(paLeft,paRight,paCenter);

Property Alignment: TpopupAlignment; - определяет положение курсора относительно мыши: слева, справа, по центру.

Property AutoPopup:Boolean; - если ИСТИНА, то контекстное меню появляется при нажатии правой клавиши мыши. ЛОЖЬ - следует применять метод Popup

Procedure Popup(X,Y:Integer);virtual; - выводит на экран контекстное меню с координатами левого угла X Y.

Property OnPopup:TNotifyEvent; - возникает при выборе элемента меню и нажатии Enter или левой кнопки мыши.

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

 

 

  1. Обработка исключений. Глобальная и локальная обработка исключений. Операторы Try

 

Обработка исключений. Классы исключений. Наиболее часто используемые исключения.

Обработка исключений.

Механизм обработки ошибок инкапсулирован в классе Exception. Возникающие динамические ошибки (времени выполнения) автоматически преобразуются в средствами Делфи в объекты-исключения. Объект-исключение содержит информацию о типе ошибки и при возникновении исключения заставляет программу временно приостановиться. После обработки объекты-исключения автоматически удаляются.

 

Классы исключений.

Базовым классом для всех исключений служит класс Exception, описан он в модуле SysUtils. Потомки содержат большое количество исключений, которые могут возникнуть в процессе выполнения приложения. Любые новые исключения должны быть потомками Exception, что обеспечивает возможность их распознавания и обработки как исключения. Имена потомков исключения начинаются с Е.. Класс Exception происходит от Tobject и имеет простое описание 2 свойства и 8 методов. Исключения создаются при выполнении приложения, поэтому свойства доступны также при выполнении.

 

Свойства

 

Message:string;

Содержит описание исключения, при возникновении исключения этот текст возникает в диалоговом окне обработчика события.

 

HelpContext:ThelpContext;

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

 

Методы

 

Create(const Msg:String);

Конструктор, который создает объект исключение. Msg – текст исключения.

 

Наиболее часто используемые исключения.

Eabort - Тихое исключение без вызова глобального обработчика

Eout OfMemory - Нехватка оперативной памяти для выполнения операции.

EIntOutError - Базовый класс для ошибок связанных с целочисленными вычислениями

EmathError - Базовый класс для обработки ошибок с плавающей запятой.

EinvalidPointer - Некорректная операция с указателем.

EconvertError - Ошибка преобразования типа.

EcreateError - Ошибка создания файла.

EopenError - Ошибка открытия файла.

ElistError - Ошибка в списках.

EprinterError - Ошибка печати.

28. Обработка исключений. Глобальная обработка. Локальная обработка. Вызов исключений.

Обработка исключений.

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

 

Глобальная обработка.

Глобальная обработка реализуется через объект Application , который есть в любом приложении. При получении от операционной системы сообщения об исключении объект Application генерирует событие OnException, обработчик которого является глобальным обработчиком исключений

 

Локальная обработка.

Для локальной обработки в языке есть две конструкции

 

Try //инструкции, выполнение которых может вызвать ошибку

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

end;

try //инструкции, выполнение которых может вызвать ошибку

except // инструкции, которые должны быть выполнены при ошибке

end;

данная форма используется для перехвата исключения и его обработки. Работает конструкция так: если в try возникает исключение, входим в Except, иначе выполняем следующий оператор за end. Для исключений такого вида глобальный обработчик не вызывается, обработку ошибок делает сам программист.

 

Блок Except может быть разбит на несколько частей с помощью конструкций on…do, позволяющих анализировать класс исключения для его более удобной полной обработки

 

On {идентификатор: класс исключения} do {инструкция обработки исключения этого класса} else {инструкции};

 

procedure TForm1.Button1Click(Sender: TObject);

var x,y,res:real;

begin

try

x:=StrToInt(Edit1.Text); y:=StrToInt(Edit2.Text);

res:=x/y;

edit3.Text:=FloatToStr(res);

except

on EzeroDivide do

   begin

   messageDlg('попытка дел на нуль',mtError,[mbOk],0);

       edit2.SetFocus; edit3.Text:='ошибка';

   end;

end;

end;

Вызов исключений.

При необходимости исключение можно сгенерировать программно, для этого используется инструкция Raise, которая создает исключение, объект класса Exeption.

 

Raise ClassExeption.Method;

 

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

 

Пример:

 

function test(edt:string):string;

begin

if length(edt)>5

   then raise Exception.Create('слишком длинная строка')

   else test:=edt+'тел';

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

try

   edit1.Text:=test(edit1.Text);

except

   on EO:Exception do

       begin

           MessageDlg(EO.Message, mtError,[mbOK],0);

           edit1.SetFocus;

       end; 

end;

end;

  1. Finaly, try  except.

 

  1. Работа с файловой системой. Работа с диском SysUtils. Работа с каталогами и файлами.

Работа с файловой системой.

Для работы с файловой системой предназначены компоненты Win3.1 fileListBox DirectoryListBox, DriveComboBox, FilterComboBox.

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

Диск. SysUtils.

Для определения размера диска и свободного пространства  DiskSize(Drive:byte):Int64

DiskFree(Drive:byte):Int64 – возвращают размер в байтах, при ошибке –1

Drive:byte – номер диска: 0- текущий, 1-А, 2-В, 3-С и т.д. если задан номер не существующего устройства ошибка не генерится а выводится 0.

Каталоги. SysUtils.

GetCurrentDir: string – возвращает тек кат

SetCurrentDir(dir:string):boolean – смена каталога .

CreateDir(dir:string):Boolean

RemoveDir(dir:string):Boolean – создает новый и удаляет каталог (пустой )

Файлы.

FileCreate(FileName):integer – создает файл в качестве результата дискриптор

RenameFile(Old,NewName):Boolean; - переименует

DeleteFile(FileName):Boolean; - удаляет

FileGetAttr(FileName):integer; - возвращает атрибуты

FileSetAttr(FileName, attr:integer):integer; - устанавливает атрибуты .

Поиск и проверка наличия.

FileExist(filename):Boolean – проверяет наличие

FileSearch(Name,DirList):string – поиск по имени в каталогах

FindFirst(path,atr,seach) -

FindNext(path,atr,seach) – поиск в кат path с атр

FindClose(,seach)

Дата: 2019-07-25, просмотров: 199.