BBS: Inland Empire Archive Date: 10-16-93 (12:58) Number: 5 From: EDWARD SCHLUNDER Refer#: NONE To: ALL Recvd: NO Subj: Window Drawing (3/4) Conf: (2) Quik_Bas
'>>> Page 3 of WINDOW.BAS begins here. WindowCol1(WindowNum) = Col1 WindowRow2(WindowNum) = Row2 WindowCol2(WindowNum) = Col2 + 5 WindowFore(WindowNum) = Fore WindowBack(WindowNum) = Back SELECT CASE ATTR AND 192 CASE 0 'Single Line Border COLR$ = CHR$((Fore * 8 AND 128) + (Back * 16) + (Fore AND 15)) BORDER$ = "Ú" + COLR$ + "Ä" + COLR$ + "¿" + COLR$ + "³" + COLR$ + " " +_ COLR$ BORDER$ = BORDER$ + "³" + COLR$ + "À" + COLR$ + "Ä" + COLR$ + "Ù" + COLR$ CASE 64 COLR$ = CHR$((Fore * 8 AND 128) + (Back * 16) + (Fore AND 15)) BORDER$ = "Õ" + COLR$ + "Í" + COLR$ + "¸" + COLR$ + "³" + COLR$ + " " +_ COLR$ BORDER$ = BORDER$ + "³" + COLR$ + "Ô" + COLR$ + "Í" + COLR$ + "¾" + COLR$ CASE 128 '3-D Window! BWHITE$ = CHR$(15 + Back * 16): BWG$ = CHR$(8 + Back * 16) BORDER$ = "Û" + BWHITE$ + "ß" + BWHITE$ + "Üx" + "Û" + BWHITE$ + " " +_ CHR$(Back * 16) BORDER$ = BORDER$ + "Û" + BWG$ + "ß" + CHR$(127) + "Ü" + BWG$ + "Û" + BWG$ CASE 192 'Double line boder COLR$ = CHR$((Fore * 8 AND 128) + (Back * 16) + (Fore AND 15)) BORDER$ = "É" + COLR$ + "Í" + COLR$ + "»" + COLR$ + "º" + COLR$ + " " +_ COLR$ BORDER$ = BORDER$ + "º" + COLR$ + "È" + COLR$ + "Í" + COLR$ + "¼" + COLR$ END SELECT DrawBox Row1, Col1, Row2, Col2, BORDER$, ATTR END SUB SUB PrintWindowTitle (Title$, Fore, Back, ATTR) LENTH = WindowCol2(WindowNum) - WindowCol1(WindowNum) WindowTitle$(WindowNum) = Title$ TLEN = LEN(Title$) IF ATTR AND 16 THEN IF ATTR AND 64 THEN IF WindowAttr(WindowNum) AND 64 THEN LTB$ = "µ" ELSE LTB$ = "´" ELSE RTB$ = "]" END IF END IF IF ATTR AND 32 THEN IF ATTR AND 128 THEN IF WindowAttr(WindowNum) AND 64 THEN RTB$ = "Æ" ELSE RTB$ = "Ã" ELSE LTB$ = "[" END IF END IF IF ATTR AND 64 THEN IF ATTR AND 16 THEN IF WindowAttr(WindowNum) AND 64 THEN RTB$ = "Æ" ELSE RTB$ = "Ã" ELSE IF WindowAttr(WindowNum) AND 64 THEN RTB$ = "Ì" ELSE RTB$ = "Ç" END IF END IF IF ATTR AND 128 THEN IF ATTR AND 32 THEN IF WindowAttr(WindowNum) AND 64 THEN LTB$ = "µ" ELSE LTB$ = "´" ELSE IF WindowAttr(WindowNum) AND 64 THEN LTB$ = "¹" ELSE LTB$ = "¶" END IF END IF FOR J = 4 TO 7 IF ATTR AND 2 ^ J THEN NO = -1 NEXT IF NO <> -1 THEN LTB$ = " ": RTB$ = " " ROW = WindowRow1(WindowNum) IF ATTR AND 4 THEN COL = WindowCol1(WindowNum) + (LENTH \ 2 - LEN(Title$)_ \ 2) IF ATTR AND 2 THEN COL = WindowCol1(WindowNum) + 2 IF ATTR AND 8 THEN COL = WindowCol2(WindowNum) - LEN(Title$) - 2 IF TLEN > LENTH THEN EXIT SUB '>>> Page 3 of WINDOW.BAS ends here. Continued on next page. ... Is this yours? Your dog left it on my lawn. ___ Blue Wave/QWK v2.12 --- WM v3.01/93-0966 * Origin: 1:114/289 POWER SURGE - Phoenix, Arizona 602/548- 9020 (1:114/289.0)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET