program bar # # # This program accepts parameters from either a command file defined # as a start parm or ineractively from the VDU. # # byte ipf(30),itle(25),xtit(20),ytit(20),fmt(20),fnme(30) byte cmd(80),icl,isav,savfil(30) logical colour,vdu,cmdout # lu=5 call getmcr(cmd,n) if (n.le.3.OR.(n.eq.4.and.cmd(4).eq.' ')) { vdu=.true. print 213 read(lu,(a1))isav if(isav.eq.'Y'.or.isav.eq.'y') { cmdout=.true. print 214 read(lu,(30a1))savfil savfil(30)=0 open(unit=2,name=savfil,status='new',carriagecontrol='list') } else cmdout=.false. } else { vdu=.false. lu=1 cmd(n+1)=0 i=4 if(cmd(4).eq.'@') i=i+1 open(unit=1,name=cmd(i),status='old',readonly) } if (vdu) print 200 read(lu,*)nplts if (nplts.gt.1) print 500 if(cmdout) write(2,*)nplts if (vdu) print 201 read(lu,(30a1))ipf ipf(30)=0 if(cmdout) write(2,(30a1))ipf if (vdu) print 202 read(lu,(a1))icl if(cmdout) write(2,(a1))icl if (icl.eq.Y.or.icl.eq.'y') colour=.true. else colour=.false. do i=1,nplts { if(vdu.and.(nplts.gt.1)) write(lu,('0PARAMTERS FOR PLOT ',i2))i if (vdu) print 203 read(lu,*)xstart,ystart if(cmdout) write(2,*)xstart,ystart if (vdu) print 204 read(lu,*)fact if(cmdout) write(2,*)fact if (vdu) print 205 read(lu,(25a1))itle if(cmdout) write(2,(25a1))itle call cnvtuc(30,itle) if (vdu) print 206 read(lu,(20a1))xtit if(cmdout) write(2,(20a1))xtit call cnvtuc(20,xtit) if (vdu) print 207 read(lu,(20a1))ytit if(cmdout) write(2,(20a1))ytit call cnvtuc(20,ytit) if (vdu) print 208 read(lu,(30a1))fnme if(cmdout) write(2,(30a1))fnme fnme(30)=0 if (vdu) print 209 read(lu,(20a1))fmt if(cmdout) write(2,(20a1))fmt if (fmt(1).ne.'(') call stinse('(',1,fmt,19) for (j=20; j.ne.0; j=j-1) { if (fmt(j).ne.' ') { fmt(j+1)=')' break } } if (vdu) print 210 read(lu,*)bstart if(cmdout) write(2,*)bstart if (vdu) print 211 read(lu,*)binc if(cmdout) write(2,*)binc if (vdu) print 212 read(lu,*)nbars if(cmdout) write(2,*)nbars # if (i.eq.1) ist=0 else ist=i call barbox(ipf,colour,xstart,ystart,fact,itle,xtit,ytit,ist) if (i.eq.nplts) ist=0 else ist=1 call barplt(fnme,fmt,,bstart,binc,nbars,ist) } write(5,(' Bar Plot is in file ',29a1))(ipf(i),i=1,29) stop 200 format('$Enter number of plots (integer) ->') 201 format('$Enter name of output plot file ->') 202 format('$Colour ? (Y/N) ->') 203 format('$Enter coords bottom/left (X,Y) ->') 204 format('$Enter amplification factor ->') 205 format('$Enter histogram title (30 max) ->') 206 format('$Enter title for X-axis ->') 207 format('$Enter title for Y-axis ->') 208 format('$Enter name of input data file ->') 209 format('$Enter read format (F-type) ->') 210 format('$Enter value of first bar (real) ->') 211 format('$Enter bar increment (real) ->') 212 format('$Enter number of bars (inetger) ->') 213 format('$Save answers in a file ?(Y/N) ->') 214 format('$Enter name of save file ->') 500 format('0All plots will be done without any inter-plot delays.') end