home *** CD-ROM | disk | FTP | other *** search
/ The CIA World Factbook 1992 / k3bimage.iso / sel / 04 / 0063 / k0.bas < prev    next >
Encoding:
BASIC Source File  |  1991-12-02  |  13.5 KB  |  214 lines

  1. 0 ' ====> K0.bas
  2. 1 DEF SEG=&H40:POKE &H17,&H20 ' -- turn everything off but Num Lock
  3. 2 FOR K=1 TO 10:KEY K,"":NEXT
  4. 3 OPEN"i",#1,"data.dat":INPUT#1,MONO,LSN$,PAGE:CLOSE
  5. 4 SCREEN 0,0,0:WIDTH 80:KEY OFF:LOCATE 1,1,0:DEF SEG=&HB800
  6. 5 IF MONO THEN C1=7:C2=0:C3=8:C4=2:BLOAD"mono.pic" ELSE C1=(VAL(RIGHT$(TIME$,2)) MOD 6)+2:C2=0:C4=0:C3=(C1+2)+(6*(C1>5)):BLOAD"color.pic"
  7. 6 PLAY "MBt200mbmso3l4cdel8cl4dl8cl2eo3l4defl8dl4el8dl2fo3l4efgl8el4fl8el2gl8gl4g-fl8cl4dl2cl4o4c"
  8. 7 IF INKEY$<>"" THEN 7
  9. 8 IF INKEY$="" THEN 8
  10. 9 COLOR C1,C2:CLS:LOCATE 5,7:PRINT "Sorry to disappoint you, but Mr. Phenomenal couldn't be here today.":LOCATE 7,21:PRINT "Substituting for Phil is Seymor Cursor."
  11. 10 LOCATE 9,20:PRINT "Please give a warm welcome to Mr. Cursor.":LOCATE 11,26:PRINT "Press any key to continue.":LOCATE 13,7:PRINT "(The cursor is the blinking underline at the bottom of the screen.)"
  12. 11 COLOR C3,C4:FOR R=15 TO 23:LOCATE R,39:PRINT CHR$(179):NEXT:LOCATE 24,39:PRINT CHR$(25);:LOCATE 25,39,7
  13. 12 IF INKEY$<>"" THEN 12
  14. 13 IF INKEY$="" THEN 13
  15. 14 COLOR C1,C2:CLS
  16. 15 TOPKEY1$=CHR$(218)+STRING$(6,196)+CHR$(191)
  17. 16 MIDKEY1$=CHR$(179)+SPACE$(6)+CHR$(179)
  18. 17 BOTKEY1$=CHR$(192)+STRING$(6,196)+CHR$(217)
  19. 18 TOPKEY2$=CHR$(218)+CHR$(194)+STRING$(6,196)+CHR$(194)+CHR$(191)
  20. 19 MIDKEY2$=CHR$(179)+CHR$(179)+SPACE$(6)+CHR$(179)+CHR$(179)
  21. 20 BOTKEY2$=CHR$(192)+CHR$(193)+STRING$(6,196)+CHR$(193)+CHR$(217)
  22. 21 TOPKEY3$=CHR$(218)+CHR$(196)+CHR$(194)+STRING$(6,196)+CHR$(194)+CHR$(196)+CHR$(191)
  23. 22 MIDKEY3$=CHR$(179)+CHR$(32)+CHR$(179)+SPACE$(6)+CHR$(179)+CHR$(32)+CHR$(179)
  24. 23 BOTKEY3$=CHR$(192)+CHR$(196)+CHR$(193)+STRING$(6,196)+CHR$(193)+CHR$(196)+CHR$(217)
  25. 24 TOPKEY4$=CHR$(218)+STRING$(2,196)+CHR$(194)+STRING$(6,196)+CHR$(194)+STRING$(2,196)+CHR$(191)
  26. 25 MIDKEY4$=CHR$(179)+STRING$(2,32)+CHR$(179)+SPACE$(6)+CHR$(179)+STRING$(2,32)+CHR$(179)
  27. 26 BOTKEY4$=CHR$(192)+STRING$(2,196)+CHR$(193)+STRING$(6,196)+CHR$(193)+STRING$(2,196)+CHR$(217)
  28. 27 TOPKEY5$=CHR$(218)+STRING$(3,196)+CHR$(194)+STRING$(6,196)+CHR$(194)+STRING$(3,196)+CHR$(191)
  29. 28 MIDKEY5$=CHR$(179)+STRING$(3,32)+CHR$(179)+SPACE$(6)+CHR$(179)+STRING$(3,32)+CHR$(179)
  30. 29 BOTKEY5$=CHR$(192)+STRING$(3,196)+CHR$(193)+STRING$(6,196)+CHR$(193)+STRING$(3,196)+CHR$(217)
  31. 30 SIDEKEY$=CHR$(195)+STRING$(6,196)+CHR$(180)
  32. 31 LOCATE 1,1,0:PRINT STRING$(80,219)
  33. 32 LOCATE 2,25:PRINT TOPKEY1$+TOPKEY4$+TOPKEY5$+TOPKEY5$+STRING$(2,219)
  34. 33 LOCATE 3,25:PRINT MIDKEY1$+MIDKEY4$+MIDKEY5$+MIDKEY5$+STRING$(2,219)
  35. 34 LOCATE 4,25:PRINT MIDKEY1$+MIDKEY4$+MIDKEY5$+MIDKEY5$+STRING$(2,219)
  36. 35 LOCATE 5,25:PRINT BOTKEY1$+BOTKEY4$+BOTKEY5$+BOTKEY5$+STRING$(2,219)
  37. 36 LOCATE 6,29:PRINT TOPKEY2$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+STRING$(2,219)
  38. 37 LOCATE 7,29:PRINT MIDKEY2$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  39. 38 LOCATE 8,29:PRINT MIDKEY2$+SIDEKEY$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  40. 39 LOCATE 9,29:PRINT BOTKEY2$+MIDKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+STRING$(2,219)
  41. 40 LOCATE 10,31:PRINT TOPKEY1$+MIDKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+STRING$(2,219)
  42. 41 LOCATE 11,31:PRINT MIDKEY1$+SIDEKEY$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  43. 42 LOCATE 12,31:PRINT MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  44. 43 LOCATE 13,31:PRINT BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+MIDKEY1$+STRING$(2,219)
  45. 44 LOCATE 14,27:PRINT TOPKEY3$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+SIDEKEY$+STRING$(2,219)
  46. 45 LOCATE 15,27:PRINT MIDKEY3$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  47. 46 LOCATE 16,27:PRINT MIDKEY3$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  48. 47 LOCATE 17,27:PRINT BOTKEY3$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+SIDEKEY$+STRING$(2,219)
  49. 48 LOCATE 18,1:PRINT STRING$(21,196)+CHR$(191)+TOPKEY5$+TOPKEY5$+TOPKEY5$+MIDKEY1$+STRING$(2,219)
  50. 49 LOCATE 19,22:PRINT CHR$(179)+MIDKEY5$+MIDKEY5$+MIDKEY5$+MIDKEY1$+STRING$(2,219)
  51. 50 LOCATE 20,22:PRINT CHR$(179)+MIDKEY5$+MIDKEY5$+MIDKEY5$+MIDKEY1$+STRING$(2,219)
  52. 51 LOCATE 21,1:PRINT STRING$(21,196)+CHR$(217)+BOTKEY5$+BOTKEY5$+BOTKEY5$+BOTKEY1$+STRING$(2,219)
  53. 52 LOCATE 22:PRINT STRING$(80,219)
  54. 53 GOSUB 85
  55. 54 GOSUB 93
  56. 55 GOSUB 101
  57. 56 GOSUB 109      
  58. 57 GOSUB 118
  59. 58 GOSUB 127
  60. 59 GOSUB 136
  61. 60 GOSUB 147
  62. 61 GOSUB 157
  63. 62 GOSUB 167
  64. 63 GOSUB 177
  65. 64 GOSUB 187
  66. 65 TITLE$="Pick a key, any key!"
  67. 66 TEXT$="As a review, choose one of the keys you learned about. Try and remember its use. Then to see if you are correct, press it. When you are finished, press the space bar."
  68. 67 GOSUB 200:DEF SEG=&H40:A=PEEK(&H17):CAPS.STAT=0<>(A AND &H40):NUM.STAT=0<>(A AND &H20)
  69. 68 A$=INKEY$:DEF SEG=&H40:A=PEEK(&H17)
  70. 69 IF CAPS.STAT<>(0<>(A AND &H40)) THEN GOSUB 109:GOTO 65
  71. 70 IF NUM.STAT<>(0<>(A AND &H20)) THEN GOSUB 118:GOTO 65
  72. 71 IF (A AND &H1) THEN GOSUB 127:GOTO 65
  73. 72 IF A$="" THEN 68 ELSE ON LEN(A$) GOTO 73,77
  74. 73 IF A$=" " THEN CLS:CHAIN"k1",,ALL
  75. 74 IF A$=CHR$(13) THEN GOSUB 93:GOTO 65
  76. 75 IF A$=CHR$(8) THEN GOSUB 101:GOTO 65
  77. 76 GOTO 68
  78. 77 A=ASC(RIGHT$(A$,1))
  79. 78 IF A=72 THEN GOSUB 136:GOTO 65
  80. 79 IF A=80 THEN GOSUB 147:GOTO 65
  81. 80 IF A=75 THEN GOSUB 157:GOTO 65
  82. 81 IF A=77 THEN GOSUB 167:GOTO 65
  83. 82 IF A=82 THEN GOSUB 177:GOTO 65
  84. 83 IF A=83 THEN GOSUB 187:GOTO 65
  85. 84 GOTO 68
  86. 85 ' ====> space bar
  87. 86 TITLE$="The space bar"
  88. 87 TEXT$="Located at the bottom of the keyboard you will find the space bar. It is the longest key on the keyboard. It is just like the space bar on a typewriter keyboard. Use it as a reference point when finding other keys."
  89. 88 GOSUB 200
  90. 89 C5=C3:C6=C4:GOSUB 91
  91. 90 A$=INKEY$:IF A$<>" " THEN 90 ELSE C5=C1:C6=C2
  92. 91 COLOR C5,C6:LOCATE 18,1:PRINT STRING$(21,196)+CHR$(191):LOCATE 19,22:PRINT CHR$(179):LOCATE 20,22:PRINT CHR$(179):LOCATE 21,1:PRINT STRING$(21,196)+CHR$(217)
  93. 92 LOCATE 19,1:PRINT "space":LOCATE 20,2:PRINT "bar":RETURN
  94. 93 ' ====> return key
  95. 94 TITLE$="The return key"
  96. 95 TEXT$="One of the most used keys on a computer keyboard is the return key. Whenever you finish typing a line, you MUST press return. Remember where it is located because you will use it literally thousands of times."
  97. 96 GOSUB 200
  98. 97 C5=C3:C6=C4:GOSUB 99
  99. 98 A$=INKEY$:IF A$<>CHR$(13) THEN 98 ELSE C5=C1:C6=C2
  100. 99 COLOR C5,C6:LOCATE 6,39:PRINT TOPKEY1$:LOCATE 7,39:PRINT MIDKEY1$:LOCATE 8,39:PRINT SIDEKEY$:LOCATE 9,39:PRINT MIDKEY1$:LOCATE 10,39:PRINT MIDKEY1$:LOCATE 11,39:PRINT SIDEKEY$:LOCATE 12,39:PRINT MIDKEY1$:LOCATE 13,39:PRINT BOTKEY1$
  101. 100 LOCATE 10,41:PRINT CHR$(17)+CHR$(196)+CHR$(217):COLOR C1,C2:RETURN
  102. 101 ' ====> backspace key
  103. 102 TITLE$="The backspace key"
  104. 103 TEXT$="Located just above the return key is the backspace key. The backspace is your electronic eraser. You can correct a mistake in a line before you press return by using the backspace key."
  105. 104 GOSUB 200
  106. 105 C5=C3:C6=C4:GOSUB 107
  107. 106 A$=INKEY$:IF A$<>CHR$(8) THEN 106 ELSE C5=C1:C6=C2
  108. 107 COLOR C5,C6:LOCATE 2,33:PRINT TOPKEY4$:LOCATE 3,33:PRINT MIDKEY4$:LOCATE 4,33:PRINT MIDKEY4$:LOCATE 5,33:PRINT BOTKEY4$
  109. 108 LOCATE 4,38:PRINT CHR$(17)+CHR$(196)+CHR$(196):COLOR C1,C2:RETURN
  110. 109 ' ====> caps lock key
  111. 110 TITLE$="The Caps Lock key"
  112. 111 TEXT$="Just to the right of the space bar is the Caps Lock key. This key affects ONLY the letters on the keyboard. It will not affect any special characters. Press it once for upper case letters, press it again for lower case."
  113. 112 GOSUB 200
  114. 113 C5=C3:C6=C4:GOSUB 116
  115. 114 DEF SEG=&H40:CAPS.STAT=0<>(PEEK(&H17) AND &H40)
  116. 115 IF CAPS.STAT=(0<>(PEEK(&H17) AND &H40)) THEN 115 ELSE C5=C1:C6=C2
  117. 116 COLOR C5,C6:LOCATE 18,23:PRINT TOPKEY5$:LOCATE 19,23:PRINT MIDKEY5$:LOCATE 20,23:PRINT MIDKEY5$:LOCATE 21,23:PRINT BOTKEY5$
  118. 117 LOCATE 19,29:PRINT "Caps":LOCATE 20,29:PRINT "Lock":COLOR C1,C2:RETURN
  119. 118 ' ====> num lock key
  120. 119 TITLE$="The Num Lock key"
  121. 120 TEXT$="To the right of the backspace key is the Num Lock key. It affects the number pad (the keys below the Num Lock) in the same manner as the Caps Lock key affects the letters. Press the Num Lock once for numbers, again to shut it off."
  122. 121 GOSUB 200
  123. 122 C5=C3:C6=C4:GOSUB 125
  124. 123 DEF SEG=&H40:NUM.STAT=0<>(PEEK(&H17) AND &H20)
  125. 124 IF NUM.STAT=(0<>(PEEK(&H17) AND &H20)) THEN 124 ELSE C5=C1:C6=C2
  126. 125 COLOR C5,C6:LOCATE 2,47:PRINT TOPKEY5$:LOCATE 3,47:PRINT MIDKEY5$:LOCATE 4,47:PRINT MIDKEY5$:LOCATE 5,47:PRINT BOTKEY5$
  127. 126 LOCATE 3,53:PRINT "Num":LOCATE 4,53:PRINT "Lock":COLOR C1,C2:RETURN
  128. 127 ' ====> shift key
  129. 128 TITLE$="The shift key"
  130. 129 TEXT$="The shift key allows you to type the special characters on the top of a key. It also temporarily over-rides the Caps Lock and Num Lock keys. The shift key must be held down while the second key is pressed."
  131. 130 GOSUB 200
  132. 131 C5=C3:C6=C4:GOSUB 134
  133. 132 DEF SEG=&H40
  134. 133 IF (PEEK(&H17) AND &H1)=0 THEN 133 ELSE C5=C1:C6=C2
  135. 134 COLOR C5,C6:LOCATE 14,27:PRINT TOPKEY3$:LOCATE 15,27:PRINT MIDKEY3$:LOCATE 16,27:PRINT MIDKEY3$:LOCATE 17,27:PRINT BOTKEY3$
  136. 135 LOCATE 15,31:PRINT "/\":LOCATE 16,31:PRINT "└┘":COLOR C1,C2:RETURN
  137. 136 ' ====> cursor up key
  138. 137 TITLE$="The cursor up key"
  139. 138 TEXT$="When the Num Lock key is off (or by using the shift key) the keys on the number pad are used for moving the cursor. By pressing the cursor up key, you can move the cursor up one space. REMEMBER: The Num Lock key must be off, or else use"
  140. 139 TEXT$=TEXT$+" the shift key."
  141. 140 GOSUB 200
  142. 141 C5=C3:C6=C4:GOSUB 145
  143. 142 A$=INKEY$:IF A$="8" THEN GOSUB 197
  144. 143 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=72 THEN C5=C1:C6=C2:GOTO 145
  145. 144 GOTO 142            
  146. 145 COLOR C5,C6:LOCATE 6,55:PRINT TOPKEY1$:LOCATE 7,55:PRINT MIDKEY1$:LOCATE 8,55:PRINT MIDKEY1$:LOCATE 9,55:PRINT BOTKEY1$
  147. 146 LOCATE 7,58:PRINT "8":LOCATE 8,57:PRINT CHR$(24):COLOR C1,C2:RETURN
  148. 147 ' ====> cursor down key
  149. 148 TITLE$="The cursor down key"
  150. 149 TEXT$="The cursor down key lets you move the cursor down one row (maybe that is where it got its name?). Again remember, the Num Lock key must be off, or else you will have to use the shift key too."
  151. 150 GOSUB 200
  152. 151 C5=C3:C6=C4:GOSUB 155
  153. 152 A$=INKEY$:IF A$="2" THEN GOSUB 197
  154. 153 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=80 THEN C5=C1:C6=C2:GOTO 155
  155. 154 GOTO 152
  156. 155 COLOR C5,C6:LOCATE 14,55:PRINT TOPKEY1$:LOCATE 15,55:PRINT MIDKEY1$:LOCATE 16,55:PRINT MIDKEY1$:LOCATE 17,55:PRINT BOTKEY1$
  157. 156 LOCATE 15,58:PRINT "2":LOCATE 16,57:PRINT CHR$(25):COLOR C1,C2:RETURN
  158. 157 ' ====> cursor left key
  159. 158 TITLE$="The cursor left key"
  160. 159 TEXT$="By now you can probably guess what the cursor left key does. If not, it allows you to move the cursor to the left one position. It doesn't erase like the backspace key does."
  161. 160 GOSUB 200
  162. 161 C5=C3:C6=C4:GOSUB 165
  163. 162 A$=INKEY$:IF A$="4" THEN GOSUB 197
  164. 163 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=75 THEN C5=C1:C6=C2:GOTO 165
  165. 164 GOTO 162
  166. 165 COLOR C5,C6:LOCATE 10,47:PRINT TOPKEY1$:LOCATE 11,47:PRINT MIDKEY1$:LOCATE 12,47:PRINT MIDKEY1$:LOCATE 13,47:PRINT BOTKEY1$
  167. 166 LOCATE 11,50:PRINT "4":LOCATE 12,49:PRINT CHR$(27):COLOR C1,C2:RETURN
  168. 167 ' ====> cursor right key
  169. 168 TITLE$="The cursor right key"
  170. 169 TEXT$="Of course, the cursor right key moves the cursor to the right one position. The space bar does this as well, but the cursor right key won't erase."
  171. 170 GOSUB 200
  172. 171 C5=C3:C6=C4:GOSUB 175
  173. 172 A$=INKEY$:IF A$="6" THEN GOSUB 197
  174. 173 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=77 THEN C5=C1:C6=C2:GOTO 175
  175. 174 GOTO 172
  176. 175 COLOR C5,C6:LOCATE 10,63:PRINT TOPKEY1$:LOCATE 11,63:PRINT MIDKEY1$:LOCATE 12,63:PRINT MIDKEY1$:LOCATE 13,63:PRINT BOTKEY1$
  177. 176 LOCATE 11,66:PRINT "6":LOCATE 12,65:PRINT CHR$(26):COLOR C1,C2:RETURN
  178. 177 ' ====> Insert key
  179. 178 TITLE$="The Ins (insert) key"
  180. 179 TEXT$="You can insert characters in the middle of a line using the Ins key. Just move the cursor to where you want to insert and press the Ins key. The cursor will become larger to show that you are in insert mode, then just type in the letters."
  181. 180 GOSUB 200
  182. 181 C5=C3:C6=C4:GOSUB 185
  183. 182 A$=INKEY$:IF A$="0" THEN GOSUB 197
  184. 183 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=82 THEN C5=C1:C6=C2:GOTO 185
  185. 184 GOTO 182
  186. 185 COLOR C5,C6:LOCATE 18,39:PRINT TOPKEY5$:LOCATE 19,39:PRINT MIDKEY5$:LOCATE 20,39:PRINT MIDKEY5$:LOCATE 21,39:PRINT BOTKEY5$
  187. 186 LOCATE 19,45:PRINT "0":LOCATE 20,44:PRINT "Ins":COLOR C1,C2:RETURN
  188. 187 ' ====> Delete key
  189. 188 TITLE$="The Del (delete) key"
  190. 189 TEXT$="The Del key is similar to the backspace key except it lets you erase to the right of the cursor. Pressing the Del key shuts off insert mode, but pressing the backspace does not."
  191. 190 GOSUB 200
  192. 191 C5=C3:C6=C4:GOSUB 195
  193. 192 A$=INKEY$:IF A$="." THEN GOSUB 197
  194. 193 IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=83 THEN C5=C1:C6=C2:GOTO 195
  195. 194 GOTO 192
  196. 195 COLOR C5,C6:LOCATE 18,55:PRINT TOPKEY5$:LOCATE 19,55:PRINT MIDKEY5$:LOCATE 20,55:PRINT MIDKEY5$:LOCATE 21,55:PRINT BOTKEY5$
  197. 196 LOCATE 19,61:PRINT "∙":LOCATE 20,60:PRINT "Del":COLOR C1,C2:RETURN
  198. 197 ' -- num lock is on
  199. 198 BEEP:COLOR C1,C2:LOCATE 24,1:PRINT "If the Num Lock key is on, you must either press it again or use the shift key.";
  200. 199 IF INKEY$="" THEN 199 ELSE LOCATE 24,1:PRINT SPACE$(79);:RETURN
  201. 200 ' ====> write text
  202. 201 IF INKEY$<>"" THEN 201 ELSE PRESSED.KEY=0
  203. 202 FOR R=2 TO 5:LOCATE R:PRINT SPACE$(24):NEXT
  204. 203 FOR R=6 TO 9:LOCATE R:PRINT SPACE$(28):NEXT
  205. 204 FOR R=10 TO 13:LOCATE R:PRINT SPACE$(30):NEXT
  206. 205 FOR R=14 TO 17:LOCATE R:PRINT SPACE$(26):NEXT
  207. 206 LOCATE 3,INT(14-(LEN(TITLE$)/2)):PRINT TITLE$:R=4
  208. 207 R=R+1:IF R<6 THEN L=24 ELSE IF R<10 THEN L=28 ELSE IF R<14 THEN L=30 ELSE L=26
  209. 208 IF L>=LEN(TEXT$) THEN LOCATE R,1:PRINT TEXT$:IF LEFT$(TITLE$,5)<>"Press" THEN LOCATE R+2,7:PRINT "Press it now.":RETURN ELSE RETURN
  210. 209 P=L+1:WHILE MID$(TEXT$,P,1)<>" ":P=P-1:WEND
  211. 210 LOCATE R,1:PRINT LEFT$(TEXT$,P-1):TEXT$=RIGHT$(TEXT$,LEN(TEXT$)-P)
  212. 211 GOTO 207
  213. 1:WHILE MID$(TEXT$,P,1)<>" ":P=P-1:WEND
  214. 210 LOCATE R,1:PRINT LEFT$(TEXT$,P-1):TEXT$=RIGHT$(TE