home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / qb_pds / menu / progen / source / probro71.bas < prev    next >
Encoding:
BASIC Source File  |  1991-10-08  |  18.9 KB  |  523 lines

  1. DEFINT A-Z
  2.  
  3. COMMON SHARED masterFile$, numberoffields, ff, progfile$, startp
  4. '$DYNAMIC
  5. '$INCLUDE: 'PROLIB71.BI'
  6.  
  7. REM $STATIC
  8. SUB PROBRO.1
  9. '$DYNAMIC
  10. PRINT #ff, "DEFINT A-Z"
  11. PRINT #ff, "'"
  12. PRINT #ff, "   SUB BrowseIrec (nameofindex$, indexnum, Exitcode) STATIC"
  13. PRINT #ff, ""
  14. PRINT #ff, "       IF ISMstatus(indexnum) = 0 then"
  15. PRINT #ff, "          Exitcode = 0"
  16. PRINT #ff, "          EXIT SUB"
  17. PRINT #ff, "       END IF"
  18. PRINT #ff, ""
  19. PRINT #ff, "      fg = WHITE"
  20. PRINT #ff, "      bg = BLUE"
  21. PRINT #ff, ""
  22. PRINT #ff, "      REDIM dg$(5)"
  23. PRINT #ff, "      REDIM DispLine$(10)"
  24. PRINT #ff, "      REDIM TEMPretcode(20)"
  25. PRINT #ff, ""
  26. PRINT #ff, "      CONST ex$ = " + CHR$(34) + " ESC = Exit  ENTER = Select  ? = Key search " + CHR$(34)
  27. PRINT #ff, ""
  28. PRINT #ff, "      'define select option window"
  29. PRINT #ff, ""
  30. PRINT #ff, "      ROW = 6"
  31. PRINT #ff, "      col = 3"
  32. PRINT #ff, "      lin = 10"
  33. PRINT #ff, "      numofsel = 0"
  34. PRINT #ff, ""
  35. PRINT #ff, "      Exitcode = 0"
  36. PRINT #ff, "      bodertype = 2  'Border type"
  37. PRINT #ff, ""
  38. PRINT #ff, "      Nf = BLACK  'Normal Foreground"
  39. PRINT #ff, "      Nb = WHITE  'Normal Background"
  40. PRINT #ff, "      sf = WHITE + 8  'Select Foreground"
  41. PRINT #ff, "      Sb = BLACK  'Select Background"
  42. PRINT #ff, "      ff = YELLOW  'Frame Foreground"
  43. PRINT #ff, "      Fb = BLACK  'Frame Background"
  44. PRINT #ff, ""
  45. PRINT #ff, "      'end of select option's"
  46. PRINT #ff, "      MsgLine  ex$, 25, 0, 7"
  47. PRINT #ff, "resrt:"
  48. PRINT #ff, ""
  49. PRINT #ff, ""
  50. PRINT #ff, "      KeyLen = 70 ' LEN(key$) for single key display"
  51. PRINT #ff, "      KeyLen = Maximum(KeyLen, LEN(Ex$))"
  52. PRINT #ff, "      skey$ = " + CHR$(34) + "FIELD NAME" + CHR$(34)
  53. PRINT #ff, "      dg$(1) = " + CHR$(34) + "Enter search key" + CHR$(34)
  54. PRINT #ff, "      dg$(2) = " + CHR$(34) + "or Part of key  " + CHR$(34)
  55. PRINT #ff, ""
  56. PRINT #ff, "      height = lin"
  57. PRINT #ff, "      Startpos = height"
  58. PRINT #ff, "      col = 80 / 2 - KeyLen / 2"
  59. PRINT #ff, ""
  60. PRINT #ff, "      dwidth = KeyLen"
  61. PRINT #ff, "      trim dg$(1)"
  62. PRINT #ff, "      trim dg$(2)"
  63. PRINT #ff, "      Dwidth2 = dwidth"
  64. PRINT #ff, "      dwidth = dwidth + 2"
  65. PRINT #ff, ""
  66. PRINT #ff, "      totalheight = height + 2  'Scroll box height plus borders"
  67. PRINT #ff, "      totalheight = totalheight + 2  'Quit Box + ESC + lineNum"
  68. PRINT #ff, "      checkheight = totalheight + ROW - 1  'Check the height"
  69. PRINT #ff, ""
  70. PRINT #ff, "      IF checkheight > MAXROW THEN"
  71. PRINT #ff, "         CurMasREC = 0"
  72. PRINT #ff, "         retcode = 0"
  73. PRINT #ff, "         EXIT SUB"
  74. PRINT #ff, "      END IF"
  75. PRINT #ff, ""
  76. PRINT #ff, "      CheckWidth = dwidth + col - 1"
  77. PRINT #ff, ""
  78. PRINT #ff, "      IF CheckWidth > 80 THEN"
  79. PRINT #ff, "         CurMasREC = 0"
  80. PRINT #ff, "         retcode = 0"
  81. PRINT #ff, "         EXIT SUB"
  82. PRINT #ff, "      END IF"
  83. PRINT #ff, ""
  84. PRINT #ff, "      'Save Screen"
  85. PRINT #ff, "      GetBackground ROW, col, ROW + totalheight + 2, col + dwidth + 1, buf$"
  86. PRINT #ff, "      DrawBox ROW, col, dwidth, totalheight, bodertype, ff, Fb, 1, Nf, Nb, 0"
  87. PRINT #ff, ""
  88. PRINT #ff, "      Crow = ROW + height + 1"
  89. PRINT #ff, "      Ccol = col + 1"
  90. PRINT #ff, "      Acc$ = STRING$(dwidth - 2, 196)"
  91. PRINT #ff, "      pnc Acc$, Crow, Ccol, ff, Fb"
  92. PRINT #ff, "      Crow = ROW + height + 2"
  93. PRINT #ff, "      kcol = Ccol + KeyLen / 2 - LEN(skey$) / 2"
  94. PRINT #ff, "      pnc skey$, Crow, kcol, ff, Fb"
  95. PRINT #ff, ""
  96. PRINT #ff, "      GOSUB homekeys  'Display from the top"
  97. PRINT #ff, "      GOSUB Displaykeys  'Display the keys"
  98. PRINT #ff, ""
  99. PRINT #ff, "      CurrentROW = 1  'Current Row"
  100. PRINT #ff, "      DO"
  101. PRINT #ff, "      Acc$ = DispLine$(CurrentROW)"
  102. PRINT #ff, ""
  103. PRINT #ff, "      IF LEN(Acc$) < Dwidth2 - 2 THEN"
  104. PRINT #ff, "         Acc$ = Acc$ + STRING$(Dwidth2 - LEN(Acc$), 32)"
  105. PRINT #ff, "      END IF"
  106. PRINT #ff, ""
  107. PRINT #ff, "      Crow = CurrentROW + ROW"
  108. PRINT #ff, "      pnc Acc$, Crow, Ccol, sf, Sb"
  109. PRINT #ff, "      kbd$ = " + CHR$(34) + "" + CHR$(34)
  110. PRINT #ff, ""
  111. PRINT #ff, "      WHILE kbd$ = " + CHR$(34) + CHR$(34)
  112. PRINT #ff, "         kbd$ = INKEY$"
  113. PRINT #ff, "      WEND"
  114. PRINT #ff, ""
  115. PRINT #ff, ""
  116. PRINT #ff, "      IF LEN(kbd$) = 1 THEN"
  117. PRINT #ff, "         useroption = ASC(RIGHT$(kbd$, 1))"
  118. PRINT #ff, "         SELECT CASE useroption"
  119. PRINT #ff, ""
  120. PRINT #ff, "         CASE 63  '? search key"
  121. PRINT #ff, "         DialogBox dg$(), 1, 1, 20, ff, Fb, Nf, Nb, 1, ans$," + CHR$(34) + "" + CHR$(34) + ", Exk"
  122. PRINT #ff, ""
  123. PRINT #ff, "         key$ = ans$"
  124. PRINT #ff, ""
  125. PRINT #ff, "         'IndexFind"
  126. PRINT #ff, ""
  127. PRINT #ff, "         ISM " + CHR$(34) + "GE" + CHR$(34) + ", indexnum, retcode"
  128. PRINT #ff, ""
  129. PRINT #ff, "         IF retcode THEN"
  130. PRINT #ff, "            GOSUB getreinfo"
  131. PRINT #ff, "            DispLine$(1) = DispLine$"
  132. PRINT #ff, "         END IF"
  133. PRINT #ff, ""
  134. PRINT #ff, "         GOSUB GetNextten"
  135. PRINT #ff, "         CurrentROW = 1"
  136. PRINT #ff, "         GOSUB Displaykeys"
  137. PRINT #ff, ""
  138. PRINT #ff, "         CASE 48 TO 57, 65 TO 90, 97 TO 122  'first letter search"
  139. PRINT #ff, "         'IndexFind"
  140. PRINT #ff, "         key$ = UCASE$(CHR$(useroption))"
  141. PRINT #ff, ""
  142. PRINT #ff, "         ISM " + CHR$(34) + "GE" + CHR$(34) + ", indexnum, retcode"
  143. PRINT #ff, ""
  144. PRINT #ff, "         IF retcode THEN"
  145. PRINT #ff, "            GOSUB getreinfo"
  146. PRINT #ff, "            DispLine$(1) = DispLine$"
  147. PRINT #ff, "         END IF"
  148. PRINT #ff, ""
  149. PRINT #ff, "         GOSUB GetNextten"
  150. PRINT #ff, "         CurrentROW = 1"
  151. PRINT #ff, "         GOSUB Displaykeys"
  152. PRINT #ff, "         CASE 27  'ESCAPE"
  153. PRINT #ff, "         key$ = " + CHR$(34) + "" + CHR$(34)
  154. PRINT #ff, "         retcode = 0"
  155. PRINT #ff, "         Exitcode = 1  ' ESC"
  156. PRINT #ff, "         EXIT DO"
  157. PRINT #ff, ""
  158. PRINT #ff, "         CASE 13  'RETURN"
  159. PRINT #ff, ""
  160. PRINT #ff, "         pnt = INSTR(DispLine$(CurrentROW)," + CHR$(34) + " " + CHR$(34) + ")"
  161. PRINT #ff, ""
  162. PRINT #ff, "         key$ = LEFT$(DispLine$(CurrentROW), pnt)"
  163. PRINT #ff, ""
  164. PRINT #ff, "         trim key$"
  165. PRINT #ff, ""
  166. PRINT #ff, "         ISM " + CHR$(34) + "GE" + CHR$(34) + ", indexnum, retcode"
  167. PRINT #ff, ""
  168. PRINT #ff, "         Exitcode = 2  ' RETURN"
  169. PRINT #ff, "         EXIT DO"
  170. PRINT #ff, "         CASE ELSE"
  171. PRINT #ff, "         END SELECT"
  172. PRINT #ff, "      END IF"
  173. PRINT #ff, ""
  174. PRINT #ff, ""
  175. PRINT #ff, "      IF LEN(kbd$) = 2 THEN"
  176. PRINT #ff, "         useroption = ASC(RIGHT$(kbd$, 1))"
  177. PRINT #ff, "         SELECT CASE useroption"
  178. PRINT #ff, ""
  179. PRINT #ff, "         CASE 71  'Home"
  180. PRINT #ff, "         CurrentROW = 1"
  181. PRINT #ff, "         GOSUB homekeys"
  182. PRINT #ff, "         GOSUB Displaykeys"
  183. PRINT #ff, ""
  184. PRINT #ff, "         CASE 81  'pg Down"
  185. PRINT #ff, "         CurrentROW = 1"
  186. PRINT #ff, ""
  187. PRINT #ff, "         FOR lineNum = 1 TO height"
  188. PRINT #ff, "            DispLine$(lineNum) = STRING$(KeyLen, 32)"
  189. PRINT #ff, "         NEXT lineNum"
  190. PRINT #ff, ""
  191. PRINT #ff, "         ISM " + CHR$(34) + "N" + CHR$(34) + ", indexnum, retcode"
  192. PRINT #ff, ""
  193. PRINT #ff, "         IF retcode THEN"
  194. PRINT #ff, "            GOSUB getreinfo"
  195. PRINT #ff, "            DispLine$(1) = DispLine$"
  196. PRINT #ff, "         END IF"
  197. PRINT #ff, ""
  198. PRINT #ff, "         GOSUB GetNextten"
  199. PRINT #ff, "         GOSUB Displaykeys"
  200. PRINT #ff, ""
  201. PRINT #ff, "         CASE 73  'pg Up"
  202. PRINT #ff, "         CurrentROW = 1"
  203. PRINT #ff, "         GOSUB GetLastpage"
  204. PRINT #ff, "         GOSUB Displaykeys"
  205. PRINT #ff, ""
  206. PRINT #ff, "         CASE 79  'End"
  207. PRINT #ff, ""
  208. PRINT #ff, "         IF Startpos >= height THEN"
  209. PRINT #ff, "            CurrentROW = 1"
  210. PRINT #ff, "            GOSUB endkeys"
  211. PRINT #ff, "            GOSUB Displaykeys"
  212. PRINT #ff, "         END IF"
  213. PRINT #ff, ""
  214. PRINT #ff, "         CASE 80  'Down Arrow"
  215. PRINT #ff, ""
  216. PRINT #ff, "         CurrentROW = CurrentROW + 1"
  217. PRINT #ff, ""
  218. PRINT #ff, "         IF CurrentROW > height THEN"
  219. PRINT #ff, "            CurrentROW = CurrentROW - 1"
  220. PRINT #ff, ""
  221. PRINT #ff, "            IF TEMPretcode(height) <> 0 THEN"
  222. PRINT #ff, "               key$ = DispLine$(height)"
  223. PRINT #ff, "               pnt = INSTR(DispLine$(CurrentROW)," + CHR$(34) + " " + CHR$(34) + ")"
  224. PRINT #ff, "               key$ = LEFT$(DispLine$(CurrentROW), pnt)"
  225. PRINT #ff, "               trim key$"
  226. PRINT #ff, ""
  227. PRINT #ff, "               ISM " + CHR$(34) + "GE" + CHR$(34) + ", indexnum, retcode"
  228. PRINT #ff, "               'IndexNext"
  229. PRINT #ff, "               ISM " + CHR$(34) + "N" + CHR$(34) + ", indexnum, retcode"
  230. PRINT #ff, ""
  231. PRINT #ff, "               IF retcode <> 0 THEN"
  232. PRINT #ff, ""
  233. PRINT #ff, "                     FOR lineNum = 1 TO height - 1"
  234. PRINT #ff, "                        TEMPretcode(lineNum) = TEMPretcode(lineNum + 1)"
  235. PRINT #ff, "                        DispLine$(lineNum) = DispLine$(lineNum + 1)"
  236. PRINT #ff, "                     NEXT lineNum"
  237. PRINT #ff, ""
  238. PRINT #ff, "                     GOSUB getreinfo"
  239. PRINT #ff, "                     DispLine$(height) = DispLine$"
  240. PRINT #ff, ""
  241. PRINT #ff, "                     TEMPretcode(height) = retcode"
  242. PRINT #ff, ""
  243. PRINT #ff, "               END IF"
  244. PRINT #ff, ""
  245. PRINT #ff, "            END IF"
  246. PRINT #ff, ""
  247. PRINT #ff, "            ELSE"
  248. PRINT #ff, ""
  249. PRINT #ff, "            IF TEMPretcode(CurrentROW) = 0 THEN"
  250. PRINT #ff, "               CurrentROW = CurrentROW - 1"
  251. PRINT #ff, "            END IF"
  252. PRINT #ff, ""
  253. PRINT #ff, "         END IF"
  254. PRINT #ff, ""
  255. PRINT #ff, "         GOSUB Displaykeys"
  256. PRINT #ff, "         CASE 72  'Up Arrow"
  257. PRINT #ff, "         CurrentROW = CurrentROW - 1"
  258. PRINT #ff, ""
  259. PRINT #ff, "         IF CurrentROW < 1 THEN"
  260. PRINT #ff, "            CurrentROW = CurrentROW + 1"
  261. PRINT #ff, ""
  262. PRINT #ff, "               key$ = DispLine$(1)"
  263. PRINT #ff, "               pnt = INSTR(DispLine$(1)," + CHR$(34) + " " + CHR$(34) + ")"
  264. PRINT #ff, "               key$ = LEFT$(DispLine$(1), pnt)"
  265. PRINT #ff, "               trim key$"
  266. PRINT #ff, ""
  267. PRINT #ff, "               ISM " + CHR$(34) + "GE" + CHR$(34) + ", indexnum, retcode"
  268. PRINT #ff, ""
  269. PRINT #ff, "               retcode = TEMPretcode(1)"
  270. PRINT #ff, "               Prevretcode = retcode"
  271. PRINT #ff, "               'IndexPrevious"
  272. PRINT #ff, ""
  273. PRINT #ff, "               ISM " + CHR$(34) + "P" + CHR$(34) + ", indexnum, retcode"
  274. PRINT #ff, ""
  275. PRINT #ff, "               IF retcode <> 0 THEN"
  276. PRINT #ff, ""
  277. PRINT #ff, "                     FOR lineNum = height TO 2 STEP -1"
  278. PRINT #ff, "                        TEMPretcode(lineNum) = TEMPretcode(lineNum - 1)"
  279. PRINT #ff, "                        DispLine$(lineNum) = DispLine$(lineNum - 1)"
  280. PRINT #ff, "                     NEXT lineNum"
  281. PRINT #ff, ""
  282. PRINT #ff, "                     GOSUB getreinfo"
  283. PRINT #ff, "                     DispLine$(1) = DispLine$"
  284. PRINT #ff, "                     TEMPretcode(1) = retcode"
  285. PRINT #ff, ""
  286. PRINT #ff, "               END IF"
  287. PRINT #ff, ""
  288. PRINT #ff, "            ELSE"
  289. PRINT #ff, ""
  290. PRINT #ff, "            IF TEMPretcode(CurrentROW) = 0 THEN"
  291. PRINT #ff, "               CurrentROW = CurrentROW + 1"
  292. PRINT #ff, "            END IF"
  293. PRINT #ff, ""
  294. PRINT #ff, "         END IF"
  295. PRINT #ff, ""
  296. PRINT #ff, "         GOSUB Displaykeys"
  297. PRINT #ff, "         CASE ELSE"
  298. PRINT #ff, "         END SELECT"
  299. PRINT #ff, "      END IF"
  300. PRINT #ff, ""
  301. PRINT #ff, "      LOOP"
  302. PRINT #ff, "      'Restore Screen"
  303. PRINT #ff, "      PutBackground ROW, col, buf$"
  304. PRINT #ff, "      buf$ = " + CHR$(34) + CHR$(34)
  305. PRINT #ff, "      EXIT SUB"
  306. PRINT #ff, "Displaykeys:"
  307. PRINT #ff, ""
  308. PRINT #ff, "      FOR lineNum = 1 TO height"
  309. PRINT #ff, "         Acc$ = DispLine$(lineNum)"
  310. PRINT #ff, ""
  311. PRINT #ff, "         IF LEN(Acc$) < Dwidth2 THEN"
  312. PRINT #ff, "            Acc$ = Acc$ + STRING$(Dwidth2 - LEN(Acc$), 32)"
  313. PRINT #ff, "         END IF"
  314. PRINT #ff, ""
  315. PRINT #ff, "         Crow = ROW + lineNum"
  316. PRINT #ff, "         pnc Acc$, Crow, Ccol, Nf, Nb"
  317. PRINT #ff, "      NEXT lineNum"
  318. PRINT #ff, ""
  319. PRINT #ff, "      Startpos = lineNum"
  320. PRINT #ff, "      RETURN"
  321. PRINT #ff, "homekeys:"
  322. PRINT #ff, ""
  323. PRINT #ff, "      FOR lineNum = 1 TO height"
  324. PRINT #ff, ""
  325. PRINT #ff, "         TEMPretcode(lineNum) = 0"
  326. PRINT #ff, ""
  327. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  328. PRINT #ff, "      NEXT lineNum"
  329. PRINT #ff, ""
  330. PRINT #ff, "      ISM " + CHR$(34) + "F" + CHR$(34) + ", indexnum, retcode"
  331. PRINT #ff, ""
  332. PRINT #ff, "      IF retcode THEN"
  333. PRINT #ff, "         GOSUB getreinfo"
  334. PRINT #ff, "         DispLine$(1) = DispLine$"
  335. PRINT #ff, "         TEMPretcode(1) = retcode"
  336. PRINT #ff, "      END IF"
  337. PRINT #ff, ""
  338. PRINT #ff, ""
  339. PRINT #ff, "      Prevretcode = retcode"
  340. PRINT #ff, "      CurrentROW = 1"
  341. PRINT #ff, "GetNextten:"
  342. PRINT #ff, ""
  343. PRINT #ff, "      FOR lineNum = 2 TO height"
  344. PRINT #ff, ""
  345. PRINT #ff, "         TEMPretcode(lineNum) = 0"
  346. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  347. PRINT #ff, "      NEXT lineNum"
  348. PRINT #ff, ""
  349. PRINT #ff, ""
  350. PRINT #ff, "      FOR lineNum = 2 TO height"
  351. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  352. PRINT #ff, ""
  353. PRINT #ff, "         TEMPretcode(lineNum) = 0"
  354. PRINT #ff, "         ISM " + CHR$(34) + "N" + CHR$(34) + ", indexnum, retcode"
  355. PRINT #ff, ""
  356. PRINT #ff, "         IF retcode > 0 THEN"
  357. PRINT #ff, ""
  358. PRINT #ff, "            IF EOF(indexnum) THEN"
  359. PRINT #ff, "               EXIT FOR"
  360. PRINT #ff, "               ELSE"
  361. PRINT #ff, "               GOSUB getreinfo"
  362. PRINT #ff, "               DispLine$(lineNum) = DispLine$"
  363. PRINT #ff, "               TEMPretcode(lineNum) = retcode"
  364. PRINT #ff, "               Prevretcode = retcode"
  365. PRINT #ff, "            END IF"
  366. PRINT #ff, "            ELSE"
  367. PRINT #ff, "            EXIT FOR"
  368. PRINT #ff, "         END IF"
  369. PRINT #ff, ""
  370. PRINT #ff, "      NEXT lineNum"
  371. PRINT #ff, "      RETURN"
  372. PRINT #ff, "endkeys:"
  373. PRINT #ff, ""
  374. PRINT #ff, "      dsppos = 1"
  375. PRINT #ff, ""
  376. PRINT #ff, "      FOR lineNum = 1 TO height"
  377. PRINT #ff, "         TEMPretcode(lineNum) = 0"
  378. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  379. PRINT #ff, "      NEXT lineNum"
  380. PRINT #ff, ""
  381. PRINT #ff, "      ISM " + CHR$(34) + "L" + CHR$(34) + ", indexnum, retcode"
  382. PRINT #ff, ""
  383. PRINT #ff, "      IF retcode THEN"
  384. PRINT #ff, "         GOSUB getreinfo"
  385. PRINT #ff, "         DispLine$(height) = DispLine$"
  386. PRINT #ff, "         TEMPretcode(height) = retcode"
  387. PRINT #ff, "      END IF"
  388. PRINT #ff, ""
  389. PRINT #ff, "      Prevretcode = retcode"
  390. PRINT #ff, "      CurrentROW = 1"
  391. PRINT #ff, ""
  392. PRINT #ff, "GetPreviousten:"
  393. PRINT #ff, ""
  394. PRINT #ff, "      FOR lineNum = 1 TO height - 1"
  395. PRINT #ff, "         TEMPretcode(lineNum) = 0"
  396. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  397. PRINT #ff, "      NEXT lineNum"
  398. PRINT #ff, ""
  399. PRINT #ff, "      Startpos = 1"
  400. PRINT #ff, ""
  401. PRINT #ff, "      FOR lineNum = height - 1 TO 1 STEP -1"
  402. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  403. PRINT #ff, "         ISM " + CHR$(34) + "P" + CHR$(34) + ", indexnum, retcode"
  404. PRINT #ff, ""
  405. PRINT #ff, "         IF retcode > 0 THEN"
  406. PRINT #ff, ""
  407. PRINT #ff, "            IF EOF(indexnum) THEN"
  408. PRINT #ff, "               EXIT FOR"
  409. PRINT #ff, "               ELSE"
  410. PRINT #ff, "               Startpos = Startpos + 1"
  411. PRINT #ff, "               GOSUB getreinfo"
  412. PRINT #ff, "               DispLine$(lineNum) = DispLine$"
  413. PRINT #ff, "               TEMPretcode(lineNum) = retcode"
  414. PRINT #ff, "               Prevretcode = retcode"
  415. PRINT #ff, "               startrpos = Startpos + 1"
  416. PRINT #ff, ""
  417. PRINT #ff, "            END IF"
  418. PRINT #ff, "            ELSE"
  419. PRINT #ff, "            EXIT FOR"
  420. PRINT #ff, "         END IF"
  421. PRINT #ff, ""
  422. PRINT #ff, "      NEXT lineNum"
  423. PRINT #ff, ""
  424. PRINT #ff, "      RETURN"
  425. PRINT #ff, "Getnextpage:"
  426. PRINT #ff, "      key$ = DispLine$(height)"
  427. PRINT #ff, ""
  428. PRINT #ff, ""
  429. PRINT #ff, "      FOR lineNum = 1 TO 2"
  430. PRINT #ff, "          TEMPretcode(lineNum) = 0"
  431. PRINT #ff, "          DispLine$(lineNum) = STRING$(KeyLen, 32)"
  432. PRINT #ff, "      NEXT lineNum"
  433. PRINT #ff, ""
  434. PRINT #ff, "      ISM " + CHR$(34) + "N" + CHR$(34) + ", indexnum, retcode"
  435. PRINT #ff, ""
  436. PRINT #ff, "      IF retcode THEN"
  437. PRINT #ff, "         GOSUB getreinfo"
  438. PRINT #ff, "         DispLine$(1) = DispLine$"
  439. PRINT #ff, "         TEMPretcode(1) = retcode"
  440. PRINT #ff, "         ELSE"
  441. PRINT #ff, "         GOTO endkeys"
  442. PRINT #ff, "         RETURN"
  443. PRINT #ff, "      END IF"
  444. PRINT #ff, ""
  445. PRINT #ff, "      Prevretcode = retcode"
  446. PRINT #ff, "      CurrentROW = 1"
  447. PRINT #ff, ""
  448. PRINT #ff, "GetNextpg:"
  449. PRINT #ff, ""
  450. PRINT #ff, "      FOR lineNum = 2 TO height"
  451. PRINT #ff, "          TEMPretcode(lineNum) = 0"
  452. PRINT #ff, "          DispLine$(lineNum) = STRING$(KeyLen, 32)"
  453. PRINT #ff, "      NEXT lineNum"
  454. PRINT #ff, ""
  455. PRINT #ff, "      FOR lineNum = 2 TO height"
  456. PRINT #ff, "          DispLine$(lineNum) = STRING$(KeyLen, 32)"
  457. PRINT #ff, "          TEMPretcode(lineNum) = 0"
  458. PRINT #ff, "         'get Next record"
  459. PRINT #ff, "          ISM " + CHR$(34) + "N" + CHR$(34) + ", indexnum, retcode"
  460. PRINT #ff, ""
  461. PRINT #ff, "         IF retcode > 0 THEN"
  462. PRINT #ff, ""
  463. PRINT #ff, "            IF EOF(indexnum) THEN"
  464. PRINT #ff, "               GOTO endkeys"
  465. PRINT #ff, "               ELSE"
  466. PRINT #ff, "               GOSUB getreinfo"
  467. PRINT #ff, "               DispLine$(lineNum) = DispLine$"
  468. PRINT #ff, "            END IF"
  469. PRINT #ff, "            ELSE"
  470. PRINT #ff, "            GOTO endkeys"
  471. PRINT #ff, "         END IF"
  472. PRINT #ff, ""
  473. PRINT #ff, "      NEXT lineNum"
  474. PRINT #ff, ""
  475. PRINT #ff, "      RETURN"
  476. PRINT #ff, ""
  477. PRINT #ff, "GetLastpage:"
  478. PRINT #ff, ""
  479. PRINT #ff, "      key$ = DispLine$(1)"
  480. PRINT #ff, ""
  481. PRINT #ff, "      FOR lineNum = 1 TO height"
  482. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  483. PRINT #ff, "      NEXT lineNum"
  484. PRINT #ff, ""
  485. PRINT #ff, "      ISM " + CHR$(34) + "P" + CHR$(34) + ", indexnum, retcode"
  486. PRINT #ff, ""
  487. PRINT #ff, "      IF retcode THEN"
  488. PRINT #ff, "         GOSUB getreinfo"
  489. PRINT #ff, "         DispLine$(height) = DispLine$"
  490. PRINT #ff, "         ELSE"
  491. PRINT #ff, "         GOTO homekeys"
  492. PRINT #ff, "      END IF"
  493. PRINT #ff, ""
  494. PRINT #ff, "      Prevretcode = retcode"
  495. PRINT #ff, "      CurrentROW = 1"
  496. PRINT #ff, ""
  497. PRINT #ff, "GetLastpg:"
  498. PRINT #ff, ""
  499. PRINT #ff, "      FOR lineNum = 1 TO height - 1"
  500. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  501. PRINT #ff, "      NEXT lineNum"
  502. PRINT #ff, ""
  503. PRINT #ff, "      FOR lineNum = height - 1 TO 1 STEP -1"
  504. PRINT #ff, "         DispLine$(lineNum) = STRING$(KeyLen, 32)"
  505. PRINT #ff, "         ISM " + CHR$(34) + "P" + CHR$(34) + ", indexnum, retcode"
  506. PRINT #ff, ""
  507. PRINT #ff, "         IF retcode > 0 THEN"
  508. PRINT #ff, ""
  509. PRINT #ff, "            IF EOF(indexnum) THEN"
  510. PRINT #ff, "               GOTO homekeys"
  511. PRINT #ff, "               ELSE"
  512. PRINT #ff, "               GOSUB getreinfo"
  513. PRINT #ff, "               DispLine$(lineNum) = DispLine$"
  514. PRINT #ff, "            END IF"
  515. PRINT #ff, ""
  516. PRINT #ff, "         END IF"
  517. PRINT #ff, "      NEXT lineNum"
  518. PRINT #ff, ""
  519. PRINT #ff, "      RETURN"
  520.  
  521. END SUB
  522.  
  523.