C+ C NAME: C AskWhatPrmpt C CALLING SEQUENCE: subroutine AskWhatPrmpt(iC,L1,L2,cPrmptIn,cPrmpt,cWhatIn) C CALLS: C itrim, uppercase, Str2Flt, LocFirstLen C PURPOSE: C Internal use only. C MODIFICATION HISTORY: C SEP-1994, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- integer iC integer L1 integer L2 character cPrmptIn*(*) character cPrmpt*(*) character cWhatIn*(*) real X(2) iDef = iC ! Used to determine default entry iC = 1 ! # 1st item = 1 L2 = itrim(cPrmptIn) I = index(cPrmptIn(:L2),'$') if (I .ne. 0) then L1 = 2 ! Look for two numbers call Str2Flt(cPrmptIn(I+1:L2),L1,X) iC = X(1) ! # 1st item read from cPrmpt if (L1 .eq. 2) iDef = X(2) ! Override input value L2 = I-1 end if iDef = max(iDef,iC) L1 = 1+index(cPrmptIn,':') ! Ignore part before first ':' ! First entry I = LocFirstLen(',',cPrmptIn(L1:L2)) cWhatIn = cPrmptIn(L1:L1-1+I-1) iP = iC-1 ! Find default entry I = L1-1 ! Position of last ',' do while (iP .lt. iDef .and. I .lt. L2) J = I+1 ! Position following ',' I = I+LocFirstLen(',',cPrmptIn(J:L2)) ! Next ',' iP = iP+1 end do if (iP .eq. iDef) cWhatIn = cPrmptIn(J:I-1) cPrmpt( :1) = ',' cPrmpt(2: ) = cPrmptIn(L1:L2) call uppercase(cPrmpt) L1 = 1+L2-L1+1 ! Length of cPrmpt return end