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

var e:Extended;    s:String;

Begin

   Result:=true;

   e := GetReal(ed.Text);

     if (Code<>0) then   begin

        ShowMessage ('Ошибка!');

        ed.SetFocus; //активизирует объект с ошибкой

        Result:=false;

     end;

end;

end.

Форма для коригування властивостей речовин(матеріалів).

Форма таблиці коригування термодинамічних властивостей

              аміаку на лінії насичення

Рисунок 5. Зовнішній вигляд форми властивостей на лінії насичення

unit uNH3Satur;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics,

  Controls, Forms,   Dialogs, upMDForm, Grids, DBGrids,

  DBCtrls, StdCtrls, Buttons, ExtCtrls;

type

  TfmNH3Satur = class(TfmSimpleMD)

    procedure bbChoiceClick(Sender: TObject);

  private    { Private declarations }

  public     { Public declarations }

  end;

var    fmNH3Satur: TfmNH3Satur;

implementation  uses uDM;  {$R *.dfm}

procedure TfmNH3Satur.bbChoiceClick(Sender: TObject);

begin  inherited;

     if DM.cdsNH3_Satur.Active then DM.cdsNH3_Satur.Close ;

  DM.taNH3_Satur.ParamByName('id').AsInteger := DM.Num_Substance ;

  DM.cdsNH3_Satur.Open ;

end;

end.

Форма таблиці коригування термодинамічних властивостей

              сухої перегрітої пари аміаку

Рисунок 6. Зовнішній вигляд форми властивостей парової фази

unit uNH3vapSH;

interface

uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, upMDForm, Grids, DBGrids, DBCtrls, StdCtrls, Buttons, ExtCtrls;

type

  TfmNH3vapSH = class(TfmSimpleMD)

    procedure bbChoiceClick(Sender: TObject);

  private   { Private declarations }

  public    { Public declarations }

  end;

var    fmNH3vapSH: TfmNH3vapSH;

implementation  uses uDM;  {$R *.dfm}

procedure TfmNH3vapSH.bbChoiceClick(Sender: TObject);

begin inherited;

     if DM.cdsNH3sh.Active then DM.cdsNH3sh.Close ;

 DM.taNH3sh.ParamByName('id').AsInteger := DM.Num_Substance;

  DM.cdsNH3sh.Open ;

end;

end.

Форма розрахунку термодинамічних властивостей аміаку

на лінії насичення.

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

                                 на лінії насичення

unit uSearchSat;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics,

  Controls, Forms, Dialogs, Grids, StdCtrls, Buttons,

  ExtCtrls, SqlExpr;

// К-во отображаемых результатов и всего результатов

Const ABS_NULL = -273.16 ; NN = 8; AN = 8;

type

  TfmCalcNH3Satur = class(TForm)

    paInd: TPanel;  Panel2: TPanel; Panel3: TPanel;

    Panel4: TPanel; Panel5: TPanel; Panel6: TPanel;

    Panel7: TPanel; Panel8: TPanel;

   Panel9: TPanel; Panel10: TPanel;   edT: TEdit; edP: TEdit;

   bbChoose: TBitBtn; bbSearchT: TBitBtn;

   bbSearchPw: TBitBtn;

   bbClose: TBitBtn; Panel11: TPanel; Panel12: TPanel;

   sgRes: TStringGrid;

    procedure FormCreate(Sender: TObject);

    procedure bbChooseClick(Sender: TObject);

    procedure bbSearchTClick(Sender: TObject);

    procedure edTExit(Sender: TObject);

    procedure bbSearchPwClick(Sender: TObject);

  private    { Private declarations }

    minT, minPW,  maxT, maxPW, p,t :Extended ;

    iP :Array[0..AN,1..3] of Extended ;

  public     { Public declarations }

    Procedure GetLimits;

    Function isTInLimits(t :Extended) :Boolean;

    Function isPwInLimits(p :Extended) :Boolean;

    Function GetVars(qu :TSQLQuery) :Boolean ;

    Procedure ShowNumbers ;

  end;

var

  fmCalcNH3Satur: TfmCalcNH3Satur;

implementation

uses uFmGr, uDM, DB, uDebug;

{$R *.dfm}

procedure TfmCalcNH3Satur.FormCreate(Sender: TObject);

Const st :array [1..AN] of string = (

'Температура t, °C', 'Давление p, Па',

'Удельный объем жидкости, м3/кг','Удельный объем пара,м3/кг',

'Энтальпия жидкости i`, Дж/кг',   'Энтальпия пара i", Дж/кг',

'Энтропия жидкости s`,Дж/(кг*К)',

'Энтропия пара s",Дж/(кг*К)');

var i :Integer;

begin

    sgRes.RowCount := AN+1 ;

    sgRes.ColWidths[0] := 450 ;

    sgRes.ColWidths[1] := 150 ;

    sgRes.Cells[0,0] := 'Показатель' ;

    sgRes.Cells[1,0] := 'Значение' ;