Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет2.doc
Скачиваний:
2
Добавлен:
25.08.2019
Размер:
711.17 Кб
Скачать

Розділ 6: «Розробка додатків з багатовіконним інтерфейсом.»

Створюю нову форму. На новій формі розташувати компоненти DB Grid і

DB Navigator. Для цього з меню File обираємо команду New, де вказуємо Form. На формі розташовуємо компоненти DBGrid і DBNavigator, для візуалізації таблиці «розраховані величини». Додаємо до поекту компоненту DataModule і розташовуємо на ній компоненти Table і DataSource для візуалізації двох таблиць.

Розташувати на обох формах компоненти MainMenu. Відкрити клацанням

миші MainMenu для побудови структури меню.

Рис 6.1

Меню повинно мати три команди:

  1. Робота з таблицею.

  2. Перехід на іншу форму.

  3. Вихід.

Команда меню «робота з таблицею» повинна мати вложені під команди:

  1. Видалення запису.

  2. Додавання запису.

  3. Наступний запис.

  4. Попередній запис.

          7.  Організація обчислень в таблицях бази даних.

Рис.6.2

В цьому коді для виведення похибок у вікно ListBox1 з масиву використовується:

ListBox1->Items->Append(poh[i]);

Для отримання опорів з таблиці і введення їх у масив використовується:

rt[i]=Table1->Fields->Fields[2]->AsFloat;

Для обчислення потужності використовується:

pr[i]=pow(it[i],2)*rt[i];

Для обчислення похибки використовується:

poh[i]=abs(pr[i]-pt[i]);

Надаємо програмі більш привабливого вигляду.

Запускаємо програму. Переконуємось у адекватності її роботи. Розроблена програма має вигляд:

Рис7.2

Зберігаємо проект у власний каталог.

Розділ 8: «Створення запитів sql для таблиць баз даних.»

Завантажуємо C++Builder. Створюємо нову форму на, якій розташовуємо об’єкти Query, Data Sourse, DBGrid та Table.

Рис.8.1

В об’єкті Query вказуємо DataBase Name- ім’я власного аліасу, властивість Activate встановлюємо True. Властивість Table Name не вказуємо, так як назви підключених таблиць вказуються безпосередньо при побудові звітів і запитів.

Для Data Sourse змінюємо властивість DataSetQueri1.

Для DBGrid- Data Sourse- Data Sourse1.

Рис.8.2

На об’єкті Query натискаємо праву кнопку миші, у контекстному меню вибираємо SQL Builder. В DataBase вказуємо ім’я власного аліасу, в вікні Table вибираємо таблицю розраховані величини.

Рис.8.3

Натискаємо кнопку пуск і отримуємо готовий запит:

Рис.8.4

Надаємо формі більш привабливого вигляду. Запускаємо програму і впевнюємось у адекватності її роботи (мал. 41). Зберігаємо проект у власний каталог.

Рис.8.5

Розділ №9:«Робота з графікою в середовищі C++ Builder»

Завантажуємо C++ Builder. Створюємо нову форму. Розташовуємо на формі компоненту Button, для неї пишемо код, який би малював на формі електричну схему.

Для малювання використовуються наступні функції:

1. Canvas->Pen->Color=.

Встановлення кольору пера для малювання.

2. Canvas->MoveTo(х,у).

Переміщення пера в точку з координатами х,у.

3. Canvas->LineTo(х,у).

Малювання лінії з початкової точки в точку з координатами х,у.

4. Canvas->Rectangle(х1,у1,х2,у2);

Малювання прямокутника з координатами двох вершин (х1,у1,х2,у2).

5. Canvas->Ellipse(х1,у1,х2,у2).

Малювання еліпса з координатами (х1,у1,х2,у2).

Програмні коди мають такий вигляд:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Canvas->Pen->Color=clRed;

Canvas->MoveTo(40,80);

Canvas->LineTo(120,80);

Canvas->Rectangle(120,70,160,90);

Canvas->MoveTo(80,80);

Canvas->LineTo(80,120);

Canvas->Rectangle(70,120,90,160);

Canvas->MoveTo(80,160);

Canvas->LineTo(80,200);

Canvas->LineTo(120,200);

Canvas->Rectangle(120,210,160,190);

Canvas->MoveTo(160,200);

Canvas->LineTo(240,200);

Canvas->Rectangle(240,210,280,190);

Canvas->MoveTo(280,200);

Canvas->LineTo(320,200);

Canvas->LineTo(320,160);

Canvas->Rectangle(330,160,310,120);

Canvas->MoveTo(320,120);

Canvas->LineTo(320,80);

Canvas->LineTo(280,80);

Canvas->Rectangle(280,90,240,70);

Canvas->MoveTo(240,80);

Canvas->LineTo(160,80);

Canvas->MoveTo(200,80);

Canvas->LineTo(200,124);

Canvas->Rectangle(190,120,210,160);

Canvas->MoveTo(200,160);

Canvas->LineTo(200,240);

Canvas->LineTo(40,240);

Canvas->Ellipse(35,75,45,85);

Canvas->Ellipse(35,235,45,245);

Canvas->MoveTo(30,88);

Canvas->LineTo(50,72);

Canvas->MoveTo(30,248);

Canvas->LineTo(50,232);

Canvas->TextOutA(135,55,"R2");

Canvas->TextOutA(255,55,"R5");

Canvas->TextOutA(135,175,"R3");

Canvas->TextOutA(255,175,"R6");

Canvas->TextOutA(95,135,"R1");

Canvas->TextOutA(215,135,"R4");

Canvas->TextOutA(335,135,"R7");

Canvas->Rectangle(400,80,610,240);

Canvas->MoveTo(400,100);

Canvas->LineTo(610,100);

Canvas->MoveTo(400,120);

Canvas->LineTo(610,120);

Canvas->MoveTo(400,140);

Canvas->LineTo(610,140);

Canvas->MoveTo(400,160);

Canvas->LineTo(610,160);

Canvas->MoveTo(400,180);

Canvas->LineTo(610,180);

Canvas->MoveTo(400,200);

Canvas->LineTo(610,200);

Canvas->MoveTo(400,220);

Canvas->LineTo(610,220);

Canvas->MoveTo(440,80);

Canvas->LineTo(440,240);

Canvas->MoveTo(480,80);

Canvas->LineTo(480,240);

Canvas->MoveTo(520,80);

Canvas->LineTo(520,240);

Canvas->MoveTo(560,80);

Canvas->LineTo(560,240);

}

//---------------------------------------------------------------------------

Компілюємо програму і отримаємо: