procedure TForm1.Button1Click(Sender: TObject);
label 1;
var
T1,T2,RH1,RH2,P1,P2,HR1,HR2,psat1,Psat2,Pv1,Pv2,Pa1,Pa2,ma1,ma2,
mv1,mv2,HR1c,HR2c,Tk1,Tk2,D1,D2:extended;
errors1:boolean;
calcstr1,calcstr2,calcstr3,calcstr4,calcstr5,calcstr6,
calcstr7:string[30];
begin
errors1:=false;
form1.hide;
form1.show;
form1.memo1.SelectAll;
form1.memo1.clearselection;
try
T1:=strtofloat(form1.edit1.text);
RH1:=strtofloat(form1.edit2.text);
P1:=strtofloat(form1.edit3.text);
T2:=strtofloat(form1.edit4.text);
RH2:=strtofloat(form1.edit5.text);
P2:=strtofloat(form1.edit6.text);
except errors1:=true;
end;
if (errors1=true) or
(t1<0.01) or (T1>80) or (rh1<1) or (rh1>100) or (P1<30) or (p1>140)
or (T2<0.01) or (T2>80) or (P2<30) or (P2>140)
then begin
form1.memo1.lines.add('Check Entries');
goto 1
end;
Psat1:=0.61121*exp((18.678-(T1/234.5))*(T1/(257.14+T1)));
Pv1:=Psat1*(Rh1/100);
Pa1:=P1-Pv1;
HR1:=0.62185*Pv1/Pa1;
Tk1:=T1+273.15;
ma1:=Pa1*1/(0.287*Tk1);
mv1:=Pv1*1/(0.4615*Tk1);
HR1c:=mv1/ma1;
D1:=(ma1+mv1)/1;
Psat2:=0.61121*exp((18.678-(T2/234.5))*(T2/(257.14+T2)));
Pv2:=Psat2*(Rh2/100);
Pa2:=P2-Pv2;
HR2:=0.62185*Pv2/Pa2;
Tk2:=T2+273.15;
ma2:=Pa2*1/(0.287*Tk2);
mv2:=Pv2*1/(0.4615*Tk2);
HR2c:=mv2/ma2;
D2:=(ma2+mv2)/1;
str(HR1:15:5,calcstr1);
form1.memo1.lines.add('Humidity ratio HR1 = '+calcstr1+' kg/kg');
str(HR2:15:5,calcstr2);
form1.memo1.lines.add('Humidity ratio HR2 = '+calcstr2+' kg/kg');
str(D1:15:3,calcstr3);
form1.memo1.lines.add('Density D1 = '+calcstr3+' kg per cubic m');
str(D2:15:3,calcstr4);
form1.memo1.lines.add('Density D2 = '+calcstr4+' kg per cubic m');
str(HR1c:15:5,calcstr5);
form1.memo1.lines.add('Check Humidity ratio HR1 = '+calcstr5+' kg/kg');
str(HR2c:15:5,calcstr6);
form1.memo1.lines.add('Check Humidity ratio HR2 = '+calcstr6+' kg/kg');
1: end;