5748263 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n ette.bas
   1: DECLARE FUNCTION ReadLn$ (ln!)
   2: DIM TXT(1 TO 24) AS STRING * 80
   3: 'FOR t = 1 TO 24: TXT(t) = "                                                                     ":  PRINT : NEXT t
   4: CLS
   5: SCREEN 0
   6: COLOR 0, 7
   7: PALETTE 5, 63
   8: LOCATE , , 0
   9: LOCATE 1, 1: PRINT "   File  Edit  View  Search  Run  Debug  Options                          Help  "
  10: COLOR 15, 1
  11: LOCATE 2, 1: PRINT "ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÛ"; : COLOR 1, 5: PRINT "ETTE.BAS"; : COLOR 15, 1: PRINT "ÛÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"; : COLOR 1, 5: PRINT ""; : COLOR 15, 1: PRINT "ÃÄ¿"
  12: LOCATE 3, 1: PRINT "³                                                                              "; : COLOR 0, 7: PRINT CHR$(24): COLOR 15, 1
  13: LOCATE 4, 1: PRINT "³                                                                              "; : COLOR 0, 7: PRINT CHR$(219): COLOR 15, 1
  14: FOR m = 5 TO 22
  15: LOCATE m, 1: PRINT "³                                                                              "; : COLOR 0, 7: PRINT CHR$(176): COLOR 15, 1
  16: NEXT m
  17: COLOR 0, 7
  18: PRINT CHR$(25)
  19: COLOR 15, 1
  20: wrp = 1
  21: IF wrp = 1 THEN LOCATE 23, 1: PRINT "³"; : COLOR 0, 7: PRINT "Û°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°"; : COLOR 15, 1: PRINT "³" ELSE LOCATE 23, 1: PRINT "³                                                                              ³"
  22: LOCATE 24, 1: PRINT "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Immediate ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
  23: COLOR 15, 3
  24: LOCATE 25, 1: PRINT " <Shift+F1=Help> <F6=Window> <F2=Subs> <F5=Run> <F8=Step>       ";
  25: LOCATE 25, 63: COLOR 0, 3: PRINT "³     N 00001:001 ";
  26: COLOR 15, 1
  27: LOCATE 3, 2, 1
  28: 11 i$ = INKEY$
  29: mw = 80
  30: ht = 25
  31: IF i$ = "" THEN GOTO 11
  32: IF i$ = CHR$(0) + "!" THEN x% = CSRLIN: y% = POS(0): COLOR 15, 0: LOCATE 1, 3: PRINT " F"; : COLOR 7, 0: PRINT "ile ": COLOR 15, 1: LOCATE x%, y%: GOTO 11
  33: IF i$ = CHR$(0) + "H" AND CSRLIN > 3 THEN LOCATE CSRLIN - 1, POS(0): GOTO 11
  34: IF i$ = CHR$(0) + "H" THEN GOTO 11
  35: IF i$ = CHR$(0) + "P" AND CSRLIN < ht - 2 THEN LOCATE CSRLIN + 1, POS(0): GOTO 11
  36: IF i$ = CHR$(0) + "P" THEN GOTO 11
  37: IF i$ = CHR$(0) + "K" AND POS(0) > 2 THEN LOCATE CSRLIN, POS(0) - 1: GOTO 11
  38: IF i$ = CHR$(0) + "K" THEN GOTO 11
  39: IF i$ = CHR$(0) + "M" AND POS(0) < mw - 1 THEN LOCATE CSRLIN, POS(0) + 1: GOTO 11
  40: IF i$ = CHR$(0) + "M" THEN GOTO 11
  41: IF i$ = CHR$(0) + "G" THEN LOCATE CSRLIN, 2: GOTO 11
  42: IF i$ = CHR$(0) + "O" THEN LOCATE CSRLIN, mw - 1: GOTO 11
  43: 'if i$=chr$(0)+"S" then
  44: 'IF MID$(i$, 1, 1) = CHR$(0) THEN GOTO 11
  45: IF i$ = CHR$(27) THEN SCREEN 0, , 1, 1: FOR t = 1 TO 24: PRINT TXT(t): NEXT t: SLEEP: SCREEN 0, , 0, 0: COLOR 15, 1: GOTO 11
  46: IF i$ = CHR$(8) AND POS(0) = 2 AND CSRLIN = 3 THEN GOTO 11
  47: IF i$ = CHR$(8) AND POS(0) = 2 THEN LOCATE CSRLIN - 1, mw - 1: PRINT " "; : LOCATE CSRLIN, mw - 1: GOTO 11
  48: IF i$ = CHR$(8) THEN LOCATE CSRLIN, POS(0) - 1: PRINT " "; : LOCATE CSRLIN, POS(0) - 1: GOTO 11
  49: IF POS(0) = mw - 1 AND CSRLIN = ht - 2 THEN GOTO 11
  50: IF i$ = CHR$(13) AND CSRLIN < ht - 2 THEN LOCATE CSRLIN + 1, 2: GOTO 11
  51: IF i$ = CHR$(13) THEN GOTO 11
  52: IF POS(0) = mw THEN PRINT : LOCATE CSRLIN, 2 ELSE PRINT i$; : MID$(TXT(CSRLIN), POS(0) - 1, 1) = i$
  53: GOTO 11
  54: 
  55: SUB Errorr (Msg$)
  56: mxy = 19
  57: x% = CSRLIN: y% = POS(0)
  58: IF LEN(Msg$) <= mxy THEN DO UNTIL LEN(Msg$) >= mxy + 1: Msg$ = " " + Msg$ + " ": LOOP
  59: IF INT(LEN(Msg$) / 2) * 2 = LEN(Msg$) THEN  ELSE Msg$ = Msg$ + " "
  60: COLOR 0, 7: LOCATE 10, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "ÚÄÄ"; STRING$(LEN(Msg$), 196); "ÄÄ¿"
  61: COLOR 0, 7: LOCATE 11, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; STRING$(LEN(Msg$), 32); "  ³"
  62: COLOR 0, 7: LOCATE 12, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; Msg$; "  ³"
  63: COLOR 0, 7: LOCATE 13, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; STRING$(LEN(Msg$), 32); "  ³"
  64: COLOR 0, 7: LOCATE 14, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "ÃÄÄ"; STRING$(LEN(Msg$), 196); "ÄÄ´"
  65: COLOR 0, 7: LOCATE 15, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; STRING$(INT((LEN(Msg$) - mxy) / 2), 32); : COLOR 15, 7: PRINT "<"; : COLOR 0, 7: PRINT "  OK  "; : COLOR 15, 7: PRINT ">"; : COLOR 0, 7: PRINT "   <  Help  >"; STRING$(INT((LEN(Msg$) - mxy) / 2), 32); " ³"
  66: COLOR 0, 7: LOCATE 16, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "ÀÄÄ"; STRING$(LEN(Msg$), 196); "ÄÄÙ"
  67: LOCATE 15, (40 - INT(LEN(Msg$) / 2)) + 2
  68: Top:
  69: i$ = INKEY$
  70: IF i$ = "" THEN GOTO Top
  71: IF ASC(i$) = 9 AND mm = 0 THEN COLOR 0, 7: LOCATE 15, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; STRING$(INT((LEN(Msg$) - mxy) / 2), 32); : PRINT "<  OK  >   "; : COLOR 15, 7: PRINT "<"; : COLOR 0, 7: PRINT "  Help  "; : COLOR 15, 7: PRINT ">"; : COLOR 0, 7: PRINT STRING$(INT((LEN(Msg$) - mxy) / 2), 32); " ³": mm = 1: LOCATE 15, (40 - INT(LEN(Msg$) / 2)) + 13: GOTO Top
  72: IF ASC(i$) = 9 AND mm = 1 THEN COLOR 0, 7: LOCATE 15, (40 - INT(LEN(Msg$) / 2)) - 4: PRINT "³  "; STRING$(INT((LEN(Msg$) - mxy) / 2), 32); : COLOR 15, 7: PRINT "<"; : COLOR 0, 7: PRINT "  OK  "; : COLOR 15, 7: PRINT ">"; : COLOR 0, 7: PRINT "   <  Help  >"; STRING$(INT((LEN(Msg$) - mxy) / 2), 32); " ³": mm = 0:    LOCATE 15, (40 - INT(LEN(Msg$) / 2)) + 2: GOTO Top
  73: IF ASC(i$) = 13 THEN  ELSE GOTO Top
  74: LOCATE x%, y%: COLOR 7, 0
  75: END SUB
  76: 
  77: FUNCTION ReadLn$ (ln)
  78: x% = CSRLIN: y% = POS(0)
  79: FOR q = 1 TO 80
  80: mm$ = mm$ + CHR$(SCREEN(ln, q))
  81: NEXT q
  82: ReadLn$ = mm$
  83: END FUNCTION
  84: 
5748264 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:02:26