Наш проект складається з різних файлів, які між собою зв’язані та тісно позязані, якщо одного файла будет не вистачати, програма не буде працювати, а якщо запустить то працюватиме не коректно. В каталозі, де записаний проект, знаходиться як мінімум шість файлів. Їх автоматично створив і належним чином наповнив C++ Builder. Взагалі, C++ Builder багато робить за програміста, але, по-перше, не всі, а, по-друге, бувають випадки, коли це заважає.
Отже в будь-якому проекті є:
· Вихідний файл проекту (project source fail) (Project1.cpp)-містить WinMain і код, який C++ Builder пише автоматично.
· Вихідний файл форми (form source file) (Unit1.cpp) і заголовний файл форми (form header file) (Unit1.h)-ця пара завжди відповідає одній з форм, в цих файлах знаходиться код внесений середовищем і програмістом (C++ Builder тут вставляє тільки оголошення та оформляє функції, решту пишете прогрміст).
· Файл ресурсів форми (form resource file) (Unit1.dfm)-цей файл теж створюється з кожною новою формою, цей файл містить опис форми.
· Файл ресурсів програми (application resource fail) (Project1.res) - стандартний файл ресурсів, тут містяться ресурси для всього додатки (іконка і т.п.)
· Інформаційний файл проекту (Project1.bpr)-тут інсталяційні опції компілятора і всякий збір файлів які потрібні для компіляції.
Створюваний проект містить: Project1.cpp, Project1.bpr, Project1.res, Project1.exe, Unit1.dfm, Unit3.dfm, Unit5.dfm, Unit6.dfm, Unit7.dfm, Unit8.dfm, Unit1.cpp, Unit3.cpp, Unit5.cpp, Unit1.h, Unit3.h, Unit5.h. Unit6.cpp Unit7.cpp Unit8.cpp Якщо видалити хоча б один файл, програма буде працювати не коректно або зовсім не запускатися.
Лістинг Project1.bpr
# Наш проект складається з різних файлів, які між собою зв’язані та тісно позязані, якщо одного файла будет не вистачати, програма не буде працювати, а якщо запустить то працюватиме не коректно. В каталозі, де записаний проект, знаходиться як мінімум шість файлів. Їх автоматично створив і належним чином наповнив C++ Builder. Взагалі, C++ Builder багато робить за програміста, але, по-перше, не всі, а, по-друге, бувають випадки, коли це заважає.
Отже в будь-якому проекті є:
· Вихідний файл проекту (project source fail) (Project1.cpp)-містить WinMain і код, який C++ Builder пише автоматично.
· Вихідний файл форми (form source file) (Unit1.cpp) і заголовний файл форми (form header file) (Unit1.h)-ця пара завжди відповідає одній з форм, в цих файлах знаходиться код внесений середовищем і програмістом (C++ Builder тут вставляє тільки оголошення та оформляє функції, решту пишете прогрміст).
· Файл ресурсів форми (form resource file) (Unit1.dfm)-цей файл теж створюється з кожною новою формою, цей файл містить опис форми.
· Файл ресурсів програми (application resource fail) (Project1.res) - стандартний файл ресурсів, тут містяться ресурси для всього додатки (іконка і т.п.)
· Інформаційний файл проекту (Project1.bpr)-тут інсталяційні опції компілятора і всякий збір файлів які потрібні для компіляції.
Створюваний проект містить: Project1.cpp, Project1.bpr, Project1.res, Project1.exe, Unit1.dfm, Unit3.dfm, Unit5.dfm, Unit1.cpp, Unit3.cpp, Unit5.cpp.Якщо видалити хоча б один файл, програма буде працювати не коректно або зовсім не запускатися.
Лістинг Project1.bpr
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
USEFORM("Unit2.cpp", Form2);
USEFORM("Unit3.cpp", Form3);
USEFORM("Unit4.cpp", Form4);
USEFORM("Unit5.cpp", Form5);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->CreateForm(__classid(TForm2), &Form2);
Application->CreateForm(__classid(TForm3), &Form3);
Application->CreateForm(__classid(TForm4), &Form4);
Application->CreateForm(__classid(TForm5), &Form5);
Application->CreateForm(__classid(TForm6), &Form6);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//---------------------------------------------------------------------------
Лістинг Unit 1. h
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit4.h"
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form3->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form4->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Form5->Show();
}
Лістинг Unit 2.h
#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)
{
Form2->Close();
}
//---------------------------------------------------------------------------
Лістинг Unit 3.h
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit6KeyPress(TObject *Sender, char &Key)
{
if ((Key>='0' && Key<='9') || (Key=='-') || (Key==(char)8)) {}
else Key=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Form3->ADOTable1->Insert();
Form3->ADOTable1->FieldByName("Marka")->AsString=Form3->Edit2->Text;
Form3->ADOTable1->FieldByName("Imya")->AsString=Form3->Edit3->Text;
Form3->ADOTable1->FieldByName("Familia")->AsString=Form3->Edit4->Text;
Form3->ADOTable1->FieldByName("Gorod")->AsString=Form3->Edit5->Text;
Form3->ADOTable1->FieldByName("Telefon")->AsString=Form3->Edit6->Text;
Form3->ADOTable1->FieldByName("Kod")->AsString=Form3->Edit7->Text;
Form3->ADOTable1->FieldByName("Zaplatil")->AsString=Form3->Edit7->Text;
Form3->ADOTable1->Refresh();
}
//Лістинг Uni4.h
#include <vcl.h>
#pragma hdrstop
#include "Unit4.h"
#include "Unit6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
Лістинг Unit5.h
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm5 *Form5;
//---------------------------------------------------------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button1Click(TObject *Sender)
{
GroupBox2->Visible=true;
//GroupBox3->Visible=false;
//GroupBox4->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button2Click(TObject *Sender)
{
//GroupBox2->Visible=false;
GroupBox3->Visible=true;
//GroupBox4->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button3Click(TObject *Sender)
{
//GroupBox2->Visible=false;
//GroupBox3->Visible=false;
GroupBox4->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Button1Click(TObject *Sender)
{
//Form8->ComboBox1->Text=Form8->Edit1->Text;
//Form6->Edit6->Text=Form2->ComboBox2->Text;
ComboBox1->Items->Add(Edit1->Text);
ComboBox1->ItemIndex=1;
ComboBox2->Items->Add(Edit2->Text);
ComboBox2->ItemIndex=1;
double v1,v2;
int i1,i2;
if (Edit1->Text=="")
{
ShowMessage("Введите исходную величину");
return;
}
Form8->Edit2->Clear();
i1=Form8->ComboBox1->ItemIndex;
i2=Form8->ComboBox2->ItemIndex;
//v1=Form8->Edit1->Text.ToDouble();
switch (i1)
{
case 0:v1=v1/1000.0; break;
case 1:v1=v1/100.0; break;
case 2:v1=v1; break;
case 3:v1=v1*1000; break;
case 4:v1=v1*1609; break;
case 5:v1=v1*0.305; break;
case 6:v1=v1*0.914; break;
}
switch (i2)
{
case 0:v2=v1*1000; break;
case 1:v2=v1*100; break;
case 2:v2=v1; break;
case 3:v2=v1/1000; break;
case 4:v2=v1/1609; break;
case 5:v2=v1/0.305; break;
case 6:v2=v1/0.914; break;
}
Form8->Edit2->Text=FloatToStr(v2);
if (Edit2->Text=="")
{
ShowMessage("Введите исходную величину");
return;
}
}