Share this topic on FacebookShare this topic on MySpaceShare this topic on Del.icio.usShare this topic on DiggShare this topic on StumbleUponShare this topic on TwitterShare this topic on GoogleShare this topic on Yahoo

Author Topic: ubah resolusi via foxpro  (Read 162 times)

0 Members and 1 Guest are viewing this topic.

Offline sonifox

  • Junior Member
  • *
  • Thank You
  • -Given: 2
  • -Receive: 1
  • Posts: 110
ubah resolusi via foxpro
« on: March 11, 2010, 12:48:49 PM »
saya mencoba program dibawah ini untuk mengubah resolusi melalui foxpro dan berhasil tapi ada yang
mau saya tanyakan. waktu resolusi berubah kenapa refresh rate monitornya juga berubah menjadi 60 hertz
sehingga monitor menjadi bergetar lebih cepat. Yang saya inginkan misal sebelum di ubah resolusinya
refresh ratenya 75 Hertz waktu program ini dijalankan refresh ratenya juga tetap  75 Hertz
Bagi para master foxpro mohon bantuannya, sebelumnya saya ucapkan banyak terima kasih

 
 **sudah dicoba den berhasil tapi hertz dari 75 bisa berubah jadi 60 hertz
 
 

*--- ubah 800x600  jadi 1024x768
tnWidth=1024
tnHeight=768

changeres(tnWidth,tnHeight)

FUNCTION ChangeRes
    LPARAMETERS tnWidth, tnHeight
    LOCAL lnWidth, lnHeight, lnModeNum, lcDevMode
    *!* Valores
    lnModeNum  = 0
    lcDevMode  = REPLICATE(CHR(0), 156)
    lnWidth    = IIF(EMPTY(tnWidth), 800, tnWidth)
    lnHeight   = IIF(EMPTY(tnHeight), 600, tnHeight)
    ** Instrucciones DECLARE DLL para cambiar resolución
    DECLARE INTEGER EnumDisplaySettings   IN Win32API ;
            STRING lpszDeviceName,;
            INTEGER iModeNum, ;
            STRING @lpDevMode

    DECLARE INTEGER ChangeDisplaySettings IN Win32API STRING @lpDevMode, INTEGER dwFlags
    ** Bucle para obtener todos los modos disponibles
    DO WHILE EnumDisplaySettings(NULL, lnModeNum, @lcDevMode) <> 0
        lnModeNum = lnModeNum +1
    ENDDO
    ** Configurar la structura DevMode
    lcDevMode = STUFF(lcDevMode,  41, 4, LongToStr(1572864))
    lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth))  && Ancho
    lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight))  && Alto
    *** Cambiar resolucion
    ChangeDisplaySettings(@lcDevMode, 1)
ENDFUNC

***!* Convierte un long integer a un 4-byte character string
***!* Sintaxis: LongToStr(lnLongVal)
***!* Valor devuelto: lcRetStr
***!* Argumentos: lnLongVal
***!* lnLongVal especifica el long integer a convertir
FUNCTION 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
*[/foxpro]


*taken from foxite.com; fresh code, no edit code.
*feel free to join foxite..
 
 




Offline sonifox

  • Junior Member
  • *
  • Thank You
  • -Given: 2
  • -Receive: 1
  • Posts: 110
Re: ubah resolusi via foxpro
« Reply #1 on: March 17, 2010, 10:10:52 AM »
tolong dong gimana coding program diatas spy saat resolusi berubah refresh ratenya jangan berubah. makasih buat master foxpro