Category : BASIC Source Code
Archive   : PWL520X.ZIP
Filename : WINDEMO2.BAS

 
Output of file : WINDEMO2.BAS contained in archive : PWL520X.ZIP
' WINDEMO2.BAS - ProWindows(tm) LITE Demo Program

REM $DYNAMIC ' <= SET UP QUICKBASIC FOR DYNAMIC MEMORY USAGE
DEFINT A-Z ' <= DEFAULT TO INTEGERS

REM $INCLUDE: 'LITE.BI' ' <= REQUIRED FOR WINDOW CALLS

' === DEFINE A FEW CONSTANTS

CONST WINMEMSIZE% = 8191 ' <= VIRTUAL WINDOW MEMORY SIZE
CONST SCRNMEMSIZE% = 4096 ' <= SCREEN BUFFER MEMORY SIZE
CONST MAXWINDOWS% = 30 ' <= MAXIMUM NUMBER OF WINDOWS

CLEAR , , 4096 ' <= SET ASIDE ADDITIONAL "STACK" SPACE

LOCATE 1, 1

PreInit ' <= PRE-INITIALIZE THE WINDOW MANAGER

' === DIMENSION GLOBAL ARRAYS WITH ABOVE DEFINED CONSTANTS

REDIM SHARED VirMem(WINMEMSIZE) AS INTEGER ' <= VIRTUAL MEMORY
REDIM SHARED scrn(SCRNMEMSIZE) AS INTEGER ' <= SCREEN MEMORY
REDIM SHARED vcb(MAXWINDOWS) AS vircb ' <= VIRTUAL WINDOW INFO
REDIM SHARED wcb(MAXWINDOWS) AS wincb ' <= DISPLAYED WINDOW INFO
REDIM SHARED cursor(MAXWINDOWS) AS cursorTYPE ' <= CURSOR CONTROL ARRAY
REDIM SHARED wcbndx(MAXWINDOWS) AS INTEGER ' <= LIST OF HANDLES

InitPro ' <= INITIALIZE THE WINDOW MANAGER

ReCycleMode 1 ' <= ENABLE "VIDEO RECYCLING"

SetEventDelay 18 ' <= SET MAXIMUM EVENT DELAY TIME

UseDrivers 0, 0, 1 ' <= INSTALL ANY NEEDED DRIVERS

REM setBWmode 1 ' <= SWITCH TO MONOCHROME MODE

' === DEFINE THE "GLOBAL WINDOW OPTIONS"

GlobalOptions = SELECTABLE

FillScreen 1, 1, MAXROWS, MAXCOLS, 23, 250, SNOW

Notice ' <= COPYRIGHT NOTICE (SHAREWARE VERSION ONLY)
Win1 = CurrentWindow ' <= GET THE WINDOW'S HANDLE

CloneWindow Win1 ' <= CLONE "WIN1"
Win2 = CurrentWindow ' <= GET THE WINDOW'S HANDLE

CloneWindow Win1 ' <= CLONE "WIN1"
Win3 = CurrentWindow ' <= GET THE WINDOW'S HANDLE

DisplayWindow Win2, 13, 37, 12, 24 ' <= DISPLAY WINDOW #2
DisplayWindow Win3, 8, 50, 12, 24 ' <= WINDOW #2

row = 1: col = 1: WinSize = 3


WHILE INKEY$ = ""

SELECT CASE WinSize
CASE 3
size = 3
CASE 12
size = -3
CASE ELSE
END SELECT

SELECT CASE row
CASE 1
cdirection = 1
CASE 9
rdirection = 0
cdirection = -1
CASE ELSE
END SELECT

col = col + cdirection

SELECT CASE col
CASE 1
rdirection = -1
cdirection = 0
CASE 55
cdirection = 0
rdirection = 1
CASE ELSE
END SELECT

row = row + rdirection

IF (row = 1) AND (col = 1) THEN
rdirection = 0
cdirection = 0
END IF

RefreshMode DISABLE ' <= DISABLE WINDOW REFRESHING

ReAlignWindow Win2, row, col ' <= ADJUST WINDOW VIEWPORT
ReAlignWindow Win3, row, col

RefreshMode ENABLE ' <= RE-ENABLE WINDOW REFRESHING

RefreshWindow Win2 ' <= UPDATE THE WINDOW(S)

WEND

CloseWindow Win2 ' <= CLOSE OUR WINDOWS
CloseWindow Win3






  3 Responses to “Category : BASIC Source Code
Archive   : PWL520X.ZIP
Filename : WINDEMO2.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/