Лабораторная работа № 1 ОПРЕДЕЛЕНИЕ ОСНОВНЫХ ПАРАМЕТРОВ РЕАЛИЗАЦИИ АЛГОРИТМОВ НА ЭВМ 1. Цель работы. Исследование свойств алгоритмов, реализуемых на ЭВМ, и способов определения основных параметров машинных алгоритмов. В результате выполнения лабораторной работы студент получает знания по основным параметрам и характеристикам алгоритмов и навыки по их определению для различного класса задач, с использованием двух основных методов Читать далее
All posts by admin
ОПРЕДЕЛЕНИЕ МИНИМАЛЬНОГО БЫСТРОДЕЙСТВИЯ ПРОЦЕССОРА
Лабораторная работа №2 ОПРЕДЕЛЕНИЕ МИНИМАЛЬНОГО БЫСТРОДЕЙСТВИЯ ПРОЦЕССОРА 1. Цель работы Исследование способов организации вычислительного процесса в цифровых управляющих системах и определение быстродействия процессора ЦВМ. В ходе выполнения работы студент знакомится с основными способами организации вычислительного процесса для различных режимов работы ВС и получает навыки расчета его количественных характеристик и формирования требований к быстродействию процессора для Читать далее
ОПРЕДЕЛЕНИЕ ХАРАКТЕРИСТИК РАЗОМКНУТЫХ СТОХАСТИЧЕСКИХ СЕТЕЙ
Лабораторная работа №3 ОПРЕДЕЛЕНИЕ ХАРАКТЕРИСТИК РАЗОМКНУТЫХ СТОХАСТИЧЕСКИХ СЕТЕЙ 1. Цель работы Исследование методов моделирования вычислительных систем при различных режимах обработки данных на основе аппарата разомкнутых стохастических сетей. В результате выполнения работы студент знакомится с принципами построения математических моделей ВС на основе использования теории массового обслуживания и получает навыки по расчету основных характеристик вычислительного процесса и Читать далее
ОПРЕДЕЛЕНИЕ ХАРАКТЕРИСТИК ЗАМКНУТЫХ СТОХАСТИЧЕСКИХ СЕТЕЙ
Лабораторная работа №4 ОПРЕДЕЛЕНИЕ ХАРАКТЕРИСТИК ЗАМКНУТЫХ СТОХАСТИЧЕСКИХ СЕТЕЙ Цель работы Исследование методов моделирования вычислительных систем, работающих в режимах, характеризующихся постоянством поступления заявок, на основе использования аппарата замкнутых стохастических сетей. В результате выполнения работы студент знакомится с принципами построения математических моделей ВС на основе использования теории массового обслуживания и получает навыки по расчету основных характеристик вычислительного Читать далее
Создание графических изображений в ИСР C++ Builder
Построение графических изображений Использование готовых графических файлов Компонент Image и некоторые его свойства Нередко возникает потребность украсить свое приложение какими-то картинками. Это может быть графическая заставка, являющаяся логотипом вашего приложения. Или это могут быть фотографии при разработке приложения, работающего с базой данных сотрудников некоего учреждения. В первом случае вам потребуется компонент Image, расположенный на странице Читать далее
Простое приложение для просмотра графических файлов
Вы создали приложение, в котором на форме отображается выбранная вами в процессе проектирования картинка. Вы можете легко превратить его в более интересное приложение, в котором пользователь сможет просматривать и загружать любые графические файлы. Для этого достаточно перенести на форму компонент OpenPictureDialog, расположенный в библиотеке на странице Dialogs и вызывающий диалоговое окно открытия и предварительного просмотра Читать далее
Форматы графических файлов
Прежде, чем продвигаться дальше, поговорим немного о форматах графических файлов. C++Builder поддерживает три типа файлов — битовые матрицы, пиктограммы и метафайлы. Все три типа файлов хранят изображения; различие заключается лишь в способе их хранения внутри файлов и в средствах доступа к ним.
Классы для хранения графических объектов TPicture, TBitmap, Tkon и TMetafile
Выше были рассмотрены типы графических файлов. Для хранения графических объектов, содержащихся в битовых матрицах, пиктограммах и метафайлах, в C++Builder определены соответствующие классы — TBitmap, TIcon и TMetafile. Все они являются производными от абстрактного базового класса графических объектов TGraphic. Кроме того определен класс, являющийся надстройкой над TBitmap, TIcon и TMetafile и способный хранить любой из этих Читать далее
Создание файла изображения в C++Builder
В C++Builder имеется встроенный Редактор Изображений — Image Editor, который вызывается командой Tools Image Editor. Окно Редактора Изображений представлено на рис. 3 а. Это сравнительно простой редактор с не очень богатыми возможностями. Он позволяет создавать изображения в виде битовых матриц, пиктограмм, изображений курсоров и не только сохранять созданные изображения в виде файлов, но и сразу Читать далее
Создание пиктограммы для шаблона компонента в библиотеке
Рассмотрим отдельно возможную процедуру создания собственных пиктограмм для библиотеки компонентов, если вы помещаете туда новый компонент или шаблон. Посмотрим, как можно украсить компоненты собственными пиктограммами.
Создание пиктограммы для кнопки
Теперь мы попробуем создать пиктограмму для кнопки. Такие кнопки, как SpeedButton и BitBtn, могут воспринимать пиктограммы, загружаемые в их свойство Gliph. Одно изображение пиктограммы имеет размер 16×16. Но в одном файле может содержаться до четырех изображений такого размера. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false. Третье Читать далее
Создание пиктограммы для кнопки
Теперь мы попробуем создать пиктограмму для кнопки. Такие кнопки, как SpeedButton и BitBtn, могут воспринимать пиктограммы, загружаемые в их свойство Gliph. Одно изображение пиктограммы имеет размер 16×16. Но в одном файле может содержаться до четырех изображений такого размера. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false.
Работа с файлами ресурсов
В предыдущих разделах рассматривалась последовательность создания новых файлов картинок и пиктограмм. Теперь рассмотрим случай, когда требуется включить картинку, пиктограмму или курсор в файл ресурсов какого-то проекта или компонента. Файлы ресурсов проектов имеют расширение .res и содержат битовые матрицы (.bmp), пиктограммы (.ico), изображения курсоров (.cur), используемые в проекте.
Канва — холст для рисования
Многие компоненты в C++Builder имеют свойство Canvas (канва, холст), представляющее собой область компонента, на которой можно рисовать или отображать готовые изображения. Это свойство имеют формы, графические компоненты Image, PaintBox, Bitmap и многие другие. Канва содержит свойства и методы, существенно упрощающие графику C++Builder. Все сложные взаимодействия с системой спрятаны для пользователя, так что рисовать в C++Builder Читать далее
Рисование по пикселям
Рисовать на канве можно разными способами. Первый вариант — рисование по пикселям. Для этого используется свойство канвы Pixels. Это свойство представляет собой двумерный массив Canvas->Pixels[int X][int Y], который отвечает за цвета канвы. Например, Canvas->Pixels[10][20] соответствует цвету пикселя, 10-го слева и 20-го сверху. С массивом пикселей можно обращаться как с любым свойством: изменять цвет, задавая пикселю Читать далее
Рисование с помощью пера Реп
У канвы имеется свойство Pen — перо. Это объект, в свою очередь имеющий ряд свойств. Одно из них уже известное вам свойство Color — цвет, которым наносится рисунок. Второе свойство — Width (ширина линии). Ширина задается в пикселях. По умолчанию ширина равна 1. Свойство Style определяет вид линии. Это свойство может принимать следующие значения:
Brush — кисть
У канвы имеется свойство Brush — кисть. Это свойство определяет фон и заполнение замкнутых фигур на канве. Brush — это объект, имеющий в свою очередь ряд свойств. Свойство Color определяет цвет заполнения. Свойство Style определяет шаблон заполнения (штриховку).
Режимы рисования
У пера Pen имеется еще одно свойство, которое мы пока не рассматривали. Это свойство — Mode (режим). Возможные значения Mode приведены в справочной части книги в главе 16. По умолчанию значение Mode = pmCopy. Это означает, что линии проводятся цветом, заданным в свойстве Color. Но возможны и другие режимы, в которых учитывается не только цвет Читать далее
Режимы копирования и рисования канвы
Ранее мы рассматривали и использовали копирование одного графического объекта в другой методом Assign. Однако, у канвы имеются и другие методы копирования. Это прежде всего метод CopyRect, позволяющий копировать прямоугольную область источника изображения в прямоугольную область данной канвы. Метод определен следующим образом: void _fastcall CopyRect(const Windows::TRect &Dest, TCanvas* Canvas, const Windows::TRect &Source); Параметр Dest определяет прямоугольную Читать далее
События OnPaint
До сих пор мы рисовали в основном на канве компонента Image. Но канву имеет не только Image. Ее имеют и многие другие компоненты, например, формы. Все, что ранее вы рисовали на канве компонентов типа TImage, вы могли бы рисовать и на форме. Кроме того имеется специальный компонент PaintBox, имеющий канву и позволяющий рисовать на ней. Читать далее
Продолжение изучения C++Builder.
Организация проекта в C++Builder, основные файлы проектов Проект C++Builder состоит из форм, модулей с их заголовочными файлами и файлами реализации, установок параметров проекта, ресурсов и т.д. Вся эта информация размещается в файлах. Многие из этих файлов автоматически создаются C++Builder, когда вы строите ваше приложение. Ресурсы, такие, как битовые матрицы, пиктограммы и т.д., находятся в файлах, Читать далее
Менеджер проектов (Project Manager)
Менеджер Проектов (Project Manager) — это инструмент управления группами проектов. Группа проектов — это термин обозначающий группу родственных проектов, с которыми удобно работать параллельно. Например, это могут быть проекты клиента и сервера, обменивающихся какой-то информацией, или проект, создающий библиотеку DLL, и проект, использующий ее.
Справочная система C++Builder и программа ее конфигурирования OpenHelp
Справка в C++Builder может вызываться из меню Help. Это меню имеет, в частности, разделы: C++Builder Help вызов справки по C++Builder и C++ C++Builder Tools вызов справок по инструментарию Windows API/SDK Help вызов справок по Windows
Графики и диаграммы — компонент Chart
Компонент Chart позволяет строить различные диаграммы и графики, которые выглядят очень эффектно (рис. 2). Компонент имеет множество свойств, методов, событий, так что если все их рассматривать, то этому пришлось бы посвятить целую главу. Поэтому ограничимся рассмотрением только основных характеристик Chart.
Таймер — компонент Timer
Компонент Timer позволяет задавать в приложении интервалы времени. Таймер находит многочисленные применения: синхронизация мультипликации, закрытие каких-то окон, с которыми пользователь долгое время не работает, включение хранителя экрана или закрытие связей с удаленным сервером при отсутствии действий пользователя, регулярный опрос каких-то источников информации, задание времени на ответ в обучающих программах — все это множество задач, в Читать далее
Обработка событий клавиатуры и мыши
Все действия пользователя при взаимодействии с приложением сводятся к перемещению мыши, нажатию кнопок мыши и нажатию клавиш клавиатуры. Рассмотрим обработку в приложении событий, связанных с этими манипуляциями пользователя.
События клавиатуры в C++Builder
В оконных компонентах C++Builder определены три события, связанные с клавиатурой. Это события: Событие Описание OnKeyDown Событие наступает при нажатии пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ нажатой клавиши
Распознавание нажатых клавиш в С++ Builder
Заголовок обработчика события OnKeyDown может иметь, например, следующий вид: void_fastcall TForml::EditlKeyDown(TObject *Sender, WORD SKey, TShiftState Shift)
Создание визуальных компонентов в ИСР C++ Builder.
ЛАБОРАТОРНАЯ РАБОТА №5. Тема: Создание визуальных компонентов в ИСР C++ Builder. Введение Процесс разработки собственного компонента (назовем его TMyComponent) проходит через выполнение следующих обязательных этапов:
Изучение возможностей графического редактора Paint
Тема: «Изучение возможностей графического редактора Paint» Ход работы: 1. Запустить редактор: Пуск?Программы?Стандартные?Paint. 2. Изучить окно редактора, меню, настройки. Для защиты лабораторной работы необходимо ответить на следующие контрольные вопросы: 1. Рисование линий и фигур. a. Рисование прямой линии b. Рисование произвольной линии c. Рисование кривой
