5748465 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n fakepent.bas
   1: DECLARE SUB CoolScrn ()
   2: DECLARE SUB LoadFont (f$)
   3: DECLARE SUB BackGround (a!)
   4: DECLARE SUB MsgBox (ms$, Tit$)
   5: DECLARE SUB InputBox (x!, y!, t$, Prm$)
   6: DECLARE SUB Window2 (Length!, Height!, Row!, Column!, tt$)
   7: DECLARE SUB Print2 (x!, y!, cv!, t$)
   8: DECLARE SUB UnLoadFont ()
   9: DECLARE SUB opencom ()
  10: DECLARE SUB connect ()
  11: DECLARE SUB Font (t$, cl!)
  12: DECLARE SUB TextBx (SX!, SY!, eX!, Ey!, t$, r!, l!, pw$, tb$, del!)
  13: DECLARE SUB Button2 (x1!, y1!, x2!, y2!, p!, t$)
  14: DECLARE SUB SLEEP2 (t!)
  15: DECLARE SUB SCapt (f$)
  16: DECLARE SUB SLoad (f$)
  17: DIM SHARED txt(255) AS STRING
  18: DIM SHARED C
  19: DIM SHARED Wxyz(4)
  20: KEY 15, CHR$(0) + CHR$(55)
  21: ON KEY(1) GOSUB Capt: KEY(1) ON
  22: ON KEY(2) GOSUB Load: KEY(2) ON
  23: SCREEN 12
  24: CLS
  25: LoadFont "C:\ASCIn.FNT"
  26: BackGround 3
  27: MsgBox "Pentagon Terminal", ":-)"
  28: InputBox 50, 50, pw$, "Enter the password"
  29: IF pw$ = CHR$(73) + CHR$(32) + CHR$(3) + CHR$(32) + CHR$(85) THEN  ELSE MsgBox "*** Unauthorized Access ***", ":-(": CoolScrn: END
  30: 
  31: UnLoadFont
  32: END
  33: 
  34: Capt:
  35: SCapt "Win1.BSV"
  36: RETURN
  37: 
  38: Load:
  39: SLoad "Win1.BSV"
  40: RETURN
  41: 
  42: SUB BackGround (a)
  43: C = a
  44: LINE (0, 0)-(640, 480), a, BF
  45: END SUB
  46: 
  47: SUB Button1 (x, y, s, p, tle$)
  48: IF p = 0 THEN clr1 = 15: clr2 = 8 ELSE clr1 = 8: clr2 = 15
  49: eX = x + s: Ey = y + s
  50: LINE (x, y)-(eX, Ey), 1, BF
  51: LINE (x, y)-(eX, Ey), 0, B
  52: LINE (x + 5, y + 5)-(eX - 5, Ey - 5), 1, BF
  53: LINE (x + 4, y + 4)-(eX - 4, Ey - 4), 0, B
  54: LINE (x, Ey)-(x + 4, Ey - 4), 0
  55: LINE (eX, y)-(eX - 4, y + 4), 0
  56: PAINT (x + 1, y + 1), clr1, 0
  57: PAINT (eX - 1, Ey - 1), clr2, 0
  58: END SUB
  59: 
  60: SUB Button2 (x1, y1, x2, y2, p, t$)
  61: IF p = 1 THEN q = 1: GOTO PUSHED
  62: LINE (x1, y1)-(x1, y2 - 1), 15
  63: LINE (x1, y1)-(x2 - 1, y1), 15
  64: LINE (x2 - 1, y1 + 1)-(x2 - 1, y2 - 1), 8
  65: LINE (x2 - 1, y2 - 1)-(x1 + 1, y2 - 1), 8
  66: LINE (x1, y2)-(x2, y2), 0
  67: LINE (x2, y2)-(x2, y1), 0
  68: LINE (x1 + 1, y1 + 1)-(x2 - 2, y2 - 2), 7, BF
  69: IF p = 3 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14, 0, t$: DO UNTIL INKEY$ = CHR$(13): LOOP: q = 1 ELSE GOTO ssd
  70: PUSHED:
  71: LINE (x1, y1)-(x1, y2), 0
  72: LINE (x1, y1)-(x2, y1), 0
  73: LINE (x1 + 1, y1 + 1)-(x1 + 1, y2 - 1), 8
  74: LINE (x1 + 1, y1 + 1)-(x2 - 1, y1 + 1), 8
  75: LINE (x1 + 1, y2)-(x2, y2), 15
  76: LINE (x2, y2)-(x2, y1 + 1), 15
  77: LINE (x1 + 2, y1 + 2)-(x2 - 1, y2 - 1), 7, BF
  78: ssd:
  79: IF LEN(t$) * 8 > x2 - x1 THEN EXIT SUB
  80: wdt = x2 - x1
  81: Print2 INT((wdt / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14 + q, 0, t$
  82: IF p = 3 THEN SLEEP2 .13
  83: END SUB
  84: 
  85: SUB CheckBox (x1, y1, cc, t$, cl)
  86: x2 = x1 + 10
  87: y2 = y1 + 10
  88: LINE (x1, y1)-(x2, y2), cl, B
  89: m$ = "BM" + LTRIM$(RTRIM$(STR$(x1))) + "," + LTRIM$(RTRIM$(STR$(y1))) + "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(m$)
  90: IF cc = 1 THEN DRAW "F9BH9BR10G9"
  91: Print2 x2 + 5, y2 + 2, cl, t$
  92: END SUB
  93: 
  94: SUB connect
  95: 'Window2 639,479,0,0,"Terminal Emulation
  96: a = 20: a = a + 17
  97: Print2 10, a, 0, "Start Typing when modems connect... Press <Esc> to hang up:"
  98: a = a + 17: Print2 10, a, 0, ""
  99: DO UNTIL ch$ = CHR$(27)
 100: ch$ = INKEY$
 101: IF ch$ <> "" THEN PRINT #1, ch$;
 102: IF LOC(1) <> 0 THEN inchar$ = INPUT$(1, #1) ELSE inchar$ = ""
 103: IF inchar$ = CHR$(8) AND POS(0) <> 1 THEN
 104: LOCATE , POS(0) - 1
 105: PRINT " ";
 106: LOCATE , POS(0) - 1
 107: ELSEIF inchar$ = CHR$(8) AND POS(0) = 1 AND CSRLIN <> 1 THEN
 108: LOCATE CSRLIN - 1, 80
 109: PRINT " ";
 110: LOCATE , POS(0) - 1
 111: 'ELSEIF inchar$ = CHR$(8) THEN
 112: END IF
 113: IF inchar$ = CHR$(13) THEN a = a + 17: Print2 10, a, 0, "" ELSE Print2 -1, -1, 0, inchar$
 114: IF inchar$ = CHR$(1) THEN END
 115: LOOP
 116: FOR r = 1 TO 5
 117: PRINT #1, "ATH"
 118: NEXT r
 119: PRINT #1, "ATS0=0"
 120: CLOSE #1
 121: END SUB
 122: 
 123: SUB CoolScrn
 124: FOR q = 1 TO 480
 125: FOR w = 1 TO 640
 126: 11 RANDOMIZE TIMER
 127: x% = INT(RND * 640) + 1
 128: y% = INT(RND * 480) + 1
 129: IF POINT(x%, y%) <> C THEN GOTO 11
 130: clr = INT(RND * 15) + 1
 131: DO UNTIL clr <> C
 132: clr = clr + 8
 133: LOOP
 134: PSET (x%, y%), 11
 135: NEXT w, q
 136: END SUB
 137: 
 138: SUB CoolScrn2
 139: 'DIM usd(480, 640) AS STRING
 140: FOR q = 1 TO 640
 141: FOR w = 1 TO 480
 142: 31 RANDOMIZE TIMER
 143: x% = INT(RND * 480) + 1
 144: y% = INT(RND * 640) + 1
 145: 'IF usd(x%, y%) = "1" THEN GOTO 31
 146: PSET (y%, x%), 15
 147: 'usd(x%, y%) = "1"
 148: NEXT w, q
 149: 
 150: END SUB
 151: 
 152: SUB Font (t$, cl)
 153: IF cl = -1 THEN  ELSE f$ = "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(f$)
 154: IF txt(32) = "" THEN LOCATE 1, 1: PRINT "System Error. Unable to continue.": END
 155: FOR qww = 1 TO LEN(t$)
 156: IF ASC(MID$(t$, qww, 1)) = 0 THEN DRAW "X" + VARPTR$(txt(32)) ELSE DRAW "X" + VARPTR$(txt(ASC(MID$(t$, qww, 1)))): DRAW "BL": GOTO 1011
 157: 1011 NEXT qww
 158: END SUB
 159: 
 160: SUB InputBox (x, y, t$, Prm$)
 161: Z = 90
 162: s = 50
 163: DIM back(1 TO 9998)
 164: GET (x, y)-(x + 100 + Z, y + 50 + Z), back
 165: LINE (x, y)-(x + 100 + Z, y + 50 + Z), 0, BF
 166: LINE (x + 2, y + 2)-(x + 98 + Z, y + 48 + Z), 1, BF
 167: LINE (x + 10, y + 10)-(x + 90 + Z, y + 40 + Z), 0, BF
 168: LINE (x + 12, y + 12)-(x + 88 + Z, y + 38 + Z), 7, BF
 169: Xy = x + 15
 170: yX = y + 67 - s + Z
 171: Xx = x + 85 + Z
 172: yY = y + 82 - s + Z
 173: Xyz$ = "BM" + STR$(x + 14) + "," + STR$(y + 25)
 174: DRAW "X" + VARPTR$(Xyz$)
 175: Font Prm$, 0
 176: TextBx Xy, yX, Xx, yY, t$, 1, 17, "", "", 0
 177: PUT (x, y), back, PSET
 178: END SUB
 179: 
 180: SUB LoadFont (f$)
 181: OPEN f$ FOR INPUT AS #1: t = 0
 182: DO UNTIL EOF(1)
 183: LINE INPUT #1, a$
 184: txt(t) = a$
 185: t = t + 1
 186: LOOP
 187: CLOSE 1
 188: END SUB
 189: 
 190: SUB MsgBox (ms$, Tit$)
 191: wt$ = "Ok"
 192: s = 17
 193: v = 15
 194: s = s + v
 195: FOR w = 1 TO LEN(ms$): l = l + 1: IF MID$(ms$, w, 1) = CHR$(13) THEN s = s + v
 196: NEXT w
 197: IF LEN(Tit$) >= LEN(ms$) THEN pix = INT(LEN(Tit$) * 8.2) ELSE pix = INT(LEN(ms$) * 8.2)
 198: IF INT(LEN(wt$) * 8.2) > pix THEN pix = INT(LEN(" (Press ENTER to continue.)") * 8.2)
 199: x = 320 - INT(pix / 2)
 200: y = 175 - s
 201: DIM back(1 TO 9998)
 202: GET (x, y)-(x + pix, y + s + v), back
 203: LINE (x + 1, y + 1)-(x + pix - 1, y + v), 1, BF
 204: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 5))) + ", " + RTRIM$(LTRIM$(STR$(y + v + 1)))
 205: DRAW "X" + VARPTR$(m$)
 206: Font Tit$, 15
 207: LINE (x, y)-(x + pix, y + s + v), 0, B
 208: LINE (x, y + v)-(x + pix, y + s + v), 0, B
 209: LINE (x + 1, y + v + 1)-(x + pix - 1, y + s + v - 1), 7, BF
 210: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 2))) + ", " + RTRIM$(LTRIM$(STR$(y + v + v + 1)))
 211: DRAW "X" + VARPTR$(m$)
 212: j = y
 213: FOR a = 1 TO LEN(ms$)
 214: IF MID$(ms$, a, 1) = CHR$(13) THEN j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 2))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$)
 215: Font MID$(ms$, a, 1), 0
 216: NEXT a
 217: j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(INT(x + (pix / 2) + (LEN(wt$) / 2) - 30)))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$)
 218: 'Font wt$
 219: d = INT(x + (pix / 2) + (LEN(wt$) / 2) - 30)
 220: j = INT(j + v + v + 1)
 221: m = 117
 222: n = -107
 223: Button2 j - n, d - m, j + 35 - n, d + 14 - m, 3, wt$
 224: PUT (x, y), back, PSET
 225: END SUB
 226: 
 227: SUB opencom
 228: OPEN "Term.CFG" FOR INPUT AS #2
 229: INPUT #2, comport$
 230: CLOSE #2
 231: OPEN comport$ + ",N,8,1" FOR RANDOM AS #1 LEN = 4800
 232: END SUB
 233: 
 234: SUB Print2 (x, y, cv, t$)
 235: IF x = -1 AND y = -1 THEN d$ = "C" + LTRIM$(RTRIM$(STR$(cv))): GOTO 3
 236: IF x = -2 THEN x = (POS(0) * 8) - 7: g = -2
 237: IF y = -2 THEN y = CSRLIN * 16: n = -2
 238: IF x = -3 THEN x = Wxyz(2) + 7
 239: IF y = -3 THEN y = Wxyz(1) + 35
 240: d$ = "BM" + LTRIM$(RTRIM$(STR$(x))) + "," + LTRIM$(RTRIM$(STR$(y))) + " C" + LTRIM$(RTRIM$(STR$(cv)))
 241: 3 DRAW "X" + VARPTR$(d$)
 242: Font t$, cv
 243: IF g = -2 THEN LOCATE CSRLIN, POS(0) + LEN(t$)
 244: IF n = -2 THEN LOCATE CSRLIN + 1, 1
 245: END SUB
 246: 
 247: SUB SCapt (f$)
 248: DEF SEG = &HA000
 249: BSAVE f$, 0, 64000
 250: END SUB
 251: 
 252: SUB setmodemoption
 253: COLOR 2
 254: InputBox 70, 70, portno$, "COM(1 or 2): "
 255: InputBox 70, 70, speed$, "Modem Speed: "
 256: comport$ = "COM" + portno$ + ":" + speed$
 257: OPEN "BASTerm.CFG" FOR OUTPUT AS #2
 258: PRINT #2, comport$
 259: CLOSE #2
 260: END SUB
 261: 
 262: SUB SLEEP2 (t)
 263: a = TIMER
 264: DO UNTIL TIMER >= a + t: LOOP
 265: END SUB
 266: 
 267: SUB SLoad (f$)
 268: DEF SEG = &HA000
 269: BLOAD f$, 0
 270: END SUB
 271: 
 272: SUB TextBx (SX, SY, eX, Ey, t$, r, l, pw$, tb$, del)
 273: IF LEN(tb$) > l AND r = 1 THEN tb$ = MID$(tb$, 1, l)
 274: t$ = tb$: w = LEN(tb$)
 275: IF del = 1 THEN ds = 0 ELSE ds = LEN(tb$)
 276: IF LEN(pw$) > 1 THEN pw$ = LEFT$(pw$, 1)
 277: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B
 278: LINE (SX, SY)-(eX, Ey), 15, BF
 279: MX$ = "M" + STR$(SX + 2) + "," + STR$(Ey - 0)
 280: DRAW "BX" + VARPTR$(MX$)
 281: IF pw$ = "" THEN Font tb$, 0 ELSE Font STRING$(LEN(tb$), pw$), 0
 282: IF r = 1 THEN  ELSE EXIT SUB
 283: 12 a$ = INKEY$
 284: IF a$ = "" GOTO 12
 285: IF a$ = CHR$(8) THEN IF LEN(t$) - ds = 0 THEN GOTO 12 ELSE t$ = LEFT$(t$, LEN(t$) - 1): w = w - 1: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B: LINE (SX, SY)-(eX, Ey), 15, BF: DRAW "BX" + VARPTR$(MX$): IF pw$ = "" THEN Font t$, 0: GOTO 12 ELSE Font STRING$(LEN(t$), pw$), 0: GOTO 12
 286: IF a$ = CHR$(13) THEN EXIT SUB
 287: IF w >= l THEN GOTO 12
 288: t$ = t$ + a$: w = w + LEN(a$)
 289: B$ = a$
 290: IF pw$ = "" THEN Font B$, 0 ELSE Font pw$, 0
 291: GOTO 12
 292: END SUB
 293: 
 294: SUB UnLoadFont
 295: FOR q = 0 TO 255
 296: txt(q) = ""
 297: NEXT q
 298: END SUB
 299: 
 300: SUB waitforcall
 301: CLS : BackGround C
 302: Window2 630, 470, 0, 0, "Terminal Emulation"
 303: COLOR 3
 304: opencom
 305: PRINT #1, "ATS0=1"
 306: connect
 307: END SUB
 308: 
 309: SUB Window2 (Length, Height, Row, Column, tt$)
 310: Wxyz(1) = Row
 311: Wxyz(2) = Column
 312: Wxyz(3) = Row + Height
 313: Wxyz(4) = Column + Length
 314: LINE (Column, Row)-(Column + Length, Row + Height), 0, B
 315: FOR i% = 1 TO 2
 316: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1
 317: LINE (Column, Row)-(Column + Length, Row), 7
 318: LINE (Column, Row)-(Column, Row + Height), 7
 319: NEXT i%
 320: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1
 321: LINE (Column, Row)-(Column + Length, Row), 0
 322: LINE (Column, Row)-(Column, Row + Height), 0
 323: LINE (Column, Row)-(Column + 18, Row + 18), 7, BF
 324: LINE (Column, Row)-(Column + 18, Row + 18), 0, B
 325: LINE (Column + 18, Row - 2)-(Column + 18, Row + 5), 0
 326: LINE (Column - 2, Row + 18)-(Column + 5, Row + 18), 0
 327: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 15, BF: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 0, B
 328: LINE (Column + 14, Row + 7)-(Column + 14, Row + 9), 8
 329: LINE (Column + 6, Row + 10)-(Column + 14, Row + 10), 8, B
 330: LINE (Column + 18, Row)-(Column + Length, Row + 18), 9, BF
 331: LINE (Column + 18, Row)-(Column + Length, Row + 18), 0, B
 332: LINE (Column + Length, Row - 3)-(Column + Length + 2, Row + Height), 7, BF
 333: LINE (Column + Length, Row - 3)-(Column + Length + 3, Row + Height), 0, B
 334: LINE (Column + Length, Row - 2)-(Column + Length, Row - 1), 7
 335: LINE (Column + Length - 18, Row - 2)-(Column + Length - 18, Row - 1), 0
 336: LINE (Column + Length, Row + 18)-(Column + Length + 2, Row + 18), 0
 337: LINE (Column, Row + Height - 3)-(Column + Length, Row + Height - 3), 0, B
 338: LINE (Column, Row + Height - 2)-(Column + Length + 2, Row + Height), 7, BF
 339: LINE (Column - 2, Row + Height)-(Column + Length + 2, Row + Height), 0, B
 340: LINE (Column - 2, Row + Height - 18)-(Column, Row + Height - 18), 0
 341: LINE (Column + Length - 2, Row + Height - 18)-(Column + Length + 2, Row + Height - 18), 0
 342: LINE (Column + 18, Row + Height)-(Column + 18, Row + Height - 2), 0
 343: LINE (Column + Length - 18, Row + Height)-(Column + Length - 18, Row + Height - 2), 0
 344: LINE (Column + 1, Row + 19)-(Column + Length - 1, Row + Height - 4), 7, BF
 345: mm$ = "BM" + RTRIM$(LTRIM$(STR$(Column + 20))) + "," + LTRIM$(RTRIM$(STR$(Row + 17)))
 346: DRAW "X" + VARPTR$(mm$)
 347: Font tt$, 0
 348: END SUB
 349: 
5748466 [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:35