!***************************************************************
! PROFLIBHND       / 2002-03-22 / Vertex Systems
!***************************************************************
!
#CODETOPARAMS#
!
C$= get(CODE)
W$= ""
H$= ""
!
if cmp(C$[1,4],"FLAT") == 0 then exit
A$= C$[5,0]
P= findstr(A$,"-")
L= len(A$)
if P > 1 then W$= A$[1,P-1]
if P < L then H$= A$[P+1,0]
!
set "WIDTH" W$
set "HEIGHT" H$
!
#CODETOPARAMS#
!
#PARAMSTOCODE#
!
W$= get(WIDTH)
H$= get(HEIGHT)
!
C$= "FLAT"&W$&"-"&H$
set "CODE" C$
!
#PARAMSTOCODE#
!
#ADDNEWCODE#

!
C$= get(CODE)
Dir$= get("LIBPATH")
!
if cmp(C$[1,4],"FLAT") == 0 then exit
A$= C$[5,0]
P= findstr(A$,"-")
L= len(A$)
!
W$= ""
H$= ""
if P > 1 then W$= A$[1,P-1]
if P < L then H$= A$[P+1,0]
if len(W$) < 2 then exit
if len(W$) > 3 then exit
if len(H$) < 2 then
  H$ = H$&".0"
endif
if len(H$) > 3 then exit
!
W= W$
H= H$
A= W*H*0.01
A$= A:N?.3
U= (W+H)*0.2
U$= U:N?.3
IY= W*H*H*H/120000
IY$= IY:N?.4
!
IdD= 1
IdP= 2
!
Path$= Dir$&"d_PROFDATA"
dbopen(IdD) Path$,1
Path$= Dir$&"d_PROFPAR"
dbopen(IdP) Path$,1
!
if dbvalid(IdD) < 1  || dbvalid(IdP) < 1 then
  dbclose(IdD)
  dbclose(IdP)
  exit
endif
!
RidP= dbaddrow(IdP,1,"CODE",C$)
dbputf(IdP) RidP,"WIDTH",W$
dbputf(IdP) RidP,"HEIGHT",H$
!
RidD= dbaddrow(IdD,1,"CODE",C$)
dbputf(IdD) RidD,"A",A$
dbputf(IdD) RidD,"ACCURATE","RECTAN"
dbputf(IdD) RidD,"COARSE","RECTAN"
dbputf(IdD) RidD,"T",H$
dbputf(IdD) RidD,"IY",IY$
dbputf(IdD) RidD,"U",U$
dbputf(IdD) RidD,"PUNIT","1"
!
if RidP < 0 || RidD < 0 then 
  dbdelrow(IdD) RidD
  dbdelrow(IdP) RidP
else
  set RETURN "1"
endif
!
dbclose(IdD)
dbclose(IdP)
!
#ADDNEWCODE#
!