home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / dbase2.ba < prev    next >
Text File  |  2006-10-19  |  3KB  |  107 lines

  1. 10 'DBASE2 (C) 1987 TOM MOREHOUSE
  2. 20 CLS:CLEAR1000,62690:MAXFILES=2
  3. 25 DIMFD$(20),DA$(500),RC$(500)
  4. 30 PRINT@136,"DBASE2"
  5. 31 BEEP
  6. 40 GOSUB10000:REM TIME DELAY
  7. 43 GOSUB10000
  8. 44 GOTO6000
  9. 50 CLS:PRINT:PRINT"CURRENT FILES ARE: ":PRINT:FILES
  10. 51 PRINT"CREATE NEW FILE (Y/N)";:B$=INPUT$(1):IFB$="Y"ORB$="y"GOTO60
  11. 52 IFB$="N"ORB$="n"GOTO53ELSE51
  12. 53 PRINT:INPUT"FILE TO APPEND";FI$
  13. 54 IFFI$=""THENBEEP:PRINT"PROCESS ENDED":GOTO1130
  14. 55 OPENFI$FORINPUTAS1:LINEINPUT#1,FN$:CLS:CLOSE1:REM GET FIELD NAMES FROM LIST TOP
  15. 56 PRINT:PRINT"FIELDS IN    *** ";FI$;" *** ":PRINT:PRINTFN$:PRINT:GOSUB5000:GOSUB2000:GOTO1000
  16. 60 CLS:INPUT"FILE NAME";FI$
  17. 70 INPUT"HOW MANY FIELDS PER RECORD";N
  18. 80 FORX=1TON
  19. 90 PRINT"NAME OF FIELD #";X;:INPUTFD$(X):IFX=NGOTO94
  20. 92 FN$=FN$+FD$(X)+",":NEXTX
  21. 94 FN$=FN$+FD$(X)
  22. 100 OPENFI$FOROUTPUTAS1:PRINT#1,FN$:CLOSE1:Y=1:GOSUB5000:GOTO1010
  23. 120 CLS
  24. 130 BEEP
  25. 140 GOSUB10000
  26. 1000 REM APPEND ROUTINE
  27. 1002 OPENFI$FORINPUTAS2
  28. 1003 LINEINPUT#2,Z$:C=C+1
  29. 1004 IFEOF(2)GOTO1006
  30. 1005 GOTO1003
  31. 1006 CLOSE2:Y=C
  32. 1007 LR$=Z$
  33. 1010 REM RECORD COUNTER
  34. 1015 OPENFI$FORAPPENDAS1
  35. 1020 Z=Z+1:REM FIELD COUNTER
  36. 1030 CLS
  37. 1040 PRINTFI$:PRINT@14,"RECORD #";Y:PRINT"ENTER 'ZZ' TO END"
  38. 1042 PRINT" (LAST ENTRY WAS:   ";LR$;")"
  39. 1049 PRINT
  40. 1050 PRINTFD$(Z);:INPUTDA$(Z)
  41. 1060 IFDA$(Z)="ZZ"ORDA$(Z)="zz"GOTO1130
  42. 1065 LR$=DA$(Z)
  43. 1070 IFZ=FLGOTO1090
  44. 1080 RC$(Y)=RC$(Y)+DA$(Z)+",":GOTO1020
  45. 1090 RC$(Y)=RC$(Y)+DA$(Z)
  46. 1110 PRINT#1,RC$(Y)
  47. 1115 CLOSE1:Z=0
  48. 1120 Y=Y+1:GOTO1010
  49. 1130 CLOSE1:CLS
  50. 1140 GOSUB10000
  51. 1150 PRINT:PRINT"FILE ";FI$;" CLOSED"
  52. 1160 GOSUB10000
  53. 1170 PRINT"PROCESSING FINISHED"
  54. 1180 GOSUB10000
  55. 1190 CLEAR256,60416:MENU
  56. 2000 PRINT"ANY KEY TO PROCEED..."
  57. 2005 L$=INKEY$:IFL$=""GOTO2005
  58. 2010 RETURN
  59. 5000 LN=LEN(FN$)
  60. 5001 OPENFI$FORINPUTAS1
  61. 5002 FORX=1TOLN
  62. 5003 T$=MID$(FN$,X,1)
  63. 5004 IFT$=","THEND=D+1
  64. 5005 NEXTX
  65. 5009 FL=D+1
  66. 5010 FORX=1TOFL:INPUT#1,FD$(X):NEXTX
  67. 5020 CLOSE1:RETURN
  68. 6000 PRINT:INPUT"PRINT A FILE (Y/N)";P$
  69. 6005 IFP$<>"Y"ANDP$<>"y"GOTO50
  70. 6010 REM DATA FILE PRINTER
  71. 6020 REM (C) 1987 TOM MOREHOUSE
  72. 6030 CLS:PRINT@175,"DBASE PRINTER"
  73. 6040 FORX=1TO500:NEXTX
  74. 6050 CLS:FILES:PRINT@240,"FILE TO PRINT";:INPUTF$
  75. 6055 IFF$=""GOTO6500
  76. 6060 OPENF$FORINPUTAS1
  77. 6070 LINEINPUT#1,FD$
  78. 6075 CLOSE1
  79. 6100 INPUT"PAGE WIDTH (80/132)";W
  80. 6110 IFW<>80ANDW<>132GOTO6100
  81. 6115 CLS:PRINT@1,FD$:PRINT
  82. 6120 INPUT"NUMBER OF FIELDS TO PRINT";N
  83. 6122 CLS:DIMFL(N)
  84. 6130 FORX=1TON
  85. 6132 CLS:PRINT@1,FD$:PRINT
  86. 6135 PRINT@240,CK;"COLUMNS OUT OF ";W
  87. 6140 PRINT@40,"LENGTH OF FIELD";X;:INPUTFL(X)
  88. 6145 CK=CK+FL(X):IFCK>WGOTO7000
  89. 6150 NEXTX
  90. 6160 CLS
  91. 6170 PRINT"HIT SPACE BAR WHEN READY"
  92. 6180 R$=INKEY$:IFR$=""GOTO6180
  93. 6190 PRINT@180,"PRINTING"
  94. 6200 OPENF$FORINPUTAS1
  95. 6205 LPRINTF$,DATE$,TIME$:LPRINT
  96. 6210 FORX=1TON
  97. 6220 INPUT#1,A$
  98. 6229 Y=((FL(X)))-(LEN(A$)):IFY<1THENY=1
  99. 6230 LPRINTA$;SPACE$(Y);
  100. 6235 NEXTX
  101. 6240 LPRINTCHR$(13);
  102. 6250 IFEOF(1)GOTO6500ELSE6210
  103. 6500 CLS:PRINT@175,"OUTPUT COMPLETED"
  104. 6510 BEEP:CLOSE:MENU
  105. 7000 BEEP:PRINT"  ** PAGE WIDTH EXCEEDED **":CK=0:GOTO6130
  106. 10000 FORT=1TO250:NEXTT:RETURN
  107.