subroutine getsst include 'screen.inc' integer*2 irowt,nlines,iopt integer*2 maxsop parameter (maxsop=3) character*4 sopstr(maxsop) integer*2 subopt(maxsop) logical yesno external yesno data sopstr/'HAYN','GHYN','MHYN'/ c 15 call cls do 5 iopt=1,maxsop 5 subopt(iopt)=0 c c get data analysis options c irow=1 icol=15 line='Select from the following sighting distance '// 1 '-- angle estimators' call scrlin irow=irow+1 line='by moving the cursor with the up and down arrow keys, and' call scrlin irow=irow+1 line='hitting a carriage return to select a particular option,' call scrlin irow=irow+1 line='or to un-select an option already selected.' call scrlin irow=irow+2 irowt=irow icol=10 line='HAYN - Hayne estimator.' call scrlin irow=irow+2 line='GHYN - generalized Hayne estimator.' call scrlin irow=irow+2 line='MHYN - modified Hayne estimator.' call scrlin irow=irow+2 line='FINISHED selecting options, and ready to proceed.' call scrlin irow=irow+1 line='(Don''t hit Enter here until '// 1 'satisfied with above selections' call scrlin icol=9 call putcur(irowt,icol,ivpage,ierror) nlines=maxsop*2 60 call inkey(line,keycde,nchar) if (keycde.eq.0) then continue c up arrow else if (keycde.eq.72) then call getcur(ivpage,irow,icol,ierror) irow=irow-2 if (irow.lt.irowt) irow=irowt+nlines call putcur(irow,icol,ivpage,ierror) c down arrow else if (keycde.eq.80) then call getcur(ivpage,irow,icol,ierror) irow=irow+2 if (irow.gt.irowt+nlines) irow=irowt call putcur(irow,icol,ivpage,ierror) c carriage return, meaning this area is selected. else if (keycde.eq.28) then call getcur(ivpage,irow,icol,ierror) iopt=(irow-irowt)/2+1 if (iopt.le.maxsop) then subopt(iopt)=1-subopt(iopt) if (subopt(iopt).eq.1) then line='Selected ' line(9:9)=char(26) else line=' ' endif call putcur(irow,1,ivpage,ierror) call wchars(ivpage,line,9,icolor,ibckgd,1,ierror) call putcur(irow,icol,ivpage,ierror) else c come here when satisfied with options specified. go to 70 endif endif go to 60 c check input to see that it is valid 70 nlines=0 do 75 iopt=1,maxsop 75 nlines=nlines+subopt(iopt) if (nlines.eq.0 .or. nlines.gt.maxsop) then call putcur(25,1,ivpage,ierror) line='No options were specified. Re-do input.'// 1 ' Press any key to continue.' call wchars(ivpage,line,70,icolor,ibckgd,1,ierror) 76 call inkey(line,keycde,nchar) if (keycde.eq.0) go to 76 go to 15 endif irow=1 icol=15 call cls line='Options specified are:' call scrlin icol=20 do 80 i=1,maxsop if (subopt(i).eq.1) then irow=irow+1 line=sopstr(i) call scrlin endif 80 continue irow=irow+2 icol=5 line='Are these options OK and ready to proceed?' if (.not. yesno(0)) go to 15 line=' ' line(1:1)='*' iopt=2 do 140 i=1,maxsop if (subopt(i).eq.1) then line(iopt:iopt+3)=sopstr(i) iopt=iopt+4 line(iopt:iopt)=',' iopt=iopt+1 endif 140 continue iopt=iopt-1 line(iopt:iopt)='*' write(unit=iout,fmt='(a)') line(1:iopt) return end