- •Ключевые особенности
- •Полная интеграция с web-службами бизнес-партнеров
- •Быстрая и эффективная разработка web-приложений
- •Высокопроизводительное промежуточное по для web-служб
- •Кросс-платформенные решения
- •Эффективная работа с корпоративными базами данных
- •Корпоративные приложения для электронного бизнеса
- •Технология быстрой разработки приложений
- •Диагностический инструмент CodeGuard
- •Полный контроль над сложными проектами
- •Решения "под ключ" на основе Borland InterBase
- •Требования к системе
- •Ход работы
- •4. Создание библиотеки dll
- •Создайте консольное приложение.
- •Создайте приложения с графическим интерфейсом.
- •Создайте простейшую dll и тестирующее ее приложение.
- •Теоретические сведения
- •Ход работы
- •11. Аналогично вставьте в форму еще несколько текстовых полей с вашими биографическими данными.
- •12. Вставьте в форму объект типа Image (изображение).
- •13. Вставьте свою портретную фотографию с помощью свойства Picture (иллюстрация) объекта Image1.
- •14. Вставьте свою художественную фотографию в форму поверх имеющейся, воспользовавшись еще одним объектом типа Image.
- •16. Вставьте в форму кнопки для подсвечивания фотографий – два объекта типа Button с названиями Button1 и Button2.
- •17. Запрограммируйте кнопку "Портретная фотография" так, чтобы после ее нажатия в форме появлялась портретная фотография.
- •18. Запрограммируйте кнопку "Художественная фотография" соответственно ее назначению (см. П. 17).
- •19. Выполните программу и убедитесь, что кнопки выполняют свои функции. Закройте окно программы "Анкета студента".
- •20. Сохраните созданную программу в своей папке.
- •21.Создайте exe-файл программы.
- •Задания
- •Лабораторная работа n 3
- •Задача про обмен валюты
- •Теоретические сведения
- •Ход работы
- •Откажитесь от возможности изменять размеры окна программы, придав свойству формы BoderStyle значение bsDialog.
- •Вставьте в форму два объекта типа RadioButton (переключатели), как показано на рисунке 1.
- •Запрограммируйте кнопку «Конец».
- •Запрограммируйте кнопку «Вычислить».
- •Создайте exe файл вашей программы.
- •Продемонстрируйте созданную форму преподавателю. Задания
- •Лабораторная работа n 4
- •Программирование циклов.
- •Объекты: Memo, MainMenu, PopurMenu, CheckBox, GroupBox
- •Задача табулирования функции
- •Теоретические сведения
- •Ход работы
- •Замените Caption формы с “Form1” на «Табулирование функции».
- •Табулирование функции
- •Табулирование функции
- •20. Запустите созданную программу и исследуйте ее работу.
- •Задания
- •Табулирование функции
- •Английский язик - тестирование
- •После размещения рисунков!!!
- •Теоретические сведения
- •Ход работы
- •2.Замените заголовок (Caption) формы с "Forml" на "Английский язык — тестирование".
- •3.Откажитесь от всех системных кнопок формы, задав значение False во всех позициях свойства Bordericons: biSystemMenu, biMinimize, biMaximize и biHelp.
- •4.Расположите на форме объекты так, как показан на рис. 1.
- •5. Дважды щелкните на первом таймере и запрограммируйте мигание сообщения "Обязательно нажмите на кнопку "Готово" после размещения рисунков!!!" так:
- •6. Введите описание глобальных переменных программы:
- •7. Вставьте рисунки factory.Bmp, shipping.Bmp и finance.Bmp с папки
- •8. Запрограммируйте конструктор формы tForm1::tForm1 и функцию Result() сообщения результатов теста:
- •10. Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков.
- •11. Создайте функцию lmageInShape для проверки расположения рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).
- •13. Запрограммируйте второй таймер, который обеспечивает индикацию времени выполнения от 100 до 0% со скоростью, обратно пропорциональной к числу в cSpinEdit1.
- •Сохраните программу и проект в рабочей папке.
- •Запустите программу. Перетягивайте мышью рисунки в середину соответствующих фигур. Закончите работу. Задания
- •Лабораторная работа n 6 объектно-ориентированное программирование в
- •Создания собственных классов. Наследование и виртуальные функции. Интерпретатор математических выражений.
- •Теоретические сведения
- •Ход работы
- •6. Введите математические выражения в поля Edit1 и Edit2 и очистите поля результатов Edit3 и Edit4. Запрограммируйте кнопку „Выход".
- •7. Задайте начальную точность вычислений, которая равна двум десятичным знакам.
- •8. Запрограммируйте кнопку „Вычислить” так:
- •9. Запрограммируйте функцию, которая будет выполняться после изменения числа в поле ComboBox1.
- •Задания
- •2. Вычислите значение функции от двух переменных f(X,y).
- •Лабораторная работа n 7
- •Усовершенствования интерпретатора математических выражений. Вычисление первой и второй производной
- •Ход работы
- •Создайте форму, показанную на рис. 1.
- •Введите описания классов и функций, которые будут использоваться в этой задаче.
- •5.Запрограммируйте кнопку "Вычислить" таким образом:
- •6. Запрограммируйте функцию, которая будет выполняться после изменения числа y поле ComboBox1.
- •Сохраните программу и убедитесь в ее работоспособности. Задания
8. Запрограммируйте конструктор формы tForm1::tForm1 и функцию Result() сообщения результатов теста:
_fastcall TForm1::TForm1(TComponenr* Owner): TForm(Owner)
{
x1 = Image1 -> Left; // Сохраняем начальные координаты
x2 = lmage2 -> Left; // левых верхних углов
хЗ = lmage3 -> Left; // трех рисунков в форме
y = lmage1 -> Тор;
}
void Result(info msg)
{
// Останавливаем таймеры:
Form1 -> Timer1 -> Enabled = false;
Form1 -> Timer2 -> Enabled = false;
// Считываем звуковой файл:
if (msg == right) Form1 -> MediaPlayer1 -> FileName = "tada.wav";
else Form1 -> MediaPlayer1 -> FileName = "ding.wav";
// Открываем плеер
Form1 -> MediaPlayer1 -> Open();
// Воссоздаем звук
Form1 -> MediaPlayer1 -> Play();
// Открываем окно сообщения
if (msg = = right) Application -> Меssageвох ("Правильно!",
"Сообщения", MB_OK);
if (msg = = wrong) Application -> MessageBox ("Hеправильно!",
"Сообщения", MB_OK);
if (msg = = more) Application -> MessageBox ("Попpo6yйте еще раз!",
"Сообщения", MB_OK);
Form1 -> Timer1 -> Enabled = true; // Запускаем таймеры
Form1 -> Timer2 -> Enabled = true;
Form1 -> ProgressBar1->Position = 100; // Индикатор на начало
Form1 -> lmage1 -> Left = x1; // Возвращаем рисунки в
Form1 -> lmage2 -> Left = x2; // исходное положение
Form1 -> lmage3 -> Left = х3;
Form1 -> lmage1 -> Top = y;
Form1 -> lmage2 -> Top = y;
Form1 -> lmage3 -> Top = y;
}
Функция Result() не является методом класса Form1. Поэтому изменение свойств любых объектов формы в ней происходит путем явного указания имени формы Form1 перед именем соответствующего объекта, например, Form1->Timer1->Enabled.
9. Обеспечьте перетягивание первого рисунка на форме, запрограммировав обработки таких трех событий для объекта lmage1: OnMouseDown (ЕслиНажатьМышь), OnMouseMove (ЕслиТянутьМышь) и OnMouseUp (ЕслиОтпуститьМышь). Для заполнения заготовок приведенных функций воспользуйтесь закладкой Events окна инспектора объектов первого рисунка.
void_fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
click = true; // click - это индикатор нажатия на клавишу мыши
shift = X; // Запоминаем координату (X;Y) точки
shift = Y; // щелканья мышью внутри рисунка
}
void_fastcall TForm1 ::Image1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
if (click) { // Если нажата клавиша мыши, изменяем
// координаты рисунка на величину
// изменения координаты
Image1 ->Left = Image1 ->Left + X - shiftX; // указателя мыши (X;Y) с
Image1->Top =Image1->Top +Y-shiftY; //учетом его
// смещений в середине } //рисунка shiftX, shiftY
}
void_fastcall TForm1::lmage1MouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, lnt X, int Y)
{
// Запоминаем, что клавиши мыши отпущенная
click - false;
}
Обратите внимание, что программа не проверяет, на какую именно клавишу мыши нажал пользователь, и потому перетягивание можно осуществлять любой клавишей. Проверить клавиши мыши можно, проанализировав аргумент Button (типа TMouseButton) приведенных функций: Button = {mbLeft (левая клавиша), mbRight (права), mbMiddle (средняя)}. Координаты указателя мыши в пикселях передаются в функции с помощью аргументов X и Y целого типа.
