home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug073.arc / GENELOGY.LBR / LGETREC.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  3KB  |  81 lines

  1. @ 7,0 SAY CHR(27)+'Y'
  2.    STORE ' ' TO type,more,mside,nom1,nom2
  3.    STORE t TO notfound
  4.    STORE 0 TO spacepos
  5.    STORE 1 TO mpage
  6.    STORE $(STR(0,137),1,136) TO mspc
  7.    IF xpaper = "U"
  8.       STORE 88 TO mlength
  9.    ELSE
  10.       STORE 98 TO mlength
  11.    ENDIF
  12.    DO WHILE .NOT. type$'NR'
  13.       @ 8,20 SAY "In <R>ecord or <N>ame order ? < > "
  14.       @ 8,51 GET type PICTURE "!"
  15.       READ NOUPDATE
  16.    ENDDO
  17.    CLEAR GETS
  18.    DO CASE
  19.       CASE type = 'N'
  20.          SET INDEX TO a:names
  21.          STORE 'surname-firstnms' TO mvar
  22.          DO WHILE notfound
  23.             STORE $(mspc,1,37) TO mfirst,mlast
  24.             DO WHILE mfirst > '_' .OR. mfirst < 'A' .OR. ;
  25.                      mlast > '_' .OR. (mlast < 'A' .AND. mlast # ' ')
  26.                @ 12,20 SAY 'Starting SURNAME -  ' GET mfirst
  27.                @ 14,20 SAY 'Ending   SURNAME -  ' GET mlast
  28.                READ NOUPDATE
  29.             ENDDO
  30.             CLEAR GETS
  31.             STORE TRIM(mfirst) TO mfirst
  32.             STORE TRIM(mlast) TO mlast
  33.             IF mlast =" "
  34.                STORE mfirst TO mlast
  35.             ENDIF
  36.             IF @(' ',mfirst) # 0
  37.                STORE mfirst TO nom1
  38.                STORE @(' ',mfirst) TO spacepos
  39.                STORE $(mfirst,1,spacepos-1)-$(mfirst,spacepos+1,len(mfirst));
  40.                   TO mfirst
  41.             ELSE
  42.                STORE mfirst TO nom1
  43.             ENDIF
  44.             IF @(' ',mlast) # 0
  45.                STORE mlast TO nom2
  46.                STORE @(' ',mlast) TO spacepos
  47.                STORE $(mlast,1,spacepos-1)-$(mlast,spacepos+1,len(mlast));
  48.                   TO mlast
  49.             ELSE
  50.                STORE mlast TO nom2
  51.             ENDIF
  52.             FIND &mfirst
  53.             IF # = 0
  54.                @ 16,30 SAY trim(mfirst)+" NOT FOUND"
  55.                @ 18,30 SAY "Press any key"
  56.                SET CONSOLE OFF
  57.                WAIT
  58.                SET CONSOLE ON
  59.                @ 12,0 SAY CHR(27)+"Y"
  60.                LOOP
  61.             ELSE
  62.                STORE f TO notfound
  63.             ENDIF
  64.          ENDDO
  65.       CASE type = 'R'
  66.          STORE 0 TO mlast
  67.          STORE '    ' TO mfirst,mlst,mvar
  68.          @ 12,11 SAY "To List ALL Records, Start with "+xinv+" 1 "+xnor+;
  69.          ", End with "+xinv+xfin+" "+xnor
  70.          DO WHILE VAL(mfirst) < 1 .OR. VAL(mlst) > VAL(xfin);
  71.             .OR. mfirst > mlst
  72.             @ 14,21 SAY "Start at Record No. " GET mfirst
  73.             @ 16,21 say "  End at Record No. " GET mlst
  74.             READ NOUPDATE
  75.          ENDDO
  76.          CLEAR GETS
  77.          STORE VAL(mlst) TO mlast
  78.          GO VAL(mfirst)
  79.          STORE STR(#,4) TO mvar
  80.    ENDCASE
  81.