Методичні вказівки до обов’язкового домашнього завдання з дисципліни «Організація баз даних та знань», страница 5

    procedure VapSaturationClick(Sender: TObject);

    procedure Caption2Click(Sender: TObject);

  private { Private declarations }

  public  { Public declarations }

  end;

var  fmMainNH3: TfmMainNH3;

implementation

uses uDM, uFmGr, uSearchSat, uSearchSupH, uNH3Satur, uNH3vapSH;

{$R *.dfm}

procedure TfmMainNH3.Open1Click(Sender: TObject);

{ ****************************

  *  Открытие базы данных.   *

  ****************************  }

begin

   try

      DM.MyDB.Open ;  DM.cdsGroups.Open ;

      DM.p_Group_Code := 1 ; // Главная группа

      Close1.Enabled := true ;    Tables1.Enabled := true ;

      Search1.Enabled := true ;   sbtClose.Enabled := true;

      sbtSearchSt.Enabled := true; sbtSearchSp.Enabled := true;

      Open1.Enabled := false ;  sbtOpen.Enabled := false;

   Except

      Begin ShowMessage('Ошибка подключения к базе !') ; end

   end;

end;

procedure TfmMainNH3.Close1Click(Sender: TObject);

{ ****************************

  *  Закрытие базы данных.   *

  ****************************  }

begin

   Close1.Enabled := false ;  Tables1.Enabled := false ;

   Search1.Enabled := false ; sbtClose.Enabled := false;

   sbtSearchSt.Enabled := false; sbtSearchSp.Enabled := false;

   Open1.Enabled := true ;  sbtOpen.Enabled := true;

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

   DM.cdsGroups.Close ;  DM.MyDB.Close ;

end;

procedure TfmMainNH3.GSubClick(Sender: TObject);

{ *********************************************

  *  Редактирование  групп и списка веществ.  *

  *********************************************  }

begin   fmGrSub.ShowModal ;   end;

procedure TfmMainNH3.Caption1Click(Sender: TObject);

begin    fmCalcNH3Satur.ShowModal ; end;

procedure TfmMainNH3.VapSuperHeatClick(Sender: TObject);

begin     fmNH3vapSH.ShowModal ;  end;

procedure TfmMainNH3.VapSaturationClick(Sender: TObject);

begin     fmNH3Satur.ShowModal ;  end;

procedure TfmMainNH3.Caption2Click(Sender: TObject);

begin    fmCalcNH3sh.ShowModal ;  end;

end.

Модуль даних та його форма.

Рисунок 3. Зовнішній вигляд форми модуля даних

unit uDM;

interface

uses  SysUtils, Classes, DBXpress, DB, SqlExpr, FMTBcd, DBClient, Provider;

type

  TDM = class(TDataModule)

    MyDB: TSQLConnection; // Подключение

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

    // Группы и подгруппы веществ

    taGroups: TSQLDataSet;    dspGroups: TDataSetProvider;

    cdsGroups: TClientDataSet;    dsGroups: TDataSource;

    cdsGroupsGROUP_ID: TIntegerField;

    cdsGroupsGROUP_NAME: TStringField;

    cdsGroupsUGROUP_ID: TIntegerField;

    quMaxG: TSQLQuery; // Группа в подгруппе

    quMaxS: TSQLQuery;

    quParentG: TSQLQuery; // № родительской группы

    quNamePGroup: TSQLQuery;

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

    // Наименования веществ:

    taSubstance: TSQLDataSet; dspSubstance:TDataSetProvider;

    cdsSubstance: TClientDataSet;  dsSubstance: TDataSource;

    cdsSubstanceSUB_ID: TIntegerField;

    cdsSubstanceGROUP_ID: TIntegerField;

    cdsSubstanceS_NAME: TStringField;

    // Аммиак на линии насыщения:

    taNH3_Satur: TSQLDataSet; dspNH3_Satur: TDataSetProvider;

    cdsNH3_Satur: TClientDataSet;  dsNH3_Satur: TDataSource;

      cdsNH3_SaturSUB_ID: TIntegerField;

      cdsNH3_SaturT: TFloatField; cdsNH3_SaturP: TFloatField;

 cdsNH3_SaturVSPL: TFloatField; cdsNH3_SaturVSPW:TFloatField;

 cdsNH3_SaturIL: TFloatField;    cdsNH3_SaturIW: TFloatField;

 cdsNH3_SaturSL: TFloatField;    cdsNH3_SaturSW: TFloatField;

    // Сухой перегретый пар аммиака:

    taNH3sh: TSQLDataSet;      dspNH3sh: TDataSetProvider;

    cdsNH3sh: TClientDataSet;  dsNH3sh: TDataSource;

    cdsNH3shSUB_ID: TIntegerField;  cdsNH3shP: TFloatField;

    cdsNH3shT: TFloatField;         cdsNH3shVW: TFloatField;

    cdsNH3shIW: TFloatField;        cdsNH3shSW: TFloatField;

    // Запросы

    quLimits: TSQLQuery; // Запрос пределов поиска

    quIntT: TSQLQuery;   // Ближайшие точки по T

    quIntPW: TSQLQuery;  // Ближайшие точки по p

    qu4P: TSQLQuery;

    dsp: TDataSetProvider;

    cds: TClientDataSet;