#define _TEST #ifdef _TEST change_screen_size(3) =inkey(0) change_screen_size(1) =inkey(0) change_screen_size(2) inkey(0) change_screen_size(3) #endif funct change_screen_size LPARAMETERS tnSize if type('tnSize') != 'N' if type('tnSize') == "C" tnSize = val(tnSize) else tnSize = 2 endif endif tnSize = iif(empty(tnSize), 0, tnSize) do case case tnSize == 1 ChangeRes(640, 480) case tnSize == 2 ChangeRes(800, 600) case tnSize == 3 ChangeRes(1024, 768) endcase return * FUNC ChangeRes LPARAMETERS tnWidth, tnHeight LOCAL lnWidth, lnHeight, lnModeNum, lcDevMode DECLARE INTEGER EnumDisplaySettings IN Win32API ; STRING lpszDeviceName,; INTEGER iModeNum, ; STRING @lpDevMode DECLARE INTEGER ChangeDisplaySettings IN Win32API ; STRING @lpDevMode, ; INTEGER dwFlags lnModeNum = 0 lcDevMode = REPLICATE(CHR(0), 156) lnWidth = IIF(EMPTY(tnWidth), 800, tnWidth) lnHeight = IIF(EMPTY(tnHeight), 600, tnHeight) DO WHILE EnumDisplaySettings(NULL, lnModeNum, @lcDevMode) <> 0 lnModeNum = lnModeNum +1 ENDDO lcDevMode = STUFF(lcDevMode, 41, 4, LongToStr(1572864)) lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth)) && Width lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight)) && Height ChangeDisplaySettings(@lcDevMode, 1) && Change res ENDFUNC *--- FUNC LongToStr LPARAMETERS lnLongVal LOCAL lnCnt, lcRetStr lcRetStr = '' FOR lnCnt = 24 TO 0 STEP -8 lcRetStr = CHR(INT(lnLongVal/(2^lnCnt))) + lcRetStr lnLongVal = MOD(lnLongVal, (2^lnCnt)) NEXT RETURN lcRetStr ENDFUNC *---