BBS: Inland Empire Archive Date: 10-16-93 (12:58) Number: 4 From: EDWARD SCHLUNDER Refer#: NONE To: ALL Recvd: NO Subj: Window Drawing (2/4) Conf: (2) Quik_Bas
'>>> Page 2 of WINDOW.BAS begins here. IF ATTR AND 32 THEN GOSUB SETXCORD: GOTO VUnfold PrintWindow: SetColor CULC LOCATE Row1, Col1 PRINT ULC$; : SetColor CTOP PRINT STRING$(WWIDTH - 1, ASC(TOP$)); : SetColor CURC PRINT URC$ FOR J = Row1 + 1 TO Row2 - 1 LOCATE J, Col1 SetColor CLFT PRINT LFT$; : SetColor CFIL PRINT STRING$(WWIDTH - 1, ASC(FIL$)); : SetColor CRGT PRINT RGT$ NEXT LOCATE Row2, Col1 SetColor CLLC PRINT LLC$; : SetColor CBOT PRINT STRING$(WWIDTH - 1, ASC(BOT$)); : SetColor CLRC PRINT LRC$ IF ATTR AND 8 THEN RETURN IF ATTR AND 16 THEN RETURN IF ATTR AND 32 THEN RETURN EXIT SUB GrowWindow: Row1 = XRow1 + WHEIGHT \ 2 Row2 = Row1 + 1 Col1 = XCol1 + WWIDTH \ 2 Col2 = Col1 + 1 DO WWIDTH = Col2 - Col1 WHEIGHT = Row2 - Row1 WaitSec .01 GOSUB PrintWindow ALLMADE = Col1 = XCol1 AND Col2 = XCol2 AND Row1 = XRow1 AND Row2 = XRow2 IF ALLMADE THEN EndLoop = TRUE IF Row1 > XRow1 THEN Row1 = Row1 - 1 IF Row2 < XRow2 THEN Row2 = Row2 + 1 IF Col1 > XCol1 THEN Col1 = Col1 - 1 IF Col2 < XCol2 THEN Col2 = Col2 + 1 IF Col1 < 1 THEN Col1 = 1 IF Col2 > 80 THEN Col2 = 80 IF Row1 < 1 THEN Row1 = 1 IF Row2 > 25 THEN Row2 = 25 LOOP UNTIL EndLoop EXIT SUB HUnfold: Col1 = Col1 + WWIDTH \ 2 Col2 = Col1 + 1 DO WWIDTH = Col2 - Col1 IF Col1 > XCol1 THEN Col1 = Col1 - 1 IF Col2 < XCol2 THEN Col2 = Col2 + 1 IF Col1 = XCol1 AND Col2 = XCol2 THEN EndLoop = TRUE GOSUB PrintWindow LOOP UNTIL EndLoop EXIT SUB VUnfold: Row1 = Row1 + WHEIGHT \ 2 Row2 = Row1 + 1 DO IF Row1 > XRow1 THEN Row1 = Row1 - 1 IF Row2 < XRow2 THEN Row2 = Row2 + 1 IF Row2 = XRow2 AND Row1 = XRow1 THEN EndLoop = TRUE GOSUB PrintWindow LOOP UNTIL EndLoop EXIT SUB SETXCORD: XRow1 = Row1: XRow2 = Row2 XCol1 = Col1: XCol2 = Col2 RETURN END SUB SUB OpenWindow (Row1, Col1, Row2, Col2, Fore, Back, ATTR) Col2 = Col2 - 2 WindowAttr(WindowNum) = ATTR WindowRow1(WindowNum) = Row1 '>>> Page 2 of WINDOW.BAS ends here. Continued on next page. ... I found this really cool program, works great except it won't load! ___ 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