W Cat - Описание языка PascalABC.NET
- Название:Описание языка PascalABC.NET
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - Описание языка PascalABC.NET краткое содержание
PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.
Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
procedureSetMathematic;
Устанавливает правую систему координат (ось OY направлена вверх, ось OX - вправо)
procedureSetStandard;
Устанавливает левую систему координат (ось OY направлена вниз, ось OX - вправо)
Кроме того, можно изменять свойства системы координат, используя соответствующие процедуры и функции.
Подпрограммы блокировки рисования
procedureRedraw;
Перерисовывает содержимое графического окна. Вызывается в паре с LockDrawing |
procedureLockDrawing; Блокирует рисование на графическом окне. Перерисовка графического окна выполняется с помощью Redraw |
procedureUnlockDrawing; Снимает блокировку рисования на графическом окне и осуществляет его перерисовку |
Блокировка вывода в графическое окно LockDrawing с последующим вызовом Redraw используется для простейшего создания анимации без мерцания.
Пример.Анимация без мерцания
Подпрограммы режимов рисования
procedureSetSmoothing(sm: boolean);
Устанавливает режим сглаживания |
procedureSetSmoothingOn; Включает режим сглаживания |
procedureSetSmoothingOff; Выключает режим сглаживания |
functionSmoothingIsOn: boolean; Возвращает True, если режим сглаживания установлен |
procedureSetCoordinateOrigin(x0,y0: integer); Устанавливает начало координат в точку (x0,y0) |
События модуля GraphABC
Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены в модуле GraphABC и представляют собой процедурные переменные:
OnMouseDown: procedure(x,y,mousebutton: integer); Событие нажатия на кнопку мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши |
OnMouseUp: procedure(x,y,mousebutton: integer); Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши |
OnMouseMove: procedure(x,y,mousebutton: integer); Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. |
OnKeyDown: procedure(key: integer); Событие нажатия клавиши. key - виртуальный код нажатой клавиши |
OnKeyUp: procedure(key: integer); Событие отжатия клавиши. key - виртуальный код отжатой клавиши |
OnKeyPress: procedure(ch: char); Событие нажатия символьной клавиши. ch - символ, генерируемый нажатой символьной клавишей |
OnResize: procedure; Событие изменения размера графического окна |
OnClose: procedure; Событие закрытия графического окна |
Если переменной-событию присвоена некоторая процедура, она называется обработчиком данного события и автоматически вызывается при наступлении указанного события.
Параметры x и y в обработчиках OnMouseDown, OnMouseUp и OnMouseMove определяют координаты курсора мыши в момент наступления события, параметр mousebutton равен 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. Параметр key в обработчиках OnKeyDown и OnKeyUp определяет виртуальный код нажатой клавиши. Параметр ch в обработчике OnKeyPress определяет нажатый символ.
Пример 1.Рисование мышью в окне.
Пример 2.Перемещение окна с помощью клавиатуры.
Виртуальные коды клавиш
VK_Left
VK_Up |
VK_Right |
|
VK_Down |
VK_PageUp |
VK_PageDown |
VK_Prior |
VK_Next |
VK_Home |
VK_End |
VK_Insert |
VK_Delete |
VK_Enter |
VK_Return |
VK_Back |
VK_Tab |
VK_ShiftKey |
VK_ControlKey |
VK_F1 |
VK_F2 |
VK_F3 |
VK_F4 |
VK_F5 |
VK_F6 |
VK_F7 |
VK_F8 |
VK_F9 |
VK_F10 |
VK_F11 |
VK_F12 |
VK_Menu |
VK_Pause |
VK_CapsLock |
VK_Capital |
VK_PrintScreen |
VK_Help |
VK_Space |
VK_A |
VK_B |
VK_C |
VK_D |
VK_E |
VK_F |
VK_G |
VK_H |
VK_I |
VK_J |
VK_K |
VK_L |
VK_M |
VK_N |
VK_O |
VK_P |
VK_Q |
VK_R |
VK_S |
VK_T |
VK_U |
VK_V |
VK_W |
VK_X |
VK_Y |
VK_Z |
VK_LWin |
VK_RWin |
VK_Apps |
VK_Sleep |
VK_LineFeed |
VK_NumPad0 |
VK_NumPad1 |
VK_NumPad2 |
VK_NumPad3 |
VK_NumPad4 |
VK_NumPad5 |
VK_NumPad6 |
VK_NumPad7 |
VK_NumPad8 |
VK_NumPad9 |
VK_Multiply |
VK_Add |
VK_Separator |
VK_Subtract |
VK_Decimal |
VK_Divide |
VK_NumLock |
VK_Scroll |
VK_LShiftKey |
VK_RShiftKey |
VK_LControlKey |
VK_RControlKey |
VK_LMenu |
VK_RMenu |
VK_KeyCode |
VK_Shift |
VK_Control |
VK_Alt |
VK_Modifiers |
VK_Select |
VK_Print |
VK_Snapshot |
Модуль ABCObjects
Модуль ABCObjects: обзор
Модуль ABCObjects реализует векторные графические объекты с возможностью масштабирования, наложения друг на друга, создания составных графических объектов и многократного их вложения друг в друга. Каждый векторный графический объект корректно себя перерисовывает при перемещении, изменении размеров и частичном перекрытии другими объектами.
Модуль ABCObjects предназначен для раннего обучения основам объектно-ориентированного программирования, а также для реализации графических и анимационных проектов средней сложности. Он реализован на основе модуля GraphABC.
На основе модуля ABCObjects созданы модули ABCSprites, ABCButtons, ABCChessObjects, ABCHouse, ABCRobots, ABCAdditionalObjects.
Следующие темы помогут изучить возможности модуля ABCObjects:
ABCObjects: быстрое введение
Диаграмма классов ABCObjects
Классы ObjectABC, BoundedObjectABC
Классы RectangleABC, SquareABC, EllipseABC, CircleABC, RoundRectABC, RoundSquareABC, TextABC
Классы RegularPolygonABC, StarABC
Классы PictureABC, MultiPictureABC
Мультирисунки
Классы BoardABC, ObectBoardABC
Массив графических объектов Objects
Класс ContainerABC
Контейнеры графических объектов
Переменные, процедуры и функции модуля ABCObjects
Ускорение перерисовки графических объектов
Совмещение графического вывода модулей ABCObjects и GraphABC
Диаграмма классов
На рисунке приведена диаграмма классов модуля ABCObjects.
Интервал:
Закладка: