VioGetAnsi devuelve el estado actual del ANSI (on/off).
#define INCL_BASE
#include <os2.h>
PUSHORT Indicator;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetAnsi(Indicator, VioHandle);
Parámetros |
|
---|---|
Indicator | Puntero a una posición de memoria donde OS/2 devolverá el estado del ANSI. Un valor 1 indica ANSI activo; un valor 0 indica ANSI desactivado. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioGetBuf devuelve un puntero al buffer de video virtual (LVB) para poder acceder a él directamente.
#define INCL_BASE
#include <os2.h>
PUSHORT LVBPtr;
PUSHORT Length;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetBuf(LVBPtr, Length, VioHandle);
Parámetros |
|
---|---|
LVBPtr | Puntero a una dirección de memoria donde OS/2 devolverá un selector y un offset (desplazamiento) al buffer de video virtual. El programa no debe suponer que el offset es 0. |
Length | Puntero a una dirección de memoria donde OS/2 devolverá la longitud del buffer. La longitud es: numero de filas * numero de columnas * tamaño de la celda. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioGetCurPos devuelve la posición del cursor en la pantalla.
#define INCL_BASE
#include <os2.h>
PUSHORT Row;
PUSHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetCurPos(Row, Column, VioHandle);
Parámetros |
|
---|---|
Row | Puntero a una posicion de memoria donde OS/2 devolverá la fila actual del cursor. |
Column | Puntero a una posicion de memoria donde OS/2 devolverá la columna actual del cursor. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioGetCurType devuelve información sobre el tamaño físico del cursor, así como su estado.
#define INCL_BASE
#include <os2.h>
PVIOCURSORINFO CursorData;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetCurType(CursorData, VioHandle);
Parámetros |
|||||||||
---|---|---|---|---|---|---|---|---|---|
CursorData | Puntero a una estructura de características del cursor, con los siguientes campos: | ||||||||
| |||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioGetMode devuelve el modo gráfico actual.
#define INCL_BASE
#include <os2.h>
PVIOMODEINFO ModeData;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetMode(ModeData, VioHandle);
Parámetros |
|||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ModeData | Estructura con los siguientes elementos: | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
436 | Handle VIO no válido |
438 | Longitud no válida |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioGetPhysBuf devuelve un conjunto de selectores que apuntan al buffer físico de vídeo. Permite acceder directamente a la pantalla. Si se ejecuta esta llamada después de un VioGetBuf, todas las llamadas VioWrtXX dejarán de ir al LVB, siendo escritas directamente en pantalla.
#define INCL_BASE
#include <os2.h>
PVIOPHYSBUF DisplayBuf;
USHORT Reserved;
APIRET rc; /* Codigo de error */
rc = VioGetPhysBuf(DisplayBuf, Reserved);
Parámetros |
|||||||
---|---|---|---|---|---|---|---|
DisplayBuf | Puntero a una estructura que contiene la siguiente información: | ||||||
| |||||||
Reserved | Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
350 | Puntero no válido |
429 | El proceso está en background |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioGetState devuelve la configuración actual de registros de paleta, color del borde, modo de parpadeo/brillo o registros de color.
#define INCL_BASE
#include <os2.h>
PVOID RequestBlock;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioGetState(RequestBlock, VioHandle);
Parámetros |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RequestBlock | Puntero a una estructura de estado, que consiste en una de las seis posibles estructuras, en función del tipo pedido: | ||||||||||||||
| |||||||||||||||
Las estructuras, según el tipo, son: | |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
421 | Parámetros no validos |
436 | Handle VIO no válido |
438 | Longitud no válida |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioReadCellStr lee una cadena de parejas caracter-atributo de la pantalla, empezando en la posición indicada. Si se excede el final de una línea, se continua en la siguiente. Si se excede la longitud de la pantalla, la lectura termina y la longitud es ajustada a la cantidad de parejas leidas.
#define INCL_BASE
#include <os2.h>
PCH CellStr;
PUSHORT Length;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioReadCellStr(CellStr, Length, Row, Column, VioHandle);
Parámetros |
|
---|---|
CellStr | Puntero a una zona de memoria donde OS/2 almacenará la cadena leída. |
Length | Puntero a una posición de memoria donde estará almacenada la longitud del buffer CellStr. Se debe tener en cuenta que cada pareja puede medir 2 o 4 bytes. Si la longitud del buffer no es suficiente, se dejará sin completar la lectura. |
Row | Fila inicial de la zona a leer. 0 es la parte superior del monitor. |
Column | Columna inicial de la zona a leer. 0 es la columna izquierda. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioReadCharStr lee una cadena de caracteres de la pantalla, empezando en la posición indicada.
#define INCL_BASE
#include <os2.h>
PCH CharStr;
PUSHORT Length;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioReadCharStr(CharStr, Length, Row, Column, VioHandle);
Parámetros |
|
---|---|
CharStr | Puntero a una posición de memoria a partir de la cual OS/2 devolverá la cadena de caracteres leída. |
Length | Puntero a la longitud del buffer en bytes. |
Row | Fila inicial de la zona a leer. 0 es la parte superior. |
Column | Columna inicial de la zona a leer. 0 es la parte izquierda. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioSavRedrawWait notifica a una aplicación gráfica cuando debe guardar o repintar la pantalla.
#define INCL_BASE
#include <os2.h>
USHORT SavRedrawIndic;
PUSHORT NotifyType;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSavRedrawWait(SavRedrawIndic, NotifyType, VioHandle);
Parámetros |
|
---|---|
SavRedrawIndic | Indica qué evento espera la aplicación: 0 para ser notificada tanto por operaciones de guardar como de repintar; 1 para ser notificada solo por operaciones de repintar. |
NotifyType | Puntero a una posición de memoria donde OS/2 devolverá la acción a realizar: 0 para guardar la imagen; 1 para repintar la imagen. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
421 | Parámetros no validos |
422 | El thread SavRestoreWait ya tiene dueño |
423 | El thread SavRestoreWait ha sido liberado |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioScrLock espera a que la sesión que lo ha ejecutado pase a primer plano, y bloquea el selector de programas, de modo que se tiene acceso al buffer físico de vídeo..
#define INCL_BASE
#include <os2.h>
USHORT WaitFlag;
PUCHAR Status;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrLock(WaitFlag, Status, VioHandle);
Parámetros |
|
---|---|
WaitFlag | Indica qué debe hacer la llamada si la sesión está en segundo plano. Si vale 0, retorna aunque no esté disponible el acceso; si vale 1, espera a que esté disponible. |
Status | Puntero a una posición de memoria donde OS/2 devolverá el resultado de la operación. Si vale 0, el bloqueo ha tenido éxito; si vale 1, no ha tenido éxito. El valor sólo es válido cuando el error devuelto es 0 (no error). El valor 1 sólo es devuelto cuando WaitFlag es 0. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
366 | Valor de WaitFlag no válido |
430 | Ilegal durante POPUP |
434 | Ya está bloqueado |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioScrollDn desplaza un área definida de la pantalla hacia abajo. Si se indica como inicio del bloque (0,0) y como final y número de líneas 65535, la pantalla se rellenará con la pareja de caracter-atributos indicada.
#define INCL_BASE
#include <os2.h>
USHORT TopRow;
USHORT LeftCol;
USHORT BotRow;
USHORT RightCol;
USHORT Lines;
PBYTE Cell;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrollDn(TopRow, LeftCol, BotRow, RightCol, Lines, Cell, VioHandle);
Parámetros |
|
---|---|
TopRow | Fila superior de la zona a desplazar. |
LeftCol | Columna izquierda de la zona a desplazar. |
BotRow | Fila inferior de la zona a desplazar. |
RightCol | Columna derecha de la zona a desplazar. |
Lines | Número de líneas que se desplazará el bloque. |
Cell | Puntero a una posición de memoria con la pareja de caracter-atributos que se usarán para rellenar la zona que queda libre. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioScrollLf desplaza un área definida de la pantalla hacia la izquierda. Si se indica como inicio del bloque (0,0) y como final y número de líneas 65535, la pantalla se rellenará con la pareja de caracter-atributos indicada.
#define INCL_BASE
#include <os2.h>
USHORT TopRow;
USHORT LeftCol;
USHORT BotRow;
USHORT RightCol;
USHORT Lines;
PBYTE Cell;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrollLf(TopRow, LeftCol, BotRow, RightCol, Lines, Cell, VioHandle);
Parámetros |
|
---|---|
TopRow | Fila superior de la zona a desplazar. |
LeftCol | Columna izquierda de la zona a desplazar. |
BotRow | Fila inferior de la zona a desplazar. |
RightCol | Columna derecha de la zona a desplazar. |
Lines | Número de columnas que se desplazará el bloque. |
Cell | Puntero a una posición de memoria con la pareja de caracter-atributos que se usarán para rellenar la zona que queda libre. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioScrollRt desplaza un área definida de la pantalla hacia la derecha. Si se indica como inicio del bloque (0,0) y como final y número de líneas 65535, la pantalla se rellenará con la pareja de caracter-atributos indicada.
#define INCL_BASE
#include <os2.h>
USHORT TopRow;
USHORT LeftCol;
USHORT BotRow;
USHORT RightCol;
USHORT Lines;
PBYTE Cell;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrollRt(TopRow, LeftCol, BotRow, RightCol, Lines, Cell, VioHandle);
Parámetros |
|
---|---|
TopRow | Fila superior de la zona a desplazar. |
LeftCol | Columna izquierda de la zona a desplazar. |
BotRow | Fila inferior de la zona a desplazar. |
RightCol | Columna derecha de la zona a desplazar. |
Lines | Número de columnas que se desplazará el bloque. |
Cell | Puntero a una posición de memoria con la pareja de caracter-atributos que se usarán para rellenar la zona que queda libre. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioScrollUp desplaza un área definida de la pantalla hacia arriba. Si se indica como inicio del bloque (0,0) y como final y número de líneas 65535, la pantalla se rellenará con la pareja de caracter-atributos indicada.
#define INCL_BASE
#include <os2.h>
USHORT TopRow;
USHORT LeftCol;
USHORT BotRow;
USHORT RightCol;
USHORT Lines;
PBYTE Cell;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrollUp(TopRow, LeftCol, BotRow, RightCol, Lines, Cell, VioHandle);
Parámetros |
|
---|---|
TopRow | Fila superior de la zona a desplazar. |
LeftCol | Columna izquierda de la zona a desplazar. |
BotRow | Fila inferior de la zona a desplazar. |
RightCol | Columna derecha de la zona a desplazar. |
Lines | Número de líneas que se desplazará el bloque. |
Cell | Puntero a una posición de memoria con la pareja de caracter-atributos que se usarán para rellenar la zona que queda libre. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioScrUnLock desbloquea el conmutador de sesiones bloqueados por VioScrLock.
#define INCL_BASE
#include <os2.h>
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioScrUnLock(VioHandle);
Parámetros |
|
---|---|
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
367 | No está bloqueado |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioSetAnsi activa o desactiva el tratamiento de códigos ANSI. Por defecto se encuentra activo.
#define INCL_BASE
#include <os2.h>
USHORT Indicator;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSetAnsi(Indicator, VioHandle);
Parámetros |
|
---|---|
Indicator | Si vale 1, se activa el soporte ANSI; si vale 0 se desactiva. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
421 | Parámetros no válidos |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioSetCurPos cambia la posición actual del cursor.
#define INCL_BASE
#include <os2.h>
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSetCurPos(Row, Column, VioHandle);
Parámetros |
|
---|---|
Row | Nueva fila del cursor. 0 es la parte superior. |
Column | Nueva columna del cursor. 0 es la parte izquierda. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioSetCurType permite cambiar el tamaño, forma, etc del cursor.
#define INCL_BASE
#include <os2.h>
PVIOCURSORINFO CursorData;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSetCurType(CursorData, VioHandle);
Parámetros |
|||||||||
---|---|---|---|---|---|---|---|---|---|
CursorData | Puntero a una estructura de características del cursor, con los siguientes campos: | ||||||||
| |||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
356 | Ancho no válido |
421 | Parámetros no válidos |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioSetMode cambia el modo gráfico actual. Se pueden poner modos de 40/80 columnas y modos gráficos. Esta llamada no borra la pantalla. Para ello se pueden usar las llamadas VioScrollXX. Para los modos de texto en pantalla completa, el número de filas de la columna está determinado por la existencia de una fuente de tamaño adecuado.
#define INCL_BASE
#include <os2.h>
PVIOMODEINFO ModeData;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSetMode(ModeData, VioHandle);
Parámetros |
|||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ModeData | Estructura con los siguientes elementos: | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
438 | Longitud no válida |
465 | VIO inactivo (proceso en detached) |
467 | No hay una fuente adecuada para ese modo |
468 | Una fuente de usuario está activa |
494 | VIO Extended SG |
VioSetState cambia la configuración actual de registros de paleta, color del borde, modo de parpadeo/brillo o registros de color.
#define INCL_BASE
#include <os2.h>
PVOID RequestBlock;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioSetState(RequestBlock, VioHandle);
Parámetros |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RequestBlock | Puntero a una estructura de estado, que consiste en una de las seis posibles estructuras, en función del tipo pedido: | ||||||||||||||
| |||||||||||||||
Las estructuras, según el tipo, son: | |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
421 | Parámetros no validos |
436 | Handle VIO no válido |
438 | Longitud no válida |
465 | VIO inactivo (proceso en detached) |
494 | VIO Extended SG |
VioShowBuf repinta la imagen de pantalla a partir de la información del LVB. Es necesario hacerlo cuando se accede a traves del LVB (obtenido con VioGetBuf).
#define INCL_BASE
#include <os2.h>
USHORT Offset;
USHORT Length;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioShowBuf(Offset, Length, VioHandle);
Parámetros |
|
---|---|
Offset | Desplazamiento de la zona desde la que debe empezar a repintar la pantalla. |
Length | Longitud de la zona de la pantalla a repintar. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
430 | Ilegal durante POPUP |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtCellStr escribe una cadena de parejas caracter-atributo en la pantalla. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PCH CellStr;
USHORT Length;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtCellStr(CellStr, Length, Row, Column, VioHandle);
Parámetros |
|
---|---|
CellStr | Puntero a una posición de memoria que contenga las parejas caracter-atributo a escribir. |
Length | Longitud, en bytes, de la cadena a escribir. Cada pareja caracter-atributo mide 2 o 4 bytes. |
Row | Fila inicial. |
Column | Columna inicial. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtCharStr escribe una cadena de caracteres en la pantalla. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PCH CharStr;
USHORT Length;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtCharStr(CharStr, Length, Row, Column, VioHandle);
Parámetros |
|
---|---|
CharStr | Puntero a una zona de memoria que contenga los caracteres a imprimir. |
Length | Longitud, en bytes, de la cadena de caracteres. |
Row | Fila inicial. |
Column | Columna inicial. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtCharStrAtt escribe una cadena de caracteres con un determinado atributo repetido para todos ellos. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PCH CharStr;
USHORT Length;
USHORT Row;
USHORT Column;
PBYTE Attr;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtCharStrAtt(CharStr, Length, Row, Column, Attr, VioHandle);
Parámetros |
|
---|---|
CharStr | Puntero a una zona de memoria que contenga los caracteres a escribir. |
Length | Longitud, en bytes, de la cadena de caracteres. |
Row | Fila inicial. |
Column | Columna inicial. |
Attr | Puntero al/los atributo/s (1 o 3 bytes) a usar con cada caracter de la cadena. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtNAttr escribe un atributo en la pantalla un número determinado de veces. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PBYTE Attr;
USHORT Times;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtNAttr(Attr, Times, Row, Column, VioHandle);
Parámetros |
|
---|---|
Attr | Puntero al/los atributo/s (1 o 3 bytes) a escribir. |
Times | Numero de veces que se escribirá el atributo. |
Row | Fila inicial. |
Column | Columna inicial. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtNCell escribe una pareja de caracter-atributo en la pantalla un número determinado de veces. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PBYTE Cell;
USHORT Times;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtNCell(Cell, Times, Row, Column, VioHandle);
Parámetros |
|
---|---|
Cell | Puntero a una zona de memoria que contenga la pareja caracter-atributo a escribir. |
Times | Número de veces que se repetira la pareja. |
Row | Fila inicial. |
Column | Columna inicial. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtNChar escribe un caracter en la pantalla un número determinado de veces. Si la cadena excede una línea, se seguirá en la siguiente. Si llega al final de la pantalla, no se escribe más.
#define INCL_BASE
#include <os2.h>
PCH Char;
USHORT Times;
USHORT Row;
USHORT Column;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtNChar(Char, Times, Row, Column, VioHandle);
Parámetros |
|
---|---|
Char | Puntero a una zona de memoria que contenga el caracter a escribir. |
Times | Número de veces que se repetirá la pareja. |
Row | Fila inicial. |
Column | Columna inicial. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
358 | Fila no válida |
359 | Columna no válida |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
VioWrtTTY escribe una cadena de caracteres en la pantalla empezando en la posición actual del cursor. Al terminar, éste es movido a la posición siguiente del último caracter escrito. Si la cadena no entra en una línea, se pasa a la siguiente, y si no entra en la pantalla, ésta se desplazará hacia arriba hasta que se complete. Los caracteres retorno de carro, salto de línea, tabulador y Bell son tratados como comandos, y no como caracteres imprimibles. El retroceso es un retroceso no destructivo. Los tabuladores son expandidos a 8 espacios. VioWrtTTY es la única función que acepta comandos ANSI.
#define INCL_BASE
#include <os2.h>
PCH CharStr;
USHORT Length;
HVIO VioHandle;
APIRET rc; /* Codigo de error */
rc = VioWrtTTY(CharStr, Length, VioHandle);
Parámetros |
|
---|---|
CharStr | Puntero a una posición de memoria donde está la cadena a escribir. |
Length | Longitud de la cadena en bytes. |
VioHandle | Handle VIO. Debe valer cero. |
Codigos de error |
|
---|---|
0 | Sin error |
355 | Modo no valido |
436 | Handle VIO no válido |
465 | VIO inactivo (proceso en detached) |
MAKEP convierte una pareja selector:offset en un puntero.
#define INCL_BASE
#include <os2.h>
PCH Pointer;
SEL Selector;
USHORT Offset;
Pointer = MAKEP(Selector, Offset);
Parámetros |
|
---|---|
Selector | Un selector devuelto por OS/2. |
Offset | Offset devuelto por OS/2 (o 0 si no hay offset). |
_emx_32to16 convierte un puntero de 32 bits en una pareja selector:offset. Esta es devuelta en una variable de tipo entero (se recomienda un cast para convertirlo a puntero).
PCH Pointer32;
int Pointer16;
Pointer16 = _emx_32to16(Pointer32);
Parámetros |
|
---|---|
Pointer32 | Un puntero de 32 bits. |