unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
P: TLabel;
P1: TLabel;
T: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure P1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
p1, t1: real;
p, t, v, Tsat, SteamState: real;
implementation
{$R *.lfm}
function freesteam_p(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_p';
function freesteam_T(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_T';
function freesteam_rho(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_rho';
function freesteam_v(SteamState : double ):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_v';
function freesteam_u(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_u';
function freesteam_h(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_h';
function freesteam_s(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_s';
function freesteam_cp(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_cp';
function freesteam_cv(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_cv';
function freesteam_w(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_w';
function freesteam_x(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_x';
function freesteam_mu(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_mu';
function freesteam_k(SteamState : double):double ; stdcall;
external 'libfreesteam.so' name 'freesteam_k';
function freesteam_set_pT(p,t:double):double; stdcall;
external 'libfreesteam.so' name 'freesteam_set_pT';
procedure calc;
var
vol_dbl, S: double;
vol_str: String;
p,t, p1, t1 : double;
begin
p1 := StrToFloat(Form1.Edit1.Text);
t1 := StrToFloat(Form1.Edit2.Text);
p := p1*10e6;
t := t1+273.15;
S := freesteam_set_pT(10,100);
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
calc;
end;
end.