home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug043.ark / BINSEARC.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  814 b   |  31 lines

  1. %NOLIST
  2.  
  3. 1060    H=0
  4.     IF RECORD.COUNT < 1 THEN H=-1:L=1:RETURN
  5.     READ #Y2,1;VAR$,VAR1
  6.     XYZ$=VAR$+"      ":ZYX$="000000"+STR$(VAR1)
  7.     VAR$=LEFT$(XYZ$,6)
  8.     IF LEN(K$)>6 THEN VAR$=VAR$+RIGHT$(ZYX$,6)
  9.     IF K$ < VAR$ THEN H=-1:L=1:RETURN
  10.     IF K$ = VAR$ THEN L=1:RETURN
  11.     READ #Y2,RECORD.COUNT;VAR$,VAR1
  12.     XYZ$=VAR$+"      ":ZYX$="000000"+STR$(VAR1)
  13.     VAR$=LEFT$(XYZ$,6)
  14.     IF LEN(K$)>6 THEN VAR$=VAR$+RIGHT$(ZYX$,6)
  15.     IF K$ > VAR$ THEN H=-1:L=RECORD.COUNT+1:RETURN
  16.     IF K$ = VAR$ THEN L=RECORD.COUNT:RETURN
  17.     H=RECORD.COUNT
  18.     L=0
  19. 1070    M=INT((L+H)/2)
  20.     READ #Y2,M;VAR$,VAR1
  21.     XYZ$=VAR$+"      ":ZYX$="000000"+STR$(VAR1)
  22.     VAR$=LEFT$(XYZ$,6)
  23.     IF LEN(K$)>6 THEN VAR$=VAR$+RIGHT$(ZYX$,6)
  24.     IF VAR$=K$ THEN L=M:RETURN
  25.     IF VAR$ > K$ THEN H=M
  26.     IF VAR$ < K$ THEN L=M
  27.     IF H=M+1 THEN H=-1:L=M+1:RETURN
  28.     GOTO 1070
  29.  
  30. %LIST
  31.