Help and Support

Id. de artículo: 50000 - Última revisión: martes, 21 de noviembre de 2006 - Versión: 1.3

Cómo guardar y restaurar la paleta VGA registros en Basic

En esta página

Expandir todo | Contraer todo

Resumen

En Microsoft QuickBasic, un programa puede guardar y restaurar los registros VGA PALETTE mediante la instrucción CALL interrumpir. Puede ser útil cuando se registra SHELLing a otros programas que podrían cambiar el PALETTE.

Esto puede utilizarse también junto con BSAVE y BLOAD para guardar las imágenes gráficas. BLOAD y BSAVE guardan la imagen binaria de la imagen gráfica, pero no el color PALETTE. La interrupción puede utilizarse para leer que el PALETTE se registra en una matriz, que puede guardarse junto con la imagen gráfica.

Esta información se aplica a Microsoft QuickBasic versiones 4.00, 4.00b y 4.50 para MS-DOS, para Microsoft Basic Compiler versiones 6,00 y 6.00b para MS-DOS y Microsoft Basic PDS versión 7.00 para MS-DOS.

Más información

El siguiente programa básico es SAVPAL.BAS, que muestra una imagen de varios colores y, a continuación, restaura que la paleta se registra después de establecer todos los registros de paleta en negro.

Para demostrar este programa desde un programa .exe, compilar y vincular como sigue:
   BC SAVEPAL.BAS;
   LINK SAVEPAL;
				
si ejecuta el programa desde el entorno del editor de QuickBasic, se debe cargar la biblioteca rápido QB.QLB en. Esto puede hacerse con la siguiente línea de comandos:
   QB SAVPAL /L
				
si está ejecutando en el entorno básico del compilador 7.00 QuickBasic extendido, se debe cargar la biblioteca rápido QBX.LIB en. Esto puede hacerse con la siguiente línea de comandos:
   QBX SAVEPAL /L
				

Ejemplo de código

TYPE colortype           ' structure to hold RGB color palette
   red AS STRING * 1
   green AS STRING * 1
   blue AS STRING * 1
END TYPE

REM $INCLUDE: 'qb.bi'    ' defines for CALL INTERRUPTX
' For QBX.EXE environment use the include file 'QBX.BI'

DIM inregsx AS RegTypeX
DIM outregsx AS RegTypeX
DIM colorbuf(255) AS colortype
SCREEN 13

inregsx.ax = &H1017      ' BIOS interrupt to save palette registers
inregsx.bx = 0
inregsx.cx = 256         ' save all 256 color registers
inregsx.es = VARSEG(colorbuf(0))  ' address of array holding palette
inregsx.dx = VARPTR(colorbuf(0))

CALL INTERRUPTX(&H10, inregsx, outregsx)  ' save palette registers

FOR i% = 2 TO 255      ' display colorful pattern
   LINE (i%, 10)-(i%, 199), i%
NEXT

LOCATE 1, 1
COLOR 1
PRINT "press any key to blank palette"
WHILE INKEY$ = "": WEND

FOR i% = 2 TO 255  ' set all but first palette register to black
        PALETTE i%, 0
NEXT

LOCATE 1, 1
PRINT "press any key to restore palette"

WHILE INKEY$ = "": WEND

inregsx.ax = &H1012      ' BIOS interrupt to restore palette registers
inregsx.bx = 0
inregsx.cx = 256         ' restore all 256 color registers
inregsx.es = VARSEG(colorbuf(0))  ' address of array holding palette
inregsx.dx = VARPTR(colorbuf(0))

CALL INTERRUPTX(&H10, inregsx, outregsx)  ' restore palette registers
				

La información de este artículo se refiere a:
  • Microsoft QuickBasic 4.0
  • Microsoft QuickBASIC 4.0b
  • Microsoft QuickBasic 4.5 para MS-DOS
  • Microsoft BASIC Compiler 6.0
  • Microsoft BASIC Compiler 6.0b
  • Microsoft BASIC Professional Development System 7.0
Palabras clave: 
kbmt KB50000 KbMtes
Traducción automáticaTraducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 50000  (http://support.microsoft.com/kb/50000/en-us/ )
Retired KB ArticleRenuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Seleccione idioma