1: DECLARE SUB CheckBox (x1!, Y1!, cc!, t$, cl!) 2: DECLARE FUNCTION Stat$ (num!) 3: DECLARE SUB TextBox (SX!, SY!, eX!, Ey!, t$, r!, l!, pw$, tb$, del!, mln!) 4: DECLARE SUB PopMenu (x!, y!) 5: DECLARE SUB PutBack () 6: DECLARE SUB ProClk (x!, y!) 7: DECLARE SUB LoadMouse () 8: DECLARE SUB PutMouse (nnn!) 9: DECLARE SUB LoadFont (f$) 10: DECLARE SUB BackGround (a!) 11: DECLARE SUB MsgBox (ms$, Tit$) 12: DECLARE SUB InputBox (x!, y!, t$, Prm$) 13: DECLARE SUB Window2 (Length!, Height!, Row!, Column!, tt$) 14: DECLARE SUB Print2 (x!, y!, cv!, t$) 15: DECLARE SUB UnLoadFont () 16: DECLARE SUB opencom () 17: DECLARE SUB connect () 18: DECLARE SUB Font (t$, cl!) 19: DECLARE SUB TextBx (SX!, SY!, eX!, Ey!, t$, r!, l!, pw$, tb$, del!) 20: DECLARE SUB Button2 (x1!, Y1!, x2!, y2!, p!, t$) 21: DECLARE SUB Sleep2 (t!) 22: DECLARE SUB SCapt (f$) 23: DECLARE SUB SLoad (f$) 24: dim txt(255) AS shared STRING 25: SHARED C 26: dim Wxyz(4) as shared integer 27: dim Mouse(100) as shared long 28: SHARED Msx, Msy 29: SHARED Clx, Cly, Clk 30: KEY 15, CHR$(0) + CHR$(82) 31: ON KEY(1) GOSUB Capt: KEY(1) ON 32: ON KEY(2) GOSUB Load: KEY(2) ON 33: ON KEY(11) GOSUB UpArow: KEY(11) ON 34: ON KEY(12) GOSUB LtArow: KEY(12) ON 35: ON KEY(13) GOSUB RtArow: KEY(13) ON 36: ON KEY(14) GOSUB DnArow: KEY(14) ON 37: ON KEY(15) GOSUB Click: KEY(15) ON 38: ON TIMER(3) GOSUB Clkn: TIMER ON 39: SCREEN 12 40: CLS 41: Msx = POINT(0) 42: Msy = POINT(1) 43: Xi = 5 44: Yi = 5 45: LoadFont "C:\ASCIN.FNT" 46: BackGround 3 47: MsgBox "DOS WIN Demo Program", "** Turbo Version **" 48: InputBox 50, 50, pw$, "Enter the password" 49: GOTO 10 50: pw$ = "Miz K." 51: 10 IF pw$ = CHR$(73) + CHR$(32) + CHR$(3) + CHR$(32) + CHR$(85) THEN ELSE MsgBox "*** Unauthorized Access ***", ":-) :-| :-(": END 52: BackGround 1 53: Window2 320, 300, 10, 10, "Main Menu" 54: LoadMouse 55: Button2 30, 285, 60, 300, 0, "END" 56: Button2 110, 285, 148, 300, 0, "FREE" 57: CheckBox 30, 230, 0, "Nothing", 1 58: TextBox 18, 43, 243, 218, Null$, 1, 28, "", "", 1, 11 59: DO UNTIL INKEY$ = CHR$(13) 60: 'LOCATE 1, 1: PRINT "Click is "; Stat$(Clk); " " 61: 'LOCATE 2, 1: PRINT Clk; Msx; Msy 62: LOOP 63: 'MsgBox Null$, "Typed" 64: Button2 70, 285, 100, 300, 5, "BYE" 65: UnLoadFont 66: END 67: '**************************************************************************** 68: '* GoSUBs * 69: '**************************************************************************** 70: Capt: 71: SCapt "Win1.BSV" 72: RETURN 73: 74: Load: 75: SLoad "Win1.BSV" 76: RETURN 77: 78: UpArow: 79: PutBack 80: Msy = Msy - Yi 81: IF Msy < 0 THEN Msy = Msy + Yi 82: PutMouse 0 83: RETURN 84: 85: DnArow: 86: PutBack 87: Msy = Msy + Yi 88: IF Msy > 459 THEN Msy = Msy - Yi 89: PutMouse 0 90: RETURN 91: 92: LtArow: 93: PutBack 94: Msx = Msx - Xi 95: IF Msx < 0 THEN Msx = Msx + Xi 96: PutMouse 0 97: RETURN 98: 99: RtArow: 100: PutBack 101: Msx = Msx + Xi 102: IF Msx > 619 THEN Msx = Msx - Xi 103: PutMouse 0 104: RETURN 105: 106: Click: 107: TIMER ON 108: Clx = Msx 109: Cly = Msy 110: Clk = 1 111: ProClk Clx, Cly 112: RETURN 113: 114: Clkn: 115: 'PutMouse 1 116: 'LOCATE 2, 1: PRINT Clk; Msy; Msx 117: IF Clk = 1 THEN Clk = 0: TIMER OFF 118: RETURN 119: 120: SUB BackGround (a) 121: C = a 122: LINE (0, 0)-(640, 480), a, BF 123: END SUB 124: 125: SUB Button1 (x, y, s, p, tle$) 126: IF p = 0 THEN clr1 = 15: clr2 = 8 ELSE clr1 = 8: clr2 = 15 127: eX = x + s: Ey = y + s 128: LINE (x, y)-(eX, Ey), 1, BF 129: LINE (x, y)-(eX, Ey), 0, B 130: LINE (x + 5, y + 5)-(eX - 5, Ey - 5), 1, BF 131: LINE (x + 4, y + 4)-(eX - 4, Ey - 4), 0, B 132: LINE (x, Ey)-(x + 4, Ey - 4), 0 133: LINE (eX, y)-(eX - 4, y + 4), 0 134: PAINT (x + 1, y + 1), clr1, 0 135: PAINT (eX - 1, Ey - 1), clr2, 0 136: END SUB 137: 138: SUB Button2 (x1, Y1, x2, y2, p, t$) 139: IF p = 1 OR p = 4 THEN q = 1: GOTO PUSHED 140: 'PRINT Clk; Clx; Cly; p; x1; x2; Y1; y2 141: LINE (x1, Y1)-(x1, y2 - 1), 15 142: LINE (x1, Y1)-(x2 - 1, Y1), 15 143: LINE (x2 - 1, Y1 + 1)-(x2 - 1, y2 - 1), 8 144: LINE (x2 - 1, y2 - 1)-(x1 + 1, y2 - 1), 8 145: LINE (x1, y2)-(x2, y2), 0 146: LINE (x2, y2)-(x2, Y1), 0 147: LINE (x1 + 1, Y1 + 1)-(x2 - 2, y2 - 2), 7, BF 148: IF p=6 THEN Print2 INT(((x2-x1)/2)-((LEN(t$)/2)*8)+x1),Y1+14,0,t$:DO UNTIL Clk=1 AND Clx>x1-1 AND Clx<x2+1 AND Cly>Y1-1 AND Cly<y2+1 OR INKEY$=CHR$(13):LOOP:Sleep2 .13:Goto Pushed 149: IF p = 5 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), Y1 + 14, 0, t$: DO UNTIL Clk = 1 AND Clx > x1 - 1 AND Clx < x2 + 1 AND Cly > Y1 - 1 AND Cly < y2 + 1: LOOP: Sleep2 .13: GOTO PUSHED 150: 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 151: PUSHED: 152: LINE (x1, Y1)-(x1, y2), 0 153: LINE (x1, Y1)-(x2, Y1), 0 154: LINE (x1 + 1, Y1 + 1)-(x1 + 1, y2 - 1), 8 155: LINE (x1 + 1, Y1 + 1)-(x2 - 1, Y1 + 1), 8 156: LINE (x1 + 1, y2)-(x2, y2), 15 157: LINE (x2, y2)-(x2, Y1 + 1), 15 158: LINE (x1 + 2, Y1 + 2)-(x2 - 1, y2 - 1), 7, BF 159: IF p > 3 THEN PutMouse 1 160: ssd: 161: IF LEN(t$) * 8 > x2 - x1 THEN EXIT SUB 162: wdt = x2 - x1 163: Print2 INT((wdt / 2) - ((LEN(t$) / 2) * 8) + x1), Y1 + 14 + q, 0, t$ 164: IF p > 2 THEN Sleep2 .13 165: IF p > 2 THEN Button2 x1, Y1, x2, y2, 0, t$: PutMouse 1 166: END SUB 167: 168: SUB CheckBox (x1, Y1, cc, t$, cl) 169: x2 = x1 + 10 170: y2 = Y1 + 10 171: LINE (x1, Y1)-(x2, y2), cl, B 172: m$ = "BM" + LTRIM$(RTRIM$(STR$(x1))) + "," + LTRIM$(RTRIM$(STR$(Y1))) + "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(m$) 173: IF cc = 1 THEN DRAW "F9BH9BR10G9" 174: Print2 x2 + 5, y2 + 2, cl, t$ 175: END SUB 176: 177: SUB connect 178: 'Window2 639,479,0,0,"Terminal Emulation 179: a = 20: a = a + 17 180: Print2 10, a, 0, "Start Typing when modems connect... Press <Esc> to hang up:" 181: a = a + 17: Print2 10, a, 0, "" 182: DO UNTIL ch$ = CHR$(27) 183: ch$ = INKEY$ 184: IF ch$ <> "" THEN PRINT #1, ch$; 185: IF LOC(1) <> 0 THEN inchar$ = INPUT$(1, #1) ELSE inchar$ = "" 186: IF inchar$ = CHR$(8) AND POS(0) <> 1 THEN 187: LOCATE , POS(0) - 1 188: PRINT " "; 189: LOCATE , POS(0) - 1 190: ELSEIF inchar$ = CHR$(8) AND POS(0) = 1 AND CSRLIN <> 1 THEN 191: LOCATE CSRLIN - 1, 80 192: PRINT " "; 193: LOCATE , POS(0) - 1 194: 'ELSEIF inchar$ = CHR$(8) THEN 195: END IF 196: IF inchar$ = CHR$(13) THEN a = a + 17: Print2 10, a, 0, "" ELSE Print2 -1, -1, 0, inchar$ 197: IF inchar$ = CHR$(1) THEN END 198: LOOP 199: FOR r = 1 TO 5 200: PRINT #1, "ATH" 201: NEXT r 202: PRINT #1, "ATS0=0" 203: CLOSE #1 204: END SUB 205: 206: SUB Font (t$, cl) 207: IF cl = -1 THEN ELSE f$ = "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(f$) 208: IF txt(32) = "" THEN LOCATE 1, 1: PRINT "System Error. Unable to continue.": END 209: FOR qww = 1 TO LEN(t$) 210: 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 211: 1011 NEXT qww 212: END SUB 213: 214: SUB InputBox (x, y, t$, Prm$) 215: Z = 90 216: s = 50 217: DIM back(1 TO 9998) 218: GET (x, y)-(x + 100 + Z, y + 50 + Z), back 219: LINE (x, y)-(x + 100 + Z, y + 50 + Z), 0, BF 220: LINE (x + 2, y + 2)-(x + 98 + Z, y + 48 + Z), 1, BF 221: LINE (x + 10, y + 10)-(x + 90 + Z, y + 40 + Z), 0, BF 222: LINE (x + 12, y + 12)-(x + 88 + Z, y + 38 + Z), 7, BF 223: Xy = x + 15 224: yX = y + 67 - s + Z 225: Xx = x + 85 + Z 226: yY = y + 82 - s + Z 227: Xyz$ = "BM" + STR$(x + 14) + "," + STR$(y + 25) 228: DRAW "X" + VARPTR$(Xyz$) 229: Font Prm$, 0 230: TextBx Xy, yX, Xx, yY, t$, 1, 17, "", "", 0 231: PUT (x, y), back, PSET 232: END SUB 233: 234: SUB LoadFont (f$) 235: OPEN f$ FOR INPUT AS #1: t = 0 236: DO UNTIL EOF(1) 237: LINE INPUT #1, a$ 238: txt(t) = a$ 239: t = t + 1 240: LOOP 241: CLOSE 1 242: END SUB 243: 244: SUB LoadMouse 245: GET (Msx, Msy)-(Msx + 10, Msy + 10), Mouse 246: PutMouse 0 247: END SUB 248: 249: SUB MsgBox (ms$, Tit$) 250: wt$ = "Ok" 251: s = 17 252: v = 15 253: s = s + v 254: FOR w = 1 TO LEN(ms$): l = l + 1: IF MID$(ms$, w, 1) = CHR$(13) THEN s = s + v 255: NEXT w 256: IF LEN(Tit$) >= LEN(ms$) THEN pix = INT(LEN(Tit$) * 8.4) ELSE pix = INT(LEN(ms$) * 8) 257: IF INT(LEN(wt$) * 8.4) > pix THEN pix = INT(LEN(" (Press ENTER to continue.)") * 8.4) 258: x = 320 - INT(pix / 2) 259: y = 175 - s 260: DIM back(1 TO 10998) 261: GET (x, y)-(x + pix, y + s + v), back 262: LINE (x + 1, y + 1)-(x + pix - 1, y + v), 1, BF 263: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 5))) + ", " + RTRIM$(LTRIM$(STR$(y + v + 1))) 264: DRAW "X" + VARPTR$(m$) 265: Font Tit$, 15 266: LINE (x, y)-(x + pix, y + s + v), 0, B 267: LINE (x, y + v)-(x + pix, y + s + v), 0, B 268: LINE (x + 1, y + v + 1)-(x + pix - 1, y + s + v - 1), 7, BF 269: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 2))) + ", " + RTRIM$(LTRIM$(STR$(y + v + v + 1))) 270: DRAW "X" + VARPTR$(m$) 271: j = y 272: FOR a = 1 TO LEN(ms$) 273: 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$) 274: Font MID$(ms$, a, 1), 0 275: NEXT a 276: 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$) 277: 'Font wt$ 278: d = INT(x + (pix / 2) + (LEN(wt$) / 2) - 30) 279: j = INT(j + v + v + 1) 280: m = 117 281: n = -107 282: Button2 j - n, d - m, j + 35 - n, d + 14 - m, 6, wt$ 283: PUT (x, y), back, PSET 284: END SUB 285: 286: SUB opencom 287: OPEN "Term.CFG" FOR INPUT AS #2 288: INPUT #2, comport$ 289: CLOSE #2 290: OPEN comport$ + ",N,8,1" FOR RANDOM AS #1 LEN = 4800 291: END SUB 292: 293: SUB PopMenu (x, y) 294: DIM Behnd(1 TO 2000) 295: GET (x, y)-(x + 100, y + 100), Behnd 296: LINE (x, y)-(x + 100, y + 100), 14, BF 297: LINE (x, y)-(x + 100, y + 100), 0, B 298: LINE (x + 100, y)-(x, y + 100), 0 299: PAINT (x + 1, y + 2), 15, 0 300: PAINT (x + 96, y + 5), 8, 0 301: LINE (x + 2, y + 2)-(x + 98, y + 98), 7, BF 302: Sleep2 5 303: PUT (x, y), Behnd, PSET 304: END SUB 305: 306: SUB Print2 (x, y, cv, t$) 307: IF x = -1 AND y = -1 THEN d$ = "C" + LTRIM$(RTRIM$(STR$(cv))): GOTO 3 308: IF x = -2 THEN x = (POS(0) * 8) - 7: g = -2 309: IF y = -2 THEN y = CSRLIN * 16: n = -2 310: IF x = -3 THEN x = Wxyz(2) + 7 311: IF y = -3 THEN y = Wxyz(1) + 35 312: d$ = "BM" + LTRIM$(RTRIM$(STR$(x))) + "," + LTRIM$(RTRIM$(STR$(y))) + " C" + LTRIM$(RTRIM$(STR$(cv))) 313: 3 DRAW "X" + VARPTR$(d$) 314: Font t$, cv 315: IF g = -2 THEN LOCATE CSRLIN, POS(0) + LEN(t$) 316: IF n = -2 THEN LOCATE CSRLIN + 1, 1 317: END SUB 318: 319: SUB ProClk (x, y) 320: Ox = POINT(0): Oy = POINT(1): Oc = POINT(Ox, Oy) 321: IF x > 13 AND x < 32 AND y > 13 AND y < 32 THEN PopMenu x, y 322: IF x > 29 AND x < 61 AND y > 284 AND y < 301 THEN Button2 30, 285, 60, 300, 4, "END": UnLoadFont: END 323: IF x > 109 AND x < 149 AND y > 284 AND y < 301 THEN Button2 110, 285, 149, 300, 4, "FREE": MsgBox STR$(FRE(1)) + "Bytes", "Free Memmory" 324: 'if x > 325: PSET (Ox, Oy), Oc 326: END SUB 327: 328: SUB PutBack 329: Ox = POINT(0): Oy = POINT(1): Oc = POINT(Ox, Oy) 330: PUT (Msx, Msy), Mouse, PSET 331: PSET (Ox, Oy), Oc 332: END SUB 333: 334: SUB PutMouse (nnn) 335: Ox = POINT(0): Oy = POINT(1): Oc = POINT(Ox, Oy) 336: n1 = 14: n4 = 8: n2 = 4: n3 = 4: u1 = 2: r1 = 2: l1 = 1: u3 = 3: r2 = 3 337: IF nnn = 0 THEN GET (Msx, Msy)-(Msx + 20, Msy + 20), Mouse 338: LINE (Msx, Msy)-(Msx, Msy + n1), 0 339: LINE (Msx, Msy + n1)-(Msx + n2, Msy + n1 - u3), 0 340: LINE (Msx + n2, Msy + n1 - u3)-(Msx + n2 + n3, Msy + n1 + n4 - u3), 0 341: LINE (Msx + n2 + n3, Msy + n1 + n4 - u3)-(Msx + n2 + n3 + r1, Msy + n1 + n4 - u1 - u3), 0 342: LINE (Msx + n2 + n3 + r1, Msy + n1 + n4 - u1 - u3)-(Msx + n2 + n3 - l1, Msy + n1 - u3), 0 343: LINE (Msx + n2 + n3 - l1, Msy + n1 - u3)-(Msx + n2 + n3 + r2, Msy + n1 - u3), 0 344: LINE (Msx + n2 + n3 + r2, Msy + n1 - u3)-(Msx, Msy), 0 345: PAINT (Msx + 2, Msy + 5), 15, 0 346: PSET (Ox, Oy), Oc 347: END SUB 348: 349: SUB SCapt (f$) 350: DEF SEG = &HA000 351: BSAVE f$,0 352: END SUB 353: 354: SUB setmodemoption 355: COLOR 2 356: InputBox 70, 70, portno$, "COM(1 or 2): " 357: InputBox 70, 70, speed$, "Modem Speed: " 358: comport$ = "COM" + portno$ + ":" + speed$ 359: OPEN "Term.CFG" FOR OUTPUT AS #2 360: PRINT #2, comport$ 361: CLOSE #2 362: END SUB 363: 364: SUB Sleep2 (t) 365: a = TIMER 366: DO UNTIL TIMER >= a + t: LOOP 367: END SUB 368: 369: SUB SLoad (f$) 370: DEF SEG = &HA000 371: BLOAD f$,0 372: END SUB 373: 374: FUNCTION Stat$ (num) 375: IF num > 0 THEN Stat$ = "on" 376: IF num < 1 THEN Stat$ = "off" 377: END FUNCTION 378: 379: SUB TextBox (SX, SY, eX, Ey, t$, r, l, pw$, tb$, del, mln) 380: crln = 1 381: mY = SY 382: IF LEN(tb$) > l AND r = 1 THEN tb$ = MID$(tb$, 1, l) 383: w = LEN(tb$) 384: IF del = 1 THEN ds = 0 ELSE ds = LEN(tb$) 385: IF LEN(pw$) > 1 THEN pw$ = LEFT$(pw$, 1) 386: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B 387: LINE (SX, SY)-(eX, Ey), 15, BF 388: MX$ = "BM" + STR$(SX + 2) + "," + STR$(SY + 13) 389: DRAW "BX" + VARPTR$(MX$) 390: IF pw$ = "" THEN Font tb$, 0 ELSE Font STRING$(LEN(tb$), pw$), 0 391: IF r = 1 THEN ELSE EXIT SUB 392: 12 a$ = INKEY$ 393: IF a$ = "" GOTO 12 394: MX$ = "M" + STR$(SX + 2) + "," + STR$(mY + 13) 395: IF a$ = CHR$(8) AND mln = 0 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 396: IF a$ = CHR$(8) AND mln > 0 THEN IF sss - ds = 0 THEN GOTO 12 ELSE t$ = LEFT$(t$, LEN(t$) - 1): LINE (POINT(0) - 8, POINT(1) - 13)-(POINT(0) - 1, POINT(1)), 15, BF: DRAW "BL7": w = w - 1: sss = sss - 1: GOTO 12 397: IF a$ = CHR$(13) AND mln = 0 OR (mln > 0 AND crln = mln AND a$ = CHR$(13)) THEN EXIT SUB 398: IF a$ = CHR$(13) AND mln > 0 AND crln < mln THEN mY = mY + 16: MX$ = "BM" + STR$(SX + 2) + "," + STR$(mY + 13): DRAW "BX" + VARPTR$(MX$): crr = 1: sss = -1: crln = crln + 1: Font tb$, 0 399: IF sss >= l THEN GOTO 12 400: t$ = t$ + a$: w = w + LEN(a$) 401: sss = sss + len(a$) 402: B$ = a$ 403: IF pw$ = "" THEN Font B$, 0 ELSE Font pw$, 0 404: GOTO 12 405: END SUB 406: 407: SUB TextBx (SX, SY, eX, Ey, t$, r, l, pw$, tb$, del) 408: IF LEN(tb$) > l AND r = 1 THEN tb$ = MID$(tb$, 1, l) 409: t$ = tb$: w = LEN(tb$) 410: IF del = 1 THEN ds = 0 ELSE ds = LEN(tb$) 411: IF LEN(pw$) > 1 THEN pw$ = LEFT$(pw$, 1) 412: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B 413: LINE (SX, SY)-(eX, Ey), 15, BF 414: MX$ = "M" + STR$(SX + 2) + "," + STR$(Ey - 0) 415: DRAW "BX" + VARPTR$(MX$) 416: IF pw$ = "" THEN Font tb$, 0 ELSE Font STRING$(LEN(tb$), pw$), 0 417: IF r = 1 THEN ELSE EXIT SUB 418: 21 a$ = INKEY$ 419: IF a$ = "" GOTO 21 420: IF a$=CHR$(8) THEN IF LEN(t$)-ds=0 THEN GOTO 21 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 21 ELSE Font STRING$(LEN(t$), pw$), 0:Goto 21 421: IF a$ = CHR$(13) THEN EXIT SUB 422: IF w >= l THEN GOTO 21 423: t$ = t$ + a$: w = w + LEN(a$) 424: B$ = a$ 425: IF pw$ = "" THEN Font B$, 0 ELSE Font pw$, 0 426: GOTO 21 427: END SUB 428: 429: SUB UnLoadFont 430: FOR q = 0 TO 255 431: txt(q) = "" 432: NEXT q 433: END SUB 434: 435: SUB waitforcall 436: CLS : BackGround C 437: Window2 630, 470, 0, 0, "Terminal Emulation" 438: COLOR 3 439: opencom 440: PRINT #1, "ATS0=1" 441: connect 442: END SUB 443: 444: SUB Window2 (Length, Height, Row, Column, tt$) 445: Wxyz(1) = Row 446: Wxyz(2) = Column 447: Wxyz(3) = Row + Height 448: Wxyz(4) = Column + Length 449: LINE (Column, Row)-(Column + Length, Row + Height), 0, B 450: FOR i% = 1 TO 2 451: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1 452: LINE (Column, Row)-(Column + Length, Row), 7 453: LINE (Column, Row)-(Column, Row + Height), 7 454: NEXT i% 455: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1 456: LINE (Column, Row)-(Column + Length, Row), 0 457: LINE (Column, Row)-(Column, Row + Height), 0 458: LINE (Column, Row)-(Column + 18, Row + 18), 7, BF 459: LINE (Column, Row)-(Column + 18, Row + 18), 0, B 460: LINE (Column + 18, Row - 2)-(Column + 18, Row + 5), 0 461: LINE (Column - 2, Row + 18)-(Column + 5, Row + 18), 0 462: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 15, BF: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 0, B 463: LINE (Column + 14, Row + 7)-(Column + 14, Row + 9), 8 464: LINE (Column + 6, Row + 10)-(Column + 14, Row + 10), 8, B 465: LINE (Column + 18, Row)-(Column + Length, Row + 18), 9, BF 466: LINE (Column + 18, Row)-(Column + Length, Row + 18), 0, B 467: LINE (Column + Length, Row - 3)-(Column + Length + 2, Row + Height), 7, BF 468: LINE (Column + Length, Row - 3)-(Column + Length + 3, Row + Height), 0, B 469: LINE (Column + Length, Row - 2)-(Column + Length, Row - 1), 7 470: LINE (Column + Length - 18, Row - 2)-(Column + Length - 18, Row - 1), 0 471: LINE (Column + Length, Row + 18)-(Column + Length + 2, Row + 18), 0 472: LINE (Column, Row + Height - 3)-(Column + Length, Row + Height - 3), 0, B 473: LINE (Column, Row + Height - 2)-(Column + Length + 2, Row + Height), 7, BF 474: LINE (Column - 2, Row + Height)-(Column + Length + 2, Row + Height), 0, B 475: LINE (Column - 2, Row + Height - 18)-(Column, Row + Height - 18), 0 476: LINE (Column + Length - 2, Row + Height - 18)-(Column + Length + 2, Row + Height - 18), 0 477: LINE (Column + 18, Row + Height)-(Column + 18, Row + Height - 2), 0 478: LINE (Column + Length - 18, Row + Height)-(Column + Length - 18, Row + Height - 2), 0 479: LINE (Column + 1, Row + 19)-(Column + Length - 1, Row + Height - 4), 7, BF 480: mm$ = "BM" + RTRIM$(LTRIM$(STR$(Column + 20))) + "," + LTRIM$(RTRIM$(STR$(Row + 17))) 481: DRAW "X" + VARPTR$(mm$) 482: Font tt$, 0 483: END SUB 484: 485: SUB BLOAD (f$,n) 486: end sub |