Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Выбор стратегии тестирования и разработка тестов




 

Тестирование – процесс многократного повторения программы с целью обнаружения ошибок. Существуют следующие методы тестирования ПС:

- статическое тестирование – ручная проверка программы за столом;

- детерминированное тестирование – при различных комбинациях исходных данных;

- стохастическое – исходные данные выбираются произвольно, на выходе определяется качественное совпадение результатов или примерная оценка /13/.

При тестировании данного программного средства была применена ручная проверка программы за столом и детерминированное тестирование.

Ошибки, которые связаны с некорректным вводом данных, вводом значений, выходящих за пределы допустимых, а также ошибки, возникающие в работе пользователя с АИС, исключаются средствами самой СУБД при создании базы данных, а именно – методы сохранения целостности данных, маски ввода, логические ограничения, обязательность значений.

Ниже приведен пример контрольного теста с использованием разработанного программного средства.

На рисунке 7 приведены исходные данные для теста.

 

 

Рисунок 7 – Тестовый набор данных


Нормированная матрица исходных данных изображена на рисунке 8.

 

 

Рисунок 8 – Нормированная исходная матрица

 

Результаты корреляционного анализа представлены на рисунке 9.

 

 

Рисунок 9 – Результаты корреляционного анализа

Результаты регрессионного анализа и расчёта неприкосновенного запаса ГСМ представлены на рисунке 10.

 

 

Рисунок 10 – Результаты РА и расчёта запаса ГСМ

 

Результат расчета коэффициентов регрессионного уравнения при помощи пакета MathCAD 2001 Professional приведен на рисунке 11.

Рассчитанные коэффициенты уравнения регрессии с помощью разработанного программного средства и математического пакета MathCAD 2001 Professional совпадают, что свидетельствует о корректности проведённого расчета разработанным приложением. Таким же методом можно проверить и результаты расчета матрицы парных корреляций, множественных коэффициентов детерминации и корреляции и их адекватности, а также значимости уравнения регрессии.

 

 


 

Рисунок 11 – Расчет коэффициентов уравнения регрессии в среде MathCAD 2001


Приложение А

 


Приложение Б

 

Руководство пользователя

 

1 Назначение программного средства

 

Разработанное программное средство предназначено для ведения справочной информации, учётных данных отдела горюче-смазочных материалов автобазы, проведения прогноза неприкосновенного запаса ГСМ на автобазе с помощью корреляционно-регрессионного анализа.

 

2 Условия выполнения программы

 

Программная система должна работать под управлением операционной системы MS Windows 98 или выше на IBM/PC совместимых персональных компьютерах с минимальной конфигурацией, указанной в техническом задании в пункте 4.3.2. Необходима установленная среда C++Builder 6 и InterBase 7.5.

 

3 Выполнение программного средства

 

После запуска программы происходит идентификация пользователя. Необходимо ввести логин и пароль. Войдя в программу, пользователь видит главное окно программы, макет которого представлен на рисунке 12.

 

 

Рисунок 12 – Макет главного окна программы

 

В верхней части окна находятся три вкладки:

- ведение учётной и справочной информации. Данная вкладка, изображённая на рисунке 13, необходима для ввода, обновления, поиска, просмотра соответствующей информации отдела ГСМ автобазы. Пример просмотра справочника автомобилей приведён на рисунке 14.

 

 

Рисунок 13 – Ведение учётной и справочной информации

 

 

Рисунок 14 – Справочник автомобилей

- просмотр запросов и отчётов. Пример запроса перечня всех ГСМ, выданных за заданный период, и их количества представлен на рисунке 15.

 

 

Рисунок 15 – Виды и количества ГСМ, выданных за заданный период

 

- корреляционно-регрессионный анализ. С помощью данной вкладки проводится корреляционно-регрессионный анализ и расчёт неприкосновенного запаса ГСМ на автобазе. Пример проведённого анализа и прогноза неприкосновенного запаса ГСМ на автобазе представлен на рисунке 16.

 

 

Рисунок 16 – Пример результата проведённого анализа и прогноза запаса ГСМ

 

Сообщения пользователю

 

В данном программном средстве сообщения пользователю содержатся на соответствующих интерфейсных элементах, а также в информационных окнах, предупреждающих об ошибках.

 


Приложение В

 

Листинг программы

 

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Main.h"

#include "Autobasa.h"

#include "Garag.h"

#include "GSM.h"

#include "Automobil.h"

#include "ViewVed.h"

#include "OtchV.h"

#include "ViewProc2.h"

#include "ViewProc3.h"

#include "Matriza.h"

#include "Adekvat.h"

#include "PutList.h"

#include "Vedom.h"

#include "Zaprav.h"

#include "HistoryKRA.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm1 *Form1;

 

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form2->ShowModal();

}

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

 

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form3->ShowModal();

}

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

 

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form5->ShowModal();

}

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

 

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form4->ShowModal();

}

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

 

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form6->ShowModal();

}

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

 

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Form7->ShowModal();

}

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

 

void __fastcall TForm1::FormActivate(TObject *Sender)

{

Form1->PageControl1->ActivePage=TabSheet4;

}

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

 

void __fastcall TForm1::N2Click(TObject *Sender)

{

BitBtn1->Click();

}

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

 

void __fastcall TForm1::Button7Click(TObject *Sender)

{

Form8->ShowModal();

}

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

 

void __fastcall TForm1::Button8Click(TObject *Sender)

{

Form9->ShowModal();

}

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

 

double roundResult (double d, int p)

{

int pr=1;

for (int j=0; j<p; j++)

pr*=10;

d = d*pr;

int i = (int) d;

return (double) i/pr;

}

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

 

void __fastcall TForm1::Button10Click(TObject *Sender)

{

StringGrid1->Cells[0][0]="X1";

StringGrid1->Cells[1][0]="X2";

StringGrid1->Cells[2][0]="X3";

StringGrid1->Cells[3][0]="Y";

n=-1; k=3;

for (int i=0; i<row; i++)

{

n++;

IBStoredProc1->Params->Items[4]->Value=1;

IBStoredProc1->Params->Items[5]->Value=Now()-7*(i+1);

IBStoredProc1->Params->Items[6]->Value=Now()-7*i;

IBStoredProc1->Prepare();

IBStoredProc1->ExecProc();

X[n][0]=IBStoredProc1->ParamByName("COLAVTO")->AsInteger;

X[n][1]=IBStoredProc1->ParamByName("SREDCOLL")->AsFloat;

X[n][2]=IBStoredProc1->ParamByName("PROBEG")->AsFloat;

Y[n]=IBStoredProc1->ParamByName("SUMCOLL")->AsFloat;

StringGrid1->Cells[0][i+1]=X[n][0];

StringGrid1->Cells[1][i+1]=X[n][1];

StringGrid1->Cells[2][i+1]=X[n][2];

StringGrid1->Cells[3][i+1]=Y[n];

}

n=16;

Button10->Enabled=false;

Button12->Enabled=true;

}

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

 

void __fastcall TForm1::Button11Click(TObject *Sender)

{

for (int i=0; i<row; i++)

{

XX[i][0]=1;

XX[i][1]=X[i][0];

XX[i][2]=X[i][1];

XX[i][3]=X[i][2];

}

Object.Transponirovanie_Matriza(XX,XXtran,row,k+1);

Object.Mult_Matriza_Matriza(XXtran,XX,CX,k+1,row,k+1);

Object.Obratnaya_Matriza(CX,Xobr,k+1);

Object.Mult_Matriza_Vector(XXtran,Y,A1,k+1,row);

Object.Mult_Matriza_Vector(Xobr,A1,A,k+1,k+1);

double t0=roundResult(A[0],3), t1=roundResult(A[1],3),

t2=roundResult(A[2],3), t3=roundResult(A[3],3);

Edit1->Text=" Y = "+FloatToStr(t0)+" + "+FloatToStr(t1)+" * X1"+

" + "+FloatToStr(t2)+" * X2"+" + "+FloatToStr(t3)+" * X3";

Button11->Enabled=false;

Button14->Enabled=true;

Button17->Enabled=true;

}

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

 

void __fastcall TForm1::Button12Click(TObject *Sender)

{

Object.Mat_Ozidanie(X,Mx,row,k);

Object.Sred_Kvadr_Otkl(X,Mx,Sig,row,k);

Object.Normirovanie_Matriza(X,Mx,Sig,Xnorm,row,k);

Object.Normirovanie_Vector(Y,Ynorm,row);

StringGrid4->Cells[0][0]="X1";

StringGrid4->Cells[1][0]="X2";

StringGrid4->Cells[2][0]="X3";

StringGrid4->Cells[3][0]="Y";

for (int i=0; i<row; i++)

{

StringGrid4->Cells[0][i+1]=roundResult(Xnorm[i][0],4);

StringGrid4->Cells[1][i+1]=roundResult(Xnorm[i][1],4);

StringGrid4->Cells[2][i+1]=roundResult(Xnorm[i][2],4);

StringGrid4->Cells[3][i+1]=roundResult(Ynorm[i],4);

}

Button12->Enabled=false;

Button13->Enabled=true;

}

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

 

void __fastcall TForm1::Button13Click(TObject *Sender)

{

for (int i=0; i<row; i++)

{

Z[i][0]=Xnorm[i][0];

Z[i][1]=Xnorm[i][1];

Z[i][2]=Xnorm[i][2];

Z[i][3]=Ynorm[i];

}

Object.Transponirovanie_Matriza(Z,Xtran,row,k+1);

Object.Mult_Matriza_Matriza(Xtran,Z,C,k+1,row,k+1);

Object.Mult_Matriza_Number(C,CC,k+1,k+1,0.0625); // n=16, следовательно 1/n=0.0625

for (int i=0; i<k+1; i++)

for (int j=0; j<k+1; j++)

StringGrid5->Cells[i][j]=roundResult(CC[i][j],4);

kd=1-(Object.Opredelitel_Matriza(CC,k+1)/Object.Opredelitel_Matriza(CC,k));

kk=pow(kd,0.5);

double ttkd=roundResult(kd,4);

Edit2->Text=FloatToStr(ttkd);

ttkd=roundResult(kk,4);

Edit3->Text=FloatToStr(ttkd);

Button13->Enabled=false;

Button18->Enabled=true;

}

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

 

void __fastcall TForm1::Button14Click(TObject *Sender)

{

double zap=roundResult(A[0]+A[1]*StrToFloat(Edit4->Text)+

A[2]*StrToFloat(Edit5->Text)+A[3]*StrToFloat(Edit6->Text),2);

Edit7->Text=FloatToStr(zap);

Button15->Enabled=true;

}

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

 

void __fastcall TForm1::Button18Click(TObject *Sender)

{

ObjectAd.Kor_Adekv();

Button18->Enabled=false;

Button11->Enabled=true;

}

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

 

void __fastcall TForm1::Button17Click(TObject *Sender)

{

// ObjectAd.Reg_Znachim();

Object.Mult_Matriza_Vector(XX,A,Q1,n,k+1);

for (int i=0; i<n; i++)

Qr+=Q1[i]*Q1[i];

double tQr=roundResult(Qr,2);

Form1->Edit8->Text=FloatToStr(tQr);

Object.Sub_Vector(Y,Q1,Q2,n);

for (int i=0; i<n; i++)

Qost+=Q2[i]*Q2[i];

tQr=roundResult(Qost,2);

Form1->Edit9->Text=FloatToStr(tQr);

double temp=(Qr/3)/(Qost/(16-3-1));

Fras_r=roundResult(temp,2);

Form1->Edit10->Text=FloatToStr(Fras_r);

Form1->Edit11->Text=FloatToStr(Fkrit);

if (Fras_r>Fkrit)

Form1->Memo1->Lines->Add("Уравнение является значимым, т.е. хотя бы один из коэффициентов регрессии существенно отличен от нуля, так как Fras > Fkrit для alpha=0.05 и числа степеней свободы 3 и 12.");

else

Form1->Memo1->Lines->Add("Уравнение является незначимым, так как Fras < Fkrit для alpha=0.05 и числа степеней свободы 3 и 12.");

Button17->Enabled=false;

Button10->Enabled=true;

}

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

 

void __fastcall TForm1::Button9Click(TObject *Sender)

{

Form10->ShowModal();

}

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

 

void __fastcall TForm1::Button19Click(TObject *Sender)

{

Form11->ShowModal();

}

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

 

void __fastcall TForm1::Button20Click(TObject *Sender)

{

Form12->ShowModal();

}

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

 

void __fastcall TForm1::Button16Click(TObject *Sender)

{

Form13->ShowModal();

}

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

 

void __fastcall TForm1::Button15Click(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

Form13->IBClientDataSet1->Active=true;

Form13->IBClientDataSet1->Insert();

IBQuery1->Active=true;

int maxk=StrToInt(DBEdit1->Text);

IBQuery1->Active=false;

Form13->IBClientDataSet1->FieldByName("KODH")->Value=maxk+1;

Form13->IBClientDataSet1->FieldByName("DATEH")->Value=Now();

Form13->IBClientDataSet1->FieldByName("ZAPAS")->AsFloat=StrToFloat(Edit7->Text);

Form13->IBClientDataSet1->ApplyUpdates(-1);

Form13->IBClientDataSet1->Active=false;

}

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

 

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

 

#ifndef MainH

#define MainH

 

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

 

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Menus.hpp>

#include <Buttons.hpp>

#include <DB.hpp>

#include <IBDatabase.hpp>

#include <Grids.hpp>

#include <IBCustomDataSet.hpp>

#include <IBQuery.hpp>

#include <IBStoredProc.hpp>

#include "Matriza.h"

#include "Adekvat.h"

#include <DBCtrls.hpp>

#include <Mask.hpp>

 

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

class TForm1: public TForm

{

__published: // IDE-managed Components

TPanel *Panel1;

TPageControl *PageControl1;

TTabSheet *TabSheet1;

TMainMenu *MainMenu1;

TMenuItem *N1;

TPanel *Panel2;

TBevel *Bevel1;

TTabSheet *TabSheet2;

TBitBtn *BitBtn1;

TIBDatabase *IBDatabase1;

TIBTransaction *IBTransaction1;

TMenuItem *N2;

TButton *Button5;

TButton *Button7;

TButton *Button8;

TTabSheet *TabSheet4;

TGroupBox *GroupBox2;

TLabel *Label2;

TLabel *Label3;

TLabel *Label4;

TLabel *Label5;

TLabel *Label6;

TGroupBox *GroupBox1;

TStringGrid *StringGrid1;

TButton *Button10;

TBevel *Bevel3;

TButton *Button11;

TIBStoredProc *IBStoredProc1;

TEdit *Edit1;

TLabel *Label1;

TComboBox *ComboBox1;

TGroupBox *GroupBox3;

TStringGrid *StringGrid4;

TButton *Button12;

TGroupBox *GroupBox4;

TStringGrid *StringGrid5;

TButton *Button13;

TEdit *Edit2;

TEdit *Edit3;

TLabel *Label7;

TButton *Button6;

TGroupBox *GroupBox5;

TLabel *Label8;

TEdit *Edit4;

TLabel *Label9;

TEdit *Edit5;

TLabel *Label10;

TEdit *Edit6;

TButton *Button14;

TLabel *Label11;

TEdit *Edit7;

TLabel *Label12;

TButton *Button15;

TButton *Button16;

TGroupBox *GroupBox6;

TButton *Button17;

TLabel *Label13;

TLabel *Label14;

TLabel *Label15;

TLabel *Label16;

TMemo *Memo1;

TEdit *Edit8;

TEdit *Edit9;

TEdit *Edit10;

TEdit *Edit11;

TGroupBox *GroupBox7;

TLabel *Label17;

TLabel *Label18;

TEdit *Edit12;

TEdit *Edit13;

TMemo *Memo2;

TButton *Button18;

TLabel *Label19;

TLabel *Label20;

TGroupBox *GroupBox8;

TButton *Button1;

TButton *Button2;

TButton *Button3;

TButton *Button4;

TGroupBox *GroupBox9;

TButton *Button9;

TButton *Button19;

TButton *Button20;

TIBQuery *IBQuery1;

TDBEdit *DBEdit1;

TDataSource *DataSource1;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall Button4Click(TObject *Sender);

void __fastcall Button5Click(TObject *Sender);

void __fastcall Button6Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

void __fastcall Button7Click(TObject *Sender);

void __fastcall Button8Click(TObject *Sender);

void __fastcall Button10Click(TObject *Sender);

void __fastcall Button11Click(TObject *Sender);

void __fastcall Button12Click(TObject *Sender);

void __fastcall Button13Click(TObject *Sender);

void __fastcall Button14Click(TObject *Sender);

void __fastcall Button18Click(TObject *Sender);

void __fastcall Button17Click(TObject *Sender);

void __fastcall Button9Click(TObject *Sender);

void __fastcall Button19Click(TObject *Sender);

void __fastcall Button20Click(TObject *Sender);

void __fastcall Button16Click(TObject *Sender);

void __fastcall Button15Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent* Owner);

};

 

double roundResult (double d, int p);

 

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

extern PACKAGE TForm1 *Form1;

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

#endif

 

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

 

#pragma hdrstop

#include "Adekvat.h"

#include "Main.h"

#include "Matriza.h"

 

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

 

#pragma package(smart_init)

 

void CAdekvatnost::Kor_Adekv()

{

double temp=((16-3-1)*StrToFloat(Form1->Edit2->Text))/(3*(1-StrToFloat(Form1->Edit2->Text)));

Fras_k=roundResult(temp,2);

Form1->Edit12->Text=FloatToStr(Fras_k);

Form1->Edit13->Text=FloatToStr(Fkrit);

if (Fras_k>Fkrit)

Form1->Memo2->Lines->Add("Гипотеза о значимости множественного коэффициента детерминации принимается, так как Fras > Fkrit для alpha=0.05 и числа степеней свободы 3 и 12.");

else

Form1->Memo2->Lines->Add("Гипотеза о значимости множественного коэффициента детерминации отвергается, так как Fras < Fkrit для alpha=0.05 и числа степеней свободы 3 и 12.");

}

 

void CAdekvatnost::Reg_Znachim()

{

 

}

 

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

 

#ifndef AdekvatH

#define AdekvatH

 

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

 

#include "Main.h"

#include "Matriza.h"

 

namespace adek

{

const double Fkrit=3.49;

double Fras_k, Fras_r;

double Qr=0, Qost=0;

}

 

using namespace adek;

 

class CAdekvatnost

{

public:

 

// Метод, проверяющий адекватность коэффициентов корреляции

void Kor_Adekv();

 

// Метод, проверяющий знчимость уравнения регрессии

void Reg_Znachim();

 

};

 

CAdekvatnost ObjectAd;

 

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

#endif

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "Autobasa.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm2 *Form2;

 

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

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm2::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Код автобазы";

DBGrid1->Columns->Items[1]->Title->Caption="Название автобазы";

}

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

 

void __fastcall TForm2::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Код автобазы";

DBGrid1->Columns->Items[1]->Title->Caption="Название автобазы";

}

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

 

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "Automobil.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm5 *Form5;

 

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

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm5::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Код автомобиля";

DBGrid1->Columns->Items[1]->Title->Caption="Марка";

DBGrid1->Columns->Items[2]->Title->Caption="Гос.Номер";

DBGrid1->Columns->Items[3]->Title->Caption="ФИО водителя";

}

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

 

void __fastcall TForm5::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Код автомобиля";

DBGrid1->Columns->Items[1]->Title->Caption="Марка";

DBGrid1->Columns->Items[2]->Title->Caption="Гос.Номер";

DBGrid1->Columns->Items[3]->Title->Caption="ФИО водителя";

}

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

 

void __fastcall TForm5::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "Garag.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm3 *Form3;

 

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

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm3::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Номер гаража";

DBGrid1->Columns->Items[1]->Title->Caption="Код автобазы";

DBGrid1->Columns->Items[2]->Title->Caption="Название гаража";

DBGrid1->Columns->Items[3]->Title->Caption="ФИО заправщика";

}

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

 

void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

void __fastcall TForm3::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Номер гаража";

DBGrid1->Columns->Items[1]->Title->Caption="Код автобазы";

DBGrid1->Columns->Items[2]->Title->Caption="Название гаража";

DBGrid1->Columns->Items[3]->Title->Caption="ФИО заправщика";

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "GSM.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm4 *Form4;

 

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

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm4::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Код ГСМ";

DBGrid1->Columns->Items[1]->Title->Caption="Название ГСМ";

}

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

 

void __fastcall TForm4::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Код ГСМ";

DBGrid1->Columns->Items[1]->Title->Caption="Название ГСМ";

}

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

 

void __fastcall TForm4::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "HistoryKRA.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm13 *Form13;

 

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

__fastcall TForm13::TForm13(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm13::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Код истории";

DBGrid1->Columns->Items[1]->Title->Caption="Дата проведения анализа";

DBGrid1->Columns->Items[2]->Title->Caption="Запас ГСМ";

}

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

 

void __fastcall TForm13::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#pragma hdrstop

#include <vcl.h>

#include <iostream>

#include <conio.h>

#include "Matriza.h"

#include "Main.h"

#include "Adekvat.h"

#include <math.h>

 

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

 

#pragma package(smart_init)

 

void CMatriza::Mat_Ozidanie(Matriza X, Vector Mx, int n, int k)

{

for (int j=0; j<k; j++)

{

double sum=0;

for (int i=0; i<n; i++)

sum+=X[i][j];

Mx[j]=sum/double(n);

}

}

 

void CMatriza::Sred_Kvadr_Otkl(Matriza X, Vector Mx, Vector Sig, int n, int k)

{

CMatriza::Mat_Ozidanie(X, Mx, n, k);

for (int j=0; j<k; j++)

{

double sum=0;

for (int i=0; i<n; i++)

sum+=pow((X[i][j]-Mx[j]),2);

Sig[j]=sqrt(sum/double(n));

}

}

 

void CMatriza::Normirovanie_Matriza(Matriza X, Vector Mx, Vector Sig, Matriza Xnorm, int n, int k)

{

CMatriza::Sred_Kvadr_Otkl(X, Mx, Sig, n, k);

for (int i=0; i<n; i++)

for (int j=0; j<k; j++)

Xnorm[i][j]=(X[i][j]-Mx[j])/Sig[j];

}

 

void CMatriza::Normirovanie_Vector(Vector Y, Vector Ynorm, int n)

{

double sum=0;

for (int i=0; i<n; i++)

sum+=Y[i];

My=sum/double(n);

sum=0;

for (int i=0; i<n; i++)

sum+=(Y[i]-My)*(Y[i]-My);

Sigy=sqrt(sum/double(n));

for (int i=0; i<n; i++)

Ynorm[i]=(Y[i]-My)/Sigy;

}

 

void CMatriza::Delete_Matriza(Matriza DX)

{

memset(DX, 0, MaxMatriza*MaxMatriza*sizeof(double));

}

 

void CMatriza::Transponirovanie_Matriza(Matriza X, Matriza Xtran, int n, int k)

{

for (int i=0; i<n; i++)

for (int j=0; j<k; j++)

Xtran[j][i]=X[i][j];

}

 

double CMatriza::Algeb_Dopol_Matriza(Matriza X, int n, int i, int j)

{

Matriza Xal;

double Al;

int a, b;

for (a=0; a<i; a++)

{

for (b=0; b<j; b++)

Xal[a][b]=X[a][b];

for (b=j+1; b<n; b++)

Xal[a][b-1]=X[a][b];

}

for (a=i+1; a<n; a++)

{

for (b=0; b<j; b++)

Xal[a-1][b]=X[a][b];

for (b=j+1; b<n; b++)

Xal[a-1][b-1]=X[a][b];

}

Al=CMatriza::Opredelitel_Matriza(Xal, n-1);

if ((i+j)%2!=0) Al=-Al;

return Al;

}

 

double CMatriza::Opredelitel_Matriza(Matriza X, int n)

{

double op;

if (n!=1)

{

op=0;

for (int j=0; j<n; j++)

op+=X[0][j]*CMatriza::Algeb_Dopol_Matriza(X, n, 0, j);

}

else op=X[0][0];

if (op==0) op=1;

return op;

}

 

void CMatriza::Obratnaya_Matriza(Matriza X, Matriza Xobr, int n)

{

double d=CMatriza::Opredelitel_Matriza(X, n);

for (int i=0; i<n; i++)

for (int j=0; j<n; j++)

Xobr[i][j]=CMatriza::Algeb_Dopol_Matriza(X, n, j, i)/d;

}

 

void CMatriza::Add_Matriza(Matriza A, Matriza B, Matriza C, int n, int k)

{

for (int i=0; i<n; i++)

for (int j=0; j<k; j++)

C[i][j]=A[i][j]+B[i][j];

}

 

void CMatriza::Sub_Vector(Vector A, Vector B, Vector C, int n)

{

for (int i=0; i<n; i++)

C[i]=A[i]-B[i];

}

 

void CMatriza::Mult_Matriza_Matriza(Matriza A, Matriza B, Matriza C, int n, int m, int k)

{

double mul;

for (int i=0; i<n; i++)

for (int j=0; j<k; j++)

{

mul=0;

for (int t=0; t<m; t++)

mul+=A[i][t]*B[t][j];

C[i][j]=mul;

}

}

 

void CMatriza::Mult_Matriza_Vector(Matriza A, Vector B, Vector C, int n, int k)

{

double mul;

for (int i=0; i<n; i++)

{

mul=0;

for (int j=0; j<k; j++)

mul+=A[i][j]*B[j];

C[i]=mul;

}

}

 

void CMatriza::Mult_Matriza_Number(Matriza A, Matriza C, int n, int k, double num)

{

for (int i=0; i<n; i++)

for (int j=0; j<k; j++)

C[i][j]=A[i][j]*num;

}

 

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

 

#ifndef MatrizaH

#define MatrizaH

 

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

 

#include "Main.h"

#include "Adekvat.h"

#define MaxMatriza 16

 

namespace matr

{

const int row=16;

const int col=3;

typedef double Matriza[MaxMatriza][MaxMatriza];

typedef double Vector[MaxMatriza];

Matriza X, Xnorm, Xtran, Xobr, C, CC;

Vector Y, Ynorm;

Vector Mx, Sig;

double My, Sigy;

double kd, kk;

int n, k;

Matriza Z, XX, XXtran, CX, CCX;

Vector A1, A;

Vector Q1, Q2;

}

 

using namespace matr;

 

class CMatriza

{

public:

 

// Метод, вычисляющий математическое ожидание по столбцу

void Mat_Ozidanie(Matriza X, Vector Mx, int n, int k);

 

// Метод, вычисляющий среднее квадратическое отклонение по столбцу

void Sred_Kvadr_Otkl(Matriza X, Vector Mx, Vector Sig, int n, int k);

 

// Метод, вычисляющий нормализованную матрицу

void Normirovanie_Matriza(Matriza X, Vector Mx, Vector Sig, Matriza Xnorm, int n, int k);

 

// Метод, вычисляющий нормализованный вектор

void Normirovanie_Vector(Vector Y, Vector Ynorm, int n);

 

// Метод, обнуляющий матрицу

void Delete_Matriza(Matriza DX);

 

// Метод, транспонирующий матрицу размерностью n*k

void Transponirovanie_Matriza(Matriza X, Matriza Xtran, int n, int k);

 

// Метод, вычисляющий алгебраическое дополнение элемента x[i,j] квадратной матрицы

double Algeb_Dopol_Matriza(Matriza X, int n, int i, int j);

 

// Метод, вычисляющий определитель квадратной матрицы размерностью n*n

double Opredelitel_Matriza(Matriza X, int n);

 

// Метод, вычисляющий матрицу, обратную квадратной матрице n*n

void Obratnaya_Matriza(Matriza X, Matriza Xobr, int n);

 

// Метод, производящий сложение двух матриц C = A + B

void Add_Matriza(Matriza A, Matriza B, Matriza C, int n, int k);

 

// Метод, производящий вычитание двух векторов C = A - B

void Sub_Vector(Vector A, Vector B, Vector C, int n);

 

// Метод, производящий умножение двух матриц C(n*k) = A(n*m) * B(m*k)

void Mult_Matriza_Matriza(Matriza A, Matriza B, Matriza C, int n, int m, int k);

 

// Метод, производящий умножение матрицы на вектор C(n) = A(n*k) * B(k)

void Mult_Matriza_Vector(Matriza A, Vector B, Vector C, int n, int k);

 

// Метод, производящий умножение матрицы размерностью n*k на число num

void Mult_Matriza_Number(Matriza A, Matriza C, int n, int k, double num);

 

};

 

CMatriza Object;

 

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

#endif

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "OtchV.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm7 *Form7;

 

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

__fastcall TForm7::TForm7(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm7::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Автобаза";

DBGrid1->Columns->Items[1]->Title->Caption="Гараж";

DBGrid1->Columns->Items[2]->Title->Caption="ФИО заправщика";

DBGrid1->Columns->Items[3]->Title->Caption="Номер ведомости";

DBGrid1->Columns->Items[4]->Title->Caption="Дата ведомости";

DBGrid1->Columns->Items[5]->Title->Caption="Марка авто";

DBGrid1->Columns->Items[6]->Title->Caption="Гос.номер авто";

DBGrid1->Columns->Items[7]->Title->Caption="ФИО водителя";

DBGrid1->Columns->Items[8]->Title->Caption="Путевой лист";

DBGrid1->Columns->Items[9]->Title->Caption="Вид ГСМ";

DBGrid1->Columns->Items[10]->Title->Caption="Кол-во (л)";

DBGrid1->Columns->Items[11]->Title->Caption="Кол-во (кг)";

}

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

 

void __fastcall TForm7::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "PutList.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm10 *Form10;

 

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

__fastcall TForm10::TForm10(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm10::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Номер";

DBGrid1->Columns->Items[1]->Title->Caption="Код авто";

DBGrid1->Columns->Items[2]->Title->Caption="Задание";

DBGrid1->Columns->Items[3]->Title->Caption="Замечание";

DBGrid1->Columns->Items[4]->Title->Caption="Дальность";

}

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

 

void __fastcall TForm10::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Номер";

DBGrid1->Columns->Items[1]->Title->Caption="Код авто";

DBGrid1->Columns->Items[2]->Title->Caption="Задание";

DBGrid1->Columns->Items[3]->Title->Caption="Замечание";

DBGrid1->Columns->Items[4]->Title->Caption="Дальность";

}

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

 

void __fastcall TForm10::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "Vedom.h"

#include "Main.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm11 *Form11;

 

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

__fastcall TForm11::TForm11(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm11::FormActivate(TObject *Sender)

{

Form1->IBDatabase1->Connected=true;

Form1->IBTransaction1->Active=true;

IBClientDataSet1->Active=true;

DBGrid1->Columns->Items[0]->Title->Caption="Номер ведомости";

DBGrid1->Columns->Items[1]->Title->Caption="Номер гаража";

DBGrid1->Columns->Items[2]->Title->Caption="Дата ведомости";

}

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

 

void __fastcall TForm11::Button1Click(TObject *Sender)

{

IBClientDataSet1->ApplyUpdates(-1);

DBGrid1->Columns->Items[0]->Title->Caption="Номер ведомости";

DBGrid1->Columns->Items[1]->Title->Caption="Номер гаража";

DBGrid1->Columns->Items[2]->Title->Caption="Дата ведомости";

}

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

 

void __fastcall TForm11::FormClose(TObject *Sender, TCloseAction &Action)

{

IBClientDataSet1->Active=false;

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "ViewProc2.h"

#include "Main.h"

#include "GSM.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

#define MaxCol 1000 // Максимальное количество видов ГСМ

 

TForm8 *Form8;

 

class Spisok

{

public:

int n;

AnsiString name;

float coll;

float colkg;

} Sp[MaxCol];

 

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

__fastcall TForm8::TForm8(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm8::FormActivate(TObject *Sender)

{

Edit1->Text="";

Edit2->Text="";

Edit3->Text="";

StringGrid1->RowCount=2;

if (!Form4->IBClientDataSet1->Active)

Form4->IBClientDataSet1->Active=true;

int max=Form4->IBClientDataSet1->RecordCount;

for (int i=0; i<max; i++)

{

StringGrid1->Cells[0][i+1]="";

StringGrid1->Cells[1][i+1]="";

StringGrid1->Cells[2][i+1]="";

StringGrid1->Cells[3][i+1]="";

}

Button1->Enabled=false;

BitBtn1->SetFocus();

}

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

 

void __fastcall TForm8::Button1Click(TObject *Sender)

{

StringGrid1->RowCount=2;

if (!Form4->IBClientDataSet1->Active)

Form4->IBClientDataSet1->Active=true; // Чтение справочника ГСМ

Form4->IBClientDataSet1->First();

int max=Form4->IBClientDataSet1->RecordCount;

for (int i=0; i<max; i++)

{

StringGrid1->Cells[0][i+1]="";

StringGrid1->Cells[1][i+1]="";

StringGrid1->Cells[2][i+1]="";

StringGrid1->Cells[3][i+1]="";

}

for (int i=0; i<max; i++)

{

IBStoredProc1->Params->Items[2]->Value=StrToInt(Edit1->Text);

IBStoredProc1->Params->Items[3]->Value=Form4->IBClientDataSet1->Fields->Fields[0]->AsInteger;

IBStoredProc1->Params->Items[4]->Value=StrToDate(Edit2->Text);

IBStoredProc1->Params->Items[5]->Value=StrToDate(Edit3->Text);

IBStoredProc1->Prepare();

IBStoredProc1->ExecProc();

Sp[i].n=Form4->IBClientDataSet1->Fields->Fields[0]->AsInteger;

Sp[i].name=Form4->IBClientDataSet1->Fields->Fields[1]->AsString;

Sp[i].coll=IBStoredProc1->ParamByName("PCOLL")->AsFloat;

Sp[i].colkg=IBStoredProc1->ParamByName("PCOLKG")->AsFloat;

Form4->IBClientDataSet1->Next();

}

StringGrid1->Cells[0][0]="Код ГСМ";

StringGrid1->Cells[1][0]="Название ГСМ";

StringGrid1->Cells[2][0]="Количество, л";

StringGrid1->Cells[3][0]="Количество, кг";

int j=0;

for (int i=0; i<max; i++)

{

if (Sp[i].coll!=0)

{

StringGrid1->RowCount++;

j++;

StringGrid1->Cells[0][j]=IntToStr(Sp[i].n);

StringGrid1->Cells[1][j]=Sp[i].name;

StringGrid1->Cells[2][j]=FloatToStr(Sp[i].coll);

StringGrid1->Cells[3][j]=FloatToStr(Sp[i].colkg);

}

}

}

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

 

void __fastcall TForm8::Edit1Enter(TObject *Sender)

{

AnsiString s;

// Формирование списка компонента ComboBox1 для выбора водителя

IBClientDataSet1->Open(); // Чтение справочника ГСМ

IBClientDataSet1->First();

ComboBox1->Clear();

for(int i=0; i<IBClientDataSet1->RecordCount; i++)

{

s=IntToStr(IBClientDataSet1->Fields->Fields[0]->AsInteger) + "/" +

IBClientDataSet1->Fields->Fields[1]->AsString;

ComboBox1->Items->Add(s);

IBClientDataSet1->Next();

}

ComboBox1->Show();

ComboBox1->Text="Выберите водителя";

ComboBox1->SetFocus();

}

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

 

void __fastcall TForm8::ComboBox1Exit(TObject *Sender)

{

ComboBox1->Hide();

}

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

 

void __fastcall TForm8::ComboBox1Click(TObject *Sender)

{

// Выборка из ComboBox1 строки и засылка из нее кода водителя

AnsiString s1, s=ComboBox1->Items->Strings[ComboBox1->ItemIndex];

int pos=s.AnsiPos("/");

s1=s.SubString(1,pos-1);

Edit1->Text=StrToInt(s1);

Edit2->SetFocus();

}

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

 

void __fastcall TForm8::Edit2Enter(TObject *Sender)

{

DateTimePicker1->Show();

DateTimePicker1->SetFocus();

}

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

 

void __fastcall TForm8::DateTimePicker1CloseUp(TObject *Sender)

{

DateTimePicker1->Hide();

Edit2->Text=DateTimePicker1->Date;

Edit3->SetFocus();

}

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

 

void __fastcall TForm8::Edit3Enter(TObject *Sender)

{

DateTimePicker2->Show();

DateTimePicker2->SetFocus();

}

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

 

void __fastcall TForm8::DateTimePicker2CloseUp(TObject *Sender)

{

DateTimePicker2->Hide();

Edit3->Text=DateTimePicker2->Date;

Button1->Enabled=true;

Button1->SetFocus();

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "ViewProc3.h"

#include "Main.h"

#include "GSM.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

#define MaxCol 1000 // Максимальное количество видов ГСМ

 

TForm9 *Form9;

 

class CSpisok

{

public:

int n;

AnsiString name;

float coll;

float colkg;

} Spp[MaxCol];

 

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

__fastcall TForm9::TForm9(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm9::FormActivate(TObject *Sender)

{

Edit2->Text="";

Edit3->Text="";

StringGrid1->RowCount=2;

if (!Form4->IBClientDataSet1->Active)

Form4->IBClientDataSet1->Active=true;

int max=Form4->IBClientDataSet1->RecordCount;

for (int i=0; i<max; i++)

{

StringGrid1->Cells[0][i+1]="";

StringGrid1->Cells[1][i+1]="";

StringGrid1->Cells[2][i+1]="";

StringGrid1->Cells[3][i+1]="";

}

Button1->Enabled=false;

BitBtn1->SetFocus();

}

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

 

void __fastcall TForm9::Button1Click(TObject *Sender)

{

StringGrid1->RowCount=2;

if (!Form4->IBClientDataSet1->Active)

Form4->IBClientDataSet1->Active=true; // Чтение справочника ГСМ

Form4->IBClientDataSet1->First();

int max=Form4->IBClientDataSet1->RecordCount;

for (int i=0; i<max; i++)

{

StringGrid1->Cells[0][i+1]="";

StringGrid1->Cells[1][i+1]="";

StringGrid1->Cells[2][i+1]="";

StringGrid1->Cells[3][i+1]="";

}

for (int i=0; i<max; i++)

{

IBStoredProc1->Params->Items[2]->Value=Form4->IBClientDataSet1->Fields->Fields[0]->AsInteger;

IBStoredProc1->Params->Items[3]->Value=StrToDate(Edit2->Text);

IBStoredProc1->Params->Items[4]->Value=StrToDate(Edit3->Text);

IBStoredProc1->Prepare();

IBStoredProc1->ExecProc();

Spp[i].n=Form4->IBClientDataSet1->Fields->Fields[0]->AsInteger;

Spp[i].name=Form4->IBClientDataSet1->Fields->Fields[1]->AsString;

Spp[i].coll=IBStoredProc1->ParamByName("PCOLL")->AsFloat;

Spp[i].colkg=IBStoredProc1->ParamByName("PCOLKG")->AsFloat;

Form4->IBClientDataSet1->Next();

}

StringGrid1->Cells[0][0]="Код ГСМ";

StringGrid1->Cells[1][0]="Название ГСМ";

StringGrid1->Cells[2][0]="Количество, л";

StringGrid1->Cells[3][0]="Количество, кг";

int j=0;

for (int i=0; i<max; i++)

{

if (Spp[i].coll!=0)

{

StringGrid1->RowCount++;

j++;

StringGrid1->Cells[0][j]=IntToStr(Spp[i].n);

StringGrid1->Cells[1][j]=Spp[i].name;

StringGrid1->Cells[2][j]=FloatToStr(Spp[i].coll);

StringGrid1->Cells[3][j]=FloatToStr(Spp[i].colkg);

}

}

}

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

 

void __fastcall TForm9::Edit2Enter(TObject *Sender)

{

DateTimePicker1->Show();

DateTimePicker1->SetFocus();

}

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

 

void __fastcall TForm9::DateTimePicker1CloseUp(TObject *Sender)

{

DateTimePicker1->Hide();

Edit2->Text=DateTimePicker1->Date;

Edit3->SetFocus();

}

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

 

void __fastcall TForm9::Edit3Enter(TObject *Sender)

{

DateTimePicker2->Show();

DateTimePicker2->SetFocus();

}

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

 

void __fastcall TForm9::DateTimePicker2CloseUp(TObject *Sender)

{

DateTimePicker2->Hide();

Edit3->Text=DateTimePicker2->Date;

Button1->Enabled=true;

Button1->SetFocus();

}

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

 

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

 

#include <vcl.h>

#pragma hdrstop

#include "ViewVed.h"

#include "Main.h"

#include "GSM.h"

 

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

 

#pragma package(smart_init)

#pragma resource "*.dfm"

 

TForm6 *Form6;

 

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

__fastcall TForm6::TForm6(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm6::Button1Click(TObject *Sender)

{

IBStoredProc1->Params->Items[2]->Value=StrToInt(Edit1->Text);

IBStoredProc1->Params->Items[3]->Value=StrToInt(Edit2->Text);

IBStoredProc1->Params->Items[4]->Value=StrToDate(Edit3->Text);

IBStoredProc1->Params->Items[5]->Value=StrToDate(Edit6->Text);

IBStoredProc1->Prepare();

IBStoredProc1->ExecProc();

Edit4->Text=IBStoredProc1->ParamByName("PCOLL")->AsFloat;

Edit5->Text=IBStoredProc1->ParamByName("PCOLKG")->AsFloat;

}

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





Поделиться с друзьями:


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 891 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2218 - | 2181 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.015 с.