1!$Id:$ 2 subroutine pcharr(y,ivd,n0,nt) 3 4! * * F E A P * * A Finite Element Analysis Program 5 6!.... Copyright (c) 1984-2017: Regents of the University of California 7! All rights reserved 8 9!-----[--.----+----.----+----.-----------------------------------------] 10! Purpose: Identify 'character' variables in the string 11! N.B. Lower case variables have been input, 12! upper case computed 13 14! Inputs: 15! y(*) - String to search 16! n0 - Field width 17! nt - Number of characters in y-array 18 19! Outputs: 20! ivd(2,*) - Number of characters found 21!-----[--.----+----.----+----.-----------------------------------------] 22 23 implicit none 24 25 integer n0,nt,n1,k,i,j,n,ivd(2,*) 26 character y*(*) 27 28 save 29 30 n1 = n0 - 1 31 k = 0 32 do i = 1,nt,n0 33 k = k + 1 34 ivd(1,k) = 0 35 ivd(2,k) = 0 36 n = ichar( y(i:i) ) - 64 37 if(n.gt.0) then 38 if(n.gt.58) go to 200 39 if(n.gt.26) then 40 ivd(1,k) = n - 32 41 j = ichar(y(i+1:i+1)) 42 if(j.eq.32) then 43 ivd(2,k) = 0 44 elseif(j.ge.ichar('a') .and. j.le.ichar('z')) then 45 ivd(2,k) = j - ichar('a') + 1 46 elseif(j.ge.ichar('0') .and. j.le.ichar('9')) then 47 ivd(2,k) = j - ichar('0') + 27 48 endif 49 else 50 ivd(1,k) = - n 51 endif 52 y(i :i+n1) = ' ' 53 y(i+n1:i+n1) = '0' 54 endif 55 end do 56 return 57 58! Error 59 60 200 call errclr('PCHARR') 61 62 end 63