home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / misc / amoner05.dms / amoner05.adf / amore.AMOS / amore.amosSourceCode
Encoding:
AMOS Source Code  |  1989-08-17  |  3.6 KB  |  176 lines

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