home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 551-575 / apd559 / amoner4 / amore.amos / amore.amosSourceCode
AMOS Source Code  |  1993-11-29  |  4KB  |  178 lines

  1. Set Buffer 75
  2. '
  3. ' Full Screen Simple Text Reader.
  4. ' Gal-on Broner 1991.
  5. '
  6. Break Off 
  7. PATHNAME$="AmoNER004:Editor/"
  8. DISKNAME$="AmoNER004:"
  9. UPPER_LINE=1
  10. Screen Open 0,640,200,2,Hires
  11. Colour 0,$0
  12. Colour 1,$FFF
  13. Cls 0 : Ink 1
  14. Curs Off 
  15. Dim LINES$(1000)
  16. Global LINES$(),PATHNAME$,LINE_NUMBER
  17. FILEFROMDISK
  18. Rem Create display board.
  19. Wind Open 1,0,16,80,20
  20. Window 0
  21. Clw 
  22. Under On 
  23. Print "Amore / By Gal-on Broner - Barbarian Minds 1991. / Ver 0.4"
  24. Under Off 
  25. Copper On 
  26. Rem Calculate current display limits.
  27. CALC:
  28. Window 1
  29. Clw 
  30. UPPER_FILE=False
  31. LOWER_FILE=False
  32. If UPPER_LINE=<1
  33.    UPPER_LINE=1
  34.    UPPER_FILE=True
  35. End If 
  36. LOWER_LINE=UPPER_LINE+18
  37. If LOWER_LINE=>LINE_NUMBER
  38.    LOWER_LINE=LINE_NUMBER
  39.    LOWER_FILE=True
  40. End If 
  41. Rem Display The current Page 
  42. For DISPLAY=UPPER_LINE To LOWER_LINE
  43.    Print LINES$(DISPLAY)
  44. Next DISPLAY
  45. Gosub LINE_CHAR
  46. Rem Get the Key press. 
  47. KEY_PRESS:
  48. BUTTON$="" : Repeat : BUTTON$=Inkey$ : Until BUTTON$<>""
  49. BUTTON$=Upper$(BUTTON$)
  50. If(BUTTON$=Chr$(32)) or(BUTTON$="F") : Rem Page Advance Forward 
  51.    If LOWER_FILE
  52.       Gosub BUTTOM_TEXT
  53.       Goto KEY_PRESS
  54.    Else 
  55.       Add UPPER_LINE,19
  56.       Goto CALC
  57.    End If 
  58. End If 
  59. If BUTTON$=Chr$(13) : Rem Line Advance Forward 
  60.    If LOWER_FILE
  61.       Gosub BUTTOM_TEXT
  62.       Goto KEY_PRESS
  63.    Else 
  64.       Inc UPPER_LINE
  65.       Goto CALC
  66.    End If 
  67. End If 
  68. If BUTTON$="B" : Rem Page advance Backward
  69.    If UPPER_FILE
  70.       Gosub UPPER_TEXT
  71.       Goto KEY_PRESS
  72.    Else 
  73.       Add UPPER_LINE,-19
  74.       Goto CALC
  75.    End If 
  76. End If 
  77. If BUTTON$="H" : Rem Help.
  78.    HELP
  79.    BUTTON$="" : Repeat : BUTTON$=Inkey$ : Until BUTTON$<>""
  80.    Goto CALC
  81. End If 
  82. If BUTTON$=Chr$(27) : Rem Esc pressed, Quit. 
  83.    Copper Off 
  84.    Run DISKNAME$+"Autoexec.Amos"
  85. End If 
  86. Goto KEY_PRESS
  87. '
  88. '----------------------------------------------------------------------
  89. '
  90. Rem ************ 
  91. Rem * Routines * 
  92. Rem ************ 
  93. Rem Display line Char
  94. LINE_CHAR:
  95. Window 0
  96. CLEAN[23]
  97. Locate 1,23
  98. Under On 
  99. Print "Amore";
  100. Under Off 
  101. Print "  - ";LOWER_LINE;" / ";LINE_NUMBER;
  102. Locate 60,23 : Print "Press h for help";
  103. Window 1
  104. Return 
  105. Rem buttom of text 
  106. BUTTOM_TEXT:
  107. Gosub LINE_CHAR
  108. Window 0
  109. Inverse On 
  110. Locate 30,23
  111. Print "Bottom of File";
  112. Inverse Off 
  113. Window 1
  114. Return 
  115. Rem top of text  
  116. UPPER_TEXT:
  117. Gosub LINE_CHAR
  118. Window 0
  119. Inverse On 
  120. Locate 30,23
  121. Print "Top of File";
  122. Inverse Off 
  123. Window 1
  124. Return 
  125. '
  126. '--------------------------------------------------------------------- 
  127. '
  128. Rem ************** 
  129. Rem * Procedures * 
  130. Rem ************** 
  131. Procedure FILEFROMDISK
  132. Rem  
  133. Rem First We get the file name we need to view.
  134. Rem
  135.   Open In 1,PATHNAME$+"Filename.dat"
  136.     Input #1,FILENAME$
  137.   Close 1
  138. Rem
  139. Rem On error comes to capture the End of file. 
  140. Rem
  141.   On Error Goto FILEEND
  142.   FIN=0
  143. Rem  On Error Goto FILEEND 
  144. Rem  
  145. Rem Now lets get the file
  146. Rem
  147.   Set Input 10,-1
  148.   Print "Reading File: ";PATHNAME$+FILENAME$
  149.   Open In 1,PATHNAME$+FILENAME$
  150.     LINE_NUMBER=1
  151.     Do 
  152.       Line Input #1,LINES$(LINE_NUMBER)
  153.       Inc LINE_NUMBER
  154.       Locate 0,1 : Print "Processing Line: ";LINE_NUMBER
  155.       If FIN=1 Then Goto FINISHED_READING
  156.     Loop 
  157. FILEEND:
  158.   FIN=1
  159.   Resume Next 
  160. FINISHED_READING:
  161.   Close 1
  162. End Proc
  163. Procedure CLEAN[ROW]
  164.   Locate 0,ROW
  165.   Print Space$(80);
  166. End Proc
  167. Procedure HELP
  168.   Clw 
  169.   Print : Print : Print "This is version 0.4 of Amore."
  170.                   Print "Valid keys are:" : Print 
  171.                   Print "                 <Space> / F      Page Forward"
  172.                   Print "                 <Return>         Line Forward"
  173.                   Print "                 B                Page Backward"
  174.                   Print "                 <ESC>            End Amore"
  175.                   Print 
  176.                   Print 
  177.                   Print "Press Any Key..."
  178. End Proc