4D Doc Center : 4D View

Transcripción

4D Doc Center : 4D View
4D View - Lenguaje
Introducción
PV Área
PV Arrastrar y soltar
PV Autorización de entrada
PV Bordes
PV Celda actual
PV Columnas y líneas
PV Documento
PV Estilo
PV Imágenes
PV Impresión
PV Manipulación de celdas
PV Paneles
PV Propiedad de celda
PV Propiedad Plugin
PV Selección
PV Utilitarios
PV Valor celda
Lista de temas de constantes
Anexos
Lista alfabética de los comandos
Introducción
Presentación de 4D View
Convenciones de escritura
Comandos y constantes 4D View
Utilizar las áreas 4D View
Acceder a los comandos de menús 4D View
Gestión multiplataforma de los documentos
Presentación de 4D View
El plug-in 4D View añade rutinas al lenguaje de 4D que le permiten automatizar ciertas tareas manuales.
Utilizando los comandos 4D View, usted puede:
Ejecutar todo comando de menú 4D View
Abrir y guardar documentos
Definir los encabezados y pies de página de un documento
Definir los atributos de visualización y de entrada
Trabajar con las fórmulas de cálculo, las imágenes, campos, etc.
Las rutinas de 4D View están precedidas por el prefijo "PV" (con un espacio) para distinguirlas de las rutinas estándar 4D y de
las de otros plug-ins.
Acerca de la documentación 4D View
La documentación de 4D View se compone de dos manuales: el manual Usuario y el manual Lenguaje.
Este manual, Lenguaje, detalla el modo de funcionamiento y la sintaxis del lenguaje de programación de 4D View. Para más
información sobre el uso de los menús y el funcionamiento general del plug-in 4D View, consulte el manual Usuario de 4D View.
Convenciones de escritura
En la documentación, los comandos 4D View aparecen en mayúsculas y en caracteres especiales: PV OPEN DOCUMENT.
Las funciones (rutinas que devuelven un valor) empiezan con una mayúscula y se escriben en minúsculas: PV Get on command
method.
En el editor de métodos, los comandos 4D View se muestran en negrita y cursiva, diferenciándose de los comandos integrados
de 4D.
` Comando 4D
QUERY([Clientes];[Clientes]S_Kode=cLi_Scode_V)
If(Records in selection([Clientes])=1)
` Comando 4D View
PV BLOB TO AREA(Area;Table(->[Clientes]);Field(->[Clientes]Pict))
End if
En algunos ejemplos en la documentación, una línea de código puede extenderse a una segunda línea debido a las limitaciones
de espacio. En su código entre estos ejemplos sin retorno de carro utilizando una sola línea.
Comandos y constantes 4D View
Comandos en el editor de métodos
Los comandos 4D View pueden mostrarse en una lista del editor de métodos de 4D. La lista puede contener únicamente los
comandos de 4D View o todos los comandos de plug-ins disponibles:
Los comandos de los plug-ins aparecen agrupados por temas en las listas jerárquicas:
Los comandos de plug-ins también se muestran en la página Plug-ins del Explorador.
Nota: las constantes de los plug-ins se añaden a la lista de las constantes de 4D. Los nombres de los temas de las constantes 4D
View están precedidos por un guión bajo "_", para que se agrupen en la parte final de la lista.
Puede insertar un comando 4D View en un método tal como lo hace para cualquier comando 4D: puede escribirlo directamente
en el editor de métodos o hacer doble clic en el nombre del comando en la lista.
Las rutinas 4D View pueden utilizarse en todo tipo de método: base, proyecto, formulario, objeto o trigger.
Utilizar las áreas 4D View
Puede trabajar por programación con 4D View en los siguientes entornos:
Áreas 4D View incluidas en los formularios
Ventanas externas 4D View
Áreas 4D View fuera de la pantalla
Para trabajar en un documento 4D View, debe crear un área de plug-in en un formulario o abrir una ventana externa.
Para crear un área de plug-in en un formulario, dibújela en el editor de formularios de 4D en el entorno Diseño.
Para abrir una ventana externa, elija el comando 4D View en el menú Herramientas de 4D o ejecute el comando 4D Open
external window.
Además de las áreas visibles, 4D View permite la creación de áreas fuera de la pantalla, es decir, áreas invisibles. Para más
información, consulte la sección "Áreas fuera de la pantalla de 4D View".
Referencias de áreas 4D View
Una vez modificado un documento 4D View mediante rutinas, es necesario especificar su identificación de área. Esta
identificación es interna a 4D View y generalmente se encuentra en una variable.
4D View utiliza variables para guardar la ubicación de las áreas incluidas, las ventanas externas y las áreas fuera de la pantalla.
Para hacer referencia al área donde se quiere ejecutar una operación, pase la variable que contiene la identificación de área
como parámetro para el comando o la función.
En las descripciones de los comandos de esta documentación, la variable de tipo Entero largo que identifica el área del
documento View 4D se llama area.
Hay dos tipos de variables area:
Los nombres de las áreas incluidas
Las variables creadas por una ventana externa o en un área fuera de la pantalla
Nombres de las áreas incluidas
Una vez crea y nombra un área 4D View en un formulario, 4D considera que el nombre del área 4D View es la variable de
referencia de área. Por ejemplo, usted referenciaría el área "Hoja" especificando "Hoja" como parámetro area.
ID de ventanas externas y de áreas fuera de la pantallascreen area IDs
Una vez creada una ventana externa o un área fuera de la pantalla con la ayuda de las funciones Open external window o PV
New offscreen area, el número de identificación del área devuelta por la función debe estar guardado en una variable. Puede
utilizar esta variable después para hacer referencia a la ventana externa o al área fuera de la pantalla en otros comandos y
funciones. Para guardar el valor de una variable, ubique el nombre de la variable y el operador de asignación (: =) a la izquierda de
la función en la línea de código.
El siguiente ejemplo crea una ventana externa 4D View y guarda el número de identificación del área en la variable MiArea:
MiArea:=Open external window(30;30;350;450;8;"Sheet";"_4D View")
Áreas de plug-in 4D View en los formularios
Un área 4D View puede ubicarse en todo formulario: con más frecuencia, se coloca en un formulario de entrada para trabajar con
documentos, pero también en formularios de salida para mostrar o imprimir la información.
4D View utiliza todo el formulario o comparte espacio con los campos y otros elementos del formulario.
Debe utilizar un área de objeto activo del tipo "Área de plug-in" con 4D View. Un área de plug-in de la zona es uno de los varios
tipos de objetos activos en 4D (otros ejemplos incluyen botones, áreas de entrada, áreas de desplazamiento, etc.)
También puede asociar el área de plug-in a un campo 4D para que los contenidos del área se guarden cada vez que se grabe.
Atención, si no utiliza los botones automáticos de tipo Validar, sino el comando SAVE RECORD, primero deberá ejecutar PV
Area to blob para transferir el contenido del área 4D View al campo 4D ya que el mecanismo de guardado automático no está
activo.
Para más información sobre la creación de áreas 4D View en los formularios, consulte el manual de uso 4D View.
Ventanas externas 4D View
Utilice la función Open external window de 4D para abrir una ventana externa y mostrar un documento 4D View en blanco.
Open external window abre una nueva ventana, muestra el plug-in especificado y devuelve un número de identificación para el
área.
A continuación se muestra un ejemplo de cómo utilizar Open external window. Esta instrucción abre una ventana externa y
muestra un documento 4D View vacío.
PvRefArea:=Open external window(50;50;350;450;8;"Spreadsheet";"_4D View")
Use PvRefArea cada vez que necesite hacer referencia a este documento. Para una descripción completa del comando Open
external window, consulte el manual Lenguaje 4D.
Áreas fuera de la pantalla de 4D View
Un área fuera de la pantalla se guarda en la memoria: es invisible para el programador y el usuario. Suele ser útil en dos casos:
para modificar un documento antes de que el usuario lo vea, o para guardar el documento para que el usuario puede volver a la
original, si es necesario.
Las operaciones de 4D View funcionan más rápido en un área fuera de la pantalla ya que no es necesario dibujar el área.
Utilice la función PV New offscreen area para crear un área fuera de la pantalla.
No olvide eliminar el área fuera de la pantalla después de usarla para liberar la memoria utilizada utilizando la rutina PV DELETE
OFFSCREEN AREA. Si cierra la base sin haber eliminado todas las áreas fuera de la pantalla, 4D muestra un mensaje de error.
Acceder a los comandos de menús 4D View
Es posible ejecutar por programación los comandos de menús 4D View. También es posible conocer, a partir de un método, el
estado de un menú o de un comando de menú.
Cada comando de menú es referenciado por un número entero. Los códigos de los comandos de menús son definidos por el
conjunto de constantes del tema PV Comandos. Por ejemplo, los comandos del menú Archivo están representados por las
constantes "pv cmd file..." y los comandos del menú Ediciónpor las constantes "pv cmd edit...".
Las constantes de los comandos de menú no van a cambiar, incluso si las nuevas aplicaciones se añaden al plug-in.
Gestión multiplataforma de los documentos
4D View, al igual que 4D Server y 4D, es multiplataforma. En otras palabras, una base que utilice 4D View creado bajo Mac OS
puede abrirse y utilizarse bajo Windows sin modificación alguna y viceversa. Por supuesto, estas combinaciones sólo son
posibles si tiene las versiones de software correspondientes.
Sin embargo, la gestión multi-plataforma de bases 4D y de documentos 4D View requiere seguir ciertas pautas relacionadas con
las diferencias entre los sistemas operativos Mac y Windows.
Correspondencia de los documentos Mac OS/Windows
La siguiente tabla muestra la correspondencia entre los archivos Mac OS y Windows de los documentos estándar 4D View.
Documento
Tipo Mac OS Creador Extensión Windows
Documento 4D View
Documento 4D Calc
Documento SYLK 2.0
Texto tabulado
Documento HTML
4DPV
4DC
TEXT
TEXT
TEXT
4DSP
4DSP
4DSP
4DSP
4DSP
.4PV
.4DC
.TXT
.TXT
.HTM
Documentos 4D View
Es importante tener en cuenta las siguientes pautas:
Bajo Mac OS, 4D View utiliza el tipo y el creador para reconocer los documentos (por ejemplo, tipo 4DPV, creador 4DSP =
documento 4D View). Para describir las rutas de acceso, el disco contiene un nombre y el símbolo ":" se utiliza para separar
las carpetas (por ejemplo: "MiDisco:Carpeta1:Carpeta2:MiBase").
Bajo Windows, 4D View utiliza la extensión para reconocer los documentos (por ejemplo: extensión .4PV = documento 4D
View). Para describir las rutas de acceso, el disco tiene una letra y el símbolo "\" se utiliza para separar los directorios (por
ejemplo: "D:\Directorio1\Directorio2\Mibase").
Un documento 4D View creado en Mac OS y copiado en Windows puede abrirse directamente si se ha guardado con su
extensión. Por ejemplo, el documento "MiDoc" guardado como "MiDoc.4PV", copiado al PC, se abrirá sin ningún cambio.
Un documento 4D View creado bajo Windows y copiado bajo Mac OS se abrirá sin ningún cambio.
Plantillas
4D View maneja las plantillas de una manera totalmente transparente para el usuario en máquinas clientes Mac OS y Windows,
independientemente de la plataforma del servidor.
Si el servidor está bajo Mac OS, la plantilla se llamará "NomArea_".
Si el servidor está en Windows, la plantilla se llamará "NomArea_.4PV".
PV Área
PV Área, Introducción
PV Area to blob
PV BLOB TO AREA
PV DELETE OFFSCREEN AREA
PV EXECUTE COMMAND
PV Get area property
PV GET COMMAND STATUS
PV GET LAST ERROR
PV Get on command method
PV Get on error method
PV Get on event method
PV New offscreen area
PV ON COMMAND
PV ON ERROR
PV ON EVENT
PV REDRAW
PV SCROLL AREA
PV SET AREA PROPERTY
PV SET COMMAND STATUS
PV Área, Introducción
Las rutinas de este tema permiten la gestión de áreas fuera de la pantalla y de áreas externas mostradas en un formulario. Estar
rutinas permiten crear o borrar un área fuera de la pantalla, para pegar el contenido de un campo o una variable BLOB en un área
externa o fuera de la pantalla, o para guardar un área 4D View en un campo o una variable BLOB.
Además, este tema reúne los comandos que permiten al programador interceptar los diferentes tipos de eventos detectados por
un área 4D View, para crear su propio gestor de errores y gestionar los comandos de 4D View accesibles usando menús o
paletas.
Métodos de retro llamada
En este tema, varios comandos hacen referencia al concepto "retrollamada": este mecanismo se utiliza aquí para asociar un
método a un evento, un error o un comando 4D View. Cada vez que 4D View detecta un evento, un error o la activación de un
comando de menú, el método proyecto 4D definido por la configuración del área se ejecuta: en este contexto, este método se
llama "método de retrollamada".
Los comandos del tema PV Área que hacen referencia a los métodos de retrollamada son:
PV ON EVENT
PV ON COMMAND
PV ON ERROR
PV Get on event method
PV Get on command method
PV Get on error method
PV Area to blob
PV Area to blob ( area ) -> Resultado
Parámetro
area
Resultado
Tipo
Entero largo
BLOB
Descripción
Área 4D View
BLOB de destino
Descripción
El comando PV Area to blob devuelve un BLOB que contiene area. Este puede guardarse en un campo o manipularse por
intermedio de una variable del mismo tipo.
El parámetro area puede ser un área 4D View presente en la pantalla o fuera de pantalla.
Ejemplo
Ver el ejemplo del comando PV BLOB TO AREA.
PV BLOB TO AREA
PV BLOB TO AREA ( area ; BLOB )
Parámetro
area
BLOB
Tipo
Entero largo
BLOB
Descripción
Área 4D View
BLOB fuente
Descripción
El comando PV BLOB TO AREA abre en area la hoja de cálculo 4D View ubicada en blob.
El parámetro area puede ser un área 4D View presente en la pantalla o fuera de la pantalla.
Ejemplo
Este primer método (por ejemplo el método objeto de un botón "copiar") copia el contenido de un área a utilizar más adelante, por
ejemplo, luego de borrarla o en otra área:
C_BLOB(BlobVariable) `Variable proceso recibe el área
BlobVariable:=PV Area to blob(Area) `Guarda en la variable
Este segundo método (por ejemplo el método objeto de un botón "pegar") pega el área contenida en la variable ubica la
información del área presente en la pantalla:
PV BLOB TO AREA(Area;BlobVariable) `Recuperación desde la variable
PV DELETE OFFSCREEN AREA
PV DELETE OFFSCREEN AREA ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV DELETE OFFSCREEN AREA borra un area 4D View creada con el comando PV New offscreen area.
El area a borrar sólo puede ser un área fuera de la pantalla, en otras palabras, un área que no esté en un formulario. El área debe
borrarse después de ser creada utilizando PV New offscreen area de manera que no se sature la memoria de su ordenador. Si
olvida borrar ciertas áreas fuera de la pantalla, 4D View le avisará al salir de 4D.
Ejemplo
Ver el ejemplo del comando PV New offscreen area.
PV EXECUTE COMMAND
PV EXECUTE COMMAND ( area ; comando )
Parámetro
area
comando
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
Número del comando
Descripción
El comando PV EXECUTE COMMAND ejecuta en area el comando de menú 4D View cuyo número se pasa en el parámetro
comando.
Utilice las constantes del tema PV Comandos para definir el parámetro comando.
Ejemplo
A continuación se muestra un método que cambia la barra de desplazamiento vertical a visible u oculta. El menú correspondiente
"Ver" también se activa/desactiva para la línea "Barra de desplazamiento vertical".
C_INTEGER($estado) `1=activa 0=desactiva
C_INTEGER($checkbox) `0=noseleccionado, 1=seleccionado
C_STRING(30;$nombre) `Nombre del comando correspondiente
`Recuperación de la info
PV GET COMMAND STATUS(Area;pv cmd view Vscrollbar;$estado;$checkbox;$nombre)
If($checkbox=1) `Barra mostrada
PV EXECUTE COMMAND(Area;pv cmd view Vscrollbar) `Ocultarla
PV SET COMMAND STATUS(Area;pv cmd view Vscrollbar;0) `Desactivarla
Else
PV SET COMMAND STATUS(Area;pv cmd view Vscrollbar;1) `Activar el comando
PV EXECUTE COMMAND(Area;pv cmd view Vscrollbar) `Mostrar la barra de desplazamiento
End if
PV Get area property
PV Get area property ( area ; propiedad ) -> Resultado
Parámetro
area
propiedad
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de propiedad
Valor de la propiedad
Descripción
El comando PV Get area property devuelve el valor actual de la propiedad para area 4D View indicada.
Las constantes PV Propiedades área se utilizan para definir la propiedad.
Para mayor información sobre las propiedades y sus valores, consulte la descripción del comando PV SET AREA PROPERTY.
Ejemplo
Ver el ejemplo del comando PV SET AREA PROPERTY.
PV GET COMMAND STATUS
PV GET COMMAND STATUS ( area ; comando ; estado ; checkbox ; nombre )
Parámetro
area
comando
estado
checkbox
nombre
Tipo
Entero largo
Entero largo
Entero
Entero
Cadena
Descripción
Área 4D View
Número de comando
0=inactivo 1=activo
0 = No seleccionado; 1 = Seleccionado
Nombre del comando
Descripción
El comando PV GET COMMAND STATUS recupera el estado, marcador y nombre del comando de menú 4D View definido por
comando.
El parámetro comando corresponde al número del comando cuya información se desea. Para definir este parámetro, utilice las
constante del tema PV Comandos.
El parámetro estado devuelve el estado del comando que tendrá un valor de 0 si el comando está inactivo o 1 si está activo.
El parámetro marcador indica si el comando está seleccionado (valor 1) o no (valor 0).
El parámetro nom contiene la etiqueta del comando.
Ejemplo
Ver el ejemplo del comando PV EXECUTE COMMAND.
PV GET LAST ERROR
PV GET LAST ERROR ( area ; codigoError ; textoError )
Parámetro
area
codigoError
textoError
Tipo
Entero largo
Entero largo
Texto
Descripción
Área 4D View
Número del error
Texto descriptivo del error
Descripción
El comando PV GET LAST ERROR obtiene la información sobre el último error generado en el area 4D View especificada. Si la
referencia de area es igual a 0, la información devuelta corresponde al último error generado de todas las áreas 4D View.
Después de la ejecución del comando, codigoError recibe el número de error y textoError contiene la descripción detallada del
error correspondiente. Los números y los nombres de los errores generados por 4D View están en el Anexo A: Códigos de
error de 4D View.
PV GET LAST ERROR sólo devuelve un error si la última llamada de un comando 4D View para el area provocó un error: toda
llamada a un comando que no provoca error reinicializa el último error en cero. Para interceptar y controlar los errores que puedan
surgir, utilice mejor el comando PV ON ERROR.
Sin embargo, cuando no se utiliza el comando PV ON ERROR, 4D View muestra un caja de diálogo de alerta al usuario en caso
de error. Entonces, será posible obtener la información necesaria, por ejemplo en el Depurador de 4D, utilizando el comando PV
GET LAST ERROR.
Ejemplo
Después de cargar los valores de una selección de registros en un área 4D View, compruebe si la memoria disponible es
suficiente para completar la operación sin problemas. Si no es así, se ofrece al usuario una sugerencia sobre cómo solucionar
este problema.
C_LONGINT($ErrorCode)   `Número del error
C_TEXT($ErrorText) `Texto descriptivo del error
PV FIELD TO CELLS(Area;1;1;1;0;Table(->[Clientes]);Table(->[Clientes]);Field(>[Clientes]Nombre))
PV FIELD TO CELLS(Area;1;2;1;0;Table(->[Clientes]);Table(->[Clientes]);Field(>[Clientes]Apellido))
PV GET LAST ERROR(Area;$ErrorCode;$ErrorText) `¿Hubo un error?
If($ErrorCode=18) `Memoria insuficiente
ALERT("Memoria insuficiente: reduzca la selección a mostrar o asigne "+"memoria a 4D.")
End if
PV Get on command method
PV Get on command method ( area ; comando ) -> Resultado
Parámetro
area
comando
Resultado
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de comando
Nombre del método 4D
Descripción
El comando PV Get on command method devuelve el nombre del método asociado al comando de menú 4D View comando.
Utilice las constantes del tema PV ComandosPV GET ALLOWED COM LIST para definir el parámetro comando.
Si ningún método está asociado, PV Get on command method devuelve una cadena vacía.
Ejemplo
Ver el ejemplo del comando PV ON COMMAND.
PV Get on error method
PV Get on error method -> Resultado
Parámetro
Resultado
Tipo
Cadena
Descripción
Nombre del método 4D
Descripción
El comando PV Get on error method devuelve el nombre del método de gestión de errores actual creado con el comando PV ON
ERROR.
Si no se ha definido ningún método de error, PV Get on error method devuelve una cadena vacía.
Ejemplo
Ver el ejemplo del comando PV ON ERROR.
PV Get on event method
PV Get on event method ( area ; evento ) -> Resultado
Parámetro
area
evento
Resultado
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Evento 4D View
Nombre del método 4D
Descripción
El comando PV Get on event method devuelve el nombre del método de retrollamada asociado al evento indicado para el área
4D View.
Las constantes PV EventosPV GET ALLOWED COM LIST se utilizan para definir el parámetro evento:
Constante
Tipo
Valor
pv on active cell changed
pv on cell value changed
pv on clicked
pv on column resize
pv on column sort
pv on contextual click
pv on double clicked
pv on drag
pv on drop
pv on getting focus
pv on keyboard
pv on losing focus
pv on right clicked
pv on row resize
pv on scrolled
pv on selection changed
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
9
2
12
14
15
4
10
11
0
6
1
3
13
5
7
Si ningún método está asociado al evento, PV Get on event method devuelve una cadena vacía.
Ejemplo
Es una buena idea desactivar temporalmente una llamada al evento y ejecutar un proceso antes de volver a establecer la llamada
original.
Este es un método simple que genera esta "desconexión" de manera genérica utilizando PV Get on event method, por ejemplo,
para el evento pv on cell value changed:
C_STRING(32;$EventMethod)
`Guardar el método
$EventMethod:=PV Get on event method(Area;pv on cell value changed)
PV ON EVENT(Area;pv on cell value changed;"") `Cancelación
`... Ubicar el proceso a ejecutar aquí
PV ON EVENT(Area;pv on cell value changed;$EventMethod) `Restitución
PV New offscreen area
PV New offscreen area -> Resultado
Parámetro
Resultado
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV New offscreen area crea un área 4D View en memoria y devuelve su referencia. Estas referencia debe pasarse
en todo comando 4D View que necesita una referencia a un área.
Cuando ya no necesite el área, no olvide borrarla utilizando el comando PV DELETE OFFSCREEN AREA para liberar el espacio
ocupado en memoria por el área.
Ejemplo
Este método permite copiar el contenido de una plantilla para copiarla en su área de pantalla.
C_LONGINT($OffscreenArea) `Referencia del área fuera de pantalla
QUERY([Model];[Model]Ref="MyModel") `Creación del área fuera de pantalla
$OffscreenArea:=PV New offscreen area `Recuperación del modelo
`Recuperación de la plantilla
PV BLOB TO AREA($OffscreenArea;[Model]BlobField_)
PV SELECT RANGE($OffscreenArea;1;1;3;3;pv selection set)
PV EXECUTE COMMAND($OffscreenArea;pv cmd edit copy) `Copiar selección
PV DELETE OFFSCREEN AREA($OffscreenArea) `Liberar memoria
PV GOTO CELL(Area;1;5)
PV EXECUTE COMMAND(Area;pv cmd edit paste) `Pegar la selección en el área activa
PV ON COMMAND
PV ON COMMAND ( area ; comando ; metodo )
Parámetro
area
comando
metodo
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de comando
Nombre del método 4D
Descripción
El comando PV ON COMMAND asocia el comando de menú 4D View comando a un metodo 4D.
Las constantes del tema PV Comandos se utilizan para definir el parámetro comando.
El metodo recibe 3 parámetros:
$1: La referencia del área 4D View
$2: El número del comando de menú
$3: El código de la tecla de modificación
Para desinstalar el método de llamada al comando, simplemente ejecute el comando PV ON COMMAND con una cadena vacía
en el tercer parámetro.
Ejemplo
Tome, por ejemplo, una base donde toda impresión llama un area 4D View que debe ser registrada en un diario de impresión. La
solución propuesta se escribe en varias líneas:
If(PV Get on command method(area;pv cmd file print document)#"PrintMethod")
`Registro del seguimiento de la impresión de las fórmulas
PV ON COMMAND(area;pv cmd file print document;"PrintMethod")
End if
If(PV Get on command method(area;pv cmd file print formulas)#"PrintMethod")
`Registro del seguimiento de la impresión estándar
PV ON COMMAND(area;pv cmd file print formulas;"PrintMethod")
End if
El código del método MetododeImpresion es el siguiente:
`Método: MetododeImpresion.
C_LONGINT($1) `Referencia del área 4D View
C_LONGINT($2) `Número de comando de menú
C_LONGINT($3) `Código de la tecla de modificación
Case of
:($2=pv cmd file print formulas)
CREATE RECORD([PrintSpy]) `Nuevo registro
[PrintSpy]CurUser:=Current user `¿Quién solicitó la impresión?
[PrintSpy]Dte:=Current date(*) `Fecha de la impresión
[PrintSpy]Tme:=Current time `Hora de la impresión
[PrintSpy]Subject:=Print area formulas
SAVE RECORD([PrintSpy]) `No olvide validar la creación
:($2=pv cmd file print document) `¿Es esta una solicitud de impresión?
CREATE RECORD([PrintSpy]) `Nuevo registro
[PrintSpy]CurUser:=Current user `¿Quién solicita la impresión?
[PrintSpy]Dte:=Current date(*) `Fecha de la impresión
[PrintSpy]Tme:=Current time `Hora de la impresión
[PrintSpy]Subject:="Standard area print"
SAVE RECORD([PrintSpy]) `No olvide validar la creación
Else
TRACE `¿Otros casos?
End case
PV ON ERROR
PV ON ERROR ( metodo )
Parámetro
metodo
Tipo
Cadena
Descripción
Nombre del método 4D
Descripción
El comando PV ON ERROR instala el método de interrupción metodo para administrar los errores 4D View.
Este método de interrupción se ejecuta cada vez que ocurre un error durante la llamada de los comandos 4D View, permitiéndole
así controlar los posibles errores de ejecución.
El metodo llamado recibe 3 parámetros:
$1 : la referencia del área 4D View
$2 : el número del error
$3 : el texto del error
Los números y las etiquetas de los errores generados por 4D View están en el Anexo A: Códigos de error de 4D View.
Para desinstalar el metodo, simplemente llame el comando PV ON ERROR con una cadena vacía como parámetro.
Ejemplo
Instale un método de gestión de errores para el área 4D View activa.
If(PV Get on error method#"ErrMethMan") `¿Gestión de errores no instalado?
PV ON ERROR("ErrMethMan") `Llamada del método
End if
El código del método "ErrMethMan" es el siguiente:
C_LONGINT($1) `Referencia del área 4D View
C_LONGINT($2) `Número del error
C_TEXT($3) `Texto del error
ALERT("Error interno número "+String(ErrorNum)+Char(13)+ErrorText)
PV ON EVENT
PV ON EVENT ( area ; evento ; metodo )
Parámetro
area
evento
metodo
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Evento 4D View
Nombre del método
Descripción
El comando PV ON EVENT se utiliza para asociar un metodo a un evento 4D View. Cada vez que ocurre el evento, se ejecuta el
metodo.
Las constantes PV Eventos se utilizan para definir el parámetro evento.
El método llamado recibe 6 parámetros de tipo Entero largo y devuelve un Booleano en $0:
$1: Referencia del área 4D View
$2: Evento
$3: Código de tecla de modificación
$4: Número de la columna
$5: Número de la línea
$6: Código Ascii de la tecla (si el evento es un clic, un clic derecho o un doble clic, $6 vale 0)
El parámetro $3 puede contener uno de los siguientes valores (estos valores se añaden en caso de combinación de teclas):
0
Ninguno
512
Tecla Mayús
2048 Tecla Alt
4096 Tecla Ctrl (Windows)/Comando (Mac OS).
Gestión de clics (eventos pv on clicked, pv on right clicked, pv on double clicked y pv on contextual click):
- si el evento (clic, clic derecho, doble clic o clic contextual) sucede en una celda, $4 devuelve el número de la columna y $5
devuelve el número de la línea. Si esto sucede en un encabezado de línea, $4 vale 0. Si sucede en un encabezado de
columna, $5 vale 0. Si sucede en una esquina superior izquierda del área, $4 y $5 toman el valor 0.
- El evento pv on contextual click se llama cuando el usuario libera el botón del ratón; el evento pv on right clicked se llama
cuando se presiona el botón. Estos dos eventos pueden utilizarse para poner una interfaz utilizando menús pop up
contextuales. El evento pv on contextual click corresponde más con el funcionamiento de Windows y el evento pv on right
clicked al de Mac OS. Los dos eventos pueden utilizarse simultáneamente.
- S el evento es un clic, clic derecho, doble clic o clic contextual, $6 toma el valor 0.
Gestión de selección (evento pv on selection changed):
- Si la nueva selección incluye varias celdas, columnas o líneas, $4 y $5 devuelven 0.
- Si la nueva selección incluye una sola celda, $4 y $5 devuelven la columna y de la línea de la celda, respectivamente.
- Si la nueva selección es una columna, $4 devuelve el número de la columna y $5 devuelve 0.
- Si la nueva selección es una línea, $4 devuelve 0 y $5 devuelve el número de la línea.
Teclas de función: en el contexto de un evento pv on keyboard, si una tecla de función se ha activado, el parámetro $6
devuelve 0. En este caso, utilice la variable sistema Keycode de 4D para conocer el código ASCII de la tecla de función
activada.
Ordenar: el evento pv on column sort es generado justo después de la ordenación de una columna. Permitiendo así controlar
las acciones del usuario. En este caso, $6 recibe un valor indicando el criterio de ordenación. Este valor puede compararse
con las siguientes constantes, ubicadas en el tema :
Constante
Tipo
Valor
pv ascending sort
pv descending sort
Entero largo
2
Entero largo
3
Redimensionamiento: los eventos pv on column resize y pv on row resize se envían cuando una columna o línea es
redimensionada por el usuario. No se envían si las columnas o líneas son redimensionadas por programación (utilizando los
comandos PV SET COLUMNS WIDTH o PV SET ROWS HEIGHT).
Si $0 es True, el evento no se tendrá en cuenta.
Si $0 es False, el evento se tendrá en cuenta.
Nota: si va a compilar la base, debe declarar los parámetros $0 como Booleano y $1 a $6 como Entero largo aunque algunos de
ellos no se utilicen.
Si area es igual a 0, el comando PV ON EVENT se aplica a todas las nuevas areas 4D View. En este caso, es mejor pasar este
comando en el Método base On Startup, que se ejecuta cuando la base se abre.
Para desinstalar el método de llamada del evento, simplemente llame al comando PV ON EVENT con una cadena vacía en el
último parámetro.
Ejemplo 1
Ver los ejemplos de los comandos PV VALIDATE CURRENT CELL, PV GET PREVIOUS ACTIVE CELL, PV GET CELL
FIELD, PV Get on event method, y PV SAVE DOCUMENT.
Ejemplo 2
El usuario hace clic en el encabezado de columna para hacer una ordenación. El método PM_Event se utiliza para determinar qué
columna ha sido ordenada y en qué orden.
`Instalación del método que se llamará durante el evento pv on column sort:
PV ON EVENT(area;pv on column sort;"PM_Event")
`PM_Event method
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
C_STRING(12;$SortOrder)
If($2=pv on column sort)
Case of
:($6=pv ascending sort)
$SortOrder:="ascendente"
:($6=pv descending sort)
$SortOrder:="descendente"
End case
ALERT("La ordenación se efectúo en la columna "+String($4)+" en orden "+$SortOrder)
Ejemplo 3
Un doble clic en un encabezado de columna provoca el redimensionamiento de la columna. Sin embargo, un doble clic genera una
secuencia de dos eventos: pv on clicked y pv on double clicked.
Como resultado, si la ordenación se ha permitido por una llamada a PV SET AREA PROPERTY, un doble clic en un encabezado
primero causa la ordenación de la columna, luego su redimensionamiento. Si desea que un doble clic provoque únicamente el
redimensionamiento de la columna, debe interceptar y eliminar el evento pv on clicked, que se genera justo antes de que la
ordenación se lleve a cabo. Para ello, basta con instalar un método que será llamado durante el evento pv on clicked:
`Instalación del método que se llamará durante el evento pv on clicked
PV ON EVENT(area;pv on clicked;"PM_Event")
`Método PM_Event
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
If($2=pv on clicked)
$0:=True `El evento se ignora y la ordenación no se efectúa
End if
PV REDRAW
PV REDRAW ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV REDRAW se utiliza para refrescar el area 4D View.
Ejemplo
Consulte el ejemplo del comando PV SET COLUMNS WIDTH, que presenta un ejercicio de redimensionamiento de líneas y
columnas.
PV SCROLL AREA
PV SCROLL AREA ( area ; horizontal ; vertical ; modo )
Parámetro
area
horizontal
vertical
modo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de píxeles o número de columnas
Número de píxeles o número de línea
Modo de desplazamiento: 0 = absoluto, 1 = relativo, 2 = celda
Descripción
El comando PV SCROLL AREA se puede utilizar para desplazarse por el contenido del area 4D View por programación de
acuerdo a los valores pasados en los parámetros vertical y horizontal. Puede pasar los píxeles o las coordenadas de la celda, el
parámetro modo permite definir el tipo de desplazamiento.
Nota: si el documento tiene varios paneles, el desplazamiento se llevará a cabo en el panel actual.
Si pasa 0 en el parámetro modo, esto significa que los valores pasados en horizontal y vertical están expresados en píxeles
y que el desplazamiento se realiza a partir de la primera celda del área (desplazamiento absoluto).
Si pasa 1 en el parámetro modo, esto significa que los valores pasados en horizontal y vertical están expresadas en píxeles
y que el desplazamiento se realiza a partir de la primera celda visible en el área (desplazamiento relativo).
Si pasa valores positivos en horizontal y vertical, el desplazamiento se llevará a cabo, respectivamente, hacia la derecha y hacia
abajo. Si pasa valores negativos, el desplazamiento será hacia la izquierda y hacia arriba.
Nota: 4D View ajusta la visualización de modo que la primera celda en la parte superior izquierda después del desplazamiento
sea completamente visible.
Si pasa 2 en el parámetro modo, esto significa que los valores pasados en horizontal y vertical, son respectivamente el
número de línea y de columna. Estas coordenadas designan la celda que debe aparecer en la parte superior izquierda del
área tras el desplazamiento.
Ejemplo
Este ejemplo puede utilizarse para navegar automáticamente un documento después de una consulta:
PV FIND ONE(area;"Smith";1;1;$col;$row)
PV SCROLL AREA(area;$col;$row;2)
PV SET AREA PROPERTY
PV SET AREA PROPERTY ( area ; propiedad ; valor )
Parámetro
area
propiedad
valor
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET AREA PROPERTY define el valor de la propiedad indicada para el area 4D View.
Sólo se guardan las preferencias de propiedades de las áreas mostradas en la pantalla, presentes en un formulario, asociadas o
no a un campo:
Se cargan cada vez que se abre un formulario que contiene el área,
Se guardan cada vez que el área se cierra.
Se pueden ubicar en el cliente o en el servidor.
Si area vale 0, el comando PV SET AREA PROPERTY se aplicará a todas las nuevas áreas 4D View. En este caso, es mejor
llamarlo utilizando el Método base On Startup, ejecutado al abrir la base.
Las constantes del tema PV Propiedades área se utilizan para definir el parámetro propiedad. Para definir el parámetro valor,
utilice las constantes de los temas asociados o pase un valor específico. La siguiente tabla detalla las constantes del tema PV
Propiedades área y los posibles valores:
Constante Tipo
Valor Comentario
Permite autorizar o no la anulación de una acción. Valores asociados:
pv allow
undo redo
Entero
largo
39
pv value on: es posible utilizar deshacer (comportamiento por defecto).
pv value off: no es posible utilizar deshacer (el comando Deshacer del menú Edición está
inactivo).
Permite autorizar o no el uso de las teclas de flecha para la validación de la entrada (validación
y selección de la siguiente celda). La validación se efectúa sólo cuando el cursor se ubica al
comienzo o al final del contenido de la celda. Valores asociados: constantes del tema PV
Flechas.
pv arrow
keys
Entero
largo
9
pv arrow keys allowed: autoriza la utilización de todas las teclas de flechas.
pv top and bottom arrow keys: autoriza únicamente el uso de las teclas de flechas hacia
arriba y hacia abajo.
pv right and left arrow keys: permite únicamente la utilización de las teclas de flecha hacia
la derecha y a la izquierda.
pv arrow keys not allowed: no permite la utilización de las teclas de flechas para la
validación.
Permite crear una nueva línea en una misma celda (celdas multilíneas). Valores asociados:
constantes del tema PV Retorno de carro.
pv carriage
return
Entero
largo
8
pv column
headers
height
Entero
largo
21
pv cr not allowed: no es posible efectuar una entrada multilíneas en el área.
pv cr allowed: presionando la tecla Retorno de carro se creará una nueva línea en la
celda.
pv cr allowed with ctrl: presionando Ctrl+Retorno de carro (Comando+Retorno de carro en
Mac OS) se crea una nueva línea en la celda.
pv cr allowed with shift: presionando Mayús+Retorno de carro se creará una nueva línea
en la celda.
Permite leer o definir el alto de los encabezados en las columnas en el área. Valores
asociados: alto de los encabezados expresado en píxeles.
Permite indicar si los elementos escondidos en el área deben tenerse en cuenta cuando se
copian las celdas. Valores asociados:
pv copy
hidden
Entero
largo
19
pv value on: los elementos ocultos (si los hay) se tienen en cuenta cuando se copian las
celdas.
pv value off: los elementos ocultos (si los hay) no se tienen en cuenta cuando se copian
las celdas.
Permite definir el resaltado de la celda actual en el área. Valores asociados:
pv current
cell
highlight
Entero
largo
3
pv value on: la celda actual se resalta en el área, por lo tanto es visible en pantalla.
pv value off: la celda actual no se resalta en el área, por lo tanto es invisible en pantalla.
Por defecto, la celda activa se resalta.
Permite definir el tipo de selección que puede arrastrarse. Valores asociados: constantes del
tema PV Arrastrar soltar autorizado.
pv drag
allowed
Entero
largo
13
pv DD not allowed: ninguna selección puede arrastrarse en el área, incluso si está
autorizado arrastrar y soltar.
pv DD single cell: es posible arrastrar una selección con una celda única.
pv DD adjacent cells: es posible arrastrar una selección con varias celdas adyacentes o
una celda única.
pv DD multiple cells: es posible arrastrar una selección de varias celdas (adyacentes o
no) o una celda única.
pv DD single row: es posible arrastrar una selección con una línea única.
pv DD adjacent rows: es posible arrastrar una selección con varias líneas adyacentes o
una celda única.
pv DD multiple rows: es posible arrastrar una selección de varias líneas (adyacentes o
no) o una línea única.
pv DD single column: es posible arrastrar una selección con una columna única.
pv DD adjacent columns: es posible arrastrar una selección con varias columnas
adyacentes o una columna única.
pv DD multiple columns: es posible arrastrar una selección con varias columnas
(adyacentes o no) o una columna única.
Nota: puede añadir varias constantes a la misma área. Por ejemplo, PV SET AREA
PROPERTY(area; pv drag allowed; pv DD multiple cells + pv DD single column + pv DD
adjacent rows) permite arrastrar una selección compuesta de celdas múltiples o una columna
única o líneas adyacentes.
única o líneas adyacentes.
Permite definir el mecanismo que desencadena el arrastrar en el área. No hay un trigger
específico para soltar. Valores asociados: constantes del tema PV Triggers.
pv drag
trigger
Entero
largo
12
pv trigger none: no es posible efectuar un arrastrar en el área.
pv trigger on click: la selección puede arrastrarse utilizando con un clic.
pv trigger on double click: la selección puede arrastrarse utilizando con un doble clic.
pv trigger on alt click: la selección puede arrastrarse utilizando una combinación Alt+clic.
pv trigger on alt double click: la selección puede arrastrarse utilizando una combinación
Alt+doble-clic.
pv trigger on ctrl click: la selección puede arrastrarse utilizando la combinación Ctrl+clic
(Comando+clic en Mac OS).
pv trigger on ctrl double click: la selección puede arrastrarse utilizando la combinación
Ctrl+doble-clic (Comando+doble-clic en Mac OS).
pv trigger on shift click: la selección puede arrastrarse utilizando la combinación
Mayús+clic.
pv trigger on shift double clic: la selección puede arrastrarse utilizando la combinación
Mayús+doble-clic.
Nota: cuando un mismo trigger se define para arrastrar y para la selección, el trigger de
arrastrar es prioritario.
Permite definir el tipo de selección que es posible soltar en el área. Valores asociados:
constantes del tema PV Arrastrar soltar autorizado.
pv drop
allowed
Entero
largo
33
pv DD not allowed: ninguna selección puede soltarse en el área, incluso si está
autorizado arrastrar y soltar.
pv DD single cell: es posible soltar una selección que contenga una celda única.
pv DD adjacent cells: es posible soltar una selección que contenga varias celdas
adyacentes o una celda única.
pv DD multiple cells: es posible soltar una selección que contenga varias celdas
(adyacentes o no) o una celda única.
pv DD single row: es posible soltar una selección que contenga una línea única.
pv DD adjacent rows: es posible soltar una selección que contenga varias líneas
adyacentes o una línea única.
pv DD multiple rows: es posible soltar una selección que contenga varias líneas
(adyacentes o no) o una línea única.
pv DD single column: es posible soltar una selección que contenga una columna única.
pv DD adjacent columns: es posible soltar una selección que contenga varias columnas
adyacentes o una columna única.
pv DD multiple columns: es posible soltar columnas múltiples (adyacentes o no) o una
columna única.
pv DD 4D objects: es posible soltar un objeto 4D. Todos los tipos de campos y de
variables 4D (excepto los BLOBs y las sub-tablas) pueden soltarse.
Nota: es posible añadir varias constantes para una misma área. Por ejemplo, PV SET AREA
PROPERTY(area; pv drop allowed;pv DD multiple cells + pv DD single column + pv DD
adjacent rows) permite soltar una selección compuesta por de celdas múltiples o de una
columna única o de líneas adyacentes.
Permite definir la manera como la selección puede soltarse en el área. Note que esta
propiedad define únicamente los modos de soltar valores en el área; la copia de los valores
arrastrados (si los hay) debe manejarse por separado. Valores asociados: constantes del tema
PV Modo de soltar.
pv drop
mode
Entero
largo
pv field tag
Entero
largo
17
pv field
wrapper
Entero
largo
18
14
pv drop insert or replace: los valores soltados pueden insertarse o remplazar los valores
existentes en el área.
pv drop insert only: los valores soltados sólo se pueden insertar en el área.
pv drop replace only: los valores soltados sólo pueden remplazar los valores existentes en
el área.
Permite definir el separador de campo. Esta propiedad es útil únicamente durante la
importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo: "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
La coma es el separador de campo.
Permite definir el carácter de sobre de campo. Esta propiedad es útil para únicamente durante
la importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo: "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
Las comillas son los sobres de campos.
Permite autorizar o prohibir la ordenación estándar de los datos cuando se hace clic en el
encabezado de una columna (datos dinámicos o estáticos). Valores asociados: las siguientes
constantes del tema PV Ordenar encabezados.
pv sort not allowed (valor por defecto): 4D View no efectúa una ordenación estándar
cuando el usuario hace clic en un encabezado de columna (la ordenación puede sin
pv headers
sort
pv hor
pane count
pv input
enter key
mode
Entero
largo
Entero
largo
Entero
largo
20
11
15
embargo ser manejada de manera personalizada por el desarrollador).
pv sort allowed: 4D View efectúa una ordenación estándar cuando el usuario hace clic en
un encabezado de columna. En este caso, aparece un símbolo en el encabezado para
indicar el criterio de ordenación. Los clics sucesivos provocan alternamente una
ordenación ascendente y descendente.
Una ordenación en una columna dinámica produce una ordenación sincronizada de los otras
columnas de manera que los registros conservan si estado inicial. Una ordenación de una
columna estática sólo ordena esa columna.
Permite leer el número de paneles horizontales presentes en el área. Este constante sólo
puede utilizarse con el comando PV Get area property. Valores devueltos: número de paneles.
Permite definir la acción de la tecla Intro (teclado numérico) utilizada durante la entrada de
datos. Valores asociados: constantes del tema PV Modo tecla intro en entrada.
pv enter key standard: la tecla Intro valida la celda actual luego cambia entre
selección/entrada datos en la misma celda (la celda actual no cambia).
pv enter key as tab: la tecla Intro valida la celda actual luego cambia entre
selección/entrada datos en la siguiente celda a la derecha. La combinación Mayús+Intro
cambia entre selección/entrada datos en la siguiente celda a la izquierda.
pv enter key as return: la tecla Intro valida la celda actual luego cambia entre
selección/entrada datos en la siguiente celda debajo. La combinación Mayús+Intro
cambia entre selección/entrada datos en la siguiente celda arriba.
Nota: a diferencia de la tecla Intro, las teclas Tab y Retorno de carro provocan únicamente la
selección de las celdas.
Permite definir el modo de desencadenamiento de la entrada en el área. La entrada de datos
sólo puede efectuarse en la celda activa. Valores asociados: constantes del tema PV
Triggers:
pv input
trigger
Entero
largo
6
pv trigger none: la entrado de datos está inactiva (ningún evento puede activar la
entrada), incluso si una tecla es permitida en el modo entrada de datos (ver la constante
pv input enter key mode). La entrada de datos es, sin embargo, posible utilizando la barra
del editor de fórmulas y también es posible cambiar la selección.
pv trigger input key: la entrada de datos es activada por una tecla. En este caso, la
navegación entre celdas sólo es posible utilizando el teclado (Tab y Mayús+Tab para
moverse horizontalmente, Retorno de carro y Mayús+Retorno de carro para moverse
verticalmente, o la teclas de flechas).
pv trigger input on enter: la entrada de datos es activada por la tecla Intro (teclado
numérico).
pv trigger input on gain sel: la entrada de datos se activa en la celda que tiene el foco. En
este modo, tan pronto como se selecciona la celda, toma el foco y el cursor se convierte
en un cursor de entrada.
pv trigger on click: la entrada de datos se activa por un clic en una celda. A diferencia de
la constante pv trigger input on gain sel, no se muestra un cursor de entrada.
pv trigger on double click: la entrada de datos es activada por un doble clic en una celda.
Un solo clic no permite la entrada.
pv trigger on alt click: la entrada de datos es activada por la combinación Alt+clic en una
celda.
pv trigger on alt double click: la entrada de datos es activada por la combinación
Alt+doble-clic en una celda.
pv trigger on ctrl click: la entrada de datos es activada por la combinación Ctrl+clic
(Comando+clic en Mac OS) en una celda.
pv trigger on ctrl double click: la entrada de datos es activada por la combinación
Ctrl+doble-clic (Comando+doble-clic en Mac OS) en una celda.
pv trigger on shift click: la entrada de datos es activada por la combinación Mayús+clic en
una celda.
pv trigger on shift double clic: la entrada de datos es activada por la combinación
Mayús+doble-clic en una celda.
Notas:
Puede añadir varias constantes para el mismo trigger. Por ejemplo, PV SET AREA
PROPERTY(area; pv input trigger;pv trigger on click + pv trigger on alt click)
permite el uso de un clic O de Alt+clic para la entrada de datos.
Cuando el mismo trigger está definido para la entrada y para la selección, el trigger de
entrada es prioritario.
pv record
tag
Entero
largo
16
Permite definir el carácter delimitador del registro. Esta propiedad es útil únicamente durante la
importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo : "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
El punto y coma es el separador del registro (2 registros: E1 y E2).
Permite autorizar o no el redimensionamiento de la columna. Valores asociados:
Permite autorizar o no el redimensionamiento de la columna. Valores asociados:
pv
resizable
columns
Entero
largo
pv
resizable
rows
Entero
largo
5
pv row
headers
width
Entero
largo
22
4
pv value on: las columnas en el área son redimensionables.
pv value off: el tamaño de las columnas en el área no es redimensionable.
Permite autorizar o no el redimensionamiento de las líneas. Valores asociados:
pv saving
dialog
Entero
largo
37
pv value on: las líneas en el área son redimensionables.
pv value off: las líneas en el área no son redimensionables.
Permite leer o fijar el ancho de los encabezados de líneas. Valores asociados: ancho de los
encabezados (en píxeles).
Permite mostrar o no el mensaje de confirmación del registro del documento 4D View si ha
sido modificado. Esta alerta se muestra cuando se sale de un área incluida en 4D View, no
asociada a un campo de la base, (el formulario se valida o cancela). Esta propiedad no es
válida para ventanas externas 4D View. Valores asociados:
pv value on: se muestra el mensaje de confirmación (valor por defecto).
pv value off: no se muestra el mensaje de confirmación
Permite definir el resaltado de una selección de celdas en el área. Valores asociados:
pv select
highlight
Entero
largo
1
pv value on: las selecciones se resaltan en el área.
pv value off: las selecciones no se resaltan, son invisibles en pantalla.
Permite definir el modo de selección permitido par el área. Valores asociados: constantes del
tema PV Select mode.
pv select
mode
Entero
largo
0
pv select not allowed: no es posible hacer una selección en el área (todas las celdas
están deseleccionadas). La entrada de datos tampoco es permitida (el editor de
fórmulas se bloquea). Sólo se pueden ver los datos.
pv select single row: sólo es posible seleccionar una línea a la vez en el área.
pv select adjacent rows: sólo las líneas adyacentes pueden seleccionarse en el área.
pv select multiple rows: es posible seleccionar varias líneas, adyacentes o no, en el área.
pv select single column: sólo una columna a la vez puede seleccionarse en el área.
pv select adjacent columns: sólo es posible seleccionar columnas adyacentes en el área.
pv select multiple columns: es posible seleccionar varias columnas, adyacentes o no, en
el área.
pv select single cell: sólo es posible seleccionar una celda a la vez en el área.
pv select adjacent cells: sólo las celdas adyacentes pueden seleccionarse en el área.
pv select multiple cells: es posible seleccionar varias celdas, adyacentes o no, en el área.
Nota: la entrada de datos aún es posible en la selección (excepto durante el uso de la
constante pv select not allowed). Si prefiere no permitir la entrada de datos en el área, debe
ejecutar la instrucción PV SET AREA PROPERTY(area;pv input trigger;pv trigger none).
Permite autorizar o no las áreas sin selección actual. Valores asociados:
pv select
null
Entero
largo
2
pv value on: no es obligatorio tener una selección en el área. Por ejemplo, si la columna o
la línea contiene la celda activa se elimina, ya no hay más selección en el área.
pv value off: es obligatorio tener una selección en el área.
Permite definir el modo de desencadenamiento de la selección en el área. Valores asociados:
constantes del tema PV Triggers:
pv select
trigger
Entero
largo
7
pv trigger none: no es posible definir una selección en el área. Es posible introducir datos
en la selección que estaba activa antes de la ejecución del comando. Las teclas Tab y
Retorno de carro modifican la posición de la celda activa en la selección.
pv trigger select on arrow: permite definir una selección (celda activa únicamente)
utilizando las teclas flechas. No es posible extender o reducir una selección.
pv trigger select on tab: permite definir una selección (celda activa únicamente) utilizando
la tecla Tab o la combinación Mayús+Tab. No es posible extender o reducir una
selección.
pv trigger select on return: permite definir una selección (celda activa únicamente)
utilizando la tecla Retorno de carro. No es posible extender o reducir una selección.
pv trigger on click: permite definir una selección vía un clic.
pv trigger on double click: permite definir una selección (celda activa únicamente) vía un
doble-clic. No es posible extender o reducir una selección.
pv trigger on alt click: permite definir una selección utilizando la combinación Alt+clic.
pv trigger on alt double click: permite definir una selección utilizando la combinación
Alt+doble-clic
pv trigger on ctrl click: permite definir una selección utilizando la combinación Ctrl+clic
(Comando+clic on Mac OS).
pv trigger on ctrl double click: permite definir una selección utilizando la combinación
Ctrl+doble-clic (Comando+doble-clic en Mac OS).
pv trigger on shift click: permite definir una selección utilizando la combinación
Mayús+clic.
pv trigger on shift double clic: permite definir una selección utilizando la combinación
Mayús+doble-clic.
Notas:
Puede añadir varias constantes para un mismo trigger. Por ejemplo, PV SET AREA
PROPERTY(area; pv select trigger;pv trigger on click + pv trigger on alt click)
permite el uso de un clic O un Alt+clic para la selección.
Cuando un mismo trigger se define para la entrada y para la selección, el trigger de
entrada es prioritario.
Cuando el mismo trigger se define para arrastrar y para la selección, el trigger de
arrastrar es prioritario.
pv show
borders
toolbar
Permite mostrar u ocultar la barra de herramientas Bordes de 4D View en el área. Valores
asociados:
Entero
largo
29
pv value on: se muestra la barra de herramientas Bordes.
pv value off: se oculta la barra de herramientas Bordes.
Permite mostrar u ocultar los encabezados de columnas en el área. Valores asociados:
pv show
column
headers
pv show
formula
toolbar
Entero
largo
23
pv value on: se muestran los encabezados de las columnas.
pv value off: se ocultan los encabezados de las columnas.
Permite mostrar u ocultar la barra de herramientas Fórmulas de 4D View en el área. Valores
asociados:
Entero
largo
30
pv value on: la barra de herramientas Fórmulas se muestra.
pv value off: la barra de herramientas Fórmulas se oculta.
Permite mostrar u ocultar la rejilla horizontal de 4D View en el área. Valores asociados:
pv show
hor grid
Entero
largo
31
pv value on: se muestra la rejilla horizontal.
pv value off: se oculta la rejilla horizontal.
Permite mostrar u ocultar la barra de desplazamiento horizontal del área. Valores asociados:
pv show
hor
scrollbar
Entero
largo
34
pv value on: se muestra la barra de desplazamiento horizontal.
pv value off: se oculta la barra de desplazamiento horizontal.
Permite mostrar y ocultar la barra de menús de 4D View en el área. Valores asociados:
pv show
menu bar
pv show
numbers
toolbar
Entero
largo
25
pv value on: se muestra la barra de menús.
pv value off: se oculta la barra de menús.
Permite mostrar u ocultar la barra de herramientas Números 4D View en el área. Valores
asociados:
Entero
largo
27
pv value on: se muestra la barra de herramientas Números.
pv value off: se oculta la barra de herramientas Números.
Permite mostrar u ocultar los encabezados de líneas en el área. Valores asociados:
pv show
row
headers
Entero
largo
24
pv value on: se muestran los encabezados de líneas.
pv value off: se ocultan los encabezados de líneas.
Permite fijar o leer el modo de visualización de la selección en un área 4D View que no tiene el
foco. Valores asociados:
pv show
selection
pv show
standard
toolbar
pv show
Entero
largo
40
pv value on: la selección del área siempre permanece visible (resaltada) sin importar si el
área 4D View tiene el foco.
pv value off: cuando el área 4D View pierde el foco, la selección ya no es visible.
Permite mostrar u ocultar la barra de herramientas estándar de 4D View en el área. Valores
asociados:
Entero
largo
26
pv value on: se muestra la barra de herramientas estándar.
pv value off: se oculta la barra de herramientas estándar.
Permite mostrar u ocultar la barra de herramientas estilo de 4D View en el área. Valores
asociados:
asociados:
pv show
style
toolbar
Entero
largo
pv show
vert grid
Entero
largo
28
pv value on: se muestra la barra de herramientas estilo.
pv value off: se oculta la barra de herramientas estilo.
Permite mostrar u ocultar la rejilla vertical de 4D View en el área. Valores asociados:
32
pv value on: se muestra la rejilla vertical.
pv value off: se oculta la rejilla vertical.
Permite mostrar u oculta la barra de desplazamiento vertical 4D View del área. Valores
asociados:
pv show
vert
scrollbar
Entero
largo
pv vert
pane count
Entero
largo
10
pv zoom
factor
Entero
largo
36
35
pv value on: se muestra la barra de desplazamiento vertical.
pv value off: se oculta la barra de desplazamiento vertical.
Permite leer el número de paneles verticales en el área. Esta constante sólo puede leerse
utilizando el comando PV Get area property. Valores devueltos: número de paneles.
Recordatorio: un panel es el área ubicada entre dos separadores (horizontal o vertical).
Permite leer o definir el valor del zoom (en porcentaje) para el área. Valores asociados: tasa
de compresión entre 25 y 1000.
Ejemplo
Para congelar el tamaño de la columna en un área 4D View o para autorizar el redimensionamiento si esta función está
congelada, vamos a escribir el siguiente método, que llevará a cabo esta operación "switch":
C_INTEGER($Value) `Valor de la propiedad
`Valor actual (0: congelado, 1 = autorizado)
$Value:=PV Get area property(Area;pv resizable columns)
`Comando en "switch": 0 <-> 1
PV SET AREA PROPERTY(Area;pv resizable columns;Num($Value=0))
PV SET COMMAND STATUS
PV SET COMMAND STATUS ( area ; comando ; estado )
Parámetro
area
comando
estado
Tipo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de comando
0 = Desactivar; 1 = Activar
Descripción
El comando PV SET COMMAND STATUS activa o desactiva el comando de menú especificado por comando. Estos comandos
pueden localizarse en menús (que permiten utilizar los menús de 4D View por programación) o paletas. Las constantes del tema
PV Comandos se utilizan para definir el parámetro comando. Si pasa 0 en el parámetro comando, el comando modifica el
estado de todos los comandos del área 4D View.
Si estado es igual a 0, el comando no se ejecutará cuando se llame y el menú (o botón) se pondrá en gris.
Si estado es igual a 1, el comando se ejecutará cuando se llame y el menú (o botón) se activa.
Un comando de menú desactivado no puede ejecutarse por programación con el comando PV EXECUTE COMMAND.
PV ON COMMAND no está disponible si el usuario intenta utilizar un comando desactivado utilizando PV SET COMMAND
STATUS).
Ejemplo 1
Para prohibir la visualización de las referencias en un area 4D View, simplemente escribir:
`Tercer parámetro a 1 para reactivar
PV SET COMMAND STATUS(area;pv cmd view references;0)
Ejemplo 2
Ver el ejemplo del comando PV EXECUTE COMMAND.
PV Arrastrar y soltar
PV Arrastrar y soltar, Introducción
PV GET DRAG SIGNATURES
PV GET DRAG SOURCE
PV Get drop info
PV GET DROP SIGNATURES
PV GET DROP TARGET
PV SET DRAG SIGNATURES
PV SET DROP SIGNATURES
PV Arrastrar y soltar, Introducción
Los comandos y funciones de este tema permiten controlar el arrastrar y soltar en la misma área 4D View, entre dos áreas 4D
View o entre un área 4D y un area 4D View.
En 4D View, arrastrar y soltar trabaja basado en tres principios:
El objeto fuente (el área de donde proviene el arrastrar).
El objeto destino (el área donde se suelta).
Las firmas permiten autorizar o no el arrastrar y soltar entre ciertas áreas.
Los comandos de este tema se utilizan para identificar el origen y el destino, así como también sus firmas y para obtener
información sobre la ubicación del área objetivo en donde se produce el soltar.
Es su responsabilidad utilizar esta información en función de sus necesidades, utilizando otros comandos de 4D View, por
ejemplo copiando o pegando datos del área de origen y pegándolos en el área de destino una vez la validez de la operación haya
sido controlada, o ejecutando una operación diferente de su elección.
Arrastrar-soltar objetos 4D
4D View permite arrastrar y soltar objetos 4D entre las celdas. A excepción de los BLOBs, todos los tipos de campos y de
variables de 4D pueden soltarse en las áreas 4D View.
En 4D, la propiedad "Arrastrable" debe haber sido seleccionada para cada objeto que pueda ser arrastrado y soltado.
En 4D View, debe utilizar la constante pv DD 4D objects (tema PV Arrastrar soltar autorizado) con el comando PV SET
AREA PROPERTY.
La firma de los objetos 4D es __OBJECT4D__ (cada __ consta de dos guiones bajos). Esta firma interna no puede modificarse.
Basta con pasar esta firma al comando PV SET DROP SIGNATURES con el fin de autorizar "soltar" objetos 4D.
PV GET DRAG SIGNATURES
PV GET DRAG SIGNATURES ( area ; firmas )
Parámetro
area
firmas
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de firmas
Descripción
El comando PV GET DRAG SIGNATURES recupera en el array firmas las firmas de arrastrar de area.
Las firmas son cadenas alfanuméricas cuyo contenido es libre. La longitud máxima de una firma es de 32 caracteres.
Ejemplo
Mostrar un mensaje de ayuda en casos donde el área puede ser objeto de un arrastrar soltar interno.
ARRAY TEXT($DragSignatureArray;0)
ARRAY TEXT($DropSignatureArray;0)
C_TEXT(HelpMessage)
C_INTEGER($Index)
PV GET DRAG SIGNATURES(Area;$DragSignatureArray)
PV GET DROP SIGNATURES(Area;$DropSignatureArray)
HelpMessage:=""
For($Index;1;Size of array($DragSignatureArray)) `Buscamos una firma común
If(Find in array($DropSignatureArray;$DragSignatureArray{$Index})#-1)
HelpMessage:="Puede arrastrar y soltar al interior de esta área."
$Index:=Size of array($DragSignatureArray)
End if
End for
PV GET DRAG SOURCE
PV GET DRAG SOURCE ( area ; fuente ; firmas )
Parámetro
area
fuente
firmas
Tipo
Entero largo
Puntero
Array cadena
Descripción
Área 4D View
Puntero al objeto fuente de arrastrar
Array de firmas
Descripción
El comando PV GET DRAG SOURCE referencia el puntero fuente con el objeto fuente de "arrastrar".
El array firmas se llena con las firmas de los objetos que se están moviendo. Este parámetro permite distinguir los objetos 4D de
los otros objetos 4D View que han sido arrastrados y ejecutan el código apropiado cuando se sueltan los objetos. La firma de los
objetos 4D es __OBJECT4D__ (cada __ consta de dos guiones bajos). Esta firma interna no se puede modificar. Para más
información, consulte la sección PV Arrastrar y soltar, Introducción.
Ejemplo
Consulte el ejemplo del comando PV SET DRAG SIGNATURES.
PV Get drop info
PV Get drop info ( area ; opción ) -> Resultado
Parámetro
area
opción
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la opción
Valor de la opción
Descripción
El comando PV Get drop info devuelve el valor de la opcion de arrastrar y soltar especificada.
Las constantes del tema PV Información soltar se utilizan para definir opcion:
Constante
Tipo
Valor
pv drag process
pv drag plugin
pv drag column
pv drag row
pv drag X offset
pv drag Y offset
pv drag content
pv drop process
pv drop plugin
pv drop column
pv drop row
pv drop X offset
pv drop Y offset
pv drop content
pv drop action
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Estas son las constantes del tema PV Acción soltar:
Constante
Tipo
Valor
pv entire area
pv insert cell down
pv insert cell right
pv insert column
pv insert row
pv replace cell
pv replace column
pv replace row
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
2
3
7
5
4
8
6
Ejemplo
Consulte el ejemplo del comando PV SET DRAG SIGNATURES.
PV GET DROP SIGNATURES
PV GET DROP SIGNATURES ( area ; firmas )
Parámetro
area
firmas
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de firmas
Descripción
El comando PV GET DROP SIGNATURES crea el array firmas de las firmas de soltar de area.
Las firmas son cadenas alfanuméricas cuyo contenido es libre. La máxima longitud de una firma es de 32 caracteres.
Ejemplo
Consulte el ejemplo del comando PV GET DRAG SIGNATURES.
PV GET DROP TARGET
PV GET DROP TARGET ( area ; destino )
Parámetro
area
destino
Tipo
Entero largo
Puntero
Descripción
Área 4D View
Puntero al objeto destino de soltar
Descripción
El comando PV GET DROP TARGET define el puntero destino para el objeto destino de soltar.
Ejemplo
Consulte el ejemplo del comando PV SET DRAG SIGNATURES.
PV SET DRAG SIGNATURES
PV SET DRAG SIGNATURES ( area ; firmas )
Parámetro
area
firmas
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de firmas
Descripción
El comando PV SET DRAG SIGNATURES define el contenido del array firmas como firmas de "arrastrar" para el area.
Las firmas son cadenas alfanuméricas con contenido libre. La longitud máxima de una firma es de 32 caracteres.
Estas son las propiedades del area, definidas utilizando el comando PV SET PROPERTY, que permite indicar las posibilidades
de un área 4D View y las opciones relacionadas con arrastrar y soltar:
Para definir las propiedades de arrastrar y soltar a aplicar a un área, utilice las constantes del tema PV Propiedades área.
Para definir los valores de estas diferentes propiedades, use las constantes de los temas PV Arrastrar soltar autorizado y
PV Modo de soltarPV GET ALLOWED COM LIST.
Una vez arrastrar y soltar esté autorizado, puede interactuar con dos áreas (que pueden ser la misma) con la condición de que las
áreas contengan al menos una firma común de arrastrar para el área fuente y de soltar para el área objetivo.
El evento de arrastrar y soltar, será interceptado por el comando PV ON EVENT.
Ejemplo
El siguiente ejemplo ilustra un arrastrar y soltar entre dos áreas 4D View. Para empezar, definimos las firmas y el comportamiento
de las áreas, por ejemplo, al cambiar de formulario:
ARRAY TEXT($DDSignatureArray;1)
$DDSignatureArray{1}:="Signature_1"
PV SET AREA PROPERTY(SourceArea;pv drag trigger;pv trigger on alt click) `alt-clic para
arrastrar
PV SET AREA PROPERTY(SourceArea;pv drag allowed;pv DD multiple cells)
PV ON EVENT(SourceArea;pv on drag;"DragDropMethod")
PV SET DRAG SIGNATURES(SourceArea;$DDSignatureArray)
PV SET AREA PROPERTY(TargetArea;pv drop allowed;pv DD single cell+
pv DD adjacent cells+pv DD multiple cells)
PV SET AREA PROPERTY(TargetArea;pv drop mode;pv drop replace only)
PV ON EVENT(TargetArea;pv on drop;"DragDropMethod")
PV SET DROP SIGNATURES(TargetArea;$DDSignatureArray) `Las mismas firmas que arrastrar
El método de proyecto DragDropMethod se llamará cuando se ejecute un arrastrar con alt-clic o cuando ocurre un soltar en un
área objetivo:
C_LONGINT($1)
C_LONGINT($2)
C_LONGINT($3)
C_LONGINT($4)
C_LONGINT($5)
C_LONGINT($6)
`Referencia del área 4D View
`Evento
`Código de la tecla (modificar)
`Número de la columna
`Número de la línea
`Código ASCII de la tecla
C_POINTER(SourceAreaPointer;TargetAreaPointer) `No hay donde conservarlos entre dos
retrollamadas
C_BLOB($blob) `Portapapeles temporal de arrastrar y soltar
C_LONGINT($currentColumn;$currentRow) `Coordenadas de la celda actual
C_LONGINT($destinationColumn;$destinationRow) `Coordenadas de la celda donde ocurrirá el soltar
Case of
:($2=pv on drag)
PV GET DRAG SOURCE($1;SourceAreaPointer) `¿De dónde venimos?
:($2=pv on drop)
PV GET DROP TARGET($1;TargetAreaPointer) `¿A dónde vamos?
$blob:=PV Copy to blob(SourceAreaPointer->) `Copia en el portapaples
$destinationColumn:=PV Get drop info(TargetAreaPointer->;pv drop column)
`Destino....
$destinationRow:=PV Get drop info(TargetAreaPointer->;pv drop row) `...coordenadas
PV GET CURRENT CELL(TargetAreaPointer->;$currentColumn;$currentRow)
`Pegar al área asignada
PV GOTO CELL(TargetAreaPointer->;$destinationColumn;$destinationRow)
PV PASTE FROM BLOB(TargetAreaPointer->;$blob;1;1;1;1)
`Restablecimiento de la celda actual una vez realizada la operación
PV GOTO CELL(TargetAreaPointer->;$currentColumn;$currentRow)
End case
PV SET DROP SIGNATURES
PV SET DROP SIGNATURES ( area ; firmas )
Parámetro
area
firmas
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de firmas
Descripción
El comando PV SET DROP SIGNATURES define el contenido del array firmas como firmas de "soltar" del area.
Las firmas son cadenas alfanuméricas cuyo contenido es libre. La máxima longitud de una firma es de 32 caracteres.
Ejemplo
Consulte el ejemplo del comando PV SET DRAG SIGNATURES.
PV Autorización de entrada
PV Autorización de entrada, Introducción
PV GET ALLOWED COM LIST
PV GET ALLOWED MET LIST
PV GET ALLOWED VAR LIST
PV SET ALLOWED COM LIST
PV SET ALLOWED MET LIST
PV SET ALLOWED VAR LIST
PV Autorización de entrada, Introducción
Los comandos de este tema permiten definir y leer los objetos 4D (variables, métodos y comandos) a los cuales los usuarios de
4D View tendrán acceso en las fórmulas del área actual. Esta operación permite el control de las acciones del usuario en áreas
4D View.
Por defecto, el sistema de autorización de entrada no está activado (los usuarios tienen acceso a todas las variables, métodos y
comandos 4D). Antes de utilizar un comando de este tema, debe primero prohibir todas las llamadas a estos objetos 4D
ejecutando el comando PV SET DOCUMENT PROPERTY con la constante pv no formula external call en 1 (pv value on):
para prohibir las llamadas y activar el sistema de autorización de entrada:
PV SET DOCUMENT PROPERTY(area;pv no formula external call;pv value on)
para desactivar el sistema (funcionamiento por defecto):
PV SET DOCUMENT PROPERTY(area;pv no formula external call;pv value off).
PV GET ALLOWED COM LIST
PV GET ALLOWED COM LIST ( area ; arrayCom )
Parámetro
area
arrayCom
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de nombres de comandos 4D
Descripción
El comando PV GET ALLOWED COM LIST llena el array arrayCom con la lista de los nombres de los comandos 4D que el
usuario está autorizado a utilizar en las fórmulas.
PV GET ALLOWED MET LIST
PV GET ALLOWED MET LIST ( area ; arrayMet )
Parámetro
area
arrayMet
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de los nombres de métodos
Descripción
El comando PV GET ALLOWED MET LIST llena el array arrayMet con la lista de los nombres de métodos 4D que el usuario está
autorizado a utilizar en las fórmulas.
PV GET ALLOWED VAR LIST
PV GET ALLOWED VAR LIST ( area ; arrayVar )
Parámetro
area
arrayVar
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de los nombres de variables
Descripción
El comando PV GET ALLOWED VAR LIST llena el array arrayVar con la lista de nombres de las variables (proceso e
interproceso únicamente) que el usuario está autorizado a utilizar en las fórmulas.
PV SET ALLOWED COM LIST
PV SET ALLOWED COM LIST ( area ; arrayCom )
Parámetro
area
arrayCom
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de nombres de comandos 4D
Descripción
El comando PV SET ALLOWED COM LIST asigna arrayCom con la lista de comandos 4D que el usuario puede utilizar en las
fórmulas de area.
Nota: para que este comando tenga efecto, el sistema de restricción de entrada debe estar activo. Ver la sección PV
Autorización de entrada, Introducción.
PV SET ALLOWED MET LIST
PV SET ALLOWED MET LIST ( area ; arrayMet )
Parámetro
area
arrayMet
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de nombres de métodos
Descripción
El comando PV SET ALLOWED MET LIST asigna arrayMet con la lista de métodos 4D que el usuario puede utilizar en las
fórmulas de area.
Nota: para que este comando tenga efecto, el sistema de restricción de entrada debe estar activo. Ver la sección PV
Autorización de entrada, Introducción.
PV SET ALLOWED VAR LIST
PV SET ALLOWED VAR LIST ( area ; arrayVar )
Parámetro
area
arrayVar
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array de nombres de variables
Descripción
El comando PV SET ALLOWED VAR LIST asigna arrayVar con la lista de variables (proceso e interproceso únicamente) que el
usuario puede utilizar en las fórmulas de area.
Nota: para que este comando tenga efecto, el sistema de restricción de entrada debe estar activo. Ver la sección PV
Autorización de entrada, Introducción.
PV Bordes
PV Bordes, Introducción
PV GET BORDER STYLE
PV SET BORDER STYLE
PV SET RANGE BORDER
PV Bordes, Introducción
Las rutinas en este tema permiten definir los bordes de una celda o de una selección de celdas, los atributos de borde, o incluso la
obtención de información relativa a un tipo de borde en función de los parámetros establecidos por intermedio de los comandos
de menús.
Para más información sobre selección y rangos de celdas, consulte la sección PV Selección, Introducción.
PV GET BORDER STYLE
PV GET BORDER STYLE ( area ; borde ; estilo ; color )
Parámetro
area
borde
estilo
color
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Borde del marco
Estilo del borde
Color del borde
Descripción
El comando PV GET BORDER STYLE recupera el estilo y color del borde actual para el area 4D View.
Para definir el parámetro borde, utilice las constantes del tema PV Bordes:
Constante
Tipo
Valor
pv border edge bottom
pv border edge inner hor
pv border edge inner vert
pv border edge left
pv border edge right
pv border edge top
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
16
32
1
4
2
El valor devuelto en el parámetro estilo es comparable a las constantes del tema PV Estilo de borde:
Constante
Tipo
Valor
pv border style 1
pv border style 111
pv border style 112
pv border style 2
pv border style 211
pv border style 212
pv border style 222
pv border style 232
pv border style 3
pv border style 4
pv border style 5
pv border style 6
pv border style half
pv border style none
pv border style quarter
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
7
9
2
8
10
11
12
3
4
5
6
14
0
13
Para mayor información, consulte el comando PV SET BORDER STYLE.
Ejemplo
Verificamos si el estilo del borde en el área 4D View corresponde a su gusto (ver PV SET BORDER STYLE). Note que no
estamos rodeando nada: el código a continuación sólo permite modificar las características de los futuros bordes a realizar con el
comando PV SET RANGE BORDER.
C_LONGINT($Style;$Color) `Atributos de estilo
`Recuperación de la información sobre el estilo
PV GET BORDER STYLE(Area;pv border edge bottom;$Style;$Color)
`¿Este es el estilo que prefiere?
If(Style#pv border style 111)|($Color#PV Index to color(Light blue)) `Me temo que no...
`Estilo y color del marco
PV SET BORDER STYLE(Area;pv border edge bottom;pv border style 111;PV Index to color(Light
blue))
End if
PV SET BORDER STYLE
PV SET BORDER STYLE ( area ; borde ; estilo ; color )
Parámetro
area
borde
estilo
color
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Borde del marco
Estilo del borde
Color del borde
Descripción
El comando PV SET BORDER STYLE determina el estilo y el color para el borde de la selección.
Nota: este comando no aplica al estilo de las celdas del área. Sólo define los estilos que deben aplicarse utilizando el comando
PV SET RANGE BORDER.
Para definir el parámetro borde, utilice las constantes del tema PV Bordes:
Constante
Tipo
Valor
pv border edge bottom
pv border edge inner hor
pv border edge inner vert
pv border edge left
pv border edge right
pv border edge top
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
16
32
1
4
2
Un borde se define como uno de los lados de un marco: superior, inferior, izquierda, derecha. Para configurar varios bordes
mediante una llamada única a PV SET BORDER STYLE, sólo tiene que añadir las constantes, por ejemplo, pv border edge top +
pv border edge bottom para una línea arriba y debajo del marco.
Los bordes se pueden combinar para formar un marco total o parcial de un rango de celdas. En este caso, el borde interior es el
borde de cada celda incluida en el marco y pueden definirse utilizando las constantes pv border edge inner vert y pv border edge
inner hor. Cada borde también pueden contener características específicas, únicas: PV SET BORDER STYLE puede llamarse
tantas veces como bordes que necesiten estilos diferentes.
Para definir el parámetro estilo, utilice las constantes PV Estilo de borde:
Constante
Tipo
Valor
pv border style 1
pv border style 111
pv border style 112
pv border style 2
pv border style 211
pv border style 212
pv border style 222
pv border style 232
pv border style 3
pv border style 4
pv border style 5
pv border style 6
pv border style half
pv border style none
pv border style quarter
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
7
9
2
8
10
11
12
3
4
5
6
14
0
13
Estas constantes se definen de la siguiente manera:
Para los bordes simples, la constante indica el número de píxeles (por ejemplo pv border style 4 = una línea de 4 píxeles).
Para los bordes combinados, la constante indica el número de píxeles para cada componente (por ejemplo pv border style
211 = una línea de 2 píxeles, un espacio de 1 pixel, una línea de 1 píxel).
Estas constantes se detallan en el siguiente esquema:
Las constantes pv border style quarter y pv border style half designan respectivamente los tamaños de borde de 0,25 píxeles
y 0,5 píxeles. Estos valores sólo son significativos en el momento de la impresión.
El parámetro color es un entero largo de tipo BGR. Este valor puede extraerse de uno de los 256 colores de la paleta 4D
utilizando el comando PV Index to color: específicamente, es posible utilizar las constantes del lenguaje 4D, tema Colores,
disponibles para los primeros 16 colores (la primera línea de la paleta de colores).
Consulte la descripción de los siguientes comandos 4D para obtener detalles sobre los colores disponibles en 4D:
OBJECT SET RGB COLORS para el sistema de colores RGB utilizado por 4D.
OBJECT SET COLOR para la paleta 4D de colores indexados.
Nota: la codificación interna de los colores 4D View es del tipo BGR, que se invierte con respecto a la codificación RGB de 4D;
sin embargo, los principios de uso son los mismos.
Ejemplo
Ver el ejemplo del comando PV SET RANGE BORDER.
PV SET RANGE BORDER
PV SET RANGE BORDER ( area ; izquierda ; superior ; derecha ; inferior )
Parámetro
area
izquierda
superior
derecha
inferior
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda de arriba
Número de la columna de la celda derecha
Número de línea de la celda inferior
Descripción
El comando PV SET RANGE BORDER aplica el tipo de borde definido por PV SET BORDER STYLE al rango de celdas
definido por los parámetros izquierda, superior, derecha e inferior:
Para mayor información sobre rangos, consulte la sección PV Selección, Introducción.
Ejemplo
En un área 4D View, queremos trazar una doble línea azul horizontal en la parte inferior de una tabla de 12 líneas introducidas en
columnas A y B:
PV SET BORDER STYLE(Area;pv border edge top;pv border style 111;
PV Index to color(Light blue)) `Estilo y color del borde
PV SET RANGE BORDER(Area;1;12;2;12) `Subrayamos la parte inferior del rango
PV Celda actual
PV Celda actual, Introducción
PV GET CURRENT CELL
PV GET NEXT FREE CELL
PV GET PREVIOUS ACTIVE CELL
PV GOTO CELL
PV GOTO NEXT CELL
PV VALIDATE CURRENT CELL
PV Celda actual, Introducción
Los comandos de este tema permite "posicionarse" en una celda y cambiar la celda actual en un área 4D View dada.
También permiten salir del modo "edición" de la celda actual en un área 4D View.
PV GET CURRENT CELL
PV GET CURRENT CELL ( area ; columna ; linea )
Parámetro
area
columna
linea
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda activa
Número de línea de la celda activa
Descripción
El comando PV GET CURRENT CELL devuelve las coordenadas de la celda actual de area en los parámetros columna y linea.
Ejemplo
A partir del método objeto de un botón, mostramos la cadena "Aquí" en la celda actual.
C_LONGINT($Column;$Row) `Para recuperar las coordenadas
PV GET CURRENT CELL(Area;$Column;$Row) `Coordenadas celda
If($Column#0)&($Row#0) `Hay una celda seleccionada
PV SET CELL STRING VALUE(Area;$Column;$Row;"Aquí") `Esta celda contiene actualmente "Aquí"
End if
PV GET NEXT FREE CELL
PV GET NEXT FREE CELL ( area ; direccion ; columna ; linea )
Parámetro
area
direccion
columna
linea
Tipo
Entero largo
Entero
Entero largo
Entero largo
Descripción
Área 4D View
Constante de dirección
Número de columna
Número de línea
Descripción
El comando PV GET NEXT FREE CELL recupera las coordenadas columna y linea de la próxima celda libre en la direccion
especificada.
El eje de direccion es uno de los cuatro valores del tema de constantes PV Direcciones:
Constante
Tipo
Valor
pv to the bottom
pv to the left
pv to the right
pv to the top
Entero largo
Entero largo
Entero largo
Entero largo
1
2
0
3
Ejemplo
En un área 4D View que contiene un array de datos introducidos (llenado completamente), contemos el número de líneas y de
columnas ocupadas por este array.
Sabemos que la primera celda introducida está ubicada en la intersección de la columna C y de la línea 4. En este momento, el
plug-in determinará el número de columnas y de líneas ocupadas por el rango de entrada.
C_LONGINT($StartCol;$StartRow) `Coordenadas celda original
C_LONGINT($RightCol;$RightRow) `Coordenadas más a la derecha
C_LONGINT($LowCol;$LowRow) `Coordenadas más hacia abajo
$StartCol:=3 `Inicialización
$StartRow:=4
PV GOTO CELL(Area;$StartCol;$StartRow) `Posicionamiento
`Recuperación de las coordenadas más a la derecha
PV GET NEXT FREE CELL(Area;pv to the right;$RightCol;$RightRow)
`Recuperación de las coordenadas más a la izquierda
PV GET NEXT FREE CELL(Area;pv to the bottom;$LowCol;$LowRow)
ALERT("Los datos introducidos ocupan "+String($RightCol-$StartCol)+" columna(s) en "
+String($LowRow-$StartRow)+" línea(s).")
PV GET PREVIOUS ACTIVE CELL
PV GET PREVIOUS ACTIVE CELL ( area ; columna ; linea )
Parámetro
area
columna
linea
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Descripción
El comando PV GET PREVIOUS ACTIVE CELL devuelve las coordenadas de la celda activa anterior (actual) para el area
indicada en los parámetros columna y linea.
Nota: no existe una "pila" de celdas activas, sólo se conoce la celda activa anterior y no las que estaban activas previamente.
Depende de usted gestionar la memorización de las celdas activas sucesivas si es necesario, por ejemplo, para instalar distintos
niveles de la cancelación.
Ejemplo
En el ejemplo a continuación, crearemos un efecto "rebote" en una celda dada. Ponemos un método de gestión de eventos, el cual
se llamará cada vez que la celda activa cambie:
PV ON EVENT(Area;pv on active cell changed;"EventMethod")
El método de proyecto EventMethod hace "rebotar" al usuario a la celda C5. Una vez alcanzada esta celda, la última celda actual
se vuelve activa nuevamente, evitando que C5 se seleccione de cualquier modo: comando 4D View, tecla, ratón, etc.
`Método: EventMethod
`Con este método, rebotamos a la celda C5
C_LONGINT($1) `Referencia del área 4D View
C_LONGINT($2) `Evento
C_LONGINT($3) `Código de la tecla de modificación
C_LONGINT($4) `Número de la columna
C_LONGINT($5) `Número de la línea
C_LONGINT($6) `Código Ascii de la tecla
C_LONGINT($Column;$Row) `Coordenadas de la celda (actual luego anterior)
C_BOOLEAN($0) `Valor a devolver
$0:=False
PV GET CURRENT CELL($1;$Column;$Row) `Recuperación de las coordenadas
If($Column=3) & ($Row=5) `La celda C5 es la actual
PV GET PREVIOUS ACTIVE CELL($1;$Column;$Row) `Última celda
PV GOTO CELL($1;$Column;$Row) `Se vuelve actual nuevamente
End if
PV GOTO CELL
PV GOTO CELL ( area ; columna ; linea )
Parámetro
area
columna
linea
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Descripción
Cuando se llama el comando PV GOTO CELL, la celda definida por columna y linea se convierte en la celda actual del area. Si la
celda anterior actual estaba en modo entrada, su contenido se valida.
Ejemplo
Esta línea de código hace que la celda ubicada en la intersección de la octava columna y la quinta línea sea la celda actual.
PV GOTO CELL(Area;8;5) `Nueva celda actual: H5
PV GOTO NEXT CELL
PV GOTO NEXT CELL ( area ; direccion )
Parámetro
area
direccion
Tipo
Entero largo
Entero
Descripción
Área 4D View
Constante de dirección
Descripción
Cuando se llama el comando PV GOTO NEXT CELL, la siguiente celda en el parámetro direccion especificado se convierte en la
celda actual de area. Si la celda actual anterior estaba en modo entrada, su contenido se valida.
El eje de direccion es uno de los cuatro valores del tema de constantes PV Direcciones:
Constante
Tipo
Valor
pv to the bottom
pv to the left
pv to the right
pv to the top
Entero largo
Entero largo
Entero largo
Entero largo
1
2
0
3
Ejemplo
Imagine una hoja de cálculo donde tenemos que poner en negrita la celda correspondiente a la "cantidad total" de una factura:
C_LONGINT(Column;Row) `Coordenadas de la celda actual
PV FIND ALL(Area;"Total Amount";1;0) `Celda que contiene la etiqueta "Cantidad total"
PV GOTO NEXT CELL(Area;pv to the right) `Celda que contiene el valor
PV GET CURRENT CELL(Area;$Column;$Row) `Recuperación de las coordenadas
`Poner en negrita la celda seleccionada
PV SET CELL PROPERTY(Area;$Column;$Row;pv style text bold;pv value on)
PV VALIDATE CURRENT CELL
PV VALIDATE CURRENT CELL ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV VALIDATE CURRENT CELL valida el contenido de la celda actual en modo entrada. La celda actual no cambia.
Este comando sólo puede llamarse desde un método de retrollamada. Para mayor información sobre los métodos de
retrollamada, consulte la sección PV Área, Introducción.
Ejemplo
Comencemos por instalar el método de retrollamada EventMethod, que se llamará en caso de doble clic:
PV ON EVENT(Area;pv on double clicked;"EventMethod")
Este método intercepta el doble clic del usuario:
`Método EventMethod
C_LONGINT($1) `Referencia del área 4D View
C_LONGINT($2) `Evento
C_LONGINT($3) `Código de la tecla de modificación
C_LONGINT($4) `Número de la columna
C_LONGINT($5) `Número de la línea
C_LONGINT($6) `Código Ascii de la tecla
C_BOOLEAN($0) `Valor a devolver
$0:=False
If($2=pv on double clicked) `En caso dónde "EventMethod" será llamado por otros eventos
BEEP
PV VALIDATE CURRENT CELL($1) `Validación de la entrada
End if
PV Columnas y líneas
PV Columnas y líneas, Introducción
PV DELETE CELLS
PV DELETE COLUMNS
PV DELETE ROWS
PV GET COLUMN HEADER
PV Get column width
PV Get row header
PV Get row height
PV INSERT CELLS
PV INSERT COLUMNS
PV INSERT ROWS
PV SET COLUMN HEADER
PV SET COLUMNS WIDTH
PV SET ROW HEADER
PV SET ROWS HEIGHT
PV Columnas y líneas, Introducción
Los comandos de este tema permiten la gestión por programación de las columnas y líneas de una hoja de cálculo 4D View:
Inserción
Eliminación
Lectura y asignación de tamaños (alto y ancho)
Lectura y asignación de encabezados de columna y de líneas (títulos de líneas y columnas, así como opciones de
clasificación para las columnas)
Nombres de líneas y de columnas
Puede asociar un nombre a las líneas y columnas de áreas 4D View, lo que facilita su uso dentro de un documento. Por defecto,
cada línea y columna tiene un nombre. La asignación automática de nombres a las líneas y columnas se realiza de la siguiente
manera:
Líneas: el nombre corresponde exactamente al número real de la línea.
Para los comandos que hacen referencia al número de línea, hay un acuerdo con el nombre. El número de líneas de un área
se puede ajustar con el comando PV SET DOCUMENT PROPERTY.
Columnas: las columnas se nombran con letras. Dependiendo de las propiedades del área, el número de columnas puede
exceder las 26 letras del alfabeto. La codificación se realiza utilizando varias letras, empezando de nuevo desde la letra "A"
(AA, AB, AC, etc., AZ, BA, BB, etc.)
Para los comandos que llaman al número de columna, el acuerdo entre el número de columna/ nombre de la columna, por
defecto es:
Nombre de columna Número de columna
A
B
C
[...]
Y
Z
AA
AB
AC
etc.
1
2
3
25
26
27
28
29
PV DELETE CELLS
PV DELETE CELLS ( area ; columna ; linea ; numero ; direccion )
Parámetro
area
columna
linea
numero
direccion
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna
Número de línea
Número de celdas a eliminar
Dirección de supresión
Descripción
El comando PV DELETE CELLS borra la celda numero en area a partir de la celda definida por columna y linea.
El parámetro direccion permite indicar si las celdas existentes deben moverse hacia arriba o a la izquierda. Utilice las constantes
pv to the left o pv to the top del tema para definir este parámetro:
Constante
Tipo
Valor
pv to the left
pv to the top
Entero largo
Entero largo
2
3
Nota: este comando no debe llamarse en un área dinámica. De lo contrario, se genera el errror 86.
Ejemplo
El siguiente ejemplo borra la celda ubicada en la intersección de la columna 2 y 2. Las otras celdas se moverán hacia arriba:
PV DELETE CELLS(area;2;2;1;pv to the top)
PV DELETE COLUMNS
PV DELETE COLUMNS ( area ; inicio ; numero )
Parámetro
area
inicio
numero
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la columna de inicio
Número de columnas a eliminar
Descripción
El comando PV DELETE COLUMNS borra numero columna(s) en area a partir de la columna definida por inicio.
Nota: este comando no debe llamarse en un área dinámica. De lo contrario, se genera el error 86.
Ejemplo
Borramos la primera columna (A) del array, para pasar el resto del área de una columna a la izquierda:
PV DELETE COLUMNS(Area;1;1)
PV DELETE ROWS
PV DELETE ROWS ( area ; inicio ; numero )
Parámetro
area
inicio
numero
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la línea de inicio
Número de líneas a eliminar
Descripción
El comando PV DELETE ROWS borra numero línea(s) en area a partir de la línea definida por inicio.
Nota: este comando no debe llamarse en un área dinámica. De lo contrario, se genera el error 86.
Ejemplo
Borramos la primera línea (1) de la tabla, para subir el resto del área de una línea hacia arriba:
PV DELETE ROWS(Area;1;1)
PV GET COLUMN HEADER
PV GET COLUMN HEADER ( area ; columna ; titulo )
Parámetro
area
columna
titulo
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de la columna
Nombre de la columna
Descripción
El comando PV GET COLUMN HEADER obtiene el titulo actual de la columna especificada.
Para mayor información sobre el nombre por defecto de líneas y columnas, consulte la sección PV Columnas y líneas,
Introducción.
Ejemplo
Consulte el ejemplo del comando PV SET COLUMN HEADER.
PV Get column width
PV Get column width ( area ; columna ) -> resultado
Parámetro
area
columna
resultado
Tipo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna
Ancho de la columna (en píxeles)
Descripción
El comando PV Get column width devuelve el ancho (en píxeles) de la columna especificada.
Ejemplo
Consulte los ejemplos de los comandos PV SET COLUMNS WIDTH y PV ADD VERT SPLITTER.
PV Get row header
PV Get row header ( area ; linea ) -> Resultado
Parámetro
area
linea
Resultado
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de línea
Nombre de la línea
Descripción
El comando PV Get row header devuelve el nombre actual de la linea especificada.
Para mayor información sobre el nombre por defecto de las líneas y columnas, consulte la sección PV Columnas y líneas,
Introducción.
Ejemplo
Consulte el ejemplo del comando PV SET COLUMN HEADER.
PV Get row height
PV Get row height ( area ; linea ) -> resultado
Parámetro
area
linea
resultado
Tipo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de línea
Altura de la línea
Descripción
El comando PV Get row height devuelve la altura en píxeles de la linea especificada.
Ejemplo 1
Consulte el ejemplo del comando PV SET COLUMNS WIDTH.
Ejemplo 2
Desde la versión 2004.5 de 4D, el comando Print form permite imprimir áreas 4D View. Generalmente, estas áreas se imprimen
con una altura fija. El siguiente ejemplo muestra cómo utilizar los comandos de impresión de 4D y el comando PV Get row height
para variar la altura de impresión del área 4D View en función de su contenido.
Este es el método de formulario llamado por el comando Print form:
If(Form event=On Printing Detail)
GET OBJECT RECT(4DViewarea;$left;$top;$right;$bottom)
$posmarker:=Get print marker(Form detail)
$areaheight:=$bottom-$top
$newheight:=4DViewSizeCalcul
`4DViewSizeCalcul devuelve la altura del área 4D View dependiendo de su contenido
`Este método se muestra a continuación
$offset:=$newheight-$areaheight
MOVE OBJECT(4DViewarea;0;0;0;$offset)
SET PRINT MARKER(Form detail;$posmarker+$offset)
End if
El método 4DViewSizeCalcul es el siguiente:
$area:=PV New offscreen area
PV BLOB TO AREA($area;[Table 1]View_)
PV EXECUTE COMMAND($area;pv cmd edit go to last cell)
PV GET CURRENT CELL($area;$column;$row)
$height:=0
For($i;1;$row)
$rowHeight:=PV Get row height($area;$i)
$height:=$height+$rowHeight
End for
PV DELETE OFFSCREEN AREA($area)
$0:=Trunc($height*0.75;0)
PV INSERT CELLS
PV INSERT CELLS ( area ; columna ; linea ; numero ; direccion )
Parámetro
area
columna
linea
numero
direccion
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la columna
Número de línea
Número de celdas a insertar
Sentido de inserción
Descripción
El comando PV INSERT CELLS inserta numero celdas(s) en area a partir de la celda definida por columna y linea.
El parámetro direccion permite definir si las celdas existentes deben desplazarse hacia abajo o a la derecha. Utilice las
constantes pv to the right o pv to the bottom del tema PV Direcciones:
Constante
Tipo
Valor
pv to the bottom
pv to the right
Entero largo
Entero largo
1
0
Nota: este comando no debe llamarse al interior de un área dinámica. De lo contrario, se genera el error 86.
Ejemplo
El siguiente ejemplo inserta dos celdas a partir de la columna 1 y de la línea 1. Las celdas existentes se moverán hacia abajo:
PV INSERT CELLS(area;1;1;2;pv to the bottom)
PV INSERT COLUMNS
PV INSERT COLUMNS ( area ; inicio ; numero )
Parámetro
area
inicio
numero
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la columna antes de la cual se insertarán las nuevas columnas
Número de columnas a insertar
Descripción
El comando PV INSERT COLUMNS inserta numero columna(s) en area a partir de la columna definida por inicio. La columna(s)
se insertará antes de la columna definida por inicio.
Nota: este comando no debe llamarse dentro de un área dinámica. De lo contrario, se genera el error 86.
Ejemplo
Insertamos una columna antes de la primera columna (A) de la tabla, pará mover el contenido del área de una columna a la
derecha:
PV INSERT COLUMNS(Area;1;1)
PV INSERT ROWS
PV INSERT ROWS ( area ; inicio ; numero )
Parámetro
area
inicio
numero
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la línea antes de la cual se insertarán las líneas
Número de líneas a insertar
Descripción
El comando PV INSERT ROWS inserta numero línea(s) en area a partir de la línea definida por inicio. Las líneas se insertan
delante de la línea definida por inicio.
Nota: este comando no debe llamarse dentro de un área dinámica. De lo contrario, se genera el error 86.
Ejemplo
Insertamos una línea antes de de la primera línea (1) de la tabla, para mover el contenido del área de una línea hacia abajo:
PV INSERT ROWS(Area;1;1)
PV SET COLUMN HEADER
PV SET COLUMN HEADER ( area ; columna ; titulo )
Parámetro
area
columna
titulo
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna
Nombre de la columna
Descripción
El comando PV SET COLUMN HEADER permite definir el titulo de la columna.
Para mayor información sobre los nombres por defecto de las líneas y columnas, consulte la sección PV Columnas y líneas,
Introducción.
Ejemplo
En este ejemplo, asignaremos un nuevo nombre a las primeras 10 columnas y líneas del área.
C_INTEGER($Index) `Índice de bucle
C_STRING(80;$Title) `Nombre de columna/línea
For($Index;1;10)
PV GET COLUMN HEADER(Area;$Index;$Title) `Recuperación del encabezado de la columna $Index
$Title:="Column"+$Title" `Modificación del título
PV SET COLUMN HEADER(Area;$Index;"C"+$Title) `Asignar nuevo nombre
`Leer, modificar y asignar nuevo nombre a la línea $Index
PV SET ROW HEADER(Area;$Index;"L"+PV Get row header(Area;$Index))
End for
PV SET COLUMNS WIDTH
PV SET COLUMNS WIDTH ( area ; primera ; ultima ; ancho )
Parámetro
area
primera
ultima
ancho
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de la primera columna
Número de la última columna
Ancho de la columna (en píxeles)
Descripción
El comando PV SET COLUMNS WIDTH permite modificar el ancho (en píxeles) de las columnas de area ubicadas entre las
columnas primera y ultima.
Nota: si pasa 0 (cero) en los parámetros primero y ultimo, el ancho definido se aplicará a todas las columnas del area y se
convertirá en el ancho por defecto de las columnas en area. El ancho por defecto se aplica sobre todo cuando el usuario hace
doble clic en el separador derecho de una columna.
Ejemplo
Este ejemplo presenta una animación de redimensionamiento de líneas y columnas:
C_LONGINT($Column;$Row) `Índice del bucle principal
C_LONGINT($Width;$Height) `Índice del bucle de agrandamiento de la columna y de la línea
C_LONGINT($StartWidth) `Ancho original de la columna Xth
C_LONGINT($RequestWidth) `Ancho solicitado de la columna Xth
`Inicializamos
$StartWidth:=5 `Fijamos el ancho original
$RequestWidth:=$StartWidth+5 `10 puntos de ancho para la primera columna
For($Column;1;5) `Tratamos las primeras 5 columnas
$Row:=$Column `Sólo para las primeras cinco líneas
For($Width;$StartWidth;$RequestWidth;2) `Para la columna "$Column"...
$Height:=$Width-5 `Actualización de la altura
PV SET ROWS HEIGHT(area;$Row;$Row;PV Get row height(area;$Row)+$Height) `1 línea
PV SET COLUMNS WIDTH(area;$Column;$Column;PV Get column width(area;$Row)+$Width) `1
columna
PV REDRAW(area) `Refrescar
End for
$StartWidth:=$RequestWidth `No comenzar desde el principio
$RequestWidth:=$RequestWidth+5 `Aumento para la próxima columna
End for
PV SET ROW HEADER
PV SET ROW HEADER ( area ; linea ; titulo )
Parámetro
area
linea
titulo
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de línea
Nombre de la línea
Descripción
El comando PV SET ROW HEADER permite definir el titulo de la linea especificada.
Para mayor información sobre el título por defecto de las líneas y columnas, consulte la sección PV Columnas y líneas,
Introducción.
Ejemplo
Consulte el ejemplo del comando PV SET COLUMN HEADER.
PV SET ROWS HEIGHT
PV SET ROWS HEIGHT ( area ; primera ; ultima ; altura )
Parámetro
area
primera
ultima
altura
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de la primera línea
Número de la última línea
Altura de la línea (en píxeles)
Descripción
El comando PV SET ROWS HEIGHT permite modificar la altura (en píxeles) de las líneas de area ubicada entre las líneas
primera y última.
Nota: si pasa 0 (cero) en los parámetros primera y ultima, la altura definida se aplicará a todas las líneas de area y se convertirá
en la nueva altura estándar de las líneas de area. La altura estándar se aplica cuando el usuario hace doble clic en el separador
inferior de una línea.
Ejemplo
Consulte el ejemplo del comando PV SET COLUMNS WIDTH.
PV Documento
PV Documento, Introducción
PV EXPORT
PV GET DOCUMENT INFO
PV Get document property
PV OPEN DOCUMENT
PV SAVE DOCUMENT
PV SET DOCUMENT INFO
PV SET DOCUMENT PROPERTY
PV Documento, Introducción
Los comandos de este tema permiten manipular los documentos legibles por 4D View.
Estos comandos permiten guardar o abrir documentos desde el disco y también definir y obtener por programación la información
relacionada: título, autor, etc., así como el número de líneas y columnas por defecto.
PV EXPORT
PV EXPORT ( area ; doc ; remplazar ; formato )
Parámetro
area
doc
remplazar
formato
Tipo
Entero largo
Cadena
Entero
Entero largo
Descripción
Área 4D View
Nombre del documento o cadena vacía
0 = No remplazo; 1 = Remplazo
Formato del documento
Descripción
El comando PV EXPORT exporta el area 4D View, o en el área de exportación, como documento del disco.
En documento, pase el nombre y la ruta de acceso completa del documento a exportar. Si pasa una cadena vacía en este
parámetro, aparece una caja de diálogo de exportación de archivos y el usuario puede especificar el nombre y la ubicación del
documento. En este caso, si el usuario hace clic en el botón Cancelar, el documento no se exporta.
Si un documento con el mismo nombre existe en el lugar indicado, PV EXPORT sobrescribe o no el archivo de acuerdo con el
valor del parámetro remplazar. En este caso, cuando remplazar es 0, no hay error. Error 26: "El documento ya existe". Si el
nombre fue definido por el usuario (cadena vacía en el documento), es el sistema operativo que muestra la confirmación
tradicional "Este documento ya existe...", cualquiera que sea el valor del parámetro remplazar.
Utilice las constantes del tema PV Formato documento para definir el parámetro formato, permitiendo especificar el formato de
registro del documento:
Constante
Tipo
Valor
pv html
Entero largo
3
pv sylk
Entero largo
2
pv tab tab return
Entero largo
1
Nota: la constante de formato de documento pv view no se puede aplicar a este comando.
A diferencia del comando PV SAVE DOCUMENT (que guarda la totalidad de un área), el comando PV EXPORT permite
registrar sólo el área de exportación del documento. El área de exportación puede ser definida manualmente por el usuario
(Archivo/Área de exportación>Definir), o por programación con la instrucción PV EXECUTE(area; pv cmd export area set).
El área de exportación se compone de las celdas seleccionadas en el momento de la definición del área. Por defecto, el área de
exportación se compone de la totalidad del documento.
Ejemplo
El siguiente ejemplo permite exportar al formato HTML el conjunto de las celdas seleccionadas en un área. Si ninguna celda está
seleccionada al momento de la exportación, se define un rango arbitrario:
ARRAY
ARRAY
ARRAY
ARRAY
LONGINT($ALleft;0) `Números de columna de las celdas de la izquierda
LONGINT($ALtop;0) `Números de línea de las celdas de arriba
LONGINT($ALright;0) `Números de columna de las celdas de la derecha
LONGINT($ALbottom;0) `Números de línea de las celdas de abajo
PV GET SELECTED RANGES LIST(area;$ALleft;$ALtop;$ALright;$ALbottom)
If(Size of array($ALleft)=0) `Ninguna celda está seleccionada
PV SELECT RANGE(area;2;4;5;7;pv selection set) `Rango arbitrario
Else
PV SELECT RANGES LIST(area;$ALleft;$ALtop;$ALright;$ALbottom;pv selection set)
End if
`Reducimos el área de exportación al rango seleccionado
PV EXECUTE COMMAND(area;pv cmd export area set)
PV EXPORT(area;"";1;pv html)
`To initialize export area for the whole document
PV EXECUTE COMMAND(area;pv cmd export area clear)
PV GET DOCUMENT INFO
PV GET DOCUMENT INFO ( area ; titulo ; tema ; autor ; empresa ; comentario ; fechaCreacion ; horaCreacion ; fechaModif ;
horaModif )
Parámetro
area
titulo
tema
autor
empresa
comentario
fechaCreacion
horaCreacion
fechaModif
horaModif
Tipo
Entero largo
Cadena
Cadena
Cadena
Cadena
Texto
Fecha
Hora
Fecha
Hora
Descripción
Área 4D View
Título del documento
Tema del documento
Autor del documento
Nombre de la empresa
Comentario
Fecha de creación
Hora de creación
Última fecha de modificación
Hora de la última modificación
Descripción
El comando PV GET DOCUMENT INFO recupera en los parámetros: titulo, tema, autor, empresa y comentario, la información
del documento mostrada en el area 4D View. Esta información podría haber sido introducida por el usuario o por programación
utilizando el comando PV SET DOCUMENTO.
El comando también devuelve en fechaCreacion, horaCreacion, fechaModifi y horaModif la información sobre la la fecha y hora
de creación/modificación del documento, y es actualizada automáticamente por el sistema operativo cuando se guarda el
documento.
Ejemplo
Consulte el ejemplo del comando PV SET DOCUMENT INFO.
PV Get document property
PV Get document property ( area ; opción ) -> Resultado
Parámetro
area
opción
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get document property devuelve el valor actual de la propiedad designada por el parámetro opcion para el
documento en area.
Utilice las constantes del tema para definir el parámetro opcion:
Constante
Tipo
Valor
pv column count
pv document modified
pv no external call
pv picture count
pv row count
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
4
3
2
1
Ejemplo
Creamos un método que indica el número de columnas, líneas e imágenes del área 4D View pasada en el primer parámetro.
C_LONGINT($ColNum) `Número de columnas
C_LONGINT($RowNum) `Número de líneas
C_LONGINT($PicNum) `Número de imágenes
$ColNum:=PV Get document property(Area;pv column coun)
$RowNum:=PV Get document property(Area;pv row coun)
$PicNum:=PV Get document property(Area;pv picture count)
ALERT("El área 4D View contiene "+String($ColNum)+" columna"+("s"*Num($ColNum>1))
+" y "+String($RowNum)+" línea"+("s"*Num($RowNum>1))
+". Contiene "+String($PicNum)+" imagen"+("s"*Num($PicNum>1))+".")
PV OPEN DOCUMENT
PV OPEN DOCUMENT ( area ; doc ; plantilla )
Parámetro
area
doc
plantilla
Tipo
Entero largo
Cadena
Entero
Descripción
Área 4D View
Nombre del documento o cadena vacía
0 = Documento; 1 = Plantilla
Descripción
El comando PV OPEN DOCUMENT abre en area el nomArchivo solicitado.
Pase en nomArchivo la ruta de acceso completa del documento a abrir. Si pasa una cadena vacía ("") en este parámetro,
aparece una caja de diálogo estándar de apertura de archivos y el usuario puede seleccionar el documento. Si el usuario hace
clic en Cancelar en este caso, ningún documento se abrirá.
El parámetro plantilla permite establecer si el documento debe abrirse como un documento estándar (plantilla = 0) o como una
plantilla (plantilla = 1).
Cuando se abre un documento como una plantilla, realmente se crea un nuevo documento "Sin título", que contiene una copia del
documento solicitado. El documento original permanece intacto.
Si el valor de plantilla es 1, el documento se abre como si se tratara de una plantilla, independientemente de su estado actual
(documento o plantilla), definido por PV SAVE DOCUMENT.
Nota: el mecanismo de "plantillas de documento" es administrado por el sistema operativo. Es diferente del que se utiliza para las
"plantillas" 4D View, adjunto a las áreas incluidas (accesibles mediante el comando de menú Guardar como plantilla).
Para más información sobre las plantillas de áreas, consulte el manual del usuario de 4D View (PDF).
Ejemplo
Apertura de una caja de diálogo estándar de apertura de archivo, aplicada a 4D View:
PV OPEN DOCUMENT(Area;"";0) `Elección de un documento
Variables y conjuntos del sistema
La variable sistema Document contiene el nombre o la ruta de acceso y el nombre del archivo disco abierto por última vez (ver el
manual Lenguaje de 4D, sección Variables de sistema).
La variable sistema OK utiliza 1 como su valor si el documento se abrió correctamente.
PV SAVE DOCUMENT
PV SAVE DOCUMENT ( area ; doc ; plantilla ; remplazar ; formato )
Parámetro
area
doc
plantilla
remplazar
formato
Tipo
Entero largo
Cadena
Entero
Entero
Entero largo
Descripción
Área 4D View
Nombre del documento o cadena vacía
0 = Documento; 1 = Plantilla
0 = No remplazo; 1 = Remplazo
Formato del documento
Descripción
El comando PV SAVE DOCUMENT guarda el area 4D View como un documento en disco.
Pase en documento el nombre y la ruta de acceso completa del documento a guardar. Si pasa una cadena vacía en este
parámetro, aparecerá una caja de diálogo estándar de guardar archivos y el usuario podrá seleccionar el nombre y la ruta del
documento. Si el usuario hace clic en el botón Cancelar, el documento no se guarda.
El parámetro plantilla permite establecer si el documento debe ser guardado como un documento estándar (plantilla = 0) o como
una plantilla (plantilla = 1). Para más información sobre las plantillas, consulte la descripción del comando PV OPEN
DOCUMENT.
Si existe un documento con el mismo nombre en el área indicada, PV SAVE DOCUMENT puede sobrescribir el archivo existente
en función del valor del parámetro remplazar. En este caso, si remplazar vale 0, se devuelve el error # 26: "Este documento ya
existe." Si el nombre fue creado por el usuario (cadena vacía en documento), el sistema operativo mostrará la confirmación
tradicional "Este documento ya existe", independientemente del valor de remplazar.
Si el documento de destino es utilizado por otra área 4D View, PV SAVE DOCUMENT devuelve un error si se trata de una
plantilla o no.
Utilice las constantes del tema PV Formato documento para definir el parámetro formato, que permite configurar el formato en
que desea guardar el documento:
Constante
Tipo
Valor
pv html
pv sylk
pv tab tab return
pv view
Entero largo
Entero largo
Entero largo
Entero largo
3
2
1
0
Ejemplo
Después de abrir un documento externo con el comando PV OPEN DOCUMENT, instalamos un método de retrollamada
detectando el cambio de celda activa.
C_BOOLEAN(FlagModifiedArea)
PV ON EVENT(Area;pv on active cell changed;"EventMethod")
El código del método proyecto EventMethod es el siguiente:
C_LONGINT($1)
C_LONGINT($2)
C_LONGINT($3)
C_LONGINT($4)
C_LONGINT($5)
C_LONGINT($6)
C_BOOLEAN($0)
`Referencia del área 4D View
`Tipo de evento
`Código de la tecla de modificación
`Número de la columna
`Número de la línea
`Código Ascii de la tecla
`Valor a devolver
$0:=False
FlagModifiedArea:=True `Área modificada
Si el documento se modificó, el usuario luego puede guardar el documento modificado y ponerle el nombre que desee:
If(FlagModifiedArea) `¿Documento modificado?
CONFIRM("¿Quiere guardar este documento como una plantilla?";"Template";"Document")
`Esta será una plantilla si el diálogo se confirma OK=1)
PV SAVE DOCUMENT(Area;"";OK;1;pv view)
End if
Variables y conjuntos del sistema
La variable sistema OK toma el valor 1 si el documento se ha guardado correctamente.
PV SET DOCUMENT INFO
PV SET DOCUMENT INFO ( area ; titulo ; tema ; autor ; empresa ; comentario )
Parámetro
area
titulo
tema
autor
empresa
comentario
Tipo
Entero largo
Cadena
Cadena
Cadena
Cadena
Texto
Descripción
Área 4D View
Título del documento
Asunto del documento
Autor del documento
Nombre de la empresa
Comentario
Descripción
El comando PV SET DOCUMENT INFO asocia al documento en area la información pasada en los parámetros titulo, tema,
autor, empresa y comentario. Esta información corresponde a la información presentada en la caja de diálogo "Información" del
documento (menú Herramientas/Información documento...).
Ejemplo
En casos como un área 4D View incluida en un formulario, la información relativa a esta área se actualiza cada vez que un usuario
modifica o crea un registro utilizando este formulario.
C_STRING(255;$Title) `Título del documento
C_STRING(255;$Subject) `Asunto del documento
C_STRING(255;$Author) `Autor del documento
C_STRING(255;$Company) `Nombre de la empresa
C_TEXT($Comment) `Comentario
C_DATE($CreationDate) `Fecha de creación del documento
C_TIME($CreationTime) `Hora de creación del documento
C_DATE($ModificationDate) `Fecha de la última modificación al documento
C_TIME($ModificationTime) `Hora de la última modificación al documento
`Recuperación de la información relativa al documento
PV GET DOCUMENT INFO($1;$Title;$Subject;$Author;$Company;$Comment;$CreationDate;
$CreationTime;$ModificationDate;$ModificationTime)
$Title:=Request("¿Cuál es el título del documento?";$Title)
$Subject:=Request("¿Cuál es el tema del documento?";$Subject)
$Author:=Request("¿Cuál es su nombre?";$Author)
$Company:=Request("¿Cuál es su empresa?";$Company)
$Comment:=Request("¿Comentarios?";$Comment)
PV SET DOCUMENT INFO(Area;$Title;$Subject;$Author;$Company;$Comment) `Actualizar la información
PV SET DOCUMENT PROPERTY
PV SET DOCUMENT PROPERTY ( area ; opción ; valor )
Parámetro
area
opción
valor
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET DOCUMENT PROPERTY fija el valor de la propiedad designada por opcion para el documento 4D View
en area.
Utilice las constantes del tema PV Propiedades documento para definir el parámetro opcion:
Constante
Tipo
Valor
pv column count
pv document modified
pv no external call
pv row count
Entero largo
Entero largo
Entero largo
Entero largo
0
4
3
1
Ejemplo 1
Este método genérico permite definir el número de columnas y/o líneas para una nueva area 4D View (durante la carga de un
formulario, por ejemplo).
PV SET DOCUMENT PROPERTY(Area;pv column count;10) `10 columnas
PV SET DOCUMENT PROPERTY(Area;pv row count;20) `20 líneas
Ejemplo 2
Este método, asociado por ejemplo a un botón de cierre de un documento 4D View, permite no mostrar la caja de diálogo de
alerta que indica que el área se ha modificado:
If(PV Get document property(Area;pv document modified)#0)
PV SET DOCUMENT PROPERTY(Area;pv document modified;0) `0 = no modificada, 1 = modificada
End if
PV Estilo
PV Estilo, Introducción
PV Add font
PV Add format
PV Add style
PV GET FONT LIST
PV GET FORMAT LIST
PV GET STYLE LIST
PV Get style property
PV REMOVE FONT
PV REMOVE FORMAT
PV REMOVE STYLE
PV SET FORMAT
PV SET STYLE NAME
PV SET STYLE PROPERTY
PV Estilo, Introducción
Los comandos y funciones de este tema permiten controlar los estilos asociados con un área 4D View.
Ellos dan acceso a las hojas de estilo existentes y permiten la modificación, por programación, cada una de las propiedades de
formato: formatos de visualización, fuentes disponibles, colores y atributos.
Por último, estos comandos permiten controlar la aplicación y actualización de las hojas de estilo en sus documentos.
Hojas de estilo
En 4D View, las hojas de estilo son accesibles utilizando su número de referencia, enteros largos.
Por defecto, hay tres tipos permanentes de hojas de estilo:
Encabezados de líneas/columnas
Celdas
Encabezados y pies de página
Puede crear, modificar o borrar sus propias hojas de estilos, asociándolas a un área específica. Se guardan con el área 4D View,
ya sea en un documento externo o dentro de los mismos datos de 4D.
Fuentes de caracteres
Por defecto, todas las fuentes del sistema están disponibles en un área 4D View. Sin embargo, algunos comandos permiten la
gestión de fuentes que pueden o no ser utilizadas en un área 4D View. Eliminar una fuente en 4D View significa que no se puede
utilizar dentro del área correspondiente. Ya no será posible llamar la fuente desde el área, sin embargo, estará disponible para
otras áreas 4D View, así como en 4D y en otras aplicaciones.
Formatos
Al igual que en 4D, los formatos se aplican durante la visualización de la información.
Para más información sobre cómo definir los formatos de visualización, consulte el Manual Diseño de 4D.
PV Add font
PV Add font ( area ; nombre ) -> Resultado
Parámetro
area
nombre
Resultado
Tipo
Entero largo
Cadena
Entero largo
Descripción
Área 4D View
Nombre de la fuente
Número de la fuente
Descripción
El comando PV Add font asocia la fuente nombre al area y devuelve su identificación única.
Si nombre ya existe, el comando PV Add font devuelve su identificador (el número también se puede obtener utilizando el
comando PV GET FONT LIST).
Para mayor información sobre el funcionamiento de las fuentes asociadas a un área 4D View, consulte la sección PV Estilo,
Introducción.
Ejemplo
Este método funciona en conmutación (switch): elimina una fuente del área 4D View o, por el contrario, la asocia si fue eliminada
anteriormente.
C_STRING(255;$NomFuente) `Nombre de fuente a añadir/eliminar de Area
ARRAY LONGINT($FontNumArray;0) `Array de los números de fuentes
ARRAY STRING(255;$FontNameArray;0) `Array de los nombres de fuentes
C_INTEGER($Posicion) `Posición de la fuente en los arrays de números y de nombres
$FontName:="Arial"
PV GET FONT LIST(Area;$FontNumArray;$FontNameArray) `Lista de las fuentes disponibles
$Position:=Find in array($FontNameArray;$NomFuente)
If($Posicion=-1) `¿Fuente $FontName no disponible para el área?
$Position:=Size of array($FontNameArray)+1 `La añadiremos
INSERT IN ARRAY($FontNameArray;$Posicion) `Redimencionamiento...
INSERT IN ARRAY($FontNumArray;$Posicion) `...arrays
$FontNameArray{$Posicion}:=$NomFuente `Asignación del nombre de la nueva fuente
$FontNumArray{$Posicion}:=PV Add font(Area;$NomFuente) `Asignación del número de la fuente
Else `Fuente $FontName presente en el área
PV REMOVE FONT(Area;$FontNumArray{$Posicion}) `La eliminamos
End if
PV Add format
PV Add format ( area ; cadena ) -> Resultado
Parámetro
area
cadena
Resultado
Tipo
Entero largo
Cadena
Entero largo
Descripción
Área 4D View
Cadena del formato
Número del formato
Descripción
El comando PV Add format asocia el formato cadena al area y devuelve su identificador único.
Si cadena ya existe, el comando PV Add format devuelve su identificación (este número también se puede obtener utilizando el
comando PV GET FORMAT LIST).
Ejemplo
Queremos borrar el formato monetario americano disponible para el area activa, pero debemos asegurarnos de la presencia del
formato monetario europeo (Euros).
C_STRING(255;$OldFormat) `Cadena del formato a eliminar de Area
C_STRING(255;$NewFormat) `Cadena del formato a añadir a Area
ARRAY LONGINT($FormatNumArray;0) `Array de los números de formatos
ARRAY STRING(255;$FormatStringArray;0) `Array de las cadenas de formatos
C_INTEGER($Position) `Posicion del formato a eliminar en los arrays de números y de nombres
$OldFormat:="$###,##0.00"
$NewFormat:="### ##0,00 EUR"
PV GET FORMAT LIST(Area;$FormatNumArray;$FormatStringArray) `Lista de los formatos disponibles
$Position:=Find in array($FormatStringArray;$OldFormat)
If($Position#-1) `¿Formato a eliminar presente en area?
PV REMOVE FORMAT(Area;$FormatNumArray{$Position}) `Eliminarlo
End if
`¿Formato a añadir no disponible en area?
If(Find in array($FormatStringArray;$NewFormat)=-1)
$Position:=Size of array($FormatStringArray)+1 `Lo añadimos
INSERT IN ARRAY($FormatStringArray;$Position) `Redimensionamiento...
INSERT IN ARRAY($FormatNumArray;$Position) `...arrays
$FormatStringArray{$Position}:=$NewFormat `Asignación del nuevo formato
$FormatNumArray{$Position}:=PV Add format(Area;$NewFormat) `Asignación del número
End if
PV Add style
PV Add style ( area ; nombre ) -> Resultado
Parámetro
area
nombre
Resultado
Tipo
Entero largo
Cadena
Entero largo
Descripción
Área 4D View
Nombre de la hoja de estilo
Número de la hoja de estilo
Descripción
El comando PV Add style añade una hoja de estilo a area utilizando el parámetro nombre y devuelve su identificación única.
Si el nombre de la hoja de estilo ya existe, el comando PV ADD STYLE devuelve su identificación (este número también se puede
obtener utilizando el comando PV GET STYLE LIST).
Ejemplo
Consulte el ejemplo del comando PV SET STYLE PROPERTY.
Gestión de errores
Si ya existe una hoja de estilo con el mismo nombre, un error es devuelto por area.
PV GET FONT LIST
PV GET FONT LIST ( area ; fuentes ; nombres )
Parámetro
area
fuentes
nombres
Tipo
Entero largo
Array entero largo
Array cadena
Descripción
Área 4D View
Arrays de números de fuentes
Arrays de los nombres de fuentes
Descripción
El comando PV GET FONT LIST recupera en los arrays fuentes y nombres, el número de identificación y el nombre de cada
fuente en area.
Ejemplo
Consulte el ejemplo del comando PV Add font.
PV GET FORMAT LIST
PV GET FORMAT LIST ( area ; formatos ; cadenas )
Parámetro
area
formatos
cadenas
Tipo
Entero largo
Array entero largo
Array cadena
Descripción
Área 4D View
Array de números de formatos
Array de cadenas de formatos
Descripción
El comando PV GET FORMAT LIST recupera en los arrays formatos y cadenas, los IDs y la cadenas para cada formato presente
en area.
Ejemplo
Consulte el ejemplo del comando PV Add format.
PV GET STYLE LIST
PV GET STYLE LIST ( area ; hojasEstilo ; nombres )
Parámetro
area
hojasEstilo
nombres
Tipo
Entero largo
Array entero largo
Array cadena
Descripción
Área 4D View
Números de las hojas de estilo
Nombres de las hojas de estilo
Descripción
El comando PV GET STYLE LIST recupera en hojaEstilos y nombres, el número de identificación y el nombre de cada hoja de
estilo presente en area.
Ejemplo
Consulte los ejemplos de los comandos PV REMOVE STYLE, PV SET STYLE NAME y PV SET STYLE PROPERTY.
PV Get style property
PV Get style property ( area ; estilo ; propiedad ) -> Resultado
Parámetro
area
estilo
propiedad
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la hoja de estilo
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get style property devuelve el valor actual de la hoja de estilo especificada por estilo.
Utilice las constantes del tema PV Propiedades estilo para definir el parámetro propiedad.
Utilice las constantes del tema PV Valores estilo para definir el parámetro valor.
Ejemplo
Consulte el ejemplo del comando PV SET STYLE PROPERTY.
PV REMOVE FONT
PV REMOVE FONT ( area ; fuente )
Parámetro
area
fuente
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la fuente
Descripción
El comando PV REMOVE FONT suprime de area la fuente número fuente.
La eliminación de una fuente con este comando significa que ya no estará disponible en el área 4D View concerniente. Por
supuesto, la fuente no se elimina físicamente del sistema.
Ejemplo
Consulte el ejemplo del comando PV Add font.
PV REMOVE FORMAT
PV REMOVE FORMAT ( area ; formato )
Parámetro
area
formato
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
Número del formato
Descripción
El comando PV REMOVE FORMAT borra el formato del area.
Sólo los formatos creados utilizando el comando PV Add format pueden eliminarse. Los formatos nativos de 4D View no pueden
eliminarse.
Ejemplo
Consulte el ejemplo del comando PV Add format.
PV REMOVE STYLE
PV REMOVE STYLE ( area ; estilo )
Parámetro
area
estilo
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la hoja de estilo
Descripción
El comando PV REMOVE STYLE suprime estilo de area.
Nota: sólo los estilos añadidos en el área pueden suprimirse.
Ejemplo
Este método permite borrar un estilo no deseado.
C_STRING(255;$StyleName) `Nombre del estilo prohibido para Area
ARRAY LONGINT($StyleNumArray;0) `Array de números de estilos
ARRAY STRING(255;$StyleNameArray;0) `Array de nombres de estilos
C_INTEGER($Position) `Posición del estilo ilegal en los arrays de números y nombres
$StyleName:="subparagraph" `No queremos el estilo "subparagraph"
PV GET STYLE LIST(Area;$StyleNumArray;$StyleNameArray) `Lista de estilos disponibles
$Position:=Find in array($StyleNameArray;$StyleName) `Búsqueda del estilo ilegal
If($Position#-1) `¿Esta el estilo ilegal presente en Area?
PV REMOVE STYLE(Area;$StyleNumArray{$Position}) `Lo suprimimos
End if
PV SET FORMAT
PV SET FORMAT ( area ; formato ; cadena )
Parámetro
area
formato
cadena
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número del formato
Cadena del formato
Descripción
El comando PV SET FORMAT cambia la cadena de formato.
Ejemplo
Esta es una versión simplificada del ejemplo del comando PV Add format: el formato, en este caso, se remplaza abruptamente. El
nuevo formato no se crea si el anterior no está presente.
ARRAY LONGINT($ArrayFormatNum;0) `Array de números de formato(s)
ARRAY STRING(255;$ArrayFormatStrings;0)&nbsp;&nbsp; `Array de cadenas de formato(s)
C_INTEGER($Position) `Posición del formato a modificar en los arrays de números y de nombres
`Lista de formatos disponibles
PV GET FORMAT LIST(Area;$ArrayFormatNum;$ArrayFormatStrings)
$Position:=Find in array($ArrayFormatStrings;"$###,##0.00")
If($Position#-1) `¿Formato disponible pare el área?
`Modificación del formato
PV SET FORMAT(Area;$ArrayFormatNum{$Position};"### ##0,00 EUR")
End if
PV SET STYLE NAME
PV SET STYLE NAME ( area ; estilo ; nombre )
Parámetro
area
estilo
nombre
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de la hoja de estilo
Nombre de la hoja de estilo
Descripción
El comando PV SET STYLE NAME renombra la hoja de estilo estilo con la cadena de caracteres pasada en el parámetro nom.
Ejemplo
Este método le permite renombrar un estilo.
C_STRING(255;$StyleName) `Nombre del estilo a renombrar en Area
C_STRING(255;$NewName) `Nuevo nombre a asignar al estilo para el área Area
ARRAY LONGINT($StyleNumArray;0) `Array de números de estilos
ARRAY STRING(255;$StyleNameArray;0) `Array de nombres de estilos
C_INTEGER($Position) `Posición del estilo a renombrar en los arrays de números y nombres
$StyleName:="subparagraph" `Queremos renombrar el estilo "subparagraph"...
$NewName:="Paragraph" `... a "Paragraph"
PV GET STYLE LIST(Area;$StyleNumArray;$StyleNameArray) `Lista de estilos disponibles
$Position:=Find in array($StyleNameArray;$StyleName) `Búsqueda del estilo a renombrar
If($Position#-1) `¿El estilo a renombrar está en Area?
PV SET STYLE NAME(Area;$StyleNumArray{$Position};$NewName) `Renombrar
Else
ALERT("El estilo '"+$StyleName+"' no está en el área.")
End if
Gestión de errores
Si ya existe una hoja de estilo con el mismo nombre en el área, 4D View devuelve un error.
PV SET STYLE PROPERTY
PV SET STYLE PROPERTY ( area ; estilo ; propiedad ; valor )
Parámetro
area
estilo
propiedad
valor
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la hoja de estilo
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET STYLE PROPERTY fija el valor de propiedad para la hoja de estilo cuyo número es estilo.
Utilice las constantes del tema PV Propiedades estilo para definir el parámetro propiedad y las constantes del tema PV Valores
estilo para definir el parámetro valor. La elección de la constante a asignar al parámetro valor depende de la propiedad elegida:
Constante Tipo
Valor Comentario
Permite activar la función de ajustar cuando el contenido de la celda excede el ancho de la
misma. Valores asociados: constantes del tema PV Valores estilo.
pv style
automatic
word wrap
Entero
largo
33
pv style
based on
Entero
largo
4
Entero
largo
11
Entero
largo
12
Entero
largo
17
Entero
largo
18
Entero
largo
13
Entero
largo
14
Entero
largo
15
Entero
largo
16
Entero
largo
6
La celda utiliza el formato de visualización de texto cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
Entero
largo
8
La celda utiliza el formato de visualización booleano cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
pv style
color back
even
pv style
color back
odd
pv style
color minus
even
pv style
color minus
odd
pv style
color text
even
pv style
color text
odd
pv style
color zero
even
pv style
color zero
odd
pv style
format
alpha
pv style
format bool
pv value on: el contenido de la celda se mueve automáticamente a la siguiente línea si es
necesario.
pv value off: el contenido de la celda pasa a las celdas adyacentes si es necesario.
La celda utiliza como modelo la hoja de estilo cuyo número se pasa en el parámetro valor.
Valores asociados: números de hojas de estilo o constantes del tema PV Estilo valores
especiales.
Permite fijar el color de fondo de la celda si la celda está ubicada en una línea par. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color de fondo de la celda si está ubicada en una línea impar. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par y
su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar
y su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea par
y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea
impar y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV
RGB to color y PV Index to color).
La celda utiliza el formato de visualización fecha y hora cuyo número se pasa en el parámetro
valor. Valores asociados: constantes del tema PV Formato fecha hora.
pv style
format date
time
Entero
largo
9
pv Short: 02/21/02
pv Abbreviated: jue 21 feb 2002
pv Long: jueves 21 febrero 2002
pv Short2: 02/21/2002
pv Month Day Year: 21 febrero, 2002
pv Abbr Month Day Year: 21 feb, 2002
pv Day Name: jueves
pv Day Number: 21
pv Month Name: febrero
pv Month Number: 2
pv Year Number: 2002
pv Long H MM AM PM: jueves 21 febrero 2002 a las 12:30 PM
pv Abbreviated H MM AM PM: jue 21 feb 2002 a las 12:30 PM
pv Short HH MM SS: 02/21/02 a las 12:30:00
pv Month Day Year H MM AM PM: 21 febrero, 2002 a las12:30 PM
pv Short2 Hour Min Sec: 21/02/2002 y 12 horas 30 minutos 0 segundos
pv HH MM SS: 12:30:00
pv HH MM: 12:30
pv Hour Min Sec: 12 horas 30 minutos 0 segundos
pv Hour Min: 12 horas 30 minutos
pv HH MM AM PM: 12:30 PM
Nota: dependiendo de la configuración actual de su sistema, el resultado obtenido puede ser
diferente.
Permite forzar la visualización de la celda en texto bruto, es decir sin el formato aplicado por
4D View en función de su contenido (número, fecha, texto, etc.). Valores asociados: constantes
del tema PV Valores estilo.
pv style
format
forced text
Entero
largo
pv style
format num
Entero
largo
pv style
format
picture
Entero
largo
pv style
hidden
Entero
largo
32
7
10
pv value on: el contenido de la celda se muestra sin formato.
pv value off (por defecto): la celda se muestra con formato automático en función de su
contenido.
La celda utiliza el formato de visualización numérico cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
Nota: los números de los formatos de visualización por defecto corresponden a su posición en
el menú de selección del formato (caja de diálogo Formatos de celdas).
Permite definir el formato de visualización de la imagen asociada a la celda. Valores
asociados: constantes del tema PV Visualización imagen.
pv mapping trunc non-centered
pv mapping truncated centered
pv mapping replicated
pv mapping scaled to fit prop
pv mapping scaled to fit
pv mapping scaled centered prop
Permite fijar el bloqueo y ocultamiento de celdas. El contenido de una celda bloqueada u oculta
no se muestra y no puede modificarse, seleccionarse, etc. Valores asociados: constantes del
tema PV Valores estilo.
1
pv value on: celda bloqueda y oculta.
pv value off: celda no bloqueada ni oculta.
Permite fijar la alineación horizontal del contenido de la celda. Valores asociados: constantes
del tema PV Valores estilo.
pv style hor
alignment
pv style
locked
Entero
largo
Entero
largo
29
pv value hor alignment default: aplica la alineación horizontal por defecto a la celda.
pv value hor alignment left: aplica una alineación horizontal a la izquierda a la celda.
pv value hor alignment center: aplica una alineación horizontal centrada a la celda.
pv value hor alignment right: aplica una alineación horizontal a la derecha a la celda.
Permite fijar el bloqueo para el usuario de la celda. El contenido de una celda bloqueada no
puede modificarse, seleccionarse, etc. Valores asociados: constantes del tema PV Valores
estilo.
0
pv value on: celda bloqueada.
pv value off: celda no bloqueada.
Permite fijar la rotación del contenido de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style
rotation
Entero
largo
31
pv value rotation 0: no aplica rotación a la celda.
pv value rotation 90: aplica una rotación de 90° a la izquierda.
pv value rotation 180: aplica una rotación de 180°.
pv value rotation 270: aplica una rotación de 270° a la izquierda.
Permite aplicar una corrección ortográfica a la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style
spellcheck
Entero
largo
2
pv value on: se aplica corrección ortográfica a la celda.
pv value off: no se aplica corrección ortográfica a la celda.
Permite fijar el atributo Negrita al texto de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style text
bold
Entero
largo
22
pv value on: aplica el atributo Negrita a la celda.
pv value off: no aplica el atributo Negrita a la celda.
Permite fijar el atributo Condensado al texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
condensed
Entero
largo
27
pv value on: aplica el atributo Condensado a la celda.
pv value off: no aplica el atributo Condensado a la celda.
Permite fijar el atributo Extendido del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
Entero
28
extended
largo
pv style text
face
pv style text
font
Entero
largo
Entero
largo
pv style text
italic
Entero
largo
28
21
19
23
pv value on: aplica el atributo Extendido a la celda.
pv value off: no aplica el atributo Extendido a la celda.
Permite fijar la hoja de estilo de la celda. Valores asociados: números de hojas d estilo o
constantes del tema PV Style special values.
Permite fijar la fuente de la celda. Valores asociados: números de fuentes (ver los comandos
PV Add font y PV GET FONT LIST).
Permite fijar el atributo Itálica del texto de la celda. Valores asociados: constantes del tema PV
Style values.
pv value on: aplica el atributo Itálica a la celda.
pv value off: no aplica el atributo Itálica a la celda.
Permite fijar el atributo Relieve del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
outline
Entero
largo
25
pv value on: aplica el atributo Relieve a la celda.
pv value off: no aplica el atributo Relieve a la celda.
Permite fijar el atributo Sombra al texto de la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style text
shadow
Entero
largo
26
pv style text
size
Entero
largo
20
pv value on: aplica el atributo Sombra a la celda.
pv value off: no aplica el atributo Sombra a la celda.
Permite definir el tamaño de la fuente de la celda. Valores asociados: tamaño en píxeles.
Permite fijar el atributo Subrayado para el texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
underline
Entero
largo
24
pv value on: aplica el atributo Subrayado a la celda.
pv value off: no aplica el atributo Subrayado a la celda.
Permite adaptar el tamaño de la celda en función de la altura de la imagen asociada. Valores
asociados: constantes del tema PV Valores estilo.
pv style
use picture
height
pv style
vert
alignment
Entero
largo
3
pv value on: el tamaño de la celda se adapta al tamaño de la imagen que contiene. Si
ninguna imagen está relacionada, la celda no se redimensiona.
pv value off: el tamaño de la celda no varía en función del tamaño de la imagen asociada.
Permite fijar la alineación vertical del contenido de la celda. Valores asociados: constantes del
tema PV Valores estilo.
Entero
largo
30
pv value vert alignment top: aplica una alineación superior a la celda.
pv value vert alignment center: aplica una alineación vertical centrada a la celda.
pv value vert alignment bottom: aplica una alineación inferior vertical a la celda.
Si quiere definir las propiedades de las hojas de estilo por defecto, pase una de las constantes del tema PV Estilo valores
especiales en el parámetro estilo:
Constante
Tipo
Valor Comentario
Entero -1
Hoja de estilo por defecto llamada "Celdas”, aplicada a las celdas.
largo
pv style col row
Entero -2
Hoja de estilo por defecto llamada "Encabezado y pie de página", aplicada al
headers
largo
encabezado y al pie de página durante la impresión.
pv style page
Entero
Hoja de estilo por defecto llamada "Encabezados de líneas/columnas", aplicado a los
-3
footer header
largo
encabezados de columnas y de líneas.
Nota: estas hojas de estilo se pueden editar utilizando el comando Hojas de estilo del menú Formato de 4D View.
pv style cells
Ejemplo
Este método permite definir las propiedades de un nuevo estilo. En este ejemplo, vamos a definir un valor para cada una de las
tres propiedades de estilos a personalizar:
La propiedad "alineación horizontal" se convertirá en "a la izquierda",
La propiedad "alineación vertical" se convertirá en "centrado",
La propiedad "rotación" se convertirá en "90 grados".
ARRAY LONGINT($ArrayProps;3) `Array de propiedades de la hoja de estilo
ARRAY LONGINT($ArrayValues;3) `Valor de cada propiedad
C_STRING(255;$StyleName) `Nombre del estilo a añadir a Area
ARRAY LONGINT($StyleNumArray;0) `Array de los números de estilos
ARRAY STRING(255;$StyleNameArray;0) `Array de los nombres de estilos
C_INTEGER($Index) `Índice de bucle
C_INTEGER($Position) `Posición del nuevo estilo en los arrays de números y de nombres
`Inicialización
$ArrayProps{1}:=pv style hor alignment `Propiedades correspondientes...
$ArrayProps{2}:=pv style vert alignment
$ArrayProps{3}:=pv style rotation
$ArrayValues{1}:=pv value hor alignment left `...y valores
$ArrayValues{2}:=pv value hor alignment center
$ArrayValues{3}:=pv value rotation 90
$StyleName:="subparagraph"
PV GET STYLE LIST(Area;$StyleNumArray;$StyleNameArray) `Lista de estilos disponibles
If(Find in array($StyleNameArray;$StyleName)=-1) `¿Estilo $StyleName ausente?
$Position:=Size of array($StyleNameArray)+1 `Lo añadimos
INSERT IN ARRAY($StyleNameArray;$Position) `Redimensionamiento de los arrays
INSERT IN ARRAY($StyleNumArray;$Position)
$StyleNameArray{$Position}:=$StyleName `Asignación del nombre del nuevo estilo
$StyleNumArray{$Position}:=PV Add style(Area;$StyleName) `Asignación del número del nuevo
estilo
For($Index;1;Size of array($ArrayProps)) `Para todas las propiedades a definir
If(PV Get style
property(Area;$StyleNumArray{$Position};$ArrayProps{$Index})#$ArrayValues{$Index})
PV SET STYLE
PROPERTY(Area;$StyleNumArray{$Position};$ArrayProps{$Index};$ArrayValues{$Index})
End if `¿Propiedad no tiene el valor deseado?
End for `Revizar array $ArrayProps de las propiedades de la hoja de estilo
Else
ALERT("El estilo'"+$StyleName+"' ya está presente en el área.")
End if
PV Imágenes
PV Imágenes, introducción
PV Add picture
PV Create picture
PV Get picture
PV Get picture property
PV REMOVE PICTURE
PV SET PICTURE PROPERTY
PV Imágenes, introducción
Los comandos y las funciones de este tema permiten manipular las imágenes en sus áreas 4D View.
Por programación, puede insertar o eliminar imágenes. Estos comandos también le permiten obtener o modificar las propiedades
de cualquier imagen. Al modificar las propiedades de la imagen, puede modificar su apariencia, así como también la
transparencia, el tamaño y la posición.
Posición de la imagen
Una imagen pegada por programación se posiciona automáticamente en relación con la esquina superior izquierda de la celda
activa. Sin embargo, la imagen no se inserta en la celda, se ubica sobre ella. Una imagen se adjunta al documento, no a la celda.
Las dimensiones de la columna y de la línea no se ajustan al tamaño de la imagen.
Acerca de los números de imagen
Todos los comandos de este tema se refieren a imágenes insertadas en las áreas 4D View por intermedio del parámetro
numImagen. Este parámetro es el número de índice de la imagen en el área: es atribuido por 4D View cuando se inserta la
imagen. Cada imagen insertada recibe un número de índice que puede agregarse por programación o por el usuario.
Este número es único para el área, pero no es absoluto: si una imagen se borra en un área, todas las imágenes con un índice
superior al de la imagen eliminada verán su número disminuir.
Para conocer el número de imágenes pegadas en un área 4D View en cualquier momento, utilice el comando PV Get document
property y la constante pv picture number.
PV Add picture
PV Add picture ( area ; imagen ; expresion ; numTabla ; numCampo ) -> Resultado
Parámetro
area
imagen
expresion
numTabla
numCampo
Resultado
Tipo
Entero largo
Imagen
Cadena
Entero
Entero
Entero largo
Descripción
Área 4D View
Imagen 4D
Toda expresión que devuelva una imagen 4D
Número de tabla
Número de campo
Número de la imagen
Descripción
El comando PV Add picture pega una imagen 4D en la posición de la celda actual de area y devuelve su número de identificación
único. Este identificador se puede utilizar con los otros comandos del tema "PV Imágenes".
La imagen debe ser una imagen 4D válida. Puede provenir de una de las siguientes fuentes:
Una variable imagen. En este caso, pase el nombre de la variable en el parámetro imagen. Los otros parámetros se
pueden omitir.
Una expresión 4D. En este caso, pase el nombre de la expresión en el parámetro de expresión (el parámetro imagen no se
utiliza y los últimos parámetros pueden omitirse). El parámetro expresion puede contener, por ejemplo, el nombre de un
método 4D que devuelve una variable imagen o una referencia de campo imagen ("[Tabla]CampoImagen").
Un número de campo imagen. En este caso, pase el número de la tabla y del campo a utilizar en los parámetros
numTabla y numCampo (los parámetros imagen y expresion no se utilizan).
4D View mantiene la referencia dinámica entre la imagen pegada en el área y la imagen fuente. Toda modificación efectuada en
la imagen fuente en 4D se verá reflejada en la imagen pegada en el área.
Ejemplo
Pegamos en la celda actual de un área 4D View la foto del cliente cuyo registro es actual:
C_LONGINT($PicRef) `Referencia de la imagen añadida
C_PICTURE($Picture) `Imagen vacía (ignorada)
$PicRef:=PV Add picture(Area;$Picture;"";Table(->[Clientes]);Field(->[Clientes]Foto))
PV Create picture
PV Create picture ( area ; izquierda ; superior ; derecha ; inferior ; ignorarVacias ) -> Resultado
Parámetro
area
izquierda
superior
derecha
inferior
ignorarVacias
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero
Imagen
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda de arriba
Número de la columna de la celda derecha
Número de línea de la celda inferior
0 = No ignorar celdas vacías; 1 = Ignorar celdas vacías
Imagen de celdas en el rango
Descripción
El comando PV Create picture devuelve una imagen del rango de celdas designado por los parámetros izquierda, superior,
derecha e inferior.
Si el parámetro ignorarVacias vale 1, el marco asignado por los parámetros izquierda, superior, derecha e inferior se reducirá si
las coordenadas de la última celda no vacía (inferior derecha) es menor que las coordenadas derecha e inferior del marco
especificado.
Ejemplo
La linea a continuación graba una vista del contenido de las celdas delimitadas por B2, E2, B5, y E5 en un campo imagen.
[Templates]ReducedView:=PV Create picture(Area;2;2;5;5;0) `Recuperación de la imagen y
asignación al campo
PV Get picture
PV Get picture ( area ; numImagen ) -> Resultado
Parámetro
area
numImagen
Resultado
Tipo
Entero largo
Entero largo
Imagen
Descripción
Área 4D View
Número de la imagen
Imagen
Descripción
El comando PV Get picture devuelve la imagen número numImagen en area.
Ejemplo
Recopia la imagen número 1 en la celda actual.
C_LONGINT($PicRef) `Referencia de la imagen añadida
C_PICTURE($Picture) `Imagen a recopiar
$Picture:=PV Get picture(Area;1) `Imagen número 1
PV REMOVE PICTURE(Area;1)
$PicRef:=PV Add picture(Area;$Picture) `Recopia en la celda actual
Gestión de errores
Si la imagen está vacía o si el número de imagen es invalido, se devuelve un error en el area.
PV Get picture property
PV Get picture property ( area ; numImagen ; propiedad ) -> Resultado
Parámetro
area
numImagen
propiedad
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la imagen
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get picture property devuelve el valor de la propiedad para la imagen de area designada por numImagen.
Utilice las constantes del tema para definir el parámetro propiedad:
Constante
Tipo
Valor
pv picture background
pv picture column
pv picture data height
pv picture data width
pv picture display height
pv picture display width
pv picture fixed size
pv picture hor offset
pv picture locked
pv picture mapping mode
pv picture row
pv picture vert offset
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
0
5
4
7
6
10
2
11
9
1
3
También puede utilizar el tema para comparar el valor devuelto, una vez pase el valor pv picture mapping mode en el parámetro
propiedad:
Constante
Tipo
Valor
pv mapping replicated
pv mapping scaled centered prop
pv mapping scaled to fit
pv mapping scaled to fit prop
pv mapping trunc non-centered
pv mapping truncated centered
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
3
6
5
4
1
2
Ejemplo
Este método muestra la información sobre la imagen número 1.
C_INTEGER($Index) `índice de bucle para los arrays de propietarios
C_LONGINT($Value) `Valor correspondiente a la opción
ARRAY STRING($PropertiesCodes;12) `Códigos de las propiedades
ARRAY STRING(80;$PropertiesLabels;12) `Etiquetas de propiedades
`Inicialización arrays de propiedades
$PropertiesCodes{1}:=pv picture column
$PropertiesLabels{1}:="Columna de referencia"
$PropertiesCodes{2}:=pv picture row
$PropertiesLabels{2}:="Línea de referencia"
$PropertiesCodes{3}:=pv picture horz offset
$PropertiesLabels{3}:="Décalage H"
$PropertiesCodes{4}:=pv picture vert offset
$PropertiesLabels{4}:="V offset"
$PropertiesCodes{5}:=pv picture data width
$PropertiesLabels{5}:="Ancho real"
$PropertiesCodes{6}:=pv picture data height
$PropertiesLabels{6}:="Alto real"
$PropertiesCodes{7}:=pv picture display width
$PropertiesLabels{7}:="Ancho actual"
$PropertiesCodes{8}:=pv picture display height
$PropertiesLabels{8}:="Alto actual"
$PropertiesCodes{9}:=pv picture background
$PropertiesLabels{9}:="Fondo"
$PropertiesCodes{10}:=pv picture mapping mode
$PropertiesLabels{10}:="Mapping"
$PropertiesCodes{11}:=pv picture fixed size
$PropertiesLabels{11}:="Tamaño fijo"
$PropertiesCodes{12}:=pv picture locked
$PropertiesLabels{12}:="Bloqueado"
$PictureInfo:="Información imagen 1:"+Character(Carriage return)
For($Index;1;12) `Revisión de las diferentes propiedades
$Value:=PV Get picture property(Area;1;$PropertiesCodes{$Index}) `Lectura propiedad
$PictureInfo:=$PictureInfo+$PropertiesLabels{$Index}+" : "+String($Value)+". " `Update info
End for
ALERT($PictureInfo) `Visualización de la información
PV REMOVE PICTURE
PV REMOVE PICTURE ( area ; numImagen )
Parámetro
area
numImagen
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la imagen
Descripción
El comando PV REMOVE PICTURE elimina del area la imagen número numImagen.
Nota: cuando una imagen se borra de un área 4D View, las otras imágenes en el área se reenumeran si su número de índice era
mayor que el de la imagen borrada. Para mayor información, consulte la sección PV Imágenes, introducción.
Ejemplo
Borramos de un área 4D View la primera imagen añadida:
PV REMOVE PICTURE(Area;1)
PV SET PICTURE PROPERTY
PV SET PICTURE PROPERTY ( area ; numImagen ; propiedad ; valor )
Parámetro
area
numImagen
propiedad
valor
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la imagen
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET PICTURE PROPERTY define el valor de la propiedad de la numImagen para la propiedad especificada.
Las constantes PV Propiedades imágenes se utilizan para definir el parámetro propiedad:
Constante
Tipo
Valor
pv picture background
pv picture column
pv picture data height
pv picture data width
pv picture display height
pv picture display width
pv picture fixed size
pv picture hor offset
pv picture locked
pv picture mapping mode
pv picture row
pv picture vert offset
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
0
5
4
7
6
10
2
11
9
1
3
También puede utilizar las constantes del tema PV Visualización imagen para definir el parámetro valor:
Constante
Tipo
Valor
pv mapping replicated
pv mapping scaled centered prop
pv mapping scaled to fit
pv mapping scaled to fit prop
pv mapping trunc non-centered
pv mapping truncated centered
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
3
6
5
4
1
2
Ejemplo
Fijamos el formato de salida de la imagen número 1 en "proporcional centrado":
PV SET PICTURE PROPERTY(Area;1;pv picture mapping mode;pv mapping scaled centered prop)
PV Impresión
PV Impresión, Introducción
PV BLOB TO PRINT SETTINGS
PV Get header
PV Get print property
PV PRINT
PV PRINT FORMULAS
PV Print settings to blob
PV SET HEADER
PV SET PRINT PROPERTY
PV Impresión, Introducción
Los comandos de este tema permiten controlar la impresión de hojas de cálculo por programación en 4D. Puede establecer
definir o recuperar los parámetros de impresión (encabezados, pies de página, etc.) y elegir imprimir los valores o las fórmulas.
Estos comandos son especialmente útiles cuando se quiere imprimir un documento sin que el usuario seleccione el comando
Imprimiren el menú Archivo.
PV BLOB TO PRINT SETTINGS
PV BLOB TO PRINT SETTINGS ( area ; paramImp )
Parámetro
area
paramImp
Tipo
Entero largo
BLOB
Descripción
Área 4D View
BLOB que contiene los parámetros de impresión
Descripción
El comando PV BLOB TO PRINT SETTINGS reemplaza la configuración de impresión actual del area 4D View por los
parámetros en el BLOB paramImp. Este BLOB debe haber sido generado por el comando PV Print settings to blob.
El parámetro paramImp contiene todos los parámetros utilizados para la impresión:
Parámetros de configuración (papel, orientación, escala);
Parámetros de impresión como tal (número de copias, origen del papel, etc.)
Nota: los parámetros de impresión no tienen el mismo formato en Windows y Mac OS. Como resultado, la compatibilidad del
BLOB paramImp entre las dos plataformas no está garantizada.
Si el BLOB paramImp no contiene parámetros de impresión validos, el comando devuelve un error.
PV Get header
PV Get header ( area ; posicion ) -> Resultado
Parámetro
area
posicion
Resultado
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Posición del encabezado
Cadena del encabezado
Descripción
El comando PV Get header devuelve la cadena de encabezado o pie de página en la ubicación designada por posicion.
Utilice las constantes del tema PV Encabezados y pies de página para definir el parámetro posicion:
Constante
Tipo
Valor
pv footer center
pv footer left
pv footer right
pv header center
pv header left
pv header right
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
5
4
6
2
1
3
Ejemplo
Transferimos el texto del encabezado central al pie de página:
C_TEXT($Header) `Texto del encabezado del centro
$Header:=PV Get header(Area;pv header center) `Recuperación del encabezado del centro
PV SET HEADER(Area;pv header center;"") `Vaciar el encabezado
PV SET HEADER(Area;pv footer center;$Header) `Pase a pie de página
PV PRINT(Area)
PV Get print property
PV Get print property ( area ; propiedad ; valor2 ) -> Resultado
Parámetro
area
propiedad
valor2
Resultado
Tipo
Entero largo
Entero largo
Cadena
Entero largo
Descripción
Área 4D View
Número de la propiedad
Valor adicional de la propiedad
Valor de la propiedad
Descripción
El comando PV Get print property devuelve el valor actual de la propiedad especificada por el area 4D View. El parámetro
opcional valor2 devuelve la información adicional con algunas propiedades de impresión.
Utilice las constantes del tema para definir el parámetro propiedad. Para mayor información sobre estas constantes, ver la
descripción del comando PV SET PRINT PROPERTY.
Nota: las cuatro constantes que comienzan por "pv print dead..." son de sólo lectura.
Ejemplo
Queremos conocer la superficie realmente imprimible:
C_LONGINT($paperWidth;$paperHeight)
C_LONGINT($bottomMargin;$topMargin;$rightMargin;$leftMargin)
C_LONGINT($usableWidth;$usableHeight)
$paperWidth:=PV Get print property(area;pv print paper width)
$paperHeight:=PV Get print property(area;pv print paper height)
$bottomMargin:=PV Get print property(area;pv print dead bottom margin)
$topMargin:=PV Get print property(area;pv print dead top margin)
$rightMargin:=PV Get print property(area;pv print dead right margin)
$leftMargin:=PV Get print property(area;pv print dead left margin)
$usableWidth:=$paperWidth-($rightMargin+$leftMargin)
$usableHeight:=$paperHeight-($topMargin+$bottomMargin)
PV PRINT
PV PRINT ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV PRINT imprime el area 4D View pasada como parámetro.
El diseño y la vista previa de la página están disponibles utilizando el comando PV EXECUTE COMMAND asociado a las
constantes pv cmd print page setup y pv cmd print preview.
Atención a la opción refrescar del área 4D View: si el refrescar no es automático, no olvide activarlo antes de imprimir o de la vista
previa del área de impresión.
Ejemplo
Impresión con parámetros de pie de página.
PV SET HEADER(Area;pv footer center;" #D"Printed) `Asignación del pie de página
CONFIRM("¿Imprimir valores o fórmulas?";"Formulas";"Valores")
If(OK=1)
PV PRINT FORMULAS(Area) `Impresión de las fórmulas
Else
PV PRINT(Area) `Impresión de los valores
End if
PV PRINT FORMULAS
PV PRINT FORMULAS ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV PRINT FORMULAS imprime un informe de todas las fórmulas del area 4D View pasada como parámetro.
Ejemplo
Consulte el ejemplo del comando PV PRINT.
PV Print settings to blob
PV Print settings to blob ( area ) -> Resultado
Parámetro
area
Resultado
Tipo
Entero largo
BLOB
Descripción
Área 4D View
BLOB que contiene los parámetros de impresión
Descripción
El comando PV Print settings to blob guarda en un BLOB los parámetros de impresión actuales del area 4D View.
El BLOB guarda todos los parámetros utilizados para la impresión:
Parámetros de configuración (papel, orientación, escala);
Parámetros de impresión como tal (número de copias, origen del papel, etc.)
Por otro lado, el comando no guarda las opciones de impresión específicas al plug-in 4D View (encabezados de páginas,
repetición de líneas, etc.) que se encuentran en la caja de diálogo "Opciones de impresión".
Este comando permite guardar la configuración de impresión del área de 4D View, independientemente del modelo de impresora
y la configuración de impresión accesible. El BLOB devuelto no debe modificarse por programación, sólo puede ser utilizado por
el comando PV BLOB TO PRINT SETTINGS.
El comando PV Print settings to blob puede utilizarse por ejemplo para guardar la configuración de impresión actual antes de
modificar temporalmente una opción utilizando el comando PV SET PRINT PROPERTY. Una vez finalizada la impresión, el
comando PV BLOB TO PRINT SETTINGS se puede utilizar para restablecer los parámetros actuales.
PV SET HEADER
PV SET HEADER ( area ; posicion ; cadena )
Parámetro
area
posicion
cadena
Tipo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Posición del encabezado
Cadena del encabezado
Descripción
El comando PV SET HEADER define el carácter cadena como encabezado o pie de página de area en la ubicación designada
por posicion.
Utilice las constantes del tema PV Encabezados y pies de página para definir el parámetro posicion:
Constante
Tipo
Valor
pv footer center
pv footer left
pv footer right
pv header center
pv header left
pv header right
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
5
4
6
2
1
3
Puede insertar los siguientes caracteres especiales en el parámetro contenido:
#d
Fecha actual abreviada
Mar 25 Jun 1957
#∂ (Macintosh) Fecha actual formato corto 04/03/1996
#c (Windows) Especial forzado
04/03/1996
#D
Fecha actual formato largo Martes 25 junio 1957
#p
Número de página
2
#h
Hora sin segundos
09:42
#H
Hora con segundos
09:42:47
#F
Nombre de tabla o de área Simulación (SP) o _Forecast
#P
Número total de páginas
10
Ejemplo
Consulte los ejemplos de los comandos PV PRINT y PV Get header.
PV SET PRINT PROPERTY
PV SET PRINT PROPERTY ( area ; propiedad ; valor ; valor2 )
Parámetro
area
propiedad
valor
valor2
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de la propiedad
Valor de la propiedad
Valor adicional de propiedad
Descripción
El comando PV SET PRINT PROPERTY fija el valor y opcionalmente el valor2 de la propiedad para el area 4D View.
Utilice las constantes del tema PV Propiedades impresión para definir el parámetro propiedad. La siguiente tabla detalla las
constantes que se pueden utilizar en los parámetros propiedad y valor:
Constante Tipo
Valor Comentario
Permite añadir o no el área imprimible. Valores asociados:
pv print
adjust area
Entero
largo
10
pv value on: se ajusta el área imprimible.
pv value off: no se ajusta el área imprimible.
Permite leer o fijar la ubicación del de la unión cuando la impresión se efectúa en modo por
ambas caras (ver arriba). Valores asociados: las siguientes constantes del tema “PV Valores
impresión”:
pv print
binding
Entero
largo
26
pv left binding: unión izquierda (valor por defecto).
pv top binding: unión superior.
Nota: esta propiedad sólo se puede utilizar bajo Windows.
pv print
bottom
margin
Entero
largo
3
La margen inferior es el área entre la parte inferior del papel (incluyendo la margen muerta
inferior) y el pie de página. Valores asociados: margen en píxeles.
Permite centrar o no la impresión en la página. Valores asociados:
pv print
centered
Entero
largo
9
pv value on: la impresión se centra en la página.
pv value off: la impresión no se centra en la página.
Permite fijar o leer el modo para manejar el color. Esta propiedad sólo es útil con impresoras a
color. Valores asociados: constantes del tema “PV Valores impresión”:
pv print
color
Entero
largo
23
pv black and white: impresión en blanco y negro (monochrome).
pv color: impresión a color.
Nota: esta propiedad sólo puede utilizarse en Windows.
Esta constante es de solo lectura (comando PV Get print property) y devuelve el tamaño, en
pv print
dead
bottom
margin
Entero
largo
18
pv print
dead left
margin
Entero
largo
15
pv print
dead right
margin
Entero
largo
17
pv print
dead top
margin
Entero
largo
16
píxeles, del márgen muerto inferior.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto izquierdo.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto derecho.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto superior.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Permite fijar u obtener el destino de la impresión. Valores asociados: las siguientes constantes
del tema PV Valores impresión:
pv print
destination
pv print
document
name
pv print
Entero
largo
Entero
largo
24
27
pv destination printer: la impresión se envía a la impresora.
pv destination file (Windows únicamente): la impresión se envía a un archivo. Cuando se
utiliza esta constante, valor2 contiene la ruta de acceso para el documento resultante. Si
pasa una cadena vacía en valor2 u omite este parámetro, aparece una caja de diálogo
de guardar archivos al momento de la impresión.
pv destination PDF file (Mac OS únicamente): el trabajo de impresión se envía a un
archivo PDF. Cuando se utiliza esta constante, valor2 contiene la ruta de acceso para el
documento PDF resultante. Si pasa una cadena vacía en valor2 u omite este parámetro,
aparece una caja de diálogo de guardar archivos al momento de la impresión.
pv destination EPS file (Mac OS únicamente): el trabajo de impresión se envía a un
archivo EPS. Cuando se utiliza esta constante, valor2 contiene la ruta de acceso para el
documento EPS resultante. Si pasa una cadena vacía en valor2 u omite este parámetro,
aparece una caja de diálogo de guardar archivos al momento de la impresión.
Permite fijar o leer el nombre del documento de impresión que debe aparecer en la lista de
documentos del servidor de impresión. Cuando se utiliza esta constante, valor2 contiene el
nombre del documento de impresión. Pase 0 en valor.
Para utilizar o restablecer el funcionamiento estándar (uso del nombre “4D View”), pase una
cadena vacía en valor2.
Permite imprimir por uno o por ambos lados. Valores asociados:
pv print
double
sided
Entero
largo
25
pv value on: impresión por ambos lados.
pv value off: impresión por un solo lado (valor por defecto).
Nota: esta propiedad sólo se puede utilizar en Windows.
Permite imprimir o no un marco alrededor de cada página impresa. Valores asociados:
pv print
frame each
page
Entero
largo
pv print
grid
Entero
largo
pv print
headers
Entero
largo
8
pv print left
margin
pv print
number
copies
Entero
largo
0
El margen izquierdo es el área entre el lado izquierdo del papel (incluyendo el margen muerto
izquierdo) y el área de impresión. Valores asociados: margen en píxeles.
Entero
largo
21
Permite fijar o leer el número de copias a imprimir. Valores asociados: número de copias (1
por defecto).
11
pv value on: se imprime un marco para cada página.
pv value off: no se imprime ningún marco.
Permite imprimir o no una rejilla en el área. Valores asociados:
12
pv value on: se imprime la rejilla.
pv value off: no se imprime la rejilla.
Permite imprimir o no los encabezados de las líneas y columnas. Valores asociados:
pv value on: imprime los encabezados de líneas y columnas.
pv value off: no imprime los encabezados de líneas y columnas.
Permite fijar o leer la orientación del papel durante la impresión. Valores asociados: constantes
del tema PV Print values.
pv print
orientation
Entero
largo
pv print
pages from
pv print
pages to
pv print
paper
height
Entero
largo
Entero
largo
Entero
largo
19
28
29
pv portrait orientation: el papel está orientado en modo vertical.
pv landscape orientation: el papel está orientado en modo en horizontal.
Permite fijar o leer el número de la página donde quiere que comience la impresión.
Valores asociados: número de página.
Permite fijar o leer el número de la última página a imprimir. Valores asociados: número de
página.
14
Devuelve el alto del papel. Valores asociados: altura en píxeles.
Entero
largo
22
Permite definir o leer la bandeja de papel a utilizar. Valores asociados: valor del elemento
info1Array que correspondiente al elemento del arrayNombres devuelto por el comando 4D
PRINT OPTION VALUES. Este array contiene el nombre de la bandeja de papel a utilizar.
Nota: esta propiedad solo puede utilizarse en Windows.
Entero
largo
13
Devuelve el ancho del papel. Valores asociados: ancho en píxeles.
Entero
largo
4
Entero
largo
6
Entero
largo
5
Entero
largo
7
Entero
largo
2
pv print
scale
Entero
largo
20
pv print top
margin
Entero
largo
1
pv print
paper
source
pv print
paper
width
pv print
repeat first
column
pv print
repeat first
row
pv print
repeat last
column
pv print
repeat last
row
pv print
right
margin
Indica el número de la primera columna del rango de columnas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat last column. Valores
asociados: número de columna.
Indica el número de la primera línea del rango de líneas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat last row. Valores
asociados: número de línea.
Indica el número de la última columna del rango de columnas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat first column. Valores
asociados: número de columna.
Indica el número de la última línea del rango de líneas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat first row. Valores
asociados: número de línea.
El margen derecho es el área entre el lado derecho del papel (incluyendo el margen muerto
derecho) y el área de impresión. Valores asociados: margen en píxeles.
Permite fijar o leer la escala de impresión actual. Recuerde, sin embargo, que algunas
impresoras no permiten modificar la escala. Si pasa un valor invalido, la propiedad pasa al
100% al momento de la impresión. Valores asociados: escala de impresión.
El margen superior es el área entre la parte superior del papel (incluyendo el margen muerto
superior) y el área de impresión. Valores asociados: margen en píxeles.
Ejemplo
Ejemplo de elección de la bandeja de papel (alimentación) bajo Windows:
ARRAY TEXT($arrNames;0)
ARRAY LONGINT($arrInfo1;0)
`Recuperación de la lista de bandejas disponibles
PRINT OPTION VALUES(Paper source;$arrNames;$arrInfo1)
Esto es lo que puede recuperar, por ejemplo en los arrays $arrNames y $arrInfo1:
$arrNames
$arrInfo1
Selección automática 15
Tray 1
257
Tray 1 (Manual)
258
Tray 2
259
Tray 3
260
Tray 4
261
Envelope Feeder
262
Si quiere utilizar “Tray 1 (Manual),” debe pasar el índice correspondiente a esta bandeja:
PV SET PRINT PROPERTY(area;pv print paper source;$arrInfo1{3})
PV Manipulación de celdas
PV Manipulación de celdas, Introducción
PV Copy to blob
PV FIND ALL
PV FIND ONE
PV PASTE FROM BLOB
PV REPLACE ALL
PV REPLACE ONE
PV SORT COLUMN
PV SORT MANY
PV SORT ONE
PV SPECIAL CLEAR
PV SPECIAL CUT
PV SPECIAL PASTE
PV Manipulación de celdas, Introducción
Los comandos de este tema permiten la ejecución de consultas, sustituciones y ordenación en un área 4D View.
Este tema también contiene un conjunto de comandos para integrar rápidamente la gestión de copiar/pegar en el código de una
aplicación y gestión del "blobing" y "de-blobing" de una selección de celdas.
PV Copy to blob
PV Copy to blob ( area ) -> Resultado
Parámetro
area
Resultado
Tipo
Entero largo
BLOB
Descripción
Área 4D View
BLOB que contiene la selección
Descripción
El comando PV Copy to blob devuelve la selección de celdas actual del area en un BLOB.
La selección no necesariamente tiene que ser continua (rango).
Ejemplo
El método a continuación intercambia el contenido de los rangos A1, A2, B1, B2 y A3, A4, B3, B4.
C_BLOB($Blob) `BLOB de almacenamiento
PV SELECT RANGE(Area;1;1;2;2;pv selection set) `Selección del rango A1, A2, B1, B2
PV SPECIAL CUT(Area;1;1;1) `Corta el contenido y lo ubica en el portapapeles
PV SELECT RANGE(Area;1;3;2;4;pv selection set) `Selección del rango A3, A4, B3, B4
$Blob:=PV Copy to blob(Area) `Poner la selección en un BLOB
PV SPECIAL PASTE(Area;1;1;1) `Pegar el contenido del portapapeles
PV GOTO CELL(Area;1;1) `Seleccionar la celda A1
PV PASTE FROM BLOB(Area;$Blob;1;1;1;1) `Reasignación de lo que fue borrado
PV FIND ALL
PV FIND ALL ( area ; criterio ; donde ; contiene )
Parámetro
area
criterio
donde
contiene
Tipo
Entero largo
Cadena
Entero
Entero
Descripción
Área 4D View
Cadena a buscar
0 = Fórmulas; 1 = Valores
0 = Contiene; 1 = Igual
Descripción
El comando PV FIND ALL es similar a PV FIND ONE sino que selecciona todas las celdas del area que corresponde a los
criterios de consulta.
Después de llamar este comando, la primera celda que se encuentra se convierte en la nueva celda actual y las otras celdas
encontradas se seleccionan.
Si no se encuentran celdas durante la búsqueda, la celda actual sigue siendo la misma.
criterio especifica la cadena a buscar.
donde indica que parte de la hoja de cálculo consultar:
0: búsquedas en las fórmulas
1: búsqueda en los valores
contiene define el tipo de comparación:
0: parcial (contiene el valor buscado)
1: total (igual al valor buscado)
Ejemplo
Consulte el ejemplo del comando PV SET CELL PROPERTY.
PV FIND ONE
PV FIND ONE ( area ; criterio ; donde ; contiene {; columna ; linea} )
Parámetro
area
criterio
donde
contiene
columna
Tipo
Entero largo
Cadena
Entero
Entero
Entero largo
linea
Entero largo
Descripción
Área 4D View
Cadena a buscar
0 = Fórmulas; 1 = Valores
0 = Contiene; 1 = Igual
Número de columna de la celda de inicio
Número de columna de la celda encontrada
Número de línea de la celda de inicio
Número de línea de la celda encontrada
Descripción
El comando PV FIND ONE busca criterio entre las celdas del area. La búsqueda se detendrá en la primera celda, si la hay, que
cumpla con los criterios de búsqueda.
criterio especifica la cadena a buscar.
donde indica que parte de la hoja de cálculo consultar:
0: búsquedas en las fórmulas
1: búsquedas en los valores
contiene define el tipo de comparación:
0: Parcial (contiene el valor buscado)
1: Total (igual al valor buscado)
Si se omiten los parámetros opcionales columna y linea, la búsqueda comienza en la esquina superior izquierda del area.
Si se pasan columna y linea, indican la celda del area en la que comenzará la búsqueda.
La búsqueda se efectúa de arriba a abajo y de izquierda a derecha, comenzando por la celda indicada.
Después de la ejecución del comando, la primera celda encontrada, se convierte en la nueva celda actual. Si se llaman, los
parámetros columna y linea contendrán entonces sus coordenadas.
Si no se encontró ninguna celda durante la búsqueda, la celda actual se mantiene sin cambios.
Ejemplo
Vamos a buscar la primera celda que contiene la respuesta del usuario a una solicitud inicial. Se iniciará la consulta en la celda
B3.
C_STRING(255;$Criteria) `Cadena a buscar
C_INTEGER($QueryWhere) `0=Fórmulas / 1=Valores
C_INTEGER($Contains) `0=Igual / 1=Contiene
C_LONGINT($Column) `Número de columna de la celda encontrada
C_LONGINT($Row) `Número de la línea de la celda de inicio
$Criteria:=Request("¿Cuál es el valor a buscar?";"x")
If($Criteria#"") `Criterio definido
CONFIRM("Búsqueda en las fórmulas o en los valores?";"Valores";"Fórmulas")
$QueryWhere:=OK `0=Fórmulas / 1=Valores
CONFIRM("¿Qué tipo de comparación?";"Contiene";"=")
$Contains:=OK `0=Contiene / 1=Igual
$Column:=2 `Búsqueda a partir de la celda B3
$Row:=3
PV FIND ONE(Area;$Criteria;$QueryWhere;$Contains;$Column;$Row) `Búsqueda
End if
PV PASTE FROM BLOB
PV PASTE FROM BLOB ( area ; BLOB ; valor ; formula ; formato ; bordes )
Parámetro
area
BLOB
valor
formula
formato
bordes
Tipo
Entero largo
BLOB
Entero
Entero
Entero
Entero
Descripción
Área 4D View
BLOB que contiene la selección
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
Descripción
El comando PV PASTE FROM BLOB pega la información definida con los parámetros valor, fórmula, formato y bordes desde
las celdas en el BLOB. El blob debe haber sido creado previamente con el comando PV Copy to blob.
Ejemplo
Consulte el ejemplo del comando PV Copy to blob.
PV REPLACE ALL
PV REPLACE ALL ( area ; cadena ; remplazo ; donde ; contiene )
Parámetro
area
cadena
remplazo
donde
contiene
Tipo
Entero largo
Cadena
Cadena
Entero
Entero
Descripción
Área 4D View
Cadena a remplazar
Cadena de remplazo
0 = Fórmulas; 1 = Valores
0 = Contiene; 1 = Igual
Descripción
El comando PV REPLACE ALL es similar al comando PV REPLACE ONE, excepto que remplaza el carácter cadena por la
cadena remplazo en todas las celdas del area correspondiente a los criterios definidos por los parámetros donde o contiene.
Después de llamar este comando, la primera celda eventualmente encontrada se convierte en la nueva celda actual y las otras
celdas encontradas son seleccionadas.
Si no ha ocurrido ningún remplazo, la celda activa permanece igual.
Ejemplo
Hacemos que todas las ocurrencias de la cadena "Cantidad" aparezcan en mayúsculas:
PV REPLACE ALL(Area;"Cantidad";"CANTIDAD";1;1)
PV REPLACE ONE
PV REPLACE ONE ( area ; cadena ; remplazo ; donde ; contiene {; columna ; linea} )
Parámetro
area
cadena
remplazo
donde
contiene
columna
Tipo
Entero largo
Cadena
Cadena
Entero
Entero
Entero largo
linea
Entero largo
Descripción
Área 4D View
Cadena a remplazar
Cadena de remplazo
0 = Fórmulas; 1 = Valores
0 = Contiene; 1 = Igual
Número de columna de la celda de inicio
Número de columna de la celda encontrada
Número de línea de la celda de inicio
Número de línea de la celda encontrada
Descripción
El comando PV REPLACE ONE remplaza la cadena de caracteres cadena por la cadena remplazar en la primera celda en el
area que corresponde a los criterios de búsqueda definidos utilizando donde o contiene, a partir de la celda definida linea y
columna.
cadena especifica la cadena de caracteres a buscar y remplazar por remplazar.
donde indica que parte de la hoja de cálculo consultar:
0: búsquedas en las fórmulas
1: búsqueda en los valores
contiene define el tipo de comparación:
0: Parcial (contiene el valor buscado)
1: Total (igual al valor buscado)
Si se omiten los parámetros opcionales columna y linea, la búsqueda comienza en la esquina superior izquierda del area. Si se
pasan columna y linea, indican la celda del area en la que comenzará la búsqueda.
La búsqueda se efectúa de arriba a abajo y de izquierda a derecha comenzando con la celda de inicio.
Después de la ejecución del comando, la primera celda encontrada, se convierte en la nueva celda actual. Si se llamaron, los
parámetros columna y linea contendrán entonces las coordenadas de esta nueva celda.
Si no se encontró ninguna celda durante la búsqueda, la celda actual se mantiene sin cambios.
Ejemplo
Remplazamos la primera ocurrencia de la referencia a la tasa del T.V.A. con una nueva referencia (nueva tasa).
C_INTEGER($Where) `0=Fórmula / 1=Valor
C_INTEGER($Contiene) `0=Contiene / 1=Igual
$Where:=0 `Remplazo de fórmula
$Contiene:=0 `Contiene
`Remplazo de la primera ocurrencia
PV REPLACE ONE(Area;"$C$30";"$C$31";$Where;$Contiene)
PV SORT COLUMN
PV SORT COLUMN ( area ; columna ; orden )
Parámetro
area
columna
orden
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna
Criterio de ordenación
Descripción
El comando PV SORT COLUMN permite efectuar una ordenación estándar, en orden ascendente o descendente, en la columnas
definida por el parámetro columna en el area 4D View.
Una ordenación estándar en una columna de dinámica produce una ordenación sincronizada de las otras columnas, de manera
que los registros siempre permanezcan en su estado inicial.
Una ordenación en una columna estática sólo ordena la columna.
Para definir el parámetro orden, utilice una de las siguientes constantes del tema "PV Ordenar encabezados":
Constante
Tipo
Valor
pv ascending sort
pv descending sort
Entero largo
Entero largo
2
3
Nota: este comando sólo puede funcionar si la ordenación fue autorizada por el comando PV SET AREA PROPERTY.
Ejemplo
Con la siguiente instrucción, la columna se ordenará de manera ascendente:
PV SORT COLUMN(area;2;pv ascending sort)
PV SORT MANY
PV SORT MANY ( area ; izquierda ; superior ; derecha ; inferior ; direccion ; criterio ; orden )
Parámetro
area
izquierda
superior
derecha
inferior
direccion
criterio
orden
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero
Array
Array
Descripción
Área 4D View
Número de columna a la izquierda
Número de la línea de arriba
Número de la columna a la derecha
Número de la línea de abajo
0 = Línea; 1 = Columna
Columnas o líneas que contienen los valores a ordenar
0 = Ascendente; 1 = Descendente
Descripción
El comando PV SORT MANY es similar a PV SORT ONE, pero con multi ordenación. Debe pasar las columnas o líneas que
sirven como criterio de ordenación en criterio y el orden (ascendente o descendente) en el cual se debe efectuar la ordenación en
orden.
La ordenación se efectúa en el contenido de la selección de celdas delimitada por izquierda, superior, derecha y inferior.
direccion indica si la ordenación debe organizar las líneas o las columnas:
Si pasa 0, ordena las líneas en función de los valores de las columnas criterio.
Si pasa 1, ordena las columnas en función de los valores de las líneas criterio.
Ejemplo
Ordenamos una selección de celdas (5 columnas x 9 líneas) en relación a la segunda columna como primer criterio ascendente y
la tercera columna como segundo criterio descendente.
ARRAY LONGINT($Keys;2) `Columna(s) o línea(s) que contienen los valores a ordenar
ARRAY INTEGER($Orders;2) `0=Ascendente/ 1=Descendente
`Inicialización
$Keys{1}:=3 `La segunda columna de la selección sirve como primer criterio de ordenación
$Keys{2}:=4 `La tercera columna de la selección sirve como segundo criterio de ordenación
$Orders{1}:=0 `Ordenación ascendente para las líneas de la segunda columna de la selección
$Orders{2}:=1 `Ordenación descendente para las líneas de la tercera columna de la selección
PV SORT MANY(Area;2;2;6;10;1;$Keys;$Orders)
PV SORT ONE
PV SORT ONE ( area ; izquierda ; superior ; derecha ; inferior ; direccion ; criterio ; orden )
Parámetro
area
izquierda
superior
derecha
inferior
direccion
criterio
orden
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero
Entero largo
Entero
Descripción
Área 4D View
Número de columna a la izquierda
Número de la línea de arriba
Número de la columna a la derecha
Número de la línea de abajo
0 = Ordenación de líneas; 1 = ordenación de columnas
Columna o línea que contiene los valores a ordenar
0 = Ascendente; 1 = Descendente
Descripción
El comando PV SORT ONE ordena el contenido de la selección delimitada por izquierda, superior, derecha e inferior en relación
con los valores contenidos en la línea o columna criterio, en el orden definido por orden.
direccion indica si se debe ordenar líneas o columnas:
Si pasa 0, ordena las líneas en función de los valores de la columna criterio.
Si pasa 1, ordena las columnas en función de los valores de la línea criterio.
Este comando sólo funciona con los datos estáticos.
Las áreas dinámicas (arrays y campos relacionados), deben seleccionarse utilizando los comandos 4D, el principio consiste en la
ordenación de la fuente. Un ejemplo de ordenación de columnas dinámicas asociadas a los campos al hacer clic en el
encabezado se presenta en la descripción del comando PV GET CELL FIELD. Tenga en cuenta que la ordenación no es posible
en arrays y campos de tipo imagen así como tampoco en columnas calculadas (que llaman a un método de retrollamada y
muestran su resultado).
Ejemplo
Este ejemplo permite la ordenación ascendente de las columnas estática haciendo clic en el encabezado de la columna. El área
sólo contiene columnas estáticas.
Comenzamos instalando el método de retrollamada HeaderSortMethod, que se llamará en caso de un clic en el área:
PV ON EVENT(area;pv on clicked;"HeaderSortMethod")
El método HeaderSortMethod intercepta los clics en los encabezados de las columnas y ordena los datos correspondientes
(de la línea 1 a la 25) en orden ascendente:
`Método HeaderSortMethod
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
If($5=0) `Si el clic fue en el encabezado
$0:=True `Filtrar el evento
PV SORT ONE(area;$4;1;$4;25;1;$4;0) `Orden ascendente de la columna seleccionada
End if
PV SPECIAL CLEAR
PV SPECIAL CLEAR ( area ; valor ; formula ; formato ; bordes )
Parámetro
area
valor
formula
formato
bordes
Tipo
Entero largo
Entero
Entero
Entero
Entero
Descripción
Área 4D View
0 = No borrar; 1 = Borrar
0 = No borrar; 1 = Borrar
0 = No borrar; 1 = Borrar
0 = No borrar; 1 = Borrar
Descripción
El comando PV SPECIAL CLEAR borra la información definida en los parámetros valor, formula, formato y bordes de la
selección de celdas actual en area.
Ejemplo
Borramos las fórmulas, formatos y bordes de las celdas seleccionadas, conservando los posibles valores de las celdas que
contiene valores y no fórmulas:
PV SPECIAL CLEAR(Area;0;1;1;1) `Borrado de las fórmulas, formatos y bordes
PV SPECIAL CUT
PV SPECIAL CUT ( area ; valor ; formula ; formato ; bordes )
Parámetro
area
valor
formula
formato
bordes
Tipo
Entero largo
Entero
Entero
Entero
Entero
Descripción
Área 4D View
0 = No cortar; 1 = Cortar
0 = No cortar; 1 = Cortar
0 = No cortar; 1 = Cortar
0 = No cortar; 1 = Cortar
Descripción
El comando PV SPECIAL CUT corta de area la información definida en los parámetros valor, fórmula, formato y bordes para la
selección de celdas actual.
A diferencia del comando PV SPECIAL CLEAR, el comando PV SPECIAL CUT guarda en el portapapeles la información
cortada con el fin de reutilizarla posteriormente, por ejemplo con el comando PV SPECIAL PASTE.
Ejemplo
Consulte el ejemplo del comando PV SPECIAL PASTE.
PV SPECIAL PASTE
PV SPECIAL PASTE ( area ; valor ; formula ; formato ; bordes )
Parámetro
area
valor
formula
formato
bordes
Tipo
Entero largo
Entero
Entero
Entero
Entero
Descripción
Área 4D View
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
0 = No pegar; 1 = Pegar
Descripción
El comando PV SPECIAL PASTE pega, desde las celdas en el portapapeles, la información definida en los parámetros valor,
formula, formato y bordes en el area a partir de la celda actual.
Este comando permite reutilizar los datos previamente cortados por el comando PV SPECIAL CUT o copiados utilizando PV
EXECUTE COMMAND (area; pv cmd edit copy).
Ejemplo
Este ejemplo simula un copiar/pegar del valor y el formato. Se corta el valor y el formato de la celda B2 y luego se pega en la celda
E2:
PV
PV
PV
PV
GOTO CELL(Area;2;2) `Celda inicial: B2
SPECIAL CUT(Area;1;0;1;0) `Cortar el valor y el formato
GOTO CELL(Area;5;2) `Celda de destino: E2
SPECIAL PASTE(Area;1;0;1;0) `Pega el valor y el formato
PV Paneles
PV Paneles, Introducción
PV ADD HOR SPLITTER
PV ADD VERT SPLITTER
PV FREEZE PANES
PV Get hor pane property
PV Get vert pane property
PV REMOVE HOR SPLITTER
PV REMOVE VERT SPLITTER
PV SET HOR PANE PROPERTY
PV SET VERT PANE PROPERTY
PV UNFREEZE PANES
PV Paneles, Introducción
Para ver simultáneamente diferentes partes de un área 4D View, es posible que desee desplazarse a través de una parte de esta
área sin afectar la visualización de la otra sección: estas secciones se llaman "paneles".
Un panel horizontal es el espacio entre dos límites visuales, que pueden ser: la parte superior de la hoja de cálculo, un separador
en la barra de desplazamiento vertical, la parte inferior de la hoja de cálculo.
Un panel vertical es el espacio entre dos objetivos visuales, que pueden ser: el lado izquierdo de la hoja de cálculo, un separador
en la barra de desplazamiento horizontal, el lado derecho de la hoja de cálculo.
Por lo tanto, por defecto hay un panel horizontal y vertical, que cubren toda el área.
Varios paneles pueden existir al mismo tiempo en cada una de las dos dimensiones de la hoja de cálculo, excepto cuando el área
está en el modo "panel inmovilizado" (ver más abajo).
Puede inmovilizar los paneles de un área. Cuando un panel está congelado, siempre se mantiene en la pantalla,
independientemente de la forma de navegación del usuario en la hoja de cálculo. Ya no puede redimensionarse ni ser borrado
manualmente por el usuario. No se puede acceder a su contenido desplazando el resto de la hoja de cálculo. Sigue siendo posible
definir o modificar su contenido, su formato, etc. Un área 4D View puede contener un máximo de dos paneles congelado: un panel
horizontal en la parte superior del ára y un panel vertical a la izquierda del área. No es posible combinar los paneles estándar y los
paneles inmovilizados en el mismo documento. Un área 4D View funciona en modo "panel estándar" o en modo "panel
congelado". Cuando funciona en modo "panel congelado", no es posible agregar paneles. Para poder añadir nuevos
separadores, debe descongelar los paneles:
Los comandos de este tema permiten la manipulación de los paneles de un área 4D View: añadir o eliminar un panel (horizontal o
vertical), obtener o asignar propiedades de panel y congelar o descongelar los paneles del área.
PV ADD HOR SPLITTER
PV ADD HOR SPLITTER ( area ; separador ; posicion ; bloqueado )
Parámetro
area
separador
posicion
bloqueado
Tipo
Entero largo
Entero
Entero
Entero
Descripción
Área 4D View
Número del separador horizontal
Posición del separador con respecto al último separador en píxeles
0 = Libre; 1 = Bloqueado
Descripción
El comando PV ADD HOR SPLITTER crea un nuevo separador horizontal en area, cuyo número se pasa en separador. El
separador se crea a posicion píxeles del último separador del area o si el área no contiene un separador, desde el borde superior
del area (fuera de las barras de herramientas).
Si el parámetro bloqueado es igual a 1, el panel no puede cambiar el tamaño manualmente. Si es igual a 0, el panel puede ser
redimensionado libremente por el usuario.
Notas:
La posición del panel incluye la altura de los encabezados de columnas, que es posible recuperar con el comando PV Get
area property, pasando la columna constante pv column headers como segundo parámetro.
La altura mínima de un panel horizontal es de 8 píxeles.
Puede ver el número de paneles horizontales de un área utilizando el comando PV Get area property, pasando la constante
pv hor panel count como segundo parámetro. En este caso, PV Get area property devuelve 1 cuando no hay un separador
horizontal: el panel único es, en este caso, toda el área.
Ejemplo
Añadimos un panel horizontal, alto 30 píxeles, luego de los paneles ya presentes en el área.
C_LONGINT($HorPaneNum) `Número de paneles horizontales existentes
C_LONGINT($Position) `Posición del panel
`Número de paneles horizontales
$HorPaneNum:=PV Get area property(Area;pv hor pane count)
$Position:=30 `30 píxeles de alto
PV ADD HOR SPLITTER(Area;$HorPaneNum;$Position;0) `Redimensionable
Gestión de errores
Si el comando PV ADD HOR SPLITTER se ejecuta cuando el área está en modo "panel congelado", se genera el error 92
(ningún separador se puede añadir cuando los paneles están congelados).
PV ADD VERT SPLITTER
PV ADD VERT SPLITTER ( area ; separador ; posicion ; bloqueado )
Parámetro
area
separador
posicion
bloqueado
Tipo
Entero largo
Entero
Entero
Entero
Descripción
Área 4D View
Número del separador vertical
Posición del separador en píxeles con respecto al último separador
0 = Libre; 1 = Bloqueado
Descripción
El comando PV ADD VERT SPLITTER crea un nuevo separador vertical en area, cuyo número se pasa en separador. El
separador se crea a posicion píxeles del borde izquierdo del area.
Si el parámetro bloqueado es igual a 1, el panel no puede cambiar el tamaño manualmente. Si es igual a 0, el panel puede ser
redimensionado libremente por el usuario.
Notas:
La posición del panel incluye el ancho de los encabezados de líneas, que es posible recuperar utilizando el comando PV Get
area property, pasando la constante pv row headers width como segundo parámetro.
El ancho mínimo de un panel vertical es de 8 píxeles.
Puede ver el número de paneles verticales en un área utilizando el comando PV Get area property, pasando la constante pv
vert panel count como segundo parámetro. En este caso, PV Get area property devuelve 1 cuando no existe un separador
vertical aún: el panel único es, en este caso, toda el área.
Ejemplo
Tome una hoja de cálculo que contiene más o menos veinte columnas: la primera contiene una referencia (por ejemplo, el código
del producto), que debe permanecer absolutamente visible, independientemente de la celda modificada por el usuario. A
continuación, se creará un panel vertical para mostrar esta columna A.
C_LONGINT($ColumnWidth) `Ancho de la columna A (en píxeles)
$ColumnWidth:=PV Get column width(Area;1) `Columna A
PV ADD VERT SPLITTER(Area;1;$ColumnWidth;0) `Redimensionable
Gestión de errores
Si el comando PV ADD VERT SPLITTER se ejecuta cuando el área está en modo "panel congelado", se genera el error 92
(Ningún separador puede añadirse a paneles congelados).
PV FREEZE PANES
PV FREEZE PANES ( area ; modo )
Parámetro
area
modo
Tipo
Entero largo
Entero largo
Descripción
Área 4D View
0=bloqueo de desplazamiento, 1=bloqueo de desplazamiento y de la modificación de los encabezados
Descripción
El comando PV FREEZE PANES congela el primer panel horizontal y/o el panel vertical del area 4D View. Para que el comando
funcione, el area debe contener como máximo un separador vertical y/o un separador horizontal y no debe estar en modo
"congelado".
El parámetro modo se utiliza para especificar el tipo de bloqueo efectuado en el area:
Si modo = 0, sólo se congela el desplazamiento al interior del panel. Este bloqueo se efectúa cuando utiliza el comando
Inmovilizar paneles del menú Ver.
Si modo = 1, el bloqueo se extiende: además de desplazamiento, el bloqueo afecta a las modificaciones de los
encabezados (estilo, tamaño de fuente, etc.) y haciendo clic en una celda del panel selecciona la totalidad de la
columna/linea.
Si el area no contiene un separador de panel o si contiene más de un panel vertical u horizontal, el comando no hace nada y la
variable OK toma el valor 0.
Si el comando se ejecuta correctamente, la variable OK toma el valor 1 y el menú Ver se modifica en consecuencia: el comando
Inmovilizar paneles se pone gris y el comando Liberar paneles se activa.
Para cambiar el área de nuevo a modo "panel estándar", es necesario ejecutar el comando PV UNFREEZE PANES o que el
usuario seleccione el comando de menú Liberar paneles.
Ejemplo
El siguiente código asegura que el area contiene dos paneles horizontales (un separador = dos paneles) y los congela en modo
extendido:
$nbpanes:=PV Get area property(area;pv hor pane count)
If($nbpanes=2)
PV FREEZE PANES(area;1)
End if
Variables y conjuntos del sistema
Si el area no contiene separadores de panel o si contiene más de un divisor de panel vertical u horizontal, el comando no hace
nada y la variable OK toma el valor 0. Si el comando se ejecuta correctamente, la variable OK toma el valor 1.
PV Get hor pane property
PV Get hor pane property ( area ; panel ; propiedad ) -> Resultado
Parámetro
area
panel
propiedad
Resultado
Tipo
Entero largo
Entero
Entero largo
Entero largo
Descripción
Área 4D View
Número de panel horizontal
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get hor pane property devuelve el valor actual de la propiedad del panel horizontal del area cuyo número es
panel.
Las siguientes constantes PV Propiedades panel se utilizan para definir las propiedades.
Constante
Tipo
Valor
pv pane lock scrollbar
pv pane lock splitter
pv pane view splitter cursor
pv pane size in pixels
pv pane first row
pv pane rows count
pv pane true scroll
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
1
2
3
4
5
6
Ejemplo
Consulte el ejemplo del comando PV SET HOR PANE PROPERTY.
PV Get vert pane property
PV Get vert pane property ( area ; panel ; propiedad ) -> Resultado
Parámetro
area
panel
propiedad
Resultado
Tipo
Entero largo
Entero
Entero largo
Entero largo
Descripción
Área 4D View
Número del panel vertical
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get vert pane property devuelve el valor actual de la propiedad del panel vertical de area cuyo número es panel.
Utilice las siguientes constantes del tema PV Propiedades panel para definir el parámetro propiedad:
Constante
Tipo
Valor
pv pane lock scrollbar
pv pane lock splitter
pv pane view splitter cursor
pv pane size in pixels
pv pane first column
pv pane columns count
pv pane true scroll
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
1
2
3
4
5
6
Ejemplo
Consulte el ejemplo del comando PV SET VERT PANE PROPERTY.
PV REMOVE HOR SPLITTER
PV REMOVE HOR SPLITTER ( area ; separador )
Parámetro
area
separador
Tipo
Entero largo
Entero
Descripción
Área 4D View
Número del separador horizontal
Descripción
El comando PV REMOVE HOR SPLITTER elimina de area, el separador horizontal cuyo número se pasa en separador.
Este comando permite eliminar todo tipo de panel horizontal, creado por el usuario o con la ayuda del comando PV ADD VERT
SPLITTER.
Nota: cuando la instrucción PV REMOVE HOR SPLITTER(area;1) se ejecuta en el contexto de un area congelada, el panel
congelado se elimina y el área vuelve al modo "panel estándar".
Ejemplo
Borrar el último panel horizontal:
C_LONGINT($HorPaneNum)&nbsp;&nbsp; `Número de páneles horizontales
`Número de páneles horizontales
$HorPaneNum:=PV Get area property(Area;pv hor pane count)
PV REMOVE HOR SPLITTER(Area;$HorPaneNum)
PV REMOVE VERT SPLITTER
PV REMOVE VERT SPLITTER ( area ; separador )
Parámetro
area
separador
Tipo
Entero largo
Entero
Descripción
Área 4D View
Número del separador vertical
Descripción
El comando PV REMOVE VERT SPLITTER borra de area, el separador vertical pasado en separador.
Este comando permite eliminar todo tipo de panel vertical, creado por el usuario o utilizando el comando PV ADD VERT
SPLITTER.
Nota: cuando la instrucción PV REMOVE VERT SPLITTER(area;1) se ejecuta en el contexto de un area congelada, el panel
congelado se elimina y el área vuelve al modo "panel estándar".
Ejemplo
Borrar el último panel vertical:
C_LONGINT($VertPaneNum) `Número de páneles verticales
$VertPaneNum:=PV Get area property(Area;pv vert pane count)
PV REMOVE VERT SPLITTER(Area;$VertPaneNum)
PV SET HOR PANE PROPERTY
PV SET HOR PANE PROPERTY ( area ; panel ; propiedad ; valor )
Parámetro
area
panel
propiedad
valor
Tipo
Entero largo
Entero
Entero largo
Entero largo
Descripción
Área 4D View
Número de panel horizontal
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET HOR PANE PROPERTY permite fijar el valor de la propiedad del panel horizontal de area cuyo número es
panel.
Las siguientes constantes del tema PV Propiedades panel se utilizan para definir propiedad:
Constante
Tipo
Valor
pv pane lock scrollbar
pv pane lock splitter
pv pane view splitter cursor
pv pane size in pixels
pv pane first row
pv pane rows count
pv pane true scroll
pv pane relative scroll
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
1
2
3
4
5
6
7
Ejemplo
Aumentamos la altura del primer panel horizontal de 30 píxeles.
C_LONGINT($Size) `Tamaño del primer panel horizontal
$Size:=PV Get hor pane property(Area;1;pv pane size in pixels)
PV SET HOR PANE PROPERTY(Area;1;pv pane size in pixels;$Size+30) `30 píxeles más
PV SET VERT PANE PROPERTY
PV SET VERT PANE PROPERTY ( area ; panel ; propiedad ; valor )
Parámetro
area
panel
propiedad
valor
Tipo
Entero largo
Entero
Entero largo
Entero largo
Descripción
Área 4D View
Número de panel vertical
Número de propiedad
Valor de la propiedad
Descripción
El comando PV SET VERT PANE PROPERTY permite fijar el valor de la propiedad del panel vertical de area cuyo número es
panel.
Las siguientes constantes del tema se utilizan para definir las propiedades:
Constante
Tipo
Valor
pv pane lock scrollbar
pv pane lock splitter
pv pane view splitter cursor
pv pane size in pixels
pv pane first column
pv pane columns count
pv pane true scroll
pv pane relative scroll
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
0
1
2
3
4
5
6
7
Ejemplo 1
Alargamos el primer panel vertical 30 píxeles.
C_LONGINT($Size) `Tamaño del primer panel vertical
$Size:=PV Get vert pane property(Area;1;pv pane size in pixels)
PV SET VERT PANE PROPERTY(Area;1;pv pane size in pixels;$Size+30) `30 píxeles más
Ejemplo 2
Desplazamos el primer panel 50 píxeles desde el origen.
PV SET VERT PANE PROPERTY(Area;1;pv pane true scroll;50)
PV UNFREEZE PANES
PV UNFREEZE PANES ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
La comando PV UNFREEZE PANES cambia el area 4D View a modo "panel estándar", donde es posible añadir o eliminar
paneles, mover su separador, etc.
Para que este comando funcione, los paneles del area deben haber sido congelados previamente con el comando PV FREEZE
PANES o con el comando Inmovilizar paneles del menú Ver.
Si el area no contiene separadores o si no se ha congelado, el comando no hace nada y la variable OK toma el valor 0. Si el
comando se ejecuta correctamente, la variable OK toma el valor 1 y el menú Ver se modifica en consecuencia: el comando
Liberar los paneles pasa a gris y el comando Inmovilizar paneles se activa.
Ejemplo
El siguiente ejemplo descongela los paneles de un área si han sido congelados:
PV GET COMMAND STATUS(area;pv cmd unfreeze panes;$status;$check;$name)
If($status=1)
PV UNFREEZE PANES(area)
End if
Variables y conjuntos del sistema
Si el area no contiene un separador o si no se ha congelado, el comando no hace nada y la variable OK toma el valor 0. Si el
comando se ejecuta correctamente, la variable OK toma el valor 1.
PV Propiedad de celda
PV Propiedad de celda, Introducción
PV Get cell name
PV GET CELL NAME LIST
PV Get cell property
PV Get range property
PV SET CELL NAME
PV SET CELL PROPERTY
PV SET RANGE PROPERTY
PV Propiedad de celda, Introducción
Los comandos de este tema permiten definir u obtener las propiedades de una celda o de una selección de celdas:
bloqueo, formato de visualización, color, etc.
Tres comandos de este tema permiten igualmente la gestión de nombres de celdas: obtener la lista de los nombres existentes en
un área 4D View o creación de nuevos nombres.
Darle nombre a las celdas facilita su gestión: por ejemplo, es más fácil para el usuarios y para el desarrollador disponer de un
menú pop-up que permite un posicionamiento en la celda "Total" y no en la celda ubicada en la columna Y, línea 384.
PV Get cell name
PV Get cell name ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
El comando PV Get cell name devuelve el nombre de la celda.
Ejemplo
Consulte el ejemplo del comando PV SET CELL NAME.
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Nombre de la celda
PV GET CELL NAME LIST
PV GET CELL NAME LIST ( area ; columnas ; lineas ; nombres )
Parámetro
area
columnas
lineas
nombres
Tipo
Entero largo
Array entero largo
Array entero largo
Array texto
Descripción
Área 4D View
Array de los números de columnas de las celdas
Array de los números de líneas de las celdas
Nombres de las celdas
Descripción
El comando PV GET CELL NAME LIST recupera respectivamente en el arrays nombres, columnas, y lineas los nombres,
números de columnas y números de líneas de las celdas a las cuales se les asignó un nombre.
Ejemplo
El siguiente método se encuentra en un módulo genérico que gestiona los nombres de las celdas. No hay un comando específico
que permite el posicionamiento de una celda utilizando su nombre, pero simplemente utilice el comando PV GOTO CELL, como
parámetro, un elemento de cada uno de los arrays $TabColumns y $TabRows arrays correspondientes a la posición del nombre
deseado en $TabNames:
C_TEXT($1) `Nombre de la celda a la cual ir
C_LONGINT($Position) `Posición del nombre de la celda en la lista de nombres
ARRAY LONGINT($TabColumns;0) `Array de columnas
ARRAY LONGINT($TabRows;0) `Arrays de líneas
ARRAY TEXT($TabNames;0) `Array de nombres de celdas
`Recuperación de los nombres y de las coordenadas correspondientes
PV GET CELL NAME LIST(Area;$TabColumns;$TabRows;$TabNames)
$Position:=Find in array($TabNames;$1) `Buscamos nuestra celda
If($Position#-1) `Existe
PV GOTO CELL(Area;$TabColumns{$Position};$TabRows{$Position}) `La volvemos actual
Else
`Manejamos el posible error
End if
PV Get cell property
PV Get cell property ( area ; columna ; linea ; propiedad ) -> Resultado
Parámetro
area
columna
linea
propiedad
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get cell property devuelve el valor de la propiedad de la celda definida por los parámetros columna y linea.
Utilice las constantes de los temas PV Propiedades estilo y PV Propiedades celda para definir el parámetro propiedad. Para
mayor información sobre estas constantes, consulte la descripción del comando PV SET CELL PROPERTY.
Ejemplo
Ver el ejemplo del comando PV SET CELL PROPERTY.
PV Get range property
PV Get range property ( area ; izquierda ; superior ; derecha ; inferior ; propiedad ) -> Resultado
Parámetro
area
izquierda
superior
derecha
inferior
propiedad
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda de arriba
Número de la columna de la celda derecha
Número de línea de la celda inferior
Número de propiedad
Valor de la propiedad
Descripción
El comando PV Get range property devuelve el valor de la propiedad de las celdas seleccionadas definidas por los parámetros
izquierda, superior, derecha e inferior. Para más información sobre los rangos de celdas, consulte la sección PV Selección,
Introducción.
Para definir el parámetro de la propiedad, utilice las constantes de los temas PV Propiedades estilo y PV Propiedades celda.
Para más información sobre estas constantes, consulte la descripción del comando PV SET RANGE PROPERTY.
Valores mixtos
Para algunas propiedades, el comando PV Get range property devuelve los valores 65535 o 255, que corresponden a las
constantes de tipo "mixto" del tema PV Valores estilo.
Por ejemplo, la instrucción:
$value:=PV Get range property(area;column;row;pv style color back even)
devuelve 65535 si las celdas de las líneas pares en el rango no tienen todas el mismo color de fondo. Este valor corresponde a la
constante pv value format mixed del tema PV Valores estilo. Si todas las celdas de líneas pares del rango tienen el mismo color
de fondo, se devuelve el número del color.
Este principio aplica a las siguientes propiedades:
Propiedad
Valor/Constante devuelta si varía selección
pv style format alpha
pv style format num
pv style format bool
pv style format date time
pv style format picture
pv style color back even
pv style color back odd
pv style color text even
pv style color text odd
pv style color zero even
pv style color zero odd
pv style hor alignment
pv style vert alignment
pv style rotation
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
65535 (pv value format mixed)
255 (pv value hor alignment mixed)
255 (pv value vert alignment mixed)
255 (pv value rotation mixed)
Ejemplo
Ver el ejemplo del comando PV Get cell property.
PV SET CELL NAME
PV SET CELL NAME ( area ; columna ; linea ; nombre ; modo )
Parámetro
area
columna
linea
nombre
modo
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Entero largo
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Nombre de la celda
0 o se omite = Añadir el nombre, 1 = Remplazar el nombre
Descripción
El comando PV SET CELL NAME define el nombre de una celda definida por los parámetros columna y linea.
Puede acceder a una celda, ya sea por su referencia absoluta, número de línea y columna, o por su nombre. Las fórmulas del área
4D View también se pueden referenciar a esta celda utilizando su nombre.
Notas:
Los tres primeros caracteres de un nombre de celda no deben ser números.
El nombre de la celda no debe contener espacios (los espacios que figuran en el parámetro nombre serán truncados por el
comando).
El parámetro opcional modo se utiliza para definir la manera como debe definirse el nuevo nombre de la celda si la celda a tiene
uno o más nombre(s). Puede utilizar las siguientes constantes del tema PV Propiedades celda:
Constante
Tipo
Valor
pv add name
Entero largo
0
pv replace name
Entero largo
1
Para borrar todos los nombres asociados a la celda, pase una cadena vacía ("") en nombre y pv replace name en modo.
Ejemplo
Este ejemplo permite dar un nombre a la celda actual. Si ya tiene un nombre, el usuario puede cambiarlo:
C_TEXT($CellName) `Nombre a asignar a la celda
C_LONGINT($Column) `Número de la columna de la celda actual
C_LONGINT($Row) `Número de línea de la celda actual
PV GET CURRENT CELL(Area;$Column;$Row) `Recuperación de las coordenadas de la celda actual
$CellName:=PV Get cell name(Area;$Column;$Row) `Nombre posiblemente dado
If($CellName="") `¿La celda ya tiene un nombre?
$CellName:=Request("¿Qué nombre quiere asignar a esta celda?";"Nuevo nombre")
If($CellName#"") `Se introdujo un nombre
PV SET CELL NAME(Area;$Column;$Row;$CellName) `Asignación del nombre introducido
End if
Else `La celda actual ya tiene un nombre
CONFIRM("Esta celda se llama "+$CellName+". ¿Desea renombrarla?";"Sí";"No")
If(OK=1) `El usuario desea renombrar la celda
PV SET CELL NAME(Area;$Column;$Row;$CellName;pv replace name)
End if
End if
PV SET CELL PROPERTY
PV SET CELL PROPERTY ( area ; columna ; linea ; propiedad ; valor )
Parámetro
area
columna
linea
propiedad
valor
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la columna de la celda
Número de línea de la celda
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET CELL PROPERTY fija el valor de la propiedad de la celda definida por los parámetros columna y linea.
Para definir el parámetro propiedad, puede utilizar:
las constantes del tema PV Propiedades celda. En este caso, pase en el parámetro valor la altura o el ancho de la celda
en píxeles.
las constantes del tema PV Propiedades estilo. En este caso, para definir el parámetro valor, utilice las constantes de los
temas PV Valores estilo, PV Estilo valores especiales, PV Formato fecha hora o PV Visualización imagen.
La siguiente lista describe las diferentes constantes utilizadas en el parámetro propiedad y los valores asociados:
Tema PV Propiedades celda
Constante
Tipo
Valor
Comentario
pv cell height
pv cell width
Entero largo
Entero largo
101
100
Permite definir la altura de la celda. Valores asociados: altura expresada en píxeles.
Permite definir el ancho de la celda. Valores asociados: ancho expresado en píxeles
Tema PV Propiedades estilo
Constante Tipo
Valor Comentario
Permite activar la función de ajustar cuando el contenido de la celda excede el ancho de la
misma. Valores asociados: constantes del tema PV Valores estilo.
pv style
automatic
word wrap
Entero
largo
33
pv style
based on
Entero
largo
4
pv style
color back
even
pv style
color back
odd
Entero
largo
11
Entero
largo
12
Entero
largo
17
Entero
largo
18
Entero
largo
13
Entero
largo
14
Entero
largo
15
Entero
largo
16
Entero
largo
6
La celda utiliza el formato de visualización de texto cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
Entero
largo
8
La celda utiliza el formato de visualización booleano cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
pv style
color minus
even
pv style
color minus
odd
pv style
color text
even
pv style
color text
odd
pv style
color zero
even
pv style
color zero
odd
pv style
format
alpha
pv style
format bool
pv value on: el contenido de la celda se mueve automáticamente a la siguiente línea si es
necesario.
pv value off: el contenido de la celda pasa a las celdas adyacentes si es necesario.
La celda utiliza como modelo la hoja de estilo cuyo número se pasa en el parámetro valor.
Valores asociados: números de hojas de estilo o constantes del tema PV Estilo valores
especiales.
Permite fijar el color de fondo de la celda si la celda está ubicada en una línea par. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color de fondo de la celda si está ubicada en una línea impar. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par y
su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar
y su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea par
y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea
impar y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV
RGB to color y PV Index to color).
La celda utiliza el formato de visualización fecha y hora cuyo número se pasa en el parámetro
valor. Valores asociados: constantes del tema PV Formato fecha hora.
pv style
format date
time
Entero
largo
9
pv Short: 02/21/02
pv Abbreviated: jue 21 feb 2002
pv Long: jueves 21 febrero 2002
pv Short2: 02/21/2002
pv Month Day Year: 21 febrero, 2002
pv Abbr Month Day Year: 21 feb, 2002
pv Day Name: jueves
pv Day Number: 21
pv Month Name: febrero
pv Month Number: 2
pv Year Number: 2002
pv Long H MM AM PM: jueves 21 febrero 2002 a las 12:30 PM
pv Abbreviated H MM AM PM: jue 21 feb 2002 a las 12:30 PM
pv Short HH MM SS: 02/21/02 a las 12:30:00
pv Month Day Year H MM AM PM: 21 febrero, 2002 a las12:30 PM
pv Short2 Hour Min Sec: 21/02/2002 y 12 horas 30 minutos 0 segundos
pv HH MM SS: 12:30:00
pv HH MM: 12:30
pv Hour Min Sec: 12 horas 30 minutos 0 segundos
pv Hour Min: 12 horas 30 minutos
pv HH MM AM PM: 12:30 PM
Nota: dependiendo de la configuración actual de su sistema, el resultado obtenido puede ser
diferente.
Permite forzar la visualización de la celda en texto bruto, es decir sin el formato aplicado por
4D View en función de su contenido (número, fecha, texto, etc.). Valores asociados: constantes
del tema PV Valores estilo.
pv style
format
forced text
Entero
largo
pv style
format num
Entero
largo
pv style
format
picture
Entero
largo
pv style
hidden
Entero
largo
32
7
10
pv value on: el contenido de la celda se muestra sin formato.
pv value off (por defecto): la celda se muestra con formato automático en función de su
contenido.
La celda utiliza el formato de visualización numérico cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
Nota: los números de los formatos de visualización por defecto corresponden a su posición en
el menú de selección del formato (caja de diálogo Formatos de celdas).
Permite definir el formato de visualización de la imagen asociada a la celda. Valores
asociados: constantes del tema PV Visualización imagen.
pv mapping trunc non-centered
pv mapping truncated centered
pv mapping replicated
pv mapping scaled to fit prop
pv mapping scaled to fit
pv mapping scaled centered prop
Permite fijar el bloqueo y ocultamiento de celdas. El contenido de una celda bloqueada u oculta
no se muestra y no puede modificarse, seleccionarse, etc. Valores asociados: constantes del
tema PV Valores estilo.
1
pv value on: celda bloqueda y oculta.
pv value off: celda no bloqueada ni oculta.
Permite fijar la alineación horizontal del contenido de la celda. Valores asociados: constantes
del tema PV Valores estilo.
pv style hor
alignment
pv style
locked
Entero
largo
Entero
largo
29
pv value hor alignment default: aplica la alineación horizontal por defecto a la celda.
pv value hor alignment left: aplica una alineación horizontal a la izquierda a la celda.
pv value hor alignment center: aplica una alineación horizontal centrada a la celda.
pv value hor alignment right: aplica una alineación horizontal a la derecha a la celda.
Permite fijar el bloqueo para el usuario de la celda. El contenido de una celda bloqueada no
puede modificarse, seleccionarse, etc. Valores asociados: constantes del tema PV Valores
estilo.
0
pv value on: celda bloqueada.
pv value off: celda no bloqueada.
Permite fijar la rotación del contenido de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style
rotation
Entero
largo
31
pv value rotation 0: no aplica rotación a la celda.
pv value rotation 90: aplica una rotación de 90° a la izquierda.
pv value rotation 180: aplica una rotación de 180°.
pv value rotation 270: aplica una rotación de 270° a la izquierda.
Permite aplicar una corrección ortográfica a la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style
spellcheck
Entero
largo
2
pv value on: se aplica corrección ortográfica a la celda.
pv value off: no se aplica corrección ortográfica a la celda.
Permite fijar el atributo Negrita al texto de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style text
bold
Entero
largo
22
pv value on: aplica el atributo Negrita a la celda.
pv value off: no aplica el atributo Negrita a la celda.
Permite fijar el atributo Condensado al texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
condensed
Entero
largo
27
pv value on: aplica el atributo Condensado a la celda.
pv value off: no aplica el atributo Condensado a la celda.
Permite fijar el atributo Extendido del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
Entero
28
extended
largo
pv style text
face
pv style text
font
Entero
largo
Entero
largo
pv style text
italic
Entero
largo
28
21
19
pv value on: aplica el atributo Extendido a la celda.
pv value off: no aplica el atributo Extendido a la celda.
Permite fijar la hoja de estilo de la celda. Valores asociados: números de hojas d estilo o
constantes del tema PV Style special values.
Permite fijar la fuente de la celda. Valores asociados: números de fuentes (ver los comandos
PV Add font y PV GET FONT LIST).
Permite fijar el atributo Itálica del texto de la celda. Valores asociados: constantes del tema PV
Style values.
23
pv value on: aplica el atributo Itálica a la celda.
pv value off: no aplica el atributo Itálica a la celda.
Permite fijar el atributo Relieve del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
outline
Entero
largo
25
pv value on: aplica el atributo Relieve a la celda.
pv value off: no aplica el atributo Relieve a la celda.
Permite fijar el atributo Sombra al texto de la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style text
shadow
Entero
largo
26
pv style text
size
Entero
largo
20
pv value on: aplica el atributo Sombra a la celda.
pv value off: no aplica el atributo Sombra a la celda.
Permite definir el tamaño de la fuente de la celda. Valores asociados: tamaño en píxeles.
Permite fijar el atributo Subrayado para el texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
underline
Entero
largo
24
pv value on: aplica el atributo Subrayado a la celda.
pv value off: no aplica el atributo Subrayado a la celda.
Permite adaptar el tamaño de la celda en función de la altura de la imagen asociada. Valores
asociados: constantes del tema PV Valores estilo.
pv style
use picture
height
pv style
vert
alignment
Entero
largo
3
pv value on: el tamaño de la celda se adapta al tamaño de la imagen que contiene. Si
ninguna imagen está relacionada, la celda no se redimensiona.
pv value off: el tamaño de la celda no varía en función del tamaño de la imagen asociada.
Permite fijar la alineación vertical del contenido de la celda. Valores asociados: constantes del
tema PV Valores estilo.
Entero
largo
30
pv value vert alignment top: aplica una alineación superior a la celda.
pv value vert alignment center: aplica una alineación vertical centrada a la celda.
pv value vert alignment bottom: aplica una alineación inferior vertical a la celda.
Nota: para definir, en una selección, la propiedad de un rango de celdas, puede utilizar el comando PV SET RANGE
PROPERTY.
Ejemplo
Buscamos todas las celdas que contienen una fórmula que hace referencia a la celda D20, para pasar a bloquearlas o
desbloquearlas.
C_LONGINT($ProtectedCell) `Para bloquear o desbloquear las celdas
C_LONGINT($EndColumn;$EndRow) `Para guardar los límites inferior/derecha
C_LONGINT($StartColumn;$StartRow) `Para guardar los límites superior/inferior
C_LONGINT($Column;$Row) `Para los bucles en las coordenadas
ARRAY
ARRAY
ARRAY
ARRAY
LONGINT($LeftTab;0)
LONGINT($UpperTab;0)
LONGINT($RightTab;0)
LONGINT($LowerTab;0)
PV FIND ALL(Area;"$D$20";0;0) `Celdas que contienen "$D$20"
`Coordenadas de las celdas seleccionadas
PV GET SELECTED RANGES LIST(Area;$LeftTab;$UpperTab;$RightTab;$LowerTab)
If(Size of array($LeftTab)#0) `¿Hay fórmulas que correspondan al criterio de búsqueda?
SORT ARRAY($LeftTab;$UpperTab;$RightTab;$LowerTab;>)
$StartColumn:=$LeftTab{1} `Recuperación de la celda más a la izquierda
SORT ARRAY($UpperTab;$LeftTab;$RightTab;$LowerTab;>)
$StartRow:=$UpperTab{1} `Recuperación de la celda más a arriba
SORT ARRAY($RightTab;$UpperTab;$LeftTab;$LowerTab;>)
$EndColumn:=$RightTab{Size of array($RightTab)} `Recuperación de la celda más a la derecha
SORT ARRAY($LowerTab;$RightTab;$UpperTab;$LeftTab;>)
$EndRow:=$LowerTab{Size of array($LowerTab)} `Recuperación de la celda más abajo
`Revisamos la selección
For($Column;$StartCol;$EndCol)
For($Row;$StartRow;$EndRow)
If(Position("$D$20";PV Get cell formula(Area;$Column;$Row))>0)
`¿Bloqueado?
$ProtectedCell:=PV Get cell property(Area;$Column;$Row;pv style locked)
`Cambio de bloqueado/desbloqueado
PV SET CELL PROPERTY(Area;$Column;$Row;pv style locked;Num($ProtectedCell=0)) `0 <> 1
End if
End for
End for
End if `¿Rango(s) seleccionados?
PV SET RANGE PROPERTY
PV SET RANGE PROPERTY ( area ; izquierda ; superior ; derecha ; inferior ; propiedad ; valor )
Parámetro
area
izquierda
superior
derecha
inferior
propiedad
valor
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda superior
Número de la columna de la celda derecha
Número de línea de la celda inferior
Número de propiedad
Valor de la propiedad
Descripción
El comando PV SET RANGE PROPERTY fija el valor de la propiedad del rango de celdas definido por los parámetros
izquierda, superior, derecha e inferior. Para mayor información sobre los rangos de celdas, consulte la sección PV Selección,
Introducción.
Para definir el parámetro propiedad, puede utilizar:
las constantes del tema PV Propiedades celda. En este caso, pase en el parámetro valor la altura o el ancho de la celda
en píxeles.
las constantes del tema PV Propiedades estilo. En este caso, para definir el parámetro valor, utilice las constantes de los
temas PV Valores estilo, PV Estilo valores especiales, PV Formato fecha hora o PV Visualización imagen.
La siguiente lista describe las diferentes constantes utilizadas en el parámetro propiedad y los valores asociados:
Tema PV Propiedades celda
Constante
Tipo
Valor
Comentario
pv cell height
pv cell width
Entero largo
Entero largo
101
100
Permite definir la altura de la celda. Valores asociados: altura expresada en píxeles.
Permite definir el ancho de la celda. Valores asociados: ancho expresado en píxeles
Tema PV Propiedades estilo
Constante Tipo
Valor Comentario
Permite activar la función de ajustar cuando el contenido de la celda excede el ancho de la
misma. Valores asociados: constantes del tema PV Valores estilo.
pv style
automatic
word wrap
Entero
largo
33
pv style
based on
Entero
largo
4
pv style
color back
even
pv style
color back
odd
Entero
largo
11
Entero
largo
12
Entero
largo
17
Entero
largo
18
Entero
largo
13
Entero
largo
14
Entero
largo
15
Entero
largo
16
Entero
largo
6
La celda utiliza el formato de visualización de texto cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
Entero
largo
8
La celda utiliza el formato de visualización booleano cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
pv style
color minus
even
pv style
color minus
odd
pv style
color text
even
pv style
color text
odd
pv style
color zero
even
pv style
color zero
odd
pv style
format
alpha
pv style
format bool
pv value on: el contenido de la celda se mueve automáticamente a la siguiente línea si es
necesario.
pv value off: el contenido de la celda pasa a las celdas adyacentes si es necesario.
La celda utiliza como modelo la hoja de estilo cuyo número se pasa en el parámetro valor.
Valores asociados: números de hojas de estilo o constantes del tema PV Estilo valores
especiales.
Permite fijar el color de fondo de la celda si la celda está ubicada en una línea par. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color de fondo de la celda si está ubicada en una línea impar. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv
value none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par y
su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar
y su valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to
color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea par
y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV RGB to
color y PV Index to color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea
impar y su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV
RGB to color y PV Index to color).
La celda utiliza el formato de visualización fecha y hora cuyo número se pasa en el parámetro
valor. Valores asociados: constantes del tema PV Formato fecha hora.
pv style
format date
time
Entero
largo
9
pv Short: 02/21/02
pv Abbreviated: jue 21 feb 2002
pv Long: jueves 21 febrero 2002
pv Short2: 02/21/2002
pv Month Day Year: 21 febrero, 2002
pv Abbr Month Day Year: 21 feb, 2002
pv Day Name: jueves
pv Day Number: 21
pv Month Name: febrero
pv Month Number: 2
pv Year Number: 2002
pv Long H MM AM PM: jueves 21 febrero 2002 a las 12:30 PM
pv Abbreviated H MM AM PM: jue 21 feb 2002 a las 12:30 PM
pv Short HH MM SS: 02/21/02 a las 12:30:00
pv Month Day Year H MM AM PM: 21 febrero, 2002 a las12:30 PM
pv Short2 Hour Min Sec: 21/02/2002 y 12 horas 30 minutos 0 segundos
pv HH MM SS: 12:30:00
pv HH MM: 12:30
pv Hour Min Sec: 12 horas 30 minutos 0 segundos
pv Hour Min: 12 horas 30 minutos
pv HH MM AM PM: 12:30 PM
Nota: dependiendo de la configuración actual de su sistema, el resultado obtenido puede ser
diferente.
Permite forzar la visualización de la celda en texto bruto, es decir sin el formato aplicado por
4D View en función de su contenido (número, fecha, texto, etc.). Valores asociados: constantes
del tema PV Valores estilo.
pv style
format
forced text
Entero
largo
pv style
format num
Entero
largo
pv style
format
picture
Entero
largo
pv style
hidden
Entero
largo
32
7
10
pv value on: el contenido de la celda se muestra sin formato.
pv value off (por defecto): la celda se muestra con formato automático en función de su
contenido.
La celda utiliza el formato de visualización numérico cuyo número se pasa en el parámetro
valor. Valores asociados: números de formatos de visualización.
Nota: los números de los formatos de visualización por defecto corresponden a su posición en
el menú de selección del formato (caja de diálogo Formatos de celdas).
Permite definir el formato de visualización de la imagen asociada a la celda. Valores
asociados: constantes del tema PV Visualización imagen.
pv mapping trunc non-centered
pv mapping truncated centered
pv mapping replicated
pv mapping scaled to fit prop
pv mapping scaled to fit
pv mapping scaled centered prop
Permite fijar el bloqueo y ocultamiento de celdas. El contenido de una celda bloqueada u oculta
no se muestra y no puede modificarse, seleccionarse, etc. Valores asociados: constantes del
tema PV Valores estilo.
1
pv value on: celda bloqueda y oculta.
pv value off: celda no bloqueada ni oculta.
Permite fijar la alineación horizontal del contenido de la celda. Valores asociados: constantes
del tema PV Valores estilo.
pv style hor
alignment
pv style
locked
Entero
largo
Entero
largo
29
pv value hor alignment default: aplica la alineación horizontal por defecto a la celda.
pv value hor alignment left: aplica una alineación horizontal a la izquierda a la celda.
pv value hor alignment center: aplica una alineación horizontal centrada a la celda.
pv value hor alignment right: aplica una alineación horizontal a la derecha a la celda.
Permite fijar el bloqueo para el usuario de la celda. El contenido de una celda bloqueada no
puede modificarse, seleccionarse, etc. Valores asociados: constantes del tema PV Valores
estilo.
0
pv value on: celda bloqueada.
pv value off: celda no bloqueada.
Permite fijar la rotación del contenido de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style
rotation
Entero
largo
31
pv value rotation 0: no aplica rotación a la celda.
pv value rotation 90: aplica una rotación de 90° a la izquierda.
pv value rotation 180: aplica una rotación de 180°.
pv value rotation 270: aplica una rotación de 270° a la izquierda.
Permite aplicar una corrección ortográfica a la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style
spellcheck
Entero
largo
2
pv value on: se aplica corrección ortográfica a la celda.
pv value off: no se aplica corrección ortográfica a la celda.
Permite fijar el atributo Negrita al texto de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style text
bold
Entero
largo
22
pv value on: aplica el atributo Negrita a la celda.
pv value off: no aplica el atributo Negrita a la celda.
Permite fijar el atributo Condensado al texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
condensed
Entero
largo
27
pv value on: aplica el atributo Condensado a la celda.
pv value off: no aplica el atributo Condensado a la celda.
Permite fijar el atributo Extendido del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
Entero
28
extended
largo
pv style text
face
pv style text
font
Entero
largo
Entero
largo
pv style text
italic
Entero
largo
28
21
19
pv value on: aplica el atributo Extendido a la celda.
pv value off: no aplica el atributo Extendido a la celda.
Permite fijar la hoja de estilo de la celda. Valores asociados: números de hojas d estilo o
constantes del tema PV Style special values.
Permite fijar la fuente de la celda. Valores asociados: números de fuentes (ver los comandos
PV Add font y PV GET FONT LIST).
Permite fijar el atributo Itálica del texto de la celda. Valores asociados: constantes del tema PV
Style values.
23
pv value on: aplica el atributo Itálica a la celda.
pv value off: no aplica el atributo Itálica a la celda.
Permite fijar el atributo Relieve del texto de la celda. Valores asociados: constantes del tema
PV Style values.
pv style text
outline
Entero
largo
25
pv value on: aplica el atributo Relieve a la celda.
pv value off: no aplica el atributo Relieve a la celda.
Permite fijar el atributo Sombra al texto de la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style text
shadow
Entero
largo
26
pv style text
size
Entero
largo
20
pv value on: aplica el atributo Sombra a la celda.
pv value off: no aplica el atributo Sombra a la celda.
Permite definir el tamaño de la fuente de la celda. Valores asociados: tamaño en píxeles.
Permite fijar el atributo Subrayado para el texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
underline
Entero
largo
24
pv value on: aplica el atributo Subrayado a la celda.
pv value off: no aplica el atributo Subrayado a la celda.
Permite adaptar el tamaño de la celda en función de la altura de la imagen asociada. Valores
asociados: constantes del tema PV Valores estilo.
pv style
use picture
height
pv style
vert
alignment
Entero
largo
3
pv value on: el tamaño de la celda se adapta al tamaño de la imagen que contiene. Si
ninguna imagen está relacionada, la celda no se redimensiona.
pv value off: el tamaño de la celda no varía en función del tamaño de la imagen asociada.
Permite fijar la alineación vertical del contenido de la celda. Valores asociados: constantes del
tema PV Valores estilo.
Entero
largo
30
pv value vert alignment top: aplica una alineación superior a la celda.
pv value vert alignment center: aplica una alineación vertical centrada a la celda.
pv value vert alignment bottom: aplica una alineación inferior vertical a la celda.
Nota: para definir las propiedades de una sola celda, puede utilizar el comando PV SET CELL PROPERTY.
Ejemplo
Hagamos que todas las celdas que contienen una fórmula hagan referencia a la celda D20.
ARRAY LONGINT($LeftArray;0)
ARRAY LONGINT($TopArray;0)
ARRAY LONGINT($RightArray;0)
ARRAY LONGINT($BottomArray;0)
C_INTEGER($Index)
PV FIND ALL(Area;"$D$20";0;0) `Fórmulas que contienen "$D$20"
`Coordenadas de las celdas seleccionadas
PV GET SELECTED RANGES LIST(Area;$LeftArray;$TopArray;$RightArray;$BottomArray)
`Poner en negrita
For($Index;1;Size of array($LeftArray)) `Rangos de barridos
PV SET RANGE
PROPERTY(Area;$LeftArray{$Index};$TopArray{$Index};$RightArray{$Index};$BottomArray{$Index};pv
style text bold;pv value on)
End for
PV Propiedad Plugin
PV Propiedad plugin, Introducción
PV Get plugin property
PV SET PLUGIN PROPERTY
PV Propiedad plugin, Introducción
Los comandos de este tema permiten definir y leer el valor actual de las propiedades genéricas del plug-in 4D View.
Estas propiedades genéricas incluyen el número de líneas y de columnas que contiene por defecto en las nuevas áreas 4D View,
el tamaño mínimo de las áreas incluidas y la ubicación de lectura/escritura de las plantillas 4D View.
PV Get plugin property
PV Get plugin property ( propiedad ) -> Resultado
Parámetro
propiedad
Resultado
Tipo
Entero largo
Entero largo
Descripción
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV Get plugin property devuelve el valor actual de la propiedad genérica del plug-in 4D View.
Utilice las constantes del tema PV Propiedades plugin para definir el parámetro propiedad. Para mayor información sobre
estas constantes, consulte la descripción del comando PV SET PLUGIN PROPERTY.
Ejemplo
Queremos conocer el ancho (en píxeles) por debajo del cual las áreas 4D View incluidas se transforman en botones:
C_LONGINT($vAncho)
$vAncho:=PV Get plugin property(pv button width)
ALERT("El ancho mínimo de las áreas 4D View es de "+String($vWidth)+" píxeles.")
PV SET PLUGIN PROPERTY
PV SET PLUGIN PROPERTY ( propiedad ; valor )
Parámetro
propiedad
valor
Tipo
Entero largo
Entero largo
Descripción
Número de la propiedad
Valor de la propiedad
Descripción
El comando PV SET PLUGIN PROPERTY permite definir el valor de la propiedad genérica del plug-in 4D View.
Este comando se puede colocar, por ejemplo, en el Método base On Startup. La propiedad definida se aplica inmediatamente a
todas las nuevas áreas 4D View.
Utilice las constantes del tema PV Propiedades plugin para definir el parámetro propiedad.
Pase el valor a asignar a la propiedad en el parámetro valor. Su contenido dependerá de la propiedad definida.
La siguiente tabla detalla las constantes que se pueden utilizar como parámetro propiedad y valor:
Constante
Tipo
Valor
pv button height
pv button width
pv confirm convert dialog
pv default columns count
pv default rows count
pv load template on server
pv write template on server
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
5
4
6
2
3
1
0
Ejemplo
Queremos que todas las áreas 4D View creadas en la base estén compuestas inicialmente de 100 columnas y 50 líneas:
PV SET PLUGIN PROPERTY(pv default columns count;100)
PV SET PLUGIN PROPERTY(pv default rows count;50)
PV Selección
PV Selección, Introducción
PV GET SELECTED RANGES LIST
PV Is all selected
PV Is cell selected
PV Is column selected
PV Is range selected
PV Is row selected
PV SELECT ALL
PV SELECT CELL
PV SELECT COLUMNS
PV SELECT RANGE
PV SELECT RANGES LIST
PV SELECT ROWS
PV Selección, Introducción
Los comandos de este tema permiten:
Seleccionar un conjunto de celdas (selección adyacente o no), línea(s) o columna(s)
Conocer la selección actual de un área 4D View.
Selecciones y rangos de celdas
En función de los comandos, las selecciones de celdas pueden ser adyacentes (rangos) o aisladas.
Un rango de celdas es un conjunto de celdas contiguas, por ejemplo, A1, A2, B1, B2. Un rango no está necesariamente
seleccionado.
Una selección de celdas es el conjunto de celdas en una selección resaltada, por ejemplo, A1, A2, B1, B2, C15.
Una selección puede contener uno o más rangos, así como una o más celdas aisladas, o simplemente una o más celdas aisladas.
Cuando se abre una nueva área 4D View, el cursor se encuentra en una celda, como en cualquier hoja de cálculo, pero no se
selecciona si el usuario o el desarrollador no lo especifican explícitamente con un clic o con otra acción/comando de selección.
PV GET SELECTED RANGES LIST
PV GET SELECTED RANGES LIST ( area ; izq ; arriba ; derecha ; abajo )
Parámetro
area
izq
arriba
derecha
abajo
Tipo
Entero largo
Array entero largo
Array entero largo
Array entero largo
Array entero largo
Descripción
Área 4D View
Array de números de columnas de celdas de la izquierda
Array de números de líneas de las celdas de arriba
Array de números de columnas de celdas de la derecha
Array de números de líneas de celdas de abajo
Descripción
El comando PV GET SELECTED RANGES LIST, recupera en los arrays pasados como parámetros, las coordenadas de los
rangos seleccionados en area.
Ejemplo
Consulte los ejemplos de los comandos PV SET CELL PROPERTY, PV SET RANGE PROPERTY, PV SELECT CELL y PV
SELECT RANGE.
PV Is all selected
PV Is all selected ( area ) -> resultado
Parámetro
area
resultado
Tipo
Entero largo
Entero
Descripción
Área 4D View
0 = No seleccionado, 1 = Seleccionado
Descripción
El comando PV Is all selected devuelve 1 si el conjunto de celdas de area está seleccionado. De lo contrario, devuelve 0.
PV Is cell selected
PV Is cell selected ( area ; columna ; linea ) -> resultado
Parámetro
area
columna
linea
resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna
Número de línea
0 = No seleccionado, 1 = Seleccionado
Descripción
El comando PV Is cell selected devuelve 1 si la celda de area designada por columna y linea hace parte de la selección actual,
de lo contrario se devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SELECT CELL.
PV Is column selected
PV Is column selected ( area ; columna ) -> resultado
Parámetro
area
columna
resultado
Tipo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de la columna
0 = No seleccionado, 1 = Seleccionado
Descripción
El comando PV Is column selected devuelve 1 si la columna de area número columna hace parte de la selección actual, de lo
contrario devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SELECT COLUMNS.
PV Is range selected
PV Is range selected ( area ; izquierda ; superior ; derecha ; inferior ) -> resultado
Parámetro
area
izquierda
superior
derecha
inferior
resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda de arriba
Número de la columna de la celda derecha
Número de línea de la celda inferior
0 = No seleccionado, 1 = Seleccionado
Descripción
El comando PV Is range selected devuelve 1 si el rango de celdas definido por izquierda, superior, derecha e inferior es parte de
la selección actual, de los contrario devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SELECT RANGE.
PV Is row selected
PV Is row selected ( area ; linea ) -> resultado
Parámetro
area
linea
resultado
Tipo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de línea
0 = No seleccionado, 1 = Seleccionado
Descripción
El comando PV Is row selected devuelve 1 si la linea de area número linea hace parte de la selección actual, de lo contrario
devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SELECT COLUMNS.
PV SELECT ALL
PV SELECT ALL ( area ; seleccion )
Parámetro
area
seleccion
Tipo
Entero largo
Entero
Descripción
Área 4D View
Opción de selección: 0 = Selección, 1 = Deselección
Descripción
El comando PV SELECT ALL selecciona o deselecciona todas las celdas de area.
Por defecto, si el parámetro seleccion no se pasa o vale 0, todas las celdas del área se seleccionan. Si pasa 1 en seleccion, el
comando tiene el efecto contrario: todas las celdas del área se deseleccionan.
PV SELECT CELL
PV SELECT CELL ( area ; columna ; linea ; accion )
Parámetro
area
columna
linea
accion
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna
Número de línea
Acción de selección
Descripción
El comando PV SELECT CELL selecciona la celda ubicada en la intersección de columna y linea.
El parámetro accion permite definir la acción de selección a ejecutar cuando una selección de las celdas ya existe: se puede
crear una nueva selección, añadir la celda a la selección o eliminar la celda de la selección. Utilice las constantes del tema PV
Acciones de selección para definir accion:
Constante
Tipo
Valor
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
Ejemplo
Queremos seleccionar la celda E2. La acción de selección depende del contexto (celdas ya seleccionadas):
`Arrays que definen la selección existente:
ARRAY LONGINT($Left;0) `Números de columna de la celda a la izquierda
ARRAY LONGINT($Top;0) `Números de línea de la celda superior
ARRAY LONGINT($Right;0) `Números de columna de la celda a la derecha
ARRAY LONGINT($Bottom;0) `Números de líneas de la celda inferior
PV GET SELECTED RANGES LIST(Area;$Left;$Top;$Right;$Bottom) `Obtener los rangos seleccionados
si lo hay
If(Size of array($Left)=0) `No hay selección actual
PV SELECT CELL(Area;5;2;pv selection set) `Definir la celda E2 como selección actual
Else
PV SELECT CELL(Area;5;2;pv selection add) `Añadir la celda E2 a la selección actual
End if
PV SELECT COLUMNS
PV SELECT COLUMNS ( area ; primera ; ultima ; accion )
Parámetro
area
primera
ultima
accion
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Primer columna seleccionada
Última columna seleccionada
Acción de selección
Descripción
El comando PV SELECT COLUMNS selecciona las columnas de area situadas entre las columnas número primera y ultima.
El parámetro accion permite definir la acción de selección que quiere ejecutar cuando una selección de columnas ya existe:
puede crear una nueva selección, añadir las columnas a la selección, reducir la selección o eliminar columnas de la selección.
accion se define utilizando las constantes del tema PV Acciones de selección:
Constante
Tipo
Valor
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
Ejemplo
Queremos seleccionar la columna y la línea de la celda actual.
C_LONGINT($Column;$Row) `Para obtener las coordenadas
C_INTEGER($ColSelect;$RowSelect) `Para saber si la columna/linea fueron seleccionadas
PV GET CURRENT CELL(Area;$Column;$Row) `Obteniendo las coordenadas de la celda actual
$ColSelect:=PV Is column selected(Area;$Column)
$RowSelect:=PV Is row selected(Area;$Row)
If($ColSelect=0) `La columna no está seleccionada
PV SELECT COLUMNS(Area;$Column;$Column;pv selection add) `La seleccionamos
End if
If($RowSelect=0) `La linea no está seleccionada
PV SELECT ROWS(Area;$Row;$Row;pv selection add) `La seleccionamos
End if
PV SELECT RANGE
PV SELECT RANGE ( area ; izquierda ; superior ; derecha ; inferior ; accion )
Parámetro
area
izquierda
superior
derecha
inferior
accion
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna de la celda izquierda
Número de línea de la celda de arriba
Número de la columna de la celda derecha
Número de línea de la celda inferior
Acción de selección
Descripción
El comando PV SELECT RANGE selecciona el rango de celdas definidas por la izquierda, superior, derecha e inferior.
El parámetro accion permite definir la acción de selección a ejecutar cuando una selección de celdas ya existe: puede añadir el
rango a la selección, reducir la selección al rango o eliminar el rango de la selección. accion se define utilizando las constantes PV
Acciones de selección:
Constante
Tipo
Valor
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
Ejemplo 1
Queremos seleccionar el rango de las celdas E2, E3, F2, F3. La acción de selección depende del contexto (celdas ya
seleccionadas):
`Los
ARRAY
ARRAY
ARRAY
ARRAY
arrays definen la selección actual:
LONGINT($Left;0) `Números de columna de la celda a la izquierda
LONGINT($Top;0) `Números de línea de la celda superior
LONGINT($Right;0) `Números de columna de la celda a la derecha
LONGINT($Bottom;0) `Número de línea de celda inferior
PV GET SELECTED RANGES LIST(Area;$Left;$Top;$Right;$Bottom) `Obtener rangos seleccionados si
los hay
If(Size of array($Left)=0) `No hay selección actual
PV SELECT RANGE(Area;5;2;6;3;pv selection set) `Definir el rango como selección actual
Else
PV SELECT RANGE(Area;5;2;6;3;pv selection add) `Añadir el rango a la selección actual
End if
Ejemplo 2
Este ejemplo permite seleccionar o deseleccionar la celda en la cual el usuario efectúa Alt+clic (Windows) u Opción+clic (Mac
OS), dependiendo de si pertenece o no a la selección.
`Definición del rango de selección actual
PV SELECT RANGE(area;1;5;2;9;pv selection set)
`Llamada de un método cuando se hace clic en el área
PV ON EVENT(area;pv on clicked;"ExampleView")
`Método ExampleView
C_LONGINT($1;$2;$3;$4;$5)
If(($2=pv on clicked) & ($3=2048)) `Alt + clic u Opcion + clic
If(PV Is cell selected(area;$4;$5)=1)
`Si la celda es parte de la selección, se retira de la selección
PV SELECT RANGE(area;$4;$5;$4;$5;pv selection reduce)
Else
`Si la celda no hace parte de la selecciónn, se añade a la selección
PV SELECT RANGE(area;$4;$5;$4;$5;pv selection add)
End if
End if
PV SELECT RANGES LIST
PV SELECT RANGES LIST ( area ; izquierda ; arriba ; derecha ; abajo ; accion )
Parámetro
area
izquierda
arriba
derecha
abajo
accion
Tipo
Entero largo
Array
Array
Array
Array
Entero
Descripción
Área 4D View
Números de columnas de las celdas a la izquierda
Números de columnas de las celdas de arriba
Números de columnas de las celdas a la derecha
Números de columnas de las celdas de abajo
Acción de selección
Descripción
Este comando es similar al comando PV SELECT RANGE, excepto que aplica a varios rangos de celdas cuyas coordenadas se
guardan en los arrays izquierda, arriba, derecha y abajo.
accion se define con las constantes PV Acciones de selección:
Constante
Tipo
Valor
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
Ejemplo
Provoquemos por programación la selección de cinco rangos de tamaños crecientes.
C_INTEGER($Index) `Índice de bucle
C_INTEGER($Number) `Número de rangos
$Number:=5 `El grupo de cinco en el rango
ARRAY LONGINT($Left;5)
ARRAY LONGINT($Top;5)
ARRAY LONGINT($Right;5)
ARRAY LONGINT($Bottom;5)
`Inicialización
For($Index;1;$Number)
$Left{$Index}:=$Index*3 `Límites izquierda
$Top{$Index}:=$Index*6 `Límites arriba
$Right{$Index}:=$Index*4 `Límites derecha
$Bottom{$Index}:=$Index*7 `Límites abajo
End for
PV SELECT RANGES LIST(Area;$Left;$Top;$Right;$Bottom;pv selection add)
PV SELECT ROWS
PV SELECT ROWS ( area ; primera ; ultima ; accion )
Parámetro
area
primera
ultima
accion
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Primera línea seleccionada
Última línea seleccionada
Acción de selección
Descripción
El comando PV SELECT ROWS selecciona las líneas de area ubicadas entre las líneas número primera y ultima.
El parámetro accion permite definir la acción de selección a ejecutar cuando una selección de líneas ya existe: puede añadir
líneas a la selección o reducir líneas de la selección. accion se define utilizando las constantes :
Constante
Tipo
Valor
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
Ejemplo
Ver el ejemplo del comando PV SELECT COLUMNS.
PV Utilitarios
PV Utilitarios, Introducción
PV Color to index
PV COLOR TO RGB
PV Get window title
PV Index to color
PV RGB to color
PV SET WINDOW TITLE
PV Utilitarios, Introducción
Los comandos y funciones de este tema ofrecen diversas herramientas para la gestión de diferentes sistemas de referenciación
de los colores, así como también para leer y definir el título de las ventanas exteriores.
PV Color to index
PV Color to index ( color ) -> resultado
Parámetro
color
resultado
Tipo
Entero largo
Entero
Descripción
Número de color
Número de color indexado
Descripción
El comando PV Color to index devuelve el número del color RGB especificado en la paleta 4D por defecto. Los colores indexados
4D van de 0 a 255.
Consulte las descripciones de los siguientes comandos 4D para obtener información detallada sobre los colores RGB utilizados
por 4D:
OBJECT SET RGB COLORS para el sistema de colores RGB utilizado por 4D.
OBJECT SET COLOR para la paleta 4D de colores indexados.
Nota: el código interno de colores de 4D View es del tipo RGB, que se reversa con respecto al código RGB de 4D; sin embargo,
los principios de uso son idénticos.
Ejemplo
Este método establece en la celda A1 el color de fondo definido por los valores RGB (0 a 255) introducido en las celdas A2, A3 y
A4. La celda C1 muestra el número de color indexado más cercano en la paleta 4D, con el color de fondo ad hoc, mientras que las
celdas C2, C3, C4 muestran los valores RGB correspondientes a este color indexado, permitiéndole visualizar la diferencia entre
los valores iniciales.
C_LONGINT($Color) `Color de fondo de la celda A1 (RGB) luego color después de indexación
C_INTEGER($Rojo;$Verde;$Azul) `Colores RGB al inicio y al terminar
C_INTEGER($Index) `Número en la paleta 4D
PV
PV
PV
PV
SET
SET
SET
SET
CELL
CELL
CELL
CELL
STRING
STRING
STRING
STRING
VALUE(Area;2;1;"Color") `Etiquetas
VALUE(Area;2;2;"Rojo")
VALUE(Area;2;3;"Verde")
VALUE(Area;2;4;"Azul")
$Red:=PV Get cell num value(Area;1;2) `Colores RGB iniciales
$Green:=PV Get cell num value(Area;1;3)
$Blue:=PV Get cell num value(Area;1;4)
$Color:=PV RGB to color($Rojo;$Verde;$Azul)
PV SET CELL PROPERTY(Area;1;1;pv style color back odd;$Color) `Asignación del fondo A1
$Index:=PV Color to index($Color) `"Indexación"
PV SET CELL NUM VALUE(Area;3;1;$Index) `Número en la paleta 4D
$Color:=PV Index to color($Index) `Nuevo color
PV SET CELL PROPERTY(Area;3;1;pv style color back odd;$Color) `Asignación del fondo C1
PV
PV
PV
PV
COLOR TO
SET CELL
SET CELL
SET CELL
RGB($Color;$Rojo;$Verde;$Azul) `Descomponer
NUM VALUE(Area;3;2;$Rojo) `RGB colors after "indexación"
NUM VALUE(Area;3;3;$Verde)
NUM VALUE(Area;3;4;$Azul)
PV COLOR TO RGB
PV COLOR TO RGB ( color ; rojo ; verde ; azul )
Parámetro
color
rojo
verde
azul
Tipo
Entero largo
Entero
Entero
Entero
Descripción
Color
Componente rojo (0 a 255)
Componente verde (0 a 255)
Componente azul (0 a 255)
Descripción
El comando PV COLOR TO RGB devuelve los tres componentes rojo, verde y azul de del color RGB definido por color.
Consulte la descripción del comando 4D OBJECT SET RGB COLORS para conocer información detallada sobre el sistema de
colores RGB utilizado por 4D.
Nota: la codificación interna de los colores 4D View es del tipo BGR, que se invierte con respecto a la codificación RGB de 4D;
sin embargo, los principios de uso son los mismos.
Ejemplo
Mostrar los tres componentes RGB del color de fondo para la celda A1:
C_LONGINT($Color)
C_INTEGER($Rojo;$Verde;$Azul)
PV
PV
PV
PV
SET
SET
SET
SET
CELL
CELL
CELL
CELL
STRING
STRING
STRING
STRING
VALUE(Area;2;1;"Color") `Etiquetas
VALUE(Area;2;2;"Rojo")
VALUE(Area;2;3;"Verde")
VALUE(Area;2;4;"Azul")
$Color:=PV Get cell property(Area;1;1;pv style color back odd)
PV COLOR TO RGB($Color;$Rojo;$Verde;$Azul)
PV SET CELL NUM VALUE(Area;1;2;$Rojo) `Valores
PV SET CELL NUM VALUE(Area;1;3;$Verde)
PV SET CELL NUM VALUE(Area;1;4;$Azul)
PV Get window title
PV Get window title ( area ) -> Resultado
Parámetro
area
Resultado
Tipo
Entero largo
Cadena
Descripción
Área 4D View
External window title
Descripción
El comando PV Get window title devuelve el título de la ventana del area externa 4D View.
Ejemplo
Consulte el ejemplo del comando PV SET WINDOW TITLE.
PV Index to color
PV Index to color ( indice ) -> Resultado
Parámetro
indice
Resultado
Tipo
Entero
Entero largo
Descripción
Número de color indexado
Número de color
Descripción
El comando PV Index to color devuelve el número del color RGB correspondiente, en la paleta 4D, al número indice.
Los tres componentes RGB luego pueden extraerse de este resultado con el comando PV COLOR TO RGB.
Para el parámetro index, puede utilizar las constantes del lenguaje 4D que se encuentran en el tema Colores, disponible para los
primeros 16 colores (línea 1 de la paleta que incluye 256).
Consulte las descripciones de los siguientes comandos 4D para información detallada sobre los colores RGB utilizados por 4D:
OBJECT SET RGB COLORS para el sistema de colores RGB utilizado por 4D.
OBJECT SET COLOR para la paleta 4D de colores indexados.
Nota: la codificación interna de los colores de 4D View es de tipo BGR, que es reversada con respecto a la codificación RGB de
4D; sin embargo, los principios de uso son los mismos.
Ejemplo
Consulte los ejemplos de los comandos PV SET RANGE BORDER y PV Color to index.
PV RGB to color
PV RGB to color ( rojo ; verde ; azul ) -> Resultado
Parámetro
rojo
verde
azul
Resultado
Tipo
Entero
Entero
Entero
Entero largo
Descripción
Componente rojo (0 a 255)
Componente verde(0 a 255)
Componente azul(0 a 255)
Color
Descripción
El comando PV RGB to color devuelve un entero largo que define el color RGB, que resulta de los tres componentes rojo, verde y
azul.
Consulte la descripción del comando 4D OBJECT SET RGB COLORS para información detallada sobre el sistema de colores
RGB utilizado por 4D.
Nota: la codificación interna de colores de 4D View es del tipo BGR, que se invierte con respecto a la codificación RGB de 4D;
sin embargo, los principios de uso son los mismos.
Ejemplo
Consulte el ejemplo del comando PV Color to index.
PV SET WINDOW TITLE
PV SET WINDOW TITLE ( area ; titulo )
Parámetro
area
titulo
Tipo
Entero largo
Cadena
Descripción
Área 4D View
Nuevo título de la ventana externa
Descripción
El comando PV SET WINDOW TITLE asigna el titulo de la ventana del area externa 4D View.
Ejemplo
Añadimos la fecha actual a la ventana.
C_TEXT($Titulo) `Título existente
$Titulo:=PV Get window title(Area)
PV SET WINDOW TITLE(Area;$Titulo+" ("+String(Current date)+")")
PV Valor celda
PV Valor de la celda, Introducción
PV ADD DYNAMIC ARRAYS
PV ADD DYNAMIC FIELDS
PV ARRAY TO CELLS
PV CELLS TO ARRAY
PV CLEAR DYNAMIC COLUMNS
PV FIELD TO CELLS
PV FIELDS LIST TO CELLS
PV Get cell boolean value
PV GET CELL CONTROL
PV GET CELL DATE TIME VALUE
PV Get cell date value
PV GET CELL FIELD
PV Get cell formula
PV Get cell num value
PV Get cell picture value
PV Get cell string value
PV Get cell text value
PV Get cell time value
PV Get cell value type
PV Get cell variable
PV REPORT MANY
PV REPORT ONE
PV SET CELL BOOLEAN VALUE
PV SET CELL CONTROL
PV SET CELL DATE TIME VALUE
PV SET CELL DATE VALUE
PV SET CELL FIELD
PV SET CELL FORMULA
PV SET CELL NUM VALUE
PV SET CELL PICTURE VALUE
PV SET CELL STRING VALUE
PV SET CELL TEXT VALUE
PV SET CELL TIME VALUE
PV SET CELL VARIABLE
PV UPDATE DYNAMIC AREA
PV Valor de la celda, Introducción
Los comandos de este tema permiten asignar valores a las celdas o recuperar el contenido.
El contenido de las celdas pueden ser de varios tipos, en relación con 4D (texto, número, fecha, etc.), pero también puede ser de
diferentes tipos, como variables, campos, fórmulas, controles (para más información, consulte el comando PV SET CELL
CONTROL) o informes rápidos.
En función de los comandos, los valores de las celdas pueden ser fijos (copia de los valores de campos de la base durante el
lanzamiento) o dinámicos (enlaces a la base de forma interactiva).
PV ADD DYNAMIC ARRAYS
PV ADD DYNAMIC ARRAYS ( area ; array )
Parámetro
area
array
Tipo
Entero largo
Array cadena
Descripción
Área 4D View
Array que contiene los nombres de array
Descripción
El comando PV ADD DYNAMIC ARRAYS agrega en area un bloque de líneas correspondientes a los valores de los arrays cuyos
nombres se pasan vía el parámetro array, a partir de la celda A1.
Todos los arrays deben contener el mismo número de elementos y siempre se presentan verticalmente (en columnas). El primer
array se muestra en la columna A, los otros en las columnas ubicadas a la derecha.
Nota: si una área de campos dinámicos ya existe en el área 4D View con el comando PV ADD DYNAMIC FIELDS, se elimina y
se sustituye por los arrays dinámicos.
PV ADD DYNAMIC ARRAYS mantiene un enlace dinámico con los arrays asociados a la parte dinámica del area. Como
resultado, las modificaciones de los valores asignados en un área 4D View se verán reflejadas dentro de cada array y viceversa.
Suprimir o añadir elementos en el array 4D también se verá reflejado en el área.
No es posible establecer varias partes dinámicas en la misma área 4D View.
Notas:
Los array(s) y el área de 4D View deben definirse en el mismo proceso.
La actualización dinámica de datos no está disponible entre los registros que aparecen en los formularios de 4D y las
ventanas externas 4D View. Para reflejar en una ventana 4D View una modificación realizada en el registro de 4D, es
necesario volver a dibujar la ventana con comando el PV REDRAW (las modificaciones ejecutadas a través de comandos
4D se reflejan automáticamente en las áreas 4D View).
Ejemplo
El siguiente ejemplo recupera los nombres de los contactos relacionados con el registro actual de la tabla clientes en un array,
luego, muestra el contenido en un área 4D View incluida en el formulario de entrada del cliente que está siendo modificado.
Las modificaciones efectuadas por el usuario se reflejan directamente en los arrays 4D, que vamos a manejar, por ejemplo,
mediante la actualización de la selección de los contactos grabados.
ARRAY TEXT(NamesArray;0) `Array de apellidos de contactos
ARRAY TEXT(FirstnamesArray;0) `Array de nombres de contactos
ARRAY STRING(31;$ArrayArrays;2) `Arrays de nombres de arrays
$ArrayArrays{1}:="NamesArray" `Primera columna dinámica
$ArrayArrays{2}:="FirstnamesArray" `Segunda columna dinámica
RELATE MANY([Clientes]Code) `Recuperación de los contactos relacionados
SELECTION TO
ARRAY([Contactos]ContactName;NamesArray;[Contactos]ContactFirstname;FirstnamesArray)
PV ADD DYNAMIC ARRAYS(Area;$ArrayArrays)
PV ADD DYNAMIC FIELDS
PV ADD DYNAMIC FIELDS ( area ; master ; tablas ; campos ; metodos )
Parámetro
area
master
tablas
campos
metodos
Tipo
Entero largo
Entero
Array entero
Array entero
Array cadena
Descripción
Área 4D View
Número de tabla primaria
Array de números de tablas
Array de números de campos
Array de los nombres de métodos de retrollamada
Descripción
El comando PV ADD DYNAMIC FIELDS añade en area, un bloque de líneas correspondientes a los valores de los campos
definidos por tablas y campos para la selección actual de la tabla definida por el master, a partir de la celda A1. Si las columnas
dinámicas ya han sido definidas en area, el nuevo bloque se insertará a partir de la línea 1 de la primera columna disponible. Los
valores de los campos pueden modificarse directamente desde 4D View utilizando las celdas correspondientes.
El resultado está siempre presente verticalmente (como columnas, así como también elementos de arrays tablas, campos y
metodos).
Nota: si un área de arrays dinámicos ya se ha insertado en el área 4D View utilizando el comando PV ADD DYNAMIC ARRAYS,
se elimina y se sustituye por los campos dinámicos.
Para toda columna, la operación puede afectar a un array relacionado a la tabla master por una relación. Este último debe ser de
tipo automático (tipo) y pasar del array primario al array del campo para mostrar. En la estructura tradicional de facturas y de líneas
de facturas, permite por ejemplo recuperar el contenido de un campo del array de líneas y también de la tabla facturas relativa a
una selección de la tabla de líneas de facturas (tabla primaria).
Cada método de retrollamada recibe seis parámetros:
$1: Área
$2: Número de columna
$3: Tipo de array
$4: Puntero al array
$5: Número de la primera línea a (re)dibujar
$6: Número de líneas a (re)dibujar en el área
Nota: si va a compilar la base, debe declarar estos parámetros, incluso si no los usa todos.
$5 y $6: cuando el usuario desplaza las líneas (registros) en el area, sólo las nuevas líneas mostradas se (re)dibujan. Los
parámetros $5 y $6 permiten conocer las líneas concernientes.
El desarrollador debe llenar el array de métodos de retrollamada. 4D View usará ese array para llenar la columna calculada. No
hay ningún valor devuelto ($0).
PV ADD DYNAMIC FIELDS conserva un enlace dinámico con los campos pasados como parámetros. Como resultado, las
modificaciones de valores efectuadas en el área 4D View se reflejan en el(los) campo(s) y viceversa.
Notas:
Los valores de los campos, los métodos y el área de 4D View utilizados deben definirse en el mismo proceso.
La actualización dinámica de datos no está disponible entre los registros que se muestran en los formularios de 4D y las
ventanas externas 4D View. Para reflejar en una ventana 4D View una modificación realizada en el registro de 4D, es
necesario volver a dibujar la ventana con el comando PV REDRAW (las modificaciones ejecutadas a través de comandos
4D se reflejan automáticamente en las áreas 4D View).
Ejemplo
Este ejemplo muestra una tabla editable incluida en un formulario de entrada (con 4D View, esta operación es muy fácil).
Modificaremos los campos de la tabla de contactos relacionados al cliente actual, con sus funciones (tabla relacionada) y las
iniciales de cada contacto (columna calculada).
ARRAY INTEGER($TablesArray;4) `Números de las tablas
ARRAY INTEGER($FieldsArray;4) `Números de los campos
ARRAY STRING(30;$MethodsArray;4) `Nombres de los métodos de retrollamada
`Columna 1: nombre del contacto
$TablesArray{1}:=Table(->[Contacts])
$FieldsArray{1}:=Field(->[Contacts]ContactName)
$MethodsArray{1}:=""
`Columna 2: nombre del contacto
$TablesArray{2}:=Table(->[Contacts])
$FieldsArray{2}:=Field(->[Contacts]ContactFirstname)
$MethodsArray{2}:=""
`Columna 3: título del contacto (linked table)
$TablesArray{3}:=Table(->[Titles])
$FieldsArray{3}:=Field(->[Titles]Label)
$MethodsArray{3}:=""
`Columna 4: número de orden/ total (columna calculada)
$TablesArray{4}:=0
$FieldsArray{4}:=Is text `Resultado
$MethodsArray{4}:="CallMethod"
RELATE MANY([Clients]Code) `Recupera los contactos
PV ADD DYNAMIC FIELDS(Area;Table(->[Contacts]);$TablesArray;$FieldsArray;$MethodsArray)
El código del método proyecto CallMethod es el siguiente:
C_LONGINT($1)
C_LONGINT($2)
C_LONGINT($3)
C_POINTER($4)
C_LONGINT($5)
C_LONGINT($6)
`Área 4D View
`Número de columna
`Tipo de array
`Puntero a este array
`Primera línea del área dinámica
`Número de líneas que pueden mostrarse en el área
GOTO SELECTED RECORD([Contacts];$5)
For($i;1;$6)
$4->{$i}:=Substring([Contacts]ContactFirstname;1;1)+Substring([Contacts]ContactName;1;1)
NEXT RECORD([Contacts])
End for
PV ARRAY TO CELLS
PV ARRAY TO CELLS ( area ; direccion ; columna ; linea ; conversion ; array )
Parámetro
area
direccion
columna
linea
conversion
array
Tipo
Entero largo
Entero
Entero largo
Entero largo
Entero
Array
Descripción
Área 4D View
0 = Línea; 1 = Columna
Número de la columna de inicio
Número de la línea de inicio
0 = Tipo texto; 1 = Tipo original
Nombre del array
Descripción
El comando PV ARRAY TO CELLS inserta en area el contenido de los arrays cuyos nombres se especifican en array. El
contenido se inserta a partir de las coordenadas definidas por linea y columna, en el sentido definido por direccion.
Nota: el uso del parámetro direccion es diferente del parámetro direccion en los comandos PV GOTO NEXT CELL y PV GET
NEXT FREE CELL, donde la direccion puede ser en cualquier sentido. Para PV ARRAY TO CELLS, la direccion es hacia la
derecha (0=linea), o hacia la parte inferior (1=columna).
El quinto parámetro, conversion, permite cambiar el tipo de los datos de las celdas que terminarán como texto. El tipo de valor
fuente debe ser compatible con esta operación: si solicita un cambio de tipo de datos de un BLOB o de una imagen a texto,
conversion se ignorará.
Ejemplo
Copiamos nuevamente, hacia abajo, tres arrays de tipos diferentes a partir de la celda actual. Dependiendo de la respuesta al
diálogo de confirmación del cambio de tipo, el contenido del array puede ejecutarse en celdas 4D View en forma convertida
(texto) o no.
C_INTEGER($Index) `Índice del bucle
C_LONGINT($Column;$Row) `Coordenadas de la celda de inicio
C_INTEGER($Conversion) `¿Forzar la conversión a texto?
ARRAY STRING(20;$ArrayString;10) `Array de valores alfanuméricos (comienza en la celda actual)
ARRAY DATE($ArrayDates;10) `Array de fechas (columna siguiente)
ARRAY BOOLEAN($ArrayBooleans;10) `Array de booleanos (tercera columna)
`Inicialización
For($Index;1;Size of array($ArrayString))
$ArrayString{$Index}:=String($Index*10) `"10", "20", "30"...
$ArrayDates{$Index}:=Current date(*)+$Index `25/06/2001, 26/06/2001...
$ArrayBooleans{$Index}:=($Index%2=0) `True = par
End for
PV GET CURRENT CELL(Area;$Column;$Row)
CONFIRM("¿Quiere convertir el contenido de los arrays a texto?")
$Conversion:=1-OK
`Para obtener las columnas "$ArrayString", "$ArrayDates" y "$ArrayBooleans":
PV ARRAY TO CELLS(Area;1;$Column;$Row;$Conversion;$ArrayString) `1 = hacia abajo
PV ARRAY TO CELLS(Area;1;$Column+1;$Row;$Conversion;$ArrayDates)
PV ARRAY TO CELLS(Area;1;$Column+2;$Row;$Conversion;$ArrayBooleans)
PV CELLS TO ARRAY
PV CELLS TO ARRAY ( area ; direccion ; columna ; linea ; array ; numero )
Parámetro
area
direccion
columna
linea
array
numero
Tipo
Entero largo
Entero
Entero largo
Entero largo
Array
Entero largo
Descripción
Área 4D View
0 = Línea; 1 = Columna
Número de columna de inicio
Número de línea de inicio
Nombre del array
Número de celdas a utilizar
Descripción
El comando PV CELLS TO ARRAY llena el array con el contenido de las celdas especificadas por direccion, columna, linea y
numero.
direccion especifica si el comando PV CELLS TO ARRAY debe efectuar una copia de las celdas contiguas en la dirección
horizontal (0) o vertical (1), comenzando por la celda definida por linea y columna.
Nota: el uso del parámetro sentido es diferente del parámetro direccion en los comandos PV GOTO NEXT CELL y PV GET
NEXT FREE CELL, donde la direccion puede ser en cualquier sentido. Para PV CELLS TO ARRAY, la direccion es hacia la
derecha (0=linea), o hacia la parte inferior (1=columna).
Ejemplo
Tomemos, por ejemplo, un área 4D View incluida en la pantalla de entrada de la tabla de clientes: esta área incluida, contiene 10
líneas máximo, servirá para introducir o modificar los contactos del cliente. El área de entrada se compone de 10 celdas
dispuestas en columnas a partir de la celda actual:
ARRAY STRING(255;ContactsTab;0) `Array de nombres de contactos
C_LONGINT($Column;$Row) `Coordenadas de la celda de inicio
PV GET CURRENT CELL(Area;$Column;$Row)
`10 líneas máximo a partir de la celda actual hacia abajo
PV CELLS TO ARRAY(Area;1;$Column;$Row;ContactsTab;10)
If(Size of array(ContactsTab)#0) `¿Se recuperó algo?
RELATE MANY([Clientes]Code) `Recuperación de los registros relacionados
DELETE SELECTION([Contactos]) `Elimina los contactos existentes
`Actualizar los contactos (nuevo, modificado o eliminado)
ARRAY TO SELECTION(ContactsTab;[Contactos]ContactName) `Creación de contactos
APPLY TO SELECTION([Contactos];[Contactos]CodeClient:=[Clientes]Code) `Para conservar la
relación
QUERY SELECTION([Contactos];[Contactos]ContactName="") `Purga de los contactos vacíos
DELETE SELECTION([Contactos])
End if
PV CLEAR DYNAMIC COLUMNS
PV CLEAR DYNAMIC COLUMNS ( area ; inicio ; numero )
Parámetro
area
inicio
numero
Tipo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de la primera columna
Número de columnas
Descripción
El comando PV CLEAR DYNAMIC COLUMNS borra el contenido de numero columnas dinámicas a partir de la columna
numerada inicio.
Las columnas dinámicas borradas pueden venir de campos o de arrays, creados respectivamente por PV ADD DYNAMIC
FIELDS y PV ADD DYNAMIC ARRAYS.
Las columnas dinámicas restantes son reorganizadas de manera que el área dinámica siempre comience en la columna A y
nunca contenga “huecos”.
El comando PV CLEAR DYNAMIC COLUMNS es inoperativo cuando se utiliza con una o más columnas que no utilizan
exclusivamente campos o arrays.
Ejemplo
En el ejemplo de PV ADD DYNAMIC FIELDS, creamos una entrada en lista de la tabla de contactos asociada al cliente actual,
con sus funciones y sus números de orden. El método a continuación borra la tercera columna mientras permite modificar los
nombres y apellidos.
PV CLEAR DYNAMIC COLUMNS(Area;3;1) `Borrar columna C
Una vez se ejecuta esta línea, la cuarta columna (D) se convierte en la tercera columna (C), de manera que el área dinámica no
contenga “huecos”.
PV FIELD TO CELLS
PV FIELD TO CELLS ( area ; direccion ; columna ; linea ; conversion ; master ; numTabla ; numCampo )
Parámetro
area
direccion
columna
linea
conversion
master
numTabla
numCampo
Tipo
Entero largo
Entero
Entero largo
Entero largo
Entero
Entero
Entero
Entero
Descripción
Área 4D View
0 = Línea; 1 = Columna
Número de columna de la celda de inicio
Número de línea de la celda de inicio
0 = Tipo texto; 1 = Tipo original
Número de tabla primaria
Número de tabla
Número de campo
Descripción
El comando PV FIELD TO CELLS inserta en area los valores de campo correspondientes a la selección actual de la tabla
master. La inserción se efectúa a partir de la celda definida por las coordenadas linea y columna, en el sentido definido por
direccion.
Nota: el uso del parámetro direccion es diferente del parámetro dirección en los comandos PV GOTO NEXT CELL y PV GET
NEXT FREE CELL, donde la direccion puede ser en cualquier sentido. Para PV FIELD TO CELLS, la direccion es hacia la
derecha (0=linea), o hacia la parte inferior (1=columna).
El quinto parámetro, conversion, permite volver a escribir el contenido de la celda como texto. El tipo de valor fuente debe ser
compatible con esta operación: si usted solicita un cambio de tipo un BLOB o de una imagen a texto, conversion se ignorará.
El comando se puede aplicar a una tabla relacionada a una tabla primaria por una relación. Este último debe ser de tipo
automático (tipo) y pasar de la tabla definida por master a la tabla definida por tabla que contiene el campo a mostrar. El ejemplo
tradicional de facturas y de líneas de facturas, permite recuperar el contenido de un campo de la tabla de líneas, y también de la
tabla de facturas relativa a una selección de la tabla de líneas de facturas (tabla principal).
A diferencia de los comandos de tipo PV SET CELL FIELD, que mantienen una relación dinámica con la base de datos, las
modificaciones de valores efectuadas en el área 4D View, después de haber sido recuperados utilizando el comando PV FIELD
TO CELLS no se ejecutan en el contenido de los registros.
Ejemplo
En el ejemplo del comando PV CELLS TO ARRAY, actualizamos la tabla de contactos una vez se entró en un área 4D View
incluida en un formulario de entrada del cliente. Aquí, vamos a actualizar el área incluida durante el evento de formulario On Load,
en otras palabras, durante la carga del formulario de entrada que se está modificando.
Una relación automática de la tabla primaria de contactos a la tabla de título profesional (Presidente, Secretario, Desarrollador)
permite recuperar, en el campo ad hoc de este último, la etiqueta del título de cada contacto a partir de su código de título
guardado como un entero (campo de inicio de la relación). Vamos a mostrar el nombre del contacto y el título en dos columnas.
C_INTEGER($Primaria) `Número de la tabla primaria
C_INTEGER($Tabla) `Número de tabla
C_INTEGER($Campo) `Número de campo
C_LONGINT($Columna;$Linea) `Coordenadas de la celda de inicio
$Primaria:=Table(->[Contactos]) `Número de la tabla primaria: contactos (para las dos columnas)
RELATE MANY([Clientes]code) `Recuperación de la selección de contactos correspondientes
PV GET CURRENT CELL(Area;$Columna;$Linea)
`Actualización del área 4D View para los nombres
$Tabla:=Table(->[Contactos]) `Número de la tabla de contactos
$Campo:=Field(->[Contactos]ContactName) `Número de campo cuyo contenido se recuperará
`La conversión no es necesaria, recuperamos de la alfanumérica
PV FIELD TO CELLS(Area;1;$Columna;$Linea;0;$Primaria;$Tabla;$Campo)
`Actualización del área 4D View para los títulos
$Tabla:=Table(->[Titulos]) `Número de la tabla de los títulos tipos (relacionados)
$Campo:=Field(->[Titulos]Label) `Número de campo cuyo contenido será recuperado
PV FIELD TO CELLS(Area;1;$Columna+1;$Linea;0;$Primaria;$Tabla;$Campo)
PV FIELDS LIST TO CELLS
PV FIELDS LIST TO CELLS ( area ; direccion ; columnas ; lineas ; conversiones ; master ; tablas ; campos )
Parámetro
area
direccion
columnas
lineas
conversiones
master
tablas
campos
Tipo
Entero largo
Entero
Array entero largo
Array entero largo
Array entero largo
Entero largo
Array entero largo
Array entero largo
Descripción
Área 4D View
0 = Línea; 1 = Columna
Array de los números de columnas de inicio
Array de números de líneas de inicio
0 = Tipo original; 1 = Definido para texto
Número de tabla primaria
Array de los números de tablas
Array de números de campos
Descripción
El comando PV FIELDS LIST TO CELLS es el mismo que el comando PV FIELD TO CELLS con varios campos.
Nota: el uso del parámetro direccion es diferente del parámetro dirección en los comandos PV GOTO NEXT CELL y PV GET
NEXT FREE CELL, donde la direccion puede ser en cualquier sentido. Para PV FIELDS LIST TO CELLS, la direccion es hacia
la derecha (0=linea), o hacia la parte inferior (1=columna).
Los parámetros columnas y lineas contienen respectivamente los números de columnas y de líneas de las celdas de inicio.
El quinto parámetro, conversion, permite volver a escribir el contenido de la celda como texto. El tipo de valor fuente debe ser
compatible con esta operación: si usted solicita un cambio de tipo un BLOB o de una imagen a texto, conversion se ignorará.
Los arrays tablas y campos contienen los números de tablas y de campos fuentes.
El comando se puede aplicar a las tablas relacionadas o a la tabla master utilizando relaciones. Este último debe ser de tipo
automático y pasa de la tabla master a la tabla del campo a mostrar, definido por los arrays tablas y campos.
A diferencia de los comandos de tipo PV ADD DYNAMIC FIELDS, que mantienen una relación dinámica con la base de datos,
las modificaciones de valores efectuadas en el área 4D View, después de haber sido recuperados utilizando el comando PV
FIELDS LIST TO CELLS no se ejecutan en el contenido de los registros.
Ejemplo
Una vez más utilizamos el ejemplo del comando PV FIELD TO CELLS de una carga del formulario de entrada para un registro de
la tabla de clientes. Esta vez, nosotros manejaremos tres campos simultáneamente.
Una relación automática de la tabla primaria de contactos a la tabla de títulos profesionales permite recuperar, en el campo ad hoc
este último, la etiqueta del título de cada contacto a partir de su código de título guardado como un entero (campo de inicio de la
relación). Vamos a mostrar la tercera columna relevante (columna E, ya que empezamos desde la columna C).
C_INTEGER($Master) `Número de la tabla primaria
C_INTEGER($Index) `Índice de bucle
$Master:=Table(->[Contactos]) `Número de la tabla primaria: contactos (para todas las columnas)
ARRAY
ARRAY
ARRAY
ARRAY
ARRAY
LONGINT($ArrayColumns;3) `Número de columnas de celda de inicio
LONGINT($ArrayRows;3) `Número de líneas de las celdas de inicio
INTEGER($ConversionArray;3) `0 para tipo original o 1 para definir en texto
INTEGER($TablesArray;3) `Números de tablas
INTEGER($FieldsArray;3) `Números de campos
For($Index;1;3)
$ArrayColumns{$Index}:=$Index+2 `Columnas C a E
$ArrayRows{$Index}:=2 `A partir de la segunda línea
$ConversionArray{$Index}:=0 `Conservamos los tipos de los campos
End for
`Tablas y campos a recuperar
$TablesArray{1}:=Table(->[Contactos]) `Número de la tabla de contactos
$FieldsArray{1}:=Field(->[Contactos]ContactName) `Número del campo Apellido
$TablesArray{2}:=Table(->[Contactos]) `Número de la tabla de contactos
$FieldsArray{2}:=Field(->[Contactos]ContactFirstName) `Número del campo Nombre
$TablesArray{3}:=Table(->[Titulos]) `Número de la tabla de tipo título (relacionada)
$FieldsArray{3}:=Field(->[Titulos]Label) `Número del campo Etiqueta (Presidente, Secretario,
Desarrollador)
`Recuperación de las selección de contactos correspondiente
RELATE MANY([Clientes]code)
`Actualización del área 4D View con los campos Nombre, Apellido y Titulo
PV FIELDS LIST TO CELLS(Area;1;$ArrayColumns;$ArrayRows;$ConversionArray;$Master;
$TablesArray;$FieldsArray)
PV Get cell boolean value
PV Get cell boolean value ( area ; columna ; linea ) -> resultado
Parámetro
area
columna
linea
resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell boolean value devuelve el valor de la celda definida por columna y linea como un booleano. Para
traducirla a un booleano 4D, utilice la instrucción theBooleen:=(Result=1).
Si el comando PV Get cell boolean value se utiliza con una celda de tipo no booleana, devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SET CELL BOOLEAN VALUE.
PV GET CELL CONTROL
PV GET CELL CONTROL ( area ; columna ; linea ; tipo ; nomVar ; metodo ; titulo )
Parámetro
area
columna
linea
tipo
nomVar
metodo
titulo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Cadena
Cadena
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Tipo de control
Nombre de la variable de gestión del control
Nombre del método de retrollamada
Título del control
Descripción
El comando PV GET CELL CONTROL obtiene la información sobre el "control" mostrado en la celda designada por columna y
linea al interior del area 4D View.
Un control es un objeto de tipo botón, casilla de selección, botón de radio, lista desplegable o un combo box dentro de una celda.
tipo indica el tipo de control (entre los cinco mencionados anteriormente) que figura en la celda. Para definir este parámetro, utilice
las constantes del tema PV Controles.
nomVar devuelve el nombre de la variable asociada al control (nombre del array que contiene los valores a mostrar para los
controles de tipos lista desplegable y combo box).
metodo contiene el nombre del método de retrollamada relacionado con el control.
titulo contiene la etiqueta del botón, casilla de selección, etc.
Ejemplo
El siguiente método llena las celdas ubicadas debajo de un control con la descripción de este último:
C_LONGINT($Column;$Row) `Coordenadas de la celda del control
C_INTEGER($CtrlType) `Tipo de control
C_STRING(32;$CtrlName) `Nombre del control
C_STRING(32;$CallbackMethod) `Nombre del método de retrollamada
C_STRING(32;$Title) `Título del control
C_STRING(32;$TypeName) `Nombre del tipo de control
PV GET CURRENT CELL(Area;$Column;$Row) `Celda controlada
PV GET CELL CONTROL(Area;$Column;$Row;$CtrlType;$CtrlName;$CallbackMethod;$Title)
Case of
:($CtrlType=0)
$TypeName:="Sin control"
:($CtrlType=pv control push button)
$TypeName:="botón"
:($CtrlType=pv control radio button)
$TypeName:="botón radio"
:($CtrlType=pv control check box)
$TypeName:="casilla de selección"
:($CtrlType=pv control drop down)
$TypeName:="drop-down list"
:($CtrlType=pv control combo box)
$TypeName:="combo box"
End case
PV SET CELL TEXT VALUE(Area;$Column;$Row+1;"Type: "+$TypeName)
PV SET CELL TEXT VALUE(Area;$Column;$Row+2;"Name: "+$CtrlName)
PV SET CELL TEXT VALUE(Area;$Column;$Row+3;"Title: "+$Title)
PV SET CELL TEXT VALUE(Area;$Column;$Row+4;"Method: "+$CallbackMethod)
PV GET CELL DATE TIME VALUE
PV GET CELL DATE TIME VALUE ( area ; columna ; linea ; fecha ; hora )
Parámetro
area
columna
linea
fecha
hora
Tipo
Entero largo
Entero largo
Entero largo
Fecha
Hora
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor fecha de la celda
Valor hora de la celda
Descripción
El comando PV GET CELL DATE TIME VALUE devuelve en los parámetros fecha y hora los valores combinados en la celda
designada por columna y linea.
Si el comando PV GET CELL DATE TIME VALUE es utilizado por una celda de tipo no fecha/hora, devuelve 00/00/00 y
00:00:00.
Ejemplo
Consulte el ejemplo del comando PV SET CELL DATE TIME VALUE.
PV Get cell date value
PV Get cell date value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Fecha
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell date value devuelve la fecha contenida en la celda asignada por columna y linea.
Si el comando PV Get cell date value se utiliza con una celda de tipo no fecha, devuelve 00/00/00.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV GET CELL FIELD
PV GET CELL FIELD ( area ; columna ; linea ; numTabla ; numCampo )
Parámetro
area
columna
linea
numTabla
numCampo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Entero
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Número de tabla
Número de campo
Descripción
El comando PV GET CELL FIELD devuelve, en los parámetros tabla y campo, los números de la tabla y del campo relacionados
a la celda designada por columna y linea.
Ejemplo 1
Consulte el ejemplo del comando PV SET CELL FIELD.
Ejemplo 2
El siguiente ejemplo ilustra el uso del comando PV GET CELL FIELD en un método permitiendo la ordenación de las columnas
dinámicas después de un clic en el encabezado. El área sólo contiene columnas dinámicas. Comenzamos por instalar el método
de retrollamada EventMethod que se llamará en el evento de un clic en el área:
PV ON EVENT(area;pv on clicked;"EventMethod")
Esta instrucción intercepta todo clic en el área. El método EventMethod nos permite detectar los clics en los encabezados de las
columnas y ordenar los datos en consecuencia.
`EventMethod Method
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
C_INTEGER($tableNum;$fieldNum)
If($5=0) `Si el clic se hace en un encabezado
$0:=True `Cancela el evento
PV GET CELL FIELD(area;$4;1;$tableNum;$fieldNum) `Fecha a ordenar
ORDER BY(Table($tableNum)->;Field($tableNum;$fieldNum)->;>) `Ordenación de los datos 4D
End if `Los valores asociados en las columnas se ordenan automáticamente
PV Get cell formula
PV Get cell formula ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Formula
Descripción
El comando PV Get cell formula devuelve la fórmula en la celda designada por columna y linea.
Ejemplo
El método a continuación recopia en una celda la fórmula de la celda que se encuentra sobre ella:
C_LONGINT($Column;$Row) `Coordenada de la celda a recopiar
C_TEXT($Formula) `Fórmula a recopiar
PV GET CURRENT CELL(Area;$Column;$Row)
$Formula:=PV Get cell formula(Area;$Column;$Row-1) `Recuperación de la fórmula arriba
PV SET CELL FORMULA(Area;$Column;$Row;$Formula) `Recopia
PV Get cell num value
PV Get cell num value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Real
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell num value devuelve el número contenido en la celda designada por columna y linea.
Si el comando PV Get cell num value se utiliza con una celda de tipo no numérica, devuelve 0.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV Get cell picture value
PV Get cell picture value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Imagen
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell picture value devuelve la imagen contenida en la celda designada por columna y linea.
Si el comando PV Get cell picture value se utiliza con una celda de tipo no imagen, devuelve una imagen vacía.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV Get cell string value
PV Get cell string value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell string value devuelve la cadena de caracteres contenida en la celda designada por columna y linea.
Si el comando PV Get cell string value se utiliza con una celda de tipo no numérico, devuelve una cadena vacía.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV Get cell text value
PV Get cell text value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Texto
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell text value devuelve el texto contenido en la celda asignada por columna y linea.
Si el comando PV Get cell text value se utiliza con una celda de tipo no texto, devuelve una cadena vacía.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV Get cell time value
PV Get cell time value ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Hora
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV Get cell time value devuelve la hora contenida en la celda designada por columna y linea.
Si el comando PV Get cell time value se utiliza con una celda de tipo no hora, devuelve 00:00:00.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV Get cell value type
PV Get cell value type ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Entero largo
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Tipo de valor de la celda
Descripción
El comando PV Get cell value type devuelve el valor contenido en la celda de area designada por columna y linea.
El tipo se devuelve como un entero largo correspondiente a una de las constantes del tema :
Constante
Tipo
Valor
pv value type boolean
pv value type date
pv value type date time
pv value type none
pv value type numeric
pv value type picture
pv value type string
pv value type time
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
6
4
5
0
1
7
2
3
Nota: el tipo de valor contenido en una celda es definido automáticamente por 4D View en función del contenido de la celda.
Ejemplo
Consulte el ejemplo del comando PV SET CELL FORMULA.
PV Get cell variable
PV Get cell variable ( area ; columna ; linea ) -> Resultado
Parámetro
area
columna
linea
Resultado
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Nombre de la variable asociada
Descripción
El comando PV Get cell variable devuelve el nombre de la variable asociada a la celda designada por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL VARIABLE.
PV REPORT MANY
PV REPORT MANY ( area ; columna ; linea ; master ; tablaRuptura ; campoRuptura ; operador ; tablas ; campos ; insertar ;
detalle ; titulo )
Parámetro
area
columna
linea
master
tablaRuptura
campoRuptura
operador
tablas
campos
insertar
detalle
titulo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Entero
Array
Array entero
Array entero
Array entero
Entero
Entero
Cadena
Descripción
Área 4D View
Número de columna
Número de línea
Número de tabla primaria
Número de tabla en donde ocurre la ruptura
Número de campo en donde ocurre la ruptura
Operaciones a ejecutar
Números de tablas de los campos a mostrar
Números de los campos a mostrar
0 = Remplazar; 1 = Insertar líneas
Opciones de inserción de detalle
Titulo de ruptura
Descripción
El comando PV REPORT MANY crea un informe en el area 4D View utilizando los valores de los campos 4D definidos por tablas
y campos a partir de la selección actual de la tabla master. Es posible aplicar a cada uno de estos campos una operación,
definida por operador: subtotal, número, máximo, etc. Para definir el parámetro operador, utilice las constantes del tema PV
Funciones informes:
Constante
Tipo
Valor
pv report function average
pv report function count
pv report function max
pv report function min
pv report function none
pv report function sum
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
4
3
2
-1
0
El resultado generado se inserta en el area a partir de la celda designada por linea y columna.
tablaRuptura y campoRuptura designan el campo donde se efectúa la secuencia de ruptura. Las rupturas permiten separar los
registros en grupos homogéneos y efectuar cálculos intermediarios para cada grupo.
Una ruptura es un cambio de valor en una tabla de ordenación. Es necesario asociar este nivel de ruptura con un criterio de
ordenación. La ordenación de una selección de registros de tablaRuptura y campoRuptura es necesaria antes de utilizar el
comando PV REPORT MANY. Puede tener criterios de ordenación adicionales, que no serán tenidos en cuenta en la ruptura.
Para más información sobre la construcción de informes rápidos con rupturas, consulte el Manual de Diseño 4D.
El parámetro insertar determina si los datos ubicados en el área 4D View por este comando deben reemplazar las celdas que
pueden estar presentes o deben insertarse en las nuevas líneas. Si pasa 0, los datos se borran y remplazan. Si pasa 1, las líneas
adicionales se insertan.
El parámetro detalle permite definir la forma en que 4D View insertará el detalle, así como también las líneas de ruptura en el
informe:
Si pasa 0 en detalle, sólo se insertan las líneas de ruptura (las líneas de detalle no se insertan).
Si pasa 1 en detalle, se insertan las líneas de detalle y los valores de ruptura se repite en cada línea.
Si pasa 2 en detalle, se insertan las líneas de detalle y los valores de rupturas se muestran una sola vez.
El parámetro titulo permite definir el título de la línea de resultados (es decir, "Total", "Promedio", etc.) Al igual que en el Editor de
informes rápidos de 4D, puede utilizar el carácter # como un marcador para el valor de ruptura actual. Por ejemplo, si el campo
"País" es su campo de ruptura, puede pasar "Total para #:" en titulo. El informe mostrará "Total de EE.UU.:" y luego "Total de
Japón", etc.
Pase una cadena vacía si no se desea insertar un título.
Nota: si detalle vale 0 y el título es una cadena vacía, la primera columna no se inserta (estaría vacía).
Ejemplo
Mostramos, en un área 4D View incluida en el formulario de entrada de los clientes, un informe de contactos relacionados con este
cliente, con una ruptura que indica el número de contactos para cada título: secretaria, desarrollador, departamento de
documentación, etc. Una relación automática existe entre la tabla de contactos y la de títulos.
C_LONGINT($Column) `Número de columna
C_LONGINT($Row) `Número de línea
C_INTEGER($Master) `Número de tabla primaria
C_INTEGER($TableBreak) `Número de tabla donde ocurre la ruptura
C_INTEGER($FieldBreak) `Número de campo donde ocurre la ruptura
ARRAY INTEGER($Operator;3) `Operaciones a ejecutar
ARRAY INTEGER($Tables;3) `Número de tablas de los campos a mostrar
ARRAY INTEGER($Fields;3) `Número de campos a mostrar
C_INTEGER($Insert) `0=Remplazar;1=Insertar líneas
C_INTEGER($Detail) `Opción de visualización del detalle
C_STRING(30;$Title) `Título de la línea de resultado
`Inicializar
$Column:=4 `Visualización a partir de la columna D
$Row:=3 `Visualización a partir de la tercera línea (Titulo + línea vacía)
$Master:=Table(->[Contacts]) `Este es un "informe" de la tabla de contactos
$TableBreak:=Table(->[Titles])
$FieldBreak:=Field(->[Titles]Label) `La ruptura ocurrirá en el título de contactos
`Mostramos en la columna 1 el número para cada tipo
$Operator{1}:=pv report function count
$Tables{1}:=Table(->[Titles])
$Fields{1}:=Field(->[Titles]Label) `Etiqueta del título columna 1
$Operator{2}:=pv report function none `Ningún cálculo en la columna 2
$Tables{2}:=Table(->[Contacts])
$Fields{2}:=Field(->[Contacts]ContactName) `Nombre del contacto columna 2
$Operator{3}:=pv report function none `Ningún cálculo en la columna 3
$Tables{3}:=Table(->[Contacts])
$Fields{3}:=Field(->[Contacts]ContactFirstname) `Nombre de contacto columna 3
$Insert:=1 `Inserción
$Detail:=2 `Se insertan las líneas de detalle, los valores se muestran una vez
$Title:="Números de contactos para #" `El # será remplazado por el valor de ruptura actual
RELATE MANY([Clients]Code) `Recupera los contactos del cliente
`Ordenación necesaria en ruptura + visualización en orden alfabético
ORDER BY([Contacts];[Titles]Label;[Contacts]ContactName;[Contacts]ContactFirstname)
PV REPORT MANY(Area;$Column;$Row;$Master;$TableBreak;$FieldBreak;$Operator;$Tables;
$Fields;$Insert;$Detail;$Title)
Selecciones y registros actuales
La selección dependerá de los enlaces entre tablas a nivel de la estructura de la base, de los números de campos y de tablas
pasadas como parámetros al comando.
PV REPORT ONE
PV REPORT ONE ( area ; columna ; linea ; master ; tablaRuptura ; campoRuptura ; operacion ; tablas ; campos ; insertar ;
detalle ; titulo )
Parámetro
area
columna
linea
master
tablaRuptura
campoRuptura
operacion
tablas
campos
insertar
detalle
titulo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Entero
Entero
Entero
Entero
Entero
Entero
Entero largo
Cadena
Descripción
Área 4D View
Número de la columna
Número de línea
Número de tabla primaria
Número de tabla en donde ocurre la ruptura
Número de campo donde ocurre la ruptura
Operaciones a efectuar
Número de tabla del campo a mostrar
Número del campo a mostrar
0 = Remplazar; 1 = Insertar líneas
Opciones de inserción de detalle
Titulo de ruptura
Descripción
El comando PV REPORT ONE crea un informe en el area 4D View utilizando los valores de los campos 4D especificados en
tablas y campos a partir de la selección actual de la tabla master. Una operación puede aplicarse a este campo definido por
operacion: subtotal, número, máximo, etc. Para definir el parámetro operacion, utilice las constantes del tema PV Funciones
informes:
Constante
Tipo
Valor
pv report function average
pv report function count
pv report function max
pv report function min
pv report function none
pv report function sum
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
4
3
2
-1
0
El resultado generado se inserta en el area a partir de la celda designada por linea y columna.
tablaRuptura y campoRuptura designan el campo donde se efectúa la secuencia de ruptura. Las rupturas permiten separar los
registros en grupos homogéneos y efectuar cálculos intermediarios para cada grupo.
Una ruptura es un cambio de valor en una tabla de ordenación. Es necesario asociar este nivel de ruptura con un criterio de
ordenación. El orden de la selección de registros de tablaRuptura y campoRuptura es necesario antes de usar el comando PV
REPORT ONE. Puede tener criterios de ordenación adicionales, que no serán tenidos en cuenta en la ruptura. Para más
información sobre la construcción de informes rápidos con rupturas, consulte el Manual de Diseño 4D.
El parámetro insertar determina si los datos ubicados en el área 4D View por este comando deben reemplazar las celdas que
pueden estar presentes o deben insertarse en las nuevas líneas. Si pasa 0, los datos se borran y remplazan. Si pasa 1, las líneas
adicionales se insertan.
El parámetro detalle permite definir la forma en que 4D View insertará el detalle, así como también las líneas de ruptura en el
informe:
Si pasa 0 en detalle, sólo se insertan las líneas de ruptura (las líneas de detalle no se insertan).
Si pasa 1 en detalle, se insertan las líneas de detalle y los valores de ruptura se repite en cada línea.
Si pasa 2 en detalle, se insertan las líneas de detalle y los valores de rupturas se muestran una sola vez.
El parámetro titulo permite definir el título de la línea de resultados (es decir, "Total", "Promedio", etc.) Al igual que en el Editor de
informes rápidos de 4D, puede utilizar el carácter # como un marcador para el valor de ruptura actual. Por ejemplo, si el campo
"País" es su campo de ruptura, puede pasar "Total para #:" y obtener "Total para USA:", "Total para Japón:", etc. Pase una
cadena vacía si no se desea insertar un título.
Nota: si detalle vale 0 y el título es una cadena vacía, la primera columna no se inserta (estaría vacía).
Ejemplo
Mostramos en un área 4D View una lista de clientes, separando las mujeres y los hombres e indicando para cada grupo el número
de registros:
C_LONGINT($Column) `Número de columna
C_LONGINT($Row) `Número de línea
C_INTEGER($Master) `Número de tabla primaria
C_INTEGER($TableBreak) `Número de tabla donde ocurre la ruptura
C_INTEGER($FieldBreak) `Número de campo donde ocuerre la ruptura
C_INTEGER($Operator) `Operación a ejecutar
C_INTEGER($Table) `Número de la tabla de campos a mostrar
C_INTEGER($Field) `Número de campos a mostrar
C_INTEGER($Insert) `0=Remplazar;1=Insertar líneas
C_INTEGER($Detail) `Opción de visualización del cuerpo
C_STRING(20;$Title) `Título de la línea de resultado
`Inicializa
$Column:=4 `Visualiza a partir de la columna C
$Row:=3 `Visualiza a partir de la tercera línea (Titulo + linea vacía)
$Master:=Table(->[Clientes]) `Tabla de clientes arrastrada
$TableBreak:=Table(->[Clientes])
$FieldBreak:=Field(->[Clientes]Tipo) `Ruptura en el tipo de clientes
$Operator:=pv report function count `Calcula el número de hombres y mujeres
$Table:=Table(->[Clientes]) `Campos de la tabla de los clientes
$Field:=Field(->[Clientes]Nombre) `Imprimir los nombres
$Insert:=1 `Inserción solicitada
$Detail:=2 `Líneas de detalle insertadas, los valores se muestran una vez
$Title:="Total"
ALL RECORDS([Clientes])
ORDER BY([Clientes];[Clientes]Tipo;[Clientes]Name) `Ordenación necesaria para ruptura +
visualización por orden alfabético
PV REPORT
ONE(Area;$Column;$Row;$Master;$TableBreak;$FieldBreak;$Operator;$Table;$Field;$Insert;$Detail;$Title)
PV SET CELL BOOLEAN VALUE
PV SET CELL BOOLEAN VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Entero
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV SET CELL BOOLEAN VALUE asigna el valor entero a la celda asignada por columna y linea. Este entero
permite expresar un valor booleano (0=Falso, 1=Verdadero): luego es necesario traducir los booleanos 4D como una función
Num(elBooleano).
Ejemplo
Modificaremos el ejemplo del comando PV SET CELL STRING VALUE al tipo booleano, representado por un entero:
C_INTEGER($CopyNumber)
C_LONGINT($Column;$Row) `Coordenadas de la celda a copiar
C_INTEGER($Index) `Índice del bucle
C_BOOLEAN($Value) `Valor a copiar
$CopyNumber:=Num(Request("¿Cuántas copias desea?";"5")) `5 por defecto
If($CopyNumber>0)
PV GET CURRENT CELL(Area;$Column;$Row) `Celda a copiar
$Value:=(PV Get cell boolean value(Area;$Column;$Row)=1) `Conversión entero a booleano
For($Index;$Row+1;$Row+$CopyNumber) `$CopyNumber loop(s)
PV SET CELL BOOLEAN VALUE(Area;$Column;$Index;Num($Value)) `Copiar valor
End for
End if
PV SET CELL CONTROL
PV SET CELL CONTROL ( area ; columna ; linea ; tipo ; nomVar ; metodo ; titulo )
Parámetro
area
columna
linea
tipo
nomVar
metodo
titulo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Cadena
Cadena
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Tipo de control
Nombre de la variable de gestión del control
Nombre del método de retrollamada
Título del control
Descripción
El comando PV SET CELL CONTROL coloca un "control" en la celda designada por linea y columna.
Un control es un objeto de tipo botón, casilla de selección, botón de radio, lista desplegable o un combo box dentro de una celda.
Si un control ya fue insertado en la celda, se elimina y se sustituye por el nuevo control, cualquiera que sea su tipo.
tipo indica el tipo de control (entre los cinco mencionados anteriormente) que figura en la celda. Para definir este parámetro, utilice
las constantes del tema PV Controles.
nomVar es la variable asociada al control. Pase el nombre del array que contiene los valores a mostrar (para los controles de
tipos lista desplegable y combo box).
metodo contiene el nombre del método de retrollamada relacionado con el control. Para más información sobre los métodos de
retrollamada, consulte la sección PV Área, Introducción.
titulo contiene la etiqueta del botón, casilla de selección, etc.
Ejemplo
Los siguientes métodos permiten visualizar los diferentes tipos de controles:
Botón estándar en C3:
C_LONGINT(vStandardButton) `Botón estándar
PV SET CELL CONTROL(Area;3;3;pv control push
button;"vStandardButton";"CallbackButton";"Button")
`Método CallbackButton
C_LONGINT($1) `Área 4D View
C_LONGINT($2) `Número de columna
C_LONGINT($3) `Número de línea
C_POINTER($4) `Puntero al objeto de llamada
ALERT("Control from method: "+Current method name)
Botones radio en E3, E4, E5:
C_LONGINT(vRadio1;vRadio2;vRadio3) `Botones radio
vRadio1:=1
vRadio2:=0
vRadio3:=0
PV SET CELL CONTROL(Area;5;3;pv control radio button;"vRadio1";"CallbackRadio";"Día")
PV SET CELL CONTROL(Area;5;4;pv control radio button;"vRadio2";"CallbackRadio";"Mes")
PV SET CELL CONTROL(Area;5;5;pv control radio button;"vRadio3";"CallbackRadio";"Año")
`Método CallbackRadio
C_LONGINT($1) `Área 4D View
C_LONGINT($2) `Número de columna
C_LONGINT($3) `Número de línea
C_POINTER($4) `Puntero al objeto de llamada
C_STRING(6;$Value)
Case of
:($4=(->vRadio1))
vRadio2:=0
vRadio3:=0
$Value:="Día"
:($4=(->vRadio2))
vRadio1:=0
vRadio3:=0
$Value:="Mes"
:($4=(->vRadio3))
vRadio1:=0
vRadio2:=0
$Value:="Año"
End case
PV SET CELL TEXT VALUE($1;($2+1);3;$Value)
Casillas de selección en E7, E8, E9:
C_LONGINT(vCheckBox1;vCheckBox2;vCheckBox3) `Casillas a seleccionar
vCheckBox1:=0
vCheckBox2:=0
vCheckBox3:=0
PV SET CELL CONTROL(Area;5;7;pv control check
box;"vCheckBox1";"CallbackCheckBox";"Principiante")
PV SET CELL CONTROL(Area;5;8;pv control check box;"vCheckBox2";"CallbackCheckBox";"Intermedio")
PV SET CELL CONTROL(Area;5;9;pv control check box;"vCheckBox3";"CallbackCheckBox";"Experto")
`Método CallbackCheckBox
C_LONGINT($1) `Área 4D View
C_LONGINT($2) `Número de columna
C_LONGINT($3) `Número de línea
C_POINTER($4) `Puntero al objeto de llamada
C_TEXT($Value)
If(vCheckBox1=1)
$Value:="Principiante"
End if
If(vCheckBox2=1)
If($Value#"")
$Value:=$Value+" + "
End if
$Value:=$Value+"Intermedio"
End if
If(vCheckBox3=1)
If($Value#"")
$Value:=$Value+" + "
End if
$Value:=$Value+"Expert"
End if
PV SET CELL TEXT VALUE($1;($2+1);7;$Value)
Lista desplegable en C5:
ARRAY TEXT(DropdownListArray;5) `Para lista desplegable
DropdownListArray{1}:="Lunes"
DropdownListArray{2}:="Martes"
DropdownListArray{3}:="Miércoles"
DropdownListArray{4}:="Jueves"
DropdownListArray{5}:="Viernes"
DropdownListArray:=3 `Defecto a miércoles
PV SET CELL CONTROL(Area;3;5;pv control drop down;"DropdownListArray";"CallbackDropList";"")
`Método CallbackDropList
C_LONGINT($1) `Área 4D View
C_LONGINT($2) `Número de columna
C_LONGINT($3) `Número de línea
C_POINTER($4) `Puntero al objeto de llamada
PV SET CELL TEXT VALUE($1;3;6;DropdownListArray{DropdownListArray})
Combo box en C7:
ARRAY TEXT(ComboArray;5) `Para lista del combo box
ComboArray{1}:="Lunes"
ComboArray{2}:="Martes"
ComboArray{3}:="Miércoles"
ComboArray{4}:="Jueves"
ComboArray{5}:="Viernes"
ComboArray:=5 `Defecto para viernes
PV SET CELL CONTROL(Area;3;7;pv control combo box;"ComboArray";"CallbackCombo";"")
`Método: CallbackCombo
C_LONGINT($1) `Área 4D View
C_LONGINT($2) `Número de columna
C_LONGINT($3) `Número de línea
C_POINTER($4) `Puntero al objeto de llamada
PV SET CELL TEXT VALUE($1;3;8;ComboArray{0})
PV SET CELL DATE TIME VALUE
PV SET CELL DATE TIME VALUE ( area ; columna ; linea ; fecha ; hora )
Parámetro
area
columna
linea
fecha
hora
Tipo
Entero largo
Entero largo
Entero largo
Fecha
Hora
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor fecha a fijar
Valor hora a fijar
Descripción
El comando PV SET CELL DATE TIME VALUE asigna los valores fecha y hora como un solo valor a la celda designada por
columna y linea.
Ejemplo
Este método solicita una fecha y hora para una reunión, que se desplaza al siguiente día media hora más tarde y muestra la nueva
cita en la celda A1:
C_DATE($Date) `Fecha de la reunión
C_TIME($Time) `Hora de la reunión
$Date:=Date(Request("Fecha de la reunión";String(Current date)))
If($Date#!00/00/00!) `Fecha válida
$Time:=Time(Request("Hora de la reunión";Time string(Current time)))
If($Time#†00:00:00†) `Hora válida
`Reprogramación de la reunión un día después y media hora más tarde y luego asignamos la celda
A1
PV SET CELL DATE TIME VALUE(Area;1;1;$Date+1;$Time+†00:30:00†)
PV GET CELL DATE TIME VALUE(Area;1;1;$Date;$Time) `Lectura de la información
ALERT("La hora ha se ha desplazado al "+String($Date)+" a las "+Time string($Time))
End if
End if
PV SET CELL DATE VALUE
PV SET CELL DATE VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Fecha
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV SET CELL DATE VALUE asigna la fecha valor a la celda asignada por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV SET CELL FIELD
PV SET CELL FIELD ( area ; columna ; linea ; numTabla ; numCampo )
Parámetro
area
columna
linea
numTabla
numCampo
Tipo
Entero largo
Entero largo
Entero largo
Entero
Entero
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Número de tabla
Número de campo
Descripción
El comando PV SET CELL FIELD asocia un campo a la celda de area cuyas coordenadas corresponden a la intersección de
columna y línea.
numTabla es el número de la tabla en la que desea asociar el registro actual de la celda. El valor que aparece es el del campo
para el registro actual.
La celda está asociada al campo de manera dinámica: toda modificación del valor se refleja automáticamente en el campo del
registro actual y viceversa.
Ejemplo
Es posible construir un formulario de entrada compuesto por celdas 4D View: cada una de ellas permite la visualización y la
modificación de los campos asociados con el comando PV SET CELL FIELD. El registro puede manejadarse por el método de
retrollamada u otro objeto del formulario, para una entrada en bucle:
C_INTEGER($Table;$Field) `Referencia de los campos asociados
If(Form event=On Load)
PV GET CELL FIELD(Area;2;1;$Table;$Field) `¿Hay un campo asociado a B1?
If($Table=0) & ($Field=0)PV SET CELL FIELD(Area;2;1;1;4) `B1 : [Clientes]Apellido
End if
PV GET CELL FIELD(Area;2;2;$Table;$Field) `¿Hay un campo asociado a B2?
If($Table=0) & ($Field=0)PV SET CELL FIELD(Area;2;2;1;3) `B2 : [Clientes]Nombre
End if
`Etiquetas
PV SET CELL STRING VALUE(Area;1;1;"Apellido:")
PV SET CELL STRING VALUE(Area;1;2;"Nombre:")
CREATE RECORD([Clientes]) `Nuevo cliente introducido
End if
PV SET CELL FORMULA
PV SET CELL FORMULA ( area ; columna ; linea ; formula )
Parámetro
area
columna
linea
formula
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Formula
Descripción
El comando PV SET CELL FORMULA ubica formula en la celda designada por columna y linea.
Ejemplo
El siguiente ejemplo crea un aumento debajo de una celda de tipo numérico. Si el valor de esta última se modifica posteriormente,
el incremento se actualiza automáticamente por la acción de las fórmulas que ubicamos en las celdas con PV SET CELL
FORMULA.
C_INTEGER($CopyNumber) `Número de copias a ejecutar
C_LONGINT($Column;$Row) `Coordenadas de la celda a copiar
C_INTEGER($Index) `Indice de bucle
C_TEXT($Name) `Nombre de la celda de inicio
PV GET CURRENT CELL(Area;$Column;$Row)
If(PV Get cell value type(Area;$Column;$Row)=pv number type value) `Verificación del tipo
`5 por defecto
$CopyNumber:=Num(Request("¿Cuántas celdas hacia abajo desea incrementar?";"5"))
If($CopyNumber>0) `Validar
$Name:=PV Get cell name(Area;$Column;$Row) `Recuperación del nombre
If($Name="") `¿Sin nombre?
$Name:="COL"+String($Column)+"RW"+String($Row) `Actualmente tiene uno
PV SET CELL NAME(Area;$Column;$Row;$Name) `nombre de tipo "COL2RW3"
End if
For($Index;$Row+1;$Row+$CopyNumber) `$CopyNumber bucle(s)
`Incremento
PV SET CELL FORMULA(Area;$Column;$Index;"="+$Name+"+"+String($Index-$Row))
End for
End if
Else `Tipo incorrecto
ALERT("La celda de inicio debe ser de tipo numérico")
End if
PV SET CELL NUM VALUE
PV SET CELL NUM VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Real
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor numérico a fijar
Descripción
El comando PV SET CELL NUM VALUE asigna el número valor a la celda asignada por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV SET CELL PICTURE VALUE
PV SET CELL PICTURE VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Imagen
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor imagen a fijar
Descripción
El comando PV SET CELL PICTURE VALUE ubica la imagen valor en la celda definida por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV SET CELL STRING VALUE
PV SET CELL STRING VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor a fijar
Descripción
El comando PV SET CELL STRING VALUE escribe la cadena de caracteres valor en la celda designada por columna y línea.
Si valor comienza por el signo "=", será interpretado como una fórmula.
Ejemplo
El siguiente ejemplo reproduce la hoja de cálculo "Copiar hacia abajo" para las celdas de tipo alfa numérico únicamente.
C_INTEGER($CopyNumber)
C_LONGINT($Column;$Row) `Coordenadas de la celda a copiar
C_INTEGER($Index) `Índice de bucle
C_STRING(80;$Value) `Valor a copiar
$CopyNumber:=Num(Request("¿Cuántas veces debe copiar hacia abajo?";"5")) `5 por defecto
If($CopyNumber>0)
PV GET CURRENT CELL(Area;$Column;$Row) `Celda a copiar
$Value:=PV Get cell string value(Area;$Column;$Row)
For($Index;$Row+1;$Row+$CopyNumber) `$CopyNumber bucle(s)
PV SET CELL STRING VALUE(Area;$Column;$Index;$Value)
End for
End if
Consejo: este método puede ser utilizado por todos los tipos, o mejor aún, para llamar a un método genérico para probar el tipo
con PV Get cell value type antes de llamar "PV Get cell xxx value" luego el comando "PV SET CELL XXX VALUE" para copiar el
valor, independientemente de su tipo, que puede ser un buen ejercicio de programación genérica.
PV SET CELL TEXT VALUE
PV SET CELL TEXT VALUE ( area ; columna ; grueso ; valor )
Parámetro
area
columna
grueso
valor
Tipo
Entero largo
Entero largo
Entero largo
Texto
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor texto a fijar
Descripción
El comando PV SET CELL TEXT VALUE escribe el texto valor en la celda designada por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV SET CELL TIME VALUE
PV SET CELL TIME VALUE ( area ; columna ; linea ; valor )
Parámetro
area
columna
linea
valor
Tipo
Entero largo
Entero largo
Entero largo
Hora
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Valor de la celda
Descripción
El comando PV SET CELL TIME VALUE asigna la hora valor a la celda asignada por columna y linea.
Ejemplo
Consulte el ejemplo del comando PV SET CELL STRING VALUE.
PV SET CELL VARIABLE
PV SET CELL VARIABLE ( area ; columna ; linea ; variable )
Parámetro
area
columna
linea
variable
Tipo
Entero largo
Entero largo
Entero largo
Cadena
Descripción
Área 4D View
Número de columna de la celda
Número de línea de la celda
Nombre de variable
Descripción
El comando PV SET CELL VARIABLE asocia una variable a la celda designada por columna y linea. Toda modificación del
contenido de la celda repercutirá en la variable y viceversa.
Ejemplo
El siguiente método de formulario muestra la hora actual en la celda C3 utilizando la variable vHora. Esta variable se actualiza
cada segundo, para dar la celda el comportamiento de un reloj:
C_TIME(vHora) `Variable recibe la hora mostrada
Case of
:(Form event=On Load)
If(PV Get cell variable(Area;3;3)="") `Aún no hay variable asociada a C3
PV SET CELL VARIABLE(Area;3;3;"vHora") `Asociamos la variable vHora
End if
SET TIMER(60) `Cada segundo
:(Form event=On Timer)
vTime:=Current time
End case
PV UPDATE DYNAMIC AREA
PV UPDATE DYNAMIC AREA ( area )
Parámetro
area
Tipo
Entero largo
Descripción
Área 4D View
Descripción
El comando PV UPDATE DYNAMIC AREA provoca la sincronización de los datos presentes en el area 4D View y de los de la
base de datos 4D.
Este comando es útil en el contexto de los métodos de retrollamada utilizados en las áreas dinámicas únicamente. De hecho,
cuando un método de retrollamada provoca la modificación de la selección actual de 4D, el área 4D View sólo se actualiza al final
de la ejecución de todo el método. Sin embargo, si en este caso, los comandos como PV GOTO CELL se utiliza en el método de
retrollamada, el resultado obtenido podría ser incorrecto debido al desfase temporal entre los datos 4D y los de 4D View. Para
evitar este riesgo, es necesario llamar al comando PV UPDATE DYNAMIC AREA en el método de retrollamada con el fin de que
los datos del área 4D View reflejen de inmediato las modificaciones realizadas en las de 4D.
PV UPDATE DYNAMIC AREA provoca la actualización del área 4D View si la selección de 4D ha sufrido al menos una de las
siguientes modificaciones:
Modificación de la selección actual en el contexto de los campos relacionados,
Modificación del tamaño de los arrays relacionados,
Modificación de los datos de los campos o arrays relacionados.
Ejemplo
Este ejemplo prolonga el del comando PV ADD DYNAMIC FIELDS (permitiendo asociar la selección 4D al área 4D View).
Instalamos un método evento "clic derecho" que se utiliza para crear un registro en la selección de 4D y se ubica en este registro
en el área 4D View.
PV ON EVENT(area;pv on right clicked;"CallbackMethod")
El código del método proyecto CallbackMethod es el siguiente:
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
$0:=True `Filtro del evento
CREATE RECORD([Contactos]) `Nuevo registro
SAVE RECORD([Contactos]) `Guardar el registro creado
ALL RECORDS([Contactos])
`Actualización de la selección de 4D View en función de la de 4D
PV UPDATE DYNAMIC AREA(area)
`Selección del nuevo registro
PV GOTO CELL(area;1;Records in selection([Contactos]))
Lista de temas de constantes
PV Acción soltar
PV Acciones de selección
PV Arrastrar soltar autorizado
PV Bordes
PV Comandos
PV Controles
PV Direcciones
PV Encabezados y pies de página
PV Estilo de borde
PV Estilo valores especiales
PV Eventos
PV Flechas
PV Formato documento
PV Formato fecha hora
PV Funciones informes
PV Información soltar
PV Modo de selección
PV Modo de soltar
PV Modo tecla intro en entrada
PV Ordenar encabezados
PV Propiedades área
PV Propiedades celda
PV Propiedades documento
PV Propiedades estilo
PV Propiedades imágenes
PV Propiedades impresión
PV Propiedades panel
PV Propiedades plugin
PV Retorno de carro
PV Tipo valor celda
PV Triggers
PV Valores estilo
PV Valores impresión
PV Visualización imagen
PV Acción soltar
Constante
Tipo
Valor
pv entire area
pv insert cell down
pv insert cell right
pv insert column
pv insert row
pv replace cell
pv replace column
pv replace row
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
2
3
7
5
4
8
6
Comentario
PV Acciones de selección
Constante
Tipo
Valor
Comentario
pv selection add
pv selection reduce
pv selection set
Entero largo
Entero largo
Entero largo
1
2
0
The new selection is added to the existing selection.
The selection is removed from the existing selection.
The new selection replaces the existing selection.
PV Arrastrar soltar autorizado
Las constantes de este tema permiten indicar o leer la naturaleza de los elementos fuente y objetivo aceptados para un área 4D View
en caso de arrastrar o soltar. Estas constantes se pueden adicionar con el fin de autorizar varios tipos de elementos. Un ejemplo de
uso se encuentra en la descripción del comando PV SET DRAG SIGNATURE.
Constante
Tipo
Valor Comentario
pv DD 4D
objects
pv DD adjacent
cells
pv DD adjacent
columns
pv DD adjacent
rows
pv DD multiple
cells
pv DD multiple
columns
pv DD multiple
rows
pv DD not
allowed
pv DD single
cell
pv DD single
column
pv DD single
row
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
1024
4D objects can be dropped. All types of 4D fields (except for BLOBs and sub-tables) and
variables (except for BLOBs) can be dropped.
4
Multiple adjacent cells or a single-cell selection can be dragged and/or dropped.
256
Multiple adjacent columns or a single-column selection can be dragged and/or dropped.
32
Multiple adjacent rows or single row selections can be dragged and/or dropped.
8
Multiple cells (adjacent or not) or a single-cell selection can be dragged and/or dropped.
512
Multiple columns (adjacent or not) or a single-column selection can be dragged and/or
dropped.
64
Multiple rows (adjacent or not) or a single-row selection can be dragged and/or dropped.
0
No selection can be dragged or dropped in the area—even if drag and drop is allowed.
2
Single cell selections can be dragged and/or dropped.
128
Single column selections can be dragged and/or dropped.
16
Single row selections can be dragged and/or dropped.
PV Bordes
Las constantes de este tema se utilizan para seleccionar un borde de un rango de celdas. Es posible añadir varias constantes para
definir varios bordes simultáneamente. Cuando se seleccionan varias celdas, las cuatro primeras constantes indican los límites
exteriores del rango. En este caso, los límites interiores del rango pueden definirse vía las constantes "pv border edge inner hor" y "pv
border edge inner vert".
Constante
Tipo
Valor
pv border edge bottom
pv border edge inner hor
pv border edge inner vert
pv border edge left
pv border edge right
pv border edge top
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
16
32
1
4
2
Comentario
PV Comandos
Las constantes de este tema permiten designar una de las funciones de 4D View accesibles vía la interfaz del plug-in. Estas
constantes tienen prefijo de la siguiente manera:
"cmd" indica un comando de menú (así como el icono correspondiente de la paleta de herramientas).
"pal", indica una función que sólo es accesible mediante un icono de la paleta de herramientas. Estas constantes sólo se puede
utilizar con los comandos PV SET COMMAND STATUS y PV GET COMMAND STATUS.
Constante
Tipo
Valor
pv cmd calculate now
pv cmd calculation mode
pv cmd db import fields
pv cmd db import report
pv cmd db linked cells
pv cmd db linked pictures
pv cmd document information
pv cmd edit clear all
pv cmd edit clear borders
pv cmd edit clear formats
pv cmd edit clear formulas
pv cmd edit clear other
pv cmd edit clear values
pv cmd edit copy
pv cmd edit cut
pv cmd edit delete
pv cmd edit fill down
pv cmd edit fill right
pv cmd edit find
pv cmd edit find next
pv cmd edit go to
pv cmd edit go to last cell
pv cmd edit move
pv cmd edit paste
pv cmd edit redo
pv cmd edit repeat
pv cmd edit replace
pv cmd edit replace next
pv cmd edit select all
pv cmd edit set name
pv cmd edit sort
pv cmd edit special paste
pv cmd edit undo
pv cmd export
pv cmd export area clear
pv cmd export area set
pv cmd export area show
pv cmd file new
pv cmd file open
pv cmd file page setup
pv cmd file preferences
pv cmd file print document
pv cmd file print formulas
pv cmd file print preview
pv cmd file printing options
pv cmd file save
pv cmd file save as
pv cmd file save template
pv cmd format borders
pv cmd format cells
pv cmd format col default W
pv cmd format column auto width
pv cmd format column hide
pv cmd format column show
pv cmd format column width
pv cmd format row auto height
pv cmd format row default H
pv cmd format row height
pv cmd format row hide
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
120
119
213
214
215
217
109
234
233
232
230
235
231
4
3
136
134
135
125
126
129
130
124
5
2
122
127
128
7
170
131
123
1
105
107
106
108
100
101
110
118
114
113
112
111
102
103
104
202
187
175
174
179
180
173
177
178
176
181
Comentario
pv cmd format row show
pv cmd format style sheets
pv cmd freeze panes
pv cmd freeze references
pv cmd go to full screen
pv cmd insert cell
pv cmd insert column
pv cmd insert column break
pv cmd insert row
pv cmd insert row break
pv cmd linked columns arrays
pv cmd linked columns fields
pv cmd print area clear
pv cmd print area set
pv cmd print area show
pv cmd security hide
pv cmd security lock
pv cmd security show
pv cmd security unlock
pv cmd unfreeze panes
pv cmd view col headers
pv cmd view formula
pv cmd view grid
pv cmd view Hscrollbar
pv cmd view menu bar
pv cmd view page breaks
pv cmd view pictures
pv cmd view references
pv cmd view row headers
pv cmd view toolbar border
pv cmd view toolbar number
pv cmd view toolbar standard
pv cmd view toolbar style
pv cmd view Vscrollbar
pv pal border all
pv pal border bottom
pv pal border color
pv pal border columns
pv pal border frame
pv pal border kind
pv pal border none
pv pal border rows
pv pal format string
pv pal formula cancel
pv pal formula validate
pv pal number align auto
pv pal number align center
pv pal number align left
pv pal number align right
pv pal number money
pv pal number percentage
pv pal number scientific
pv pal standard sort asc
pv pal standard sort desc
pv pal standard zoom
pv pal style bold
pv pal style font name
pv pal style font size
pv pal style italic
pv pal style style sheet
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
182
188
171
121
20
154
155
211
156
212
219
218
116
115
117
183
185
184
186
172
142
141
144
146
140
147
149
148
143
153
151
150
152
145
207
203
210
205
204
209
208
206
160
221
222
189
191
190
192
201
200
199
132
133
139
196
193
194
197
195
pv pal style underline
Entero largo
198
PV Controles
Constante
Tipo
Valor
pv control check box
pv control combo box
pv control drop down
pv control none
pv control push button
pv control radio button
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
3
5
4
0
1
2
Comentario
PV Direcciones
Constante
Tipo
Valor
pv to the bottom
pv to the left
pv to the right
pv to the top
Entero largo
Entero largo
Entero largo
Entero largo
1
2
0
3
Comentario
PV Encabezados y pies de página
Constante
Tipo
Valor
pv footer center
pv footer left
pv footer right
pv header center
pv header left
pv header right
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
5
4
6
2
1
3
Comentario
PV Estilo de borde
Constante
Tipo
Valor
pv border style 1
pv border style 111
pv border style 112
pv border style 2
pv border style 211
pv border style 212
pv border style 222
pv border style 232
pv border style 3
pv border style 4
pv border style 5
pv border style 6
pv border style half
pv border style none
pv border style quarter
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
7
9
2
8
10
11
12
3
4
5
6
14
0
13
Comentario
PV Estilo valores especiales
Las constantes de este tema permiten aplicar hojas de estilo por defecto con los comandos PV SET STYLE PROPERTY and PV Get
style property (parámetro "estilo").
Constante
Tipo
Valor Comentario
pv style cells
Entero
largo
Entero
largo
Entero
largo
-1
Hoja de estilo por defecto llamada "Celdas”, aplicada a las celdas.
-2
Hoja de estilo por defecto llamada "Encabezado y pie de página", aplicada al encabezado
y al pie de página durante la impresión.
Hoja de estilo por defecto llamada "Encabezados de líneas/columnas", aplicado a los
encabezados de columnas y de líneas.
pv style col row
headers
pv style page
footer header
-3
PV Eventos
Detalles específicos: • 'pv on cell value changed' no se genera para áreas dinámicas. • 'pv on getting focus' y 'pv on losing focus' se
generan cuando el área 4D View (y no la celda) toma o pierde el foco.
Constante
Tipo
Valor
pv on active cell changed
pv on cell value changed
pv on clicked
pv on column resize
pv on column sort
pv on contextual click
pv on double clicked
pv on drag
pv on drop
pv on getting focus
pv on keyboard
pv on losing focus
pv on right clicked
pv on row resize
pv on scrolled
pv on selection changed
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
9
2
12
14
15
4
10
11
0
6
1
3
13
5
7
Comentario
PV Flechas
Las constantes de este tema son los valores posibles de la propiedad de área "pv flechas" (ver PV Propiedades área)
Constante
Tipo
Valor
Comentario
pv arrow keys allowed
pv arrow keys not allowed
pv right and left arrow keys
pv top and bottom arrow keys
Entero largo
Entero largo
Entero largo
Entero largo
0
3
2
1
Allows the use of all arrow keys.
Does not allow the use of arrow keys for data validation.
Allows only the use of right and left arrow keys.
Allows only the use of top and bottom arrow keys.
PV Formato documento
Constante
Tipo
Valor
pv html
pv sylk
pv tab tab return
pv view
Entero largo
Entero largo
Entero largo
Entero largo
3
2
1
0
Comentario
PV Formato fecha hora
Constante
Tipo
Valor
Comentario
pv Abbr Month Day Year
pv Abbreviated
pv Abbreviated H MM AM PM
pv Day Name
pv Day Number
pv HH MM
pv HH MM AM PM
pv HH MM SS
pv Hour Min
pv Hour Min Sec
pv Long
pv Long H MM AM PM
pv Month Day Year
pv Month Day Year H MM AM PM
pv Month Name
pv Month Number
pv Short
pv Short HH MM SS
pv Short2
pv Short2 Hour Min Sec
pv Year Number
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
6
2
13
7
8
18
21
17
20
19
3
12
5
15
9
10
1
14
4
16
11
21 Feb, 2002
Thu 21 Feb 2002
Thu 21Feb 2002 at 12:30 PM
Thursday
21
12:30
12:30 PM
12:30:00
12 hours 30 minutes
12 hours 30 minutes 0 second
Thursday 21 February 2002
Thursday 21 February 2002 at 12:30 PM
21 February, 2002
21 February, 2002 at 12:30 PM
February
2
02/21/02
02/21/02 at 12:30:00
02/21/2002
21/02/2002 and 12 hours 30 minutes 0 second
2002
PV Funciones informes
Constante
Tipo
Valor
pv report function average
pv report function count
pv report function max
pv report function min
pv report function none
pv report function sum
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
1
4
3
2
-1
0
Comentario
PV Información soltar
Constante
Tipo
Valor Comentario
pv drag
column
pv drag
content
pv drag
plugin
pv drag
process
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
2
pv drag row
pv drag X
offset
pv drag Y
offset
pv drop
action
pv drop
column
pv drop
content
pv drop
plugin
pv drop
process
pv drop row
pv drop X
offset
pv drop Y
offset
Returns the number of the source column.
6
1
Returns the number of the 4D View area dragged.
0
Returns the process number of the source area.
3
Returns the number of the source row.
4
Returns the X coordinates of the cell (starting from the upper left corner of the cell) where the
drag action has been done.
Returns the Y coordinates of the cell (starting from the upper left corner of the cell) where the drag
action has been done.
Allows getting the drop action done by the user. Returns a constant from the PV Drop action
theme.
5
14
9
Returns the number of the destination column.
13
8
Returns the number of the area dropped.
7
Returns the process number of the destination area.
10
Returns the number of the destination row.
11
Returns the X coordinates of the cell (starting from the upper left corner of the cell) into which the
drop action has been done.
Returns the Y coordinates of the cell (starting from the upper left corner of the cell) into which the
drop action has been done.
12
PV Modo de selección
Constante
Tipo
Valor Comentario
pv select
adjacent cells
pv select
adjacent
columns
pv select
adjacent rows
pv select multiple
cells
pv select multiple
columns
pv select multiple
rows
pv select not
allowed
pv select single
cell
pv select single
column
pv select single
row
Entero
largo
8
Only adjacent cells can be selected in the area.
Entero
largo
5
Only adjacent columns can be selected in the area.
2
Only adjacent rows can be selected in the area.
9
Multiple cells, adjacent or not, can be selected in the area.
6
Multiple columns, adjacent or not, can be selected in the area.
3
Multiple rows, adjacent or not, can be selected in the area.
0
No selection is possible in the area (all cells are deselected). Data entry is also not allowed
(the formula editor is locked). Data can only be viewed.
7
Only one cell at a time can be selected in the area.
4
Only one column at a time can be selected in the area.
1
Only one row at a time can be selected in the area.
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
PV Modo de soltar
Constante
Tipo
Valor
Comentario
pv drop insert only
pv drop insert or replace
pv drop replace only
Entero largo
Entero largo
Entero largo
1
0
2
Dropped values can only be inserted in the area.
Dropped values can be inserted or replace existing values in the area.
Dropped values can only replace existing values in the area.
PV Modo tecla intro en entrada
Las constantes de este tema permiten definir la acción de la tecla Intro durante la entrada. Cuando se utiliza en modo "estándar", la
tecla Intro sólo valida la entrada. También puede activar la celda situada a la derecha ("pv enter key as tab") o de arriba ("pv enter key
as return") de la celda modificada.
Constante
Tipo
Valor Comentario
pv enter key
as return
Entero
largo
2
pv enter key
as tab
Entero
largo
1
pv enter key
standard
Entero
largo
0
The Enter key validates the current cell then switches between selection/data entry in the next cell
below. The Shift+Enter key combination switches between selection/data entry in the next cell
above.
The Enter key validates the current cell then switches between selection/data entry in the next cell to
the right. The Shift+Enter key combination switches between selection/data entry in the next cell to
the left.
The Enter key validates the current cell then switches between selection/data entry in the same cell
(the current cell does not change).
PV Ordenar encabezados
Constante
Tipo
Valor Comentario
pv
ascending
sort
pv
descending
sort
Entero
largo
2
4D View carries out ascending sort.
Entero
largo
3
4D View carries out descending sort.
pv sort
allowed
Entero
largo
1
pv sort not
allowed
Entero
largo
0
4D View carries out a standard sort when the user clicks on a column header. In this case, a symbol
appears in the header in order to indicate the sort order. Successive clicks cause alternating
ascending and descending sorts.
(default value) 4D View does not carry out a standard sort when the user clicks on a column header
(the sort can nevertheless be managed by the developer in a customized manner).
PV Propiedades área
Constante
Tipo
Valor Comentario
Permite autorizar o no la anulación de una acción. Valores asociados:
pv allow
undo redo
Entero
largo
39
pv value on: es posible utilizar deshacer (comportamiento por defecto).
pv value off: no es posible utilizar deshacer (el comando Deshacer del menú Edición está
inactivo).
Permite autorizar o no el uso de las teclas de flecha para la validación de la entrada (validación y
selección de la siguiente celda). La validación se efectúa sólo cuando el cursor se ubica al
comienzo o al final del contenido de la celda. Valores asociados: constantes del tema PV Flechas.
pv arrow
keys
Entero
largo
9
pv arrow keys allowed: autoriza la utilización de todas las teclas de flechas.
pv top and bottom arrow keys: autoriza únicamente el uso de las teclas de flechas hacia
arriba y hacia abajo.
pv right and left arrow keys: permite únicamente la utilización de las teclas de flecha hacia la
derecha y a la izquierda.
pv arrow keys not allowed: no permite la utilización de las teclas de flechas para la validación.
Permite crear una nueva línea en una misma celda (celdas multilíneas). Valores asociados:
constantes del tema PV Retorno de carro.
pv carriage
return
Entero
largo
8
pv column
headers
height
Entero
largo
21
pv cr not allowed: no es posible efectuar una entrada multilíneas en el área.
pv cr allowed: presionando la tecla Retorno de carro se creará una nueva línea en la celda.
pv cr allowed with ctrl: presionando Ctrl+Retorno de carro (Comando+Retorno de carro en
Mac OS) se crea una nueva línea en la celda.
pv cr allowed with shift: presionando Mayús+Retorno de carro se creará una nueva línea en la
celda.
Permite leer o definir el alto de los encabezados en las columnas en el área. Valores asociados:
alto de los encabezados expresado en píxeles.
Permite indicar si los elementos escondidos en el área deben tenerse en cuenta cuando se copian
las celdas. Valores asociados:
pv copy
hidden
Entero
largo
19
pv value on: los elementos ocultos (si los hay) se tienen en cuenta cuando se copian las
celdas.
pv value off: los elementos ocultos (si los hay) no se tienen en cuenta cuando se copian las
celdas.
Permite definir el resaltado de la celda actual en el área. Valores asociados:
pv current
cell
highlight
Entero
largo
3
pv value on: la celda actual se resalta en el área, por lo tanto es visible en pantalla.
pv value off: la celda actual no se resalta en el área, por lo tanto es invisible en pantalla.
Por defecto, la celda activa se resalta.
Permite definir el tipo de selección que puede arrastrarse. Valores asociados: constantes del tema
PV Arrastrar soltar autorizado.
pv drag
allowed
Entero
largo
13
pv DD not allowed: ninguna selección puede arrastrarse en el área, incluso si está autorizado
arrastrar y soltar.
pv DD single cell: es posible arrastrar una selección con una celda única.
pv DD adjacent cells: es posible arrastrar una selección con varias celdas adyacentes o una
celda única.
pv DD multiple cells: es posible arrastrar una selección de varias celdas (adyacentes o no) o
una celda única.
pv DD single row: es posible arrastrar una selección con una línea única.
pv DD adjacent rows: es posible arrastrar una selección con varias líneas adyacentes o una
celda única.
pv DD multiple rows: es posible arrastrar una selección de varias líneas (adyacentes o no) o
una línea única.
pv DD single column: es posible arrastrar una selección con una columna única.
pv DD adjacent columns: es posible arrastrar una selección con varias columnas adyacentes
o una columna única.
pv DD multiple columns: es posible arrastrar una selección con varias columnas (adyacentes
o no) o una columna única.
Nota: puede añadir varias constantes a la misma área. Por ejemplo, PV SET AREA
PROPERTY(area; pv drag allowed; pv DD multiple cells + pv DD single column + pv DD
adjacent rows) permite arrastrar una selección compuesta de celdas múltiples o una columna
única o líneas adyacentes.
Permite definir el mecanismo que desencadena el arrastrar en el área. No hay un trigger específico
para soltar. Valores asociados: constantes del tema PV Triggers.
pv drag
trigger
Entero
largo
12
pv trigger none: no es posible efectuar un arrastrar en el área.
pv trigger on click: la selección puede arrastrarse utilizando con un clic.
pv trigger on double click: la selección puede arrastrarse utilizando con un doble clic.
pv trigger on alt click: la selección puede arrastrarse utilizando una combinación Alt+clic.
pv trigger on alt double click: la selección puede arrastrarse utilizando una combinación
Alt+doble-clic.
pv trigger on ctrl click: la selección puede arrastrarse utilizando la combinación Ctrl+clic
(Comando+clic en Mac OS).
pv trigger on ctrl double click: la selección puede arrastrarse utilizando la combinación
Ctrl+doble-clic (Comando+doble-clic en Mac OS).
pv trigger on shift click: la selección puede arrastrarse utilizando la combinación Mayús+clic.
pv trigger on shift double clic: la selección puede arrastrarse utilizando la combinación
Mayús+doble-clic.
Nota: cuando un mismo trigger se define para arrastrar y para la selección, el trigger de arrastrar
es prioritario.
Permite definir el tipo de selección que es posible soltar en el área. Valores asociados: constantes
del tema PV Arrastrar soltar autorizado.
pv drop
allowed
Entero
largo
33
pv DD not allowed: ninguna selección puede soltarse en el área, incluso si está autorizado
arrastrar y soltar.
pv DD single cell: es posible soltar una selección que contenga una celda única.
pv DD adjacent cells: es posible soltar una selección que contenga varias celdas adyacentes
o una celda única.
pv DD multiple cells: es posible soltar una selección que contenga varias celdas (adyacentes
o no) o una celda única.
pv DD single row: es posible soltar una selección que contenga una línea única.
pv DD adjacent rows: es posible soltar una selección que contenga varias líneas adyacentes
o una línea única.
pv DD multiple rows: es posible soltar una selección que contenga varias líneas (adyacentes
o no) o una línea única.
pv DD single column: es posible soltar una selección que contenga una columna única.
pv DD adjacent columns: es posible soltar una selección que contenga varias columnas
adyacentes o una columna única.
pv DD multiple columns: es posible soltar columnas múltiples (adyacentes o no) o una
columna única.
pv DD 4D objects: es posible soltar un objeto 4D. Todos los tipos de campos y de variables
4D (excepto los BLOBs y las sub-tablas) pueden soltarse.
Nota: es posible añadir varias constantes para una misma área. Por ejemplo, PV SET AREA
PROPERTY(area; pv drop allowed;pv DD multiple cells + pv DD single column + pv DD
adjacent rows) permite soltar una selección compuesta por de celdas múltiples o de una columna
única o de líneas adyacentes.
Permite definir la manera como la selección puede soltarse en el área. Note que esta propiedad
define únicamente los modos de soltar valores en el área; la copia de los valores arrastrados (si los
hay) debe manejarse por separado. Valores asociados: constantes del tema PV Modo de soltar.
pv drop
mode
Entero
largo
pv field tag
Entero
largo
17
pv field
wrapper
Entero
largo
18
pv headers
sort
Entero
largo
14
20
pv drop insert or replace: los valores soltados pueden insertarse o remplazar los valores
existentes en el área.
pv drop insert only: los valores soltados sólo se pueden insertar en el área.
pv drop replace only: los valores soltados sólo pueden remplazar los valores existentes en el
área.
Permite definir el separador de campo. Esta propiedad es útil únicamente durante la
importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo: "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
La coma es el separador de campo.
Permite definir el carácter de sobre de campo. Esta propiedad es útil para únicamente durante la
importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo: "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
Las comillas son los sobres de campos.
Permite autorizar o prohibir la ordenación estándar de los datos cuando se hace clic en el
encabezado de una columna (datos dinámicos o estáticos). Valores asociados: las siguientes
constantes del tema PV Ordenar encabezados.
pv sort not allowed (valor por defecto): 4D View no efectúa una ordenación estándar cuando
el usuario hace clic en un encabezado de columna (la ordenación puede sin embargo ser
manejada de manera personalizada por el desarrollador).
pv sort allowed: 4D View efectúa una ordenación estándar cuando el usuario hace clic en un
sort
pv hor pane
count
pv input
enter key
mode
largo
Entero
largo
Entero
largo
encabezado de columna. En este caso, aparece un símbolo en el encabezado para indicar el
criterio de ordenación. Los clics sucesivos provocan alternamente una ordenación
ascendente y descendente.
11
15
Una ordenación en una columna dinámica produce una ordenación sincronizada de los otras
columnas de manera que los registros conservan si estado inicial. Una ordenación de una columna
estática sólo ordena esa columna.
Permite leer el número de paneles horizontales presentes en el área. Este constante sólo puede
utilizarse con el comando PV Get area property. Valores devueltos: número de paneles.
Permite definir la acción de la tecla Intro (teclado numérico) utilizada durante la entrada de datos.
Valores asociados: constantes del tema PV Modo tecla intro en entrada.
pv enter key standard: la tecla Intro valida la celda actual luego cambia entre
selección/entrada datos en la misma celda (la celda actual no cambia).
pv enter key as tab: la tecla Intro valida la celda actual luego cambia entre selección/entrada
datos en la siguiente celda a la derecha. La combinación Mayús+Intro cambia entre
selección/entrada datos en la siguiente celda a la izquierda.
pv enter key as return: la tecla Intro valida la celda actual luego cambia entre
selección/entrada datos en la siguiente celda debajo. La combinación Mayús+Intro cambia
entre selección/entrada datos en la siguiente celda arriba.
Nota: a diferencia de la tecla Intro, las teclas Tab y Retorno de carro provocan únicamente la
selección de las celdas.
Permite definir el modo de desencadenamiento de la entrada en el área. La entrada de datos sólo
puede efectuarse en la celda activa. Valores asociados: constantes del tema PV Triggers:
pv input
trigger
Entero
largo
6
pv trigger none: la entrado de datos está inactiva (ningún evento puede activar la entrada),
incluso si una tecla es permitida en el modo entrada de datos (ver la constante pv input enter
key mode). La entrada de datos es, sin embargo, posible utilizando la barra del editor de
fórmulas y también es posible cambiar la selección.
pv trigger input key: la entrada de datos es activada por una tecla. En este caso, la
navegación entre celdas sólo es posible utilizando el teclado (Tab y Mayús+Tab para
moverse horizontalmente, Retorno de carro y Mayús+Retorno de carro para moverse
verticalmente, o la teclas de flechas).
pv trigger input on enter: la entrada de datos es activada por la tecla Intro (teclado numérico).
pv trigger input on gain sel: la entrada de datos se activa en la celda que tiene el foco. En este
modo, tan pronto como se selecciona la celda, toma el foco y el cursor se convierte en un
cursor de entrada.
pv trigger on click: la entrada de datos se activa por un clic en una celda. A diferencia de la
constante pv trigger input on gain sel, no se muestra un cursor de entrada.
pv trigger on double click: la entrada de datos es activada por un doble clic en una celda. Un
solo clic no permite la entrada.
pv trigger on alt click: la entrada de datos es activada por la combinación Alt+clic en una
celda.
pv trigger on alt double click: la entrada de datos es activada por la combinación Alt+dobleclic en una celda.
pv trigger on ctrl click: la entrada de datos es activada por la combinación Ctrl+clic
(Comando+clic en Mac OS) en una celda.
pv trigger on ctrl double click: la entrada de datos es activada por la combinación Ctrl+dobleclic (Comando+doble-clic en Mac OS) en una celda.
pv trigger on shift click: la entrada de datos es activada por la combinación Mayús+clic en una
celda.
pv trigger on shift double clic: la entrada de datos es activada por la combinación
Mayús+doble-clic en una celda.
Notas:
Puede añadir varias constantes para el mismo trigger. Por ejemplo, PV SET AREA
PROPERTY(area; pv input trigger;pv trigger on click + pv trigger on alt click) permite
el uso de un clic O de Alt+clic para la entrada de datos.
Cuando el mismo trigger está definido para la entrada y para la selección, el trigger de
entrada es prioritario.
pv record
tag
Entero
largo
16
pv resizable
columns
Entero
largo
4
Permite definir el carácter delimitador del registro. Esta propiedad es útil únicamente durante la
importación/exportación de datos. Valores asociados: código ASCII del carácter.
Ejemplo : "E1Campo1", "E1Campo2", "E1Campo3"; "E2Campo4", "E2Campo5";
El punto y coma es el separador del registro (2 registros: E1 y E2).
Permite autorizar o no el redimensionamiento de la columna. Valores asociados:
pv value on: las columnas en el área son redimensionables.
pv value off: el tamaño de las columnas en el área no es redimensionable.
Permite autorizar o no el redimensionamiento de las líneas. Valores asociados:
pv resizable
rows
Entero
largo
5
pv row
headers
width
Entero
largo
22
Permite leer o fijar el ancho de los encabezados de líneas. Valores asociados: ancho de los
encabezados (en píxeles).
37
Permite mostrar o no el mensaje de confirmación del registro del documento 4D View si ha sido
modificado. Esta alerta se muestra cuando se sale de un área incluida en 4D View, no asociada a
un campo de la base, (el formulario se valida o cancela). Esta propiedad no es válida para
ventanas externas 4D View. Valores asociados:
pv saving
dialog
Entero
largo
pv value on: las líneas en el área son redimensionables.
pv value off: las líneas en el área no son redimensionables.
pv value on: se muestra el mensaje de confirmación (valor por defecto).
pv value off: no se muestra el mensaje de confirmación
Permite definir el resaltado de una selección de celdas en el área. Valores asociados:
pv select
highlight
Entero
largo
1
pv value on: las selecciones se resaltan en el área.
pv value off: las selecciones no se resaltan, son invisibles en pantalla.
Permite definir el modo de selección permitido par el área. Valores asociados: constantes del
tema PV Select mode.
pv select
mode
Entero
largo
0
pv select not allowed: no es posible hacer una selección en el área (todas las celdas están
deseleccionadas). La entrada de datos tampoco es permitida (el editor de fórmulas se
bloquea). Sólo se pueden ver los datos.
pv select single row: sólo es posible seleccionar una línea a la vez en el área.
pv select adjacent rows: sólo las líneas adyacentes pueden seleccionarse en el área.
pv select multiple rows: es posible seleccionar varias líneas, adyacentes o no, en el área.
pv select single column: sólo una columna a la vez puede seleccionarse en el área.
pv select adjacent columns: sólo es posible seleccionar columnas adyacentes en el área.
pv select multiple columns: es posible seleccionar varias columnas, adyacentes o no, en el
área.
pv select single cell: sólo es posible seleccionar una celda a la vez en el área.
pv select adjacent cells: sólo las celdas adyacentes pueden seleccionarse en el área.
pv select multiple cells: es posible seleccionar varias celdas, adyacentes o no, en el área.
Nota: la entrada de datos aún es posible en la selección (excepto durante el uso de la constante pv
select not allowed). Si prefiere no permitir la entrada de datos en el área, debe ejecutar la
instrucción PV SET AREA PROPERTY(area;pv input trigger;pv trigger none).
Permite autorizar o no las áreas sin selección actual. Valores asociados:
pv select
null
Entero
largo
2
pv value on: no es obligatorio tener una selección en el área. Por ejemplo, si la columna o la
línea contiene la celda activa se elimina, ya no hay más selección en el área.
pv value off: es obligatorio tener una selección en el área.
Permite definir el modo de desencadenamiento de la selección en el área. Valores asociados:
constantes del tema PV Triggers:
pv select
trigger
Entero
largo
7
pv trigger none: no es posible definir una selección en el área. Es posible introducir datos en
la selección que estaba activa antes de la ejecución del comando. Las teclas Tab y Retorno
de carro modifican la posición de la celda activa en la selección.
pv trigger select on arrow: permite definir una selección (celda activa únicamente) utilizando
las teclas flechas. No es posible extender o reducir una selección.
pv trigger select on tab: permite definir una selección (celda activa únicamente) utilizando la
tecla Tab o la combinación Mayús+Tab. No es posible extender o reducir una selección.
pv trigger select on return: permite definir una selección (celda activa únicamente) utilizando la
tecla Retorno de carro. No es posible extender o reducir una selección.
pv trigger on click: permite definir una selección vía un clic.
pv trigger on double click: permite definir una selección (celda activa únicamente) vía un
doble-clic. No es posible extender o reducir una selección.
pv trigger on alt click: permite definir una selección utilizando la combinación Alt+clic.
pv trigger on alt double click: permite definir una selección utilizando la combinación
Alt+doble-clic
pv trigger on ctrl click: permite definir una selección utilizando la combinación Ctrl+clic
(Comando+clic on Mac OS).
pv trigger on ctrl double click: permite definir una selección utilizando la combinación
Ctrl+doble-clic (Comando+doble-clic en Mac OS).
pv trigger on shift click: permite definir una selección utilizando la combinación Mayús+clic.
pv trigger on shift double clic: permite definir una selección utilizando la combinación
Mayús+doble-clic.
Notas:
Puede añadir varias constantes para un mismo trigger. Por ejemplo, PV SET AREA
PROPERTY(area; pv select trigger;pv trigger on click + pv trigger on alt click) permite
el uso de un clic O un Alt+clic para la selección.
Cuando un mismo trigger se define para la entrada y para la selección, el trigger de entrada
es prioritario.
Cuando el mismo trigger se define para arrastrar y para la selección, el trigger de arrastrar es
prioritario.
pv show
borders
toolbar
Permite mostrar u ocultar la barra de herramientas Bordes de 4D View en el área. Valores
asociados:
Entero
largo
29
pv value on: se muestra la barra de herramientas Bordes.
pv value off: se oculta la barra de herramientas Bordes.
Permite mostrar u ocultar los encabezados de columnas en el área. Valores asociados:
pv show
column
headers
Entero
largo
23
pv value on: se muestran los encabezados de las columnas.
pv value off: se ocultan los encabezados de las columnas.
Permite mostrar u ocultar la barra de herramientas Fórmulas de 4D View en el área. Valores
asociados:
pv show
formula
toolbar
Entero
largo
pv show hor
grid
Entero
largo
30
pv value on: la barra de herramientas Fórmulas se muestra.
pv value off: la barra de herramientas Fórmulas se oculta.
Permite mostrar u ocultar la rejilla horizontal de 4D View en el área. Valores asociados:
31
pv value on: se muestra la rejilla horizontal.
pv value off: se oculta la rejilla horizontal.
Permite mostrar u ocultar la barra de desplazamiento horizontal del área. Valores asociados:
pv show hor
scrollbar
Entero
largo
34
pv value on: se muestra la barra de desplazamiento horizontal.
pv value off: se oculta la barra de desplazamiento horizontal.
Permite mostrar y ocultar la barra de menús de 4D View en el área. Valores asociados:
pv show
menu bar
pv show
numbers
toolbar
Entero
largo
25
pv value on: se muestra la barra de menús.
pv value off: se oculta la barra de menús.
Permite mostrar u ocultar la barra de herramientas Números 4D View en el área. Valores
asociados:
Entero
largo
27
pv value on: se muestra la barra de herramientas Números.
pv value off: se oculta la barra de herramientas Números.
Permite mostrar u ocultar los encabezados de líneas en el área. Valores asociados:
pv show
row
headers
Entero
largo
24
pv value on: se muestran los encabezados de líneas.
pv value off: se ocultan los encabezados de líneas.
Permite fijar o leer el modo de visualización de la selección en un área 4D View que no tiene el
foco. Valores asociados:
pv show
selection
pv show
standard
toolbar
pv show
style
toolbar
Entero
largo
40
pv value on: la selección del área siempre permanece visible (resaltada) sin importar si el
área 4D View tiene el foco.
pv value off: cuando el área 4D View pierde el foco, la selección ya no es visible.
Permite mostrar u ocultar la barra de herramientas estándar de 4D View en el área. Valores
asociados:
Entero
largo
26
pv value on: se muestra la barra de herramientas estándar.
pv value off: se oculta la barra de herramientas estándar.
Permite mostrar u ocultar la barra de herramientas estilo de 4D View en el área. Valores
asociados:
Entero
largo
28
pv value on: se muestra la barra de herramientas estilo.
pv value off: se oculta la barra de herramientas estilo.
Permite mostrar u ocultar la rejilla vertical de 4D View en el área. Valores asociados:
pv show
vert grid
Entero
largo
32
pv value on: se muestra la rejilla vertical.
pv value off: se oculta la rejilla vertical.
Permite mostrar u oculta la barra de desplazamiento vertical 4D View del área. Valores asociados:
pv show
vert
scrollbar
Entero
largo
35
pv value on: se muestra la barra de desplazamiento vertical.
pv value off: se oculta la barra de desplazamiento vertical.
Permite leer el número de paneles verticales en el área. Esta constante sólo puede leerse
utilizando el comando PV Get area property. Valores devueltos: número de paneles.
pv vert
pane count
Entero
largo
10
pv zoom
factor
Entero
largo
36
Recordatorio: un panel es el área ubicada entre dos separadores (horizontal o vertical).
Permite leer o definir el valor del zoom (en porcentaje) para el área. Valores asociados: tasa de
compresión entre 25 y 1000.
PV Propiedades celda
Constante
Tipo
Valor
Comentario
pv add name
pv cell height
pv cell width
pv replace name
Entero largo
Entero largo
Entero largo
Entero largo
0
101
100
1
The new name is added to any names already set for the cell
Permite definir la altura de la celda. Valores asociados: altura expresada en píxeles.
Permite definir el ancho de la celda. Valores asociados: ancho expresado en píxeles
The new name replaces any names that have already been set for the cell.
PV Propiedades documento
Constante
Tipo
Valor Comentario
pv column
count
Entero
largo
0
Allows setting or reading of the number of columns displayed in the area.
Allows setting or reading of the "modified" attribute of area. Associated values: pv value on or pv
value off.
pv
document
modified
Entero
largo
4
When this constant is used in write mode ( PV SET DOCUMENT PROPERTY command),
passing pv value on in the value parameter will cause a warning dialog box to be displayed
when the area is closed indicating that it has been modified. If the value parameter
contains pv value off, and if the document is not modified subsequently by the user or by
programming, this dialog box does not appear.
When this constant is used in read mode, using the PV Get document property command, the
value returned is 1 if the document has been modified, and 0 otherwise.
Allows forbidding of calls to 4D variables, methods and commands in the formulas of the area.
Associated values: pv value on or pv value off.
pv no
external
call
Entero
largo
pv picture
count
pv row
count
Entero
largo
Entero
largo
3
pv value on: calls to 4D variables, methods and commands are forbidden in the formulas (in
this case, it is possible to use “PV Allows Input” theme commands to define which 4D objects
can be called).
pv value off: calls to all 4D variables, methods and commands are allowed in the formulas
(default value).
2
This constant is read-only ( PV Get document property command). It returns the number of pictures
pasted into the area.
1
Allows setting or reading of the number of rows displayed in the area.
PV Propiedades estilo
Constante
Tipo
Valor Comentario
Permite activar la función de ajustar cuando el contenido de la celda excede el ancho de la misma.
Valores asociados: constantes del tema PV Valores estilo.
pv style
automatic
word wrap
pv style
based on
pv style
color back
even
pv style
color back
odd
pv style
color minus
even
pv style
color minus
odd
pv style
color text
even
pv style
color text
odd
pv style
color zero
even
pv style
color zero
odd
pv style
format
alpha
pv style
format bool
Entero
largo
33
Entero
largo
4
Entero
largo
11
Entero
largo
12
Entero
largo
17
Entero
largo
18
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar y su
valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to color y
PV Index to color).
Entero
largo
13
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to color).
Entero
largo
14
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea impar.
Valores asociados: números de colores (ver los comandos PV RGB to color y PV Index to color).
Entero
largo
15
Entero
largo
16
Entero
largo
6
La celda utiliza el formato de visualización de texto cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
Entero
largo
8
La celda utiliza el formato de visualización booleano cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
pv value on: el contenido de la celda se mueve automáticamente a la siguiente línea si es
necesario.
pv value off: el contenido de la celda pasa a las celdas adyacentes si es necesario.
La celda utiliza como modelo la hoja de estilo cuyo número se pasa en el parámetro valor. Valores
asociados: números de hojas de estilo o constantes del tema PV Estilo valores especiales.
Permite fijar el color de fondo de la celda si la celda está ubicada en una línea par. Valores
asociados: números de colores (ver los comandos PV RGB to color y PV Index to color) o pv value
none (tema PV Valores estilo) para no asociar ningún color.
Permite fijar el color de fondo de la celda si está ubicada en una línea impar. Valores asociados:
números de colores (ver los comandos PV RGB to color y PV Index to color) o pv value none (tema
PV Valores estilo) para no asociar ningún color.
Permite fijar el color del texto contenido en la celda si la celda está ubicada en una línea par y su
valor es negativo. Valores asociados: números de colores (ver los comandos PV RGB to color y
PV Index to color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea par y su
valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV RGB to color y PV
Index to color).
Permite definir el color del texto contenido en la celda si la celda está ubicada en una línea impar y
su valor es 0 (cero). Valores asociados: números de colores (ver los comandos PV RGB to color y
PV Index to color).
La celda utiliza el formato de visualización fecha y hora cuyo número se pasa en el parámetro valor.
Valores asociados: constantes del tema PV Formato fecha hora.
pv style
format date
time
Entero
largo
9
pv Short: 02/21/02
pv Abbreviated: jue 21 feb 2002
pv Long: jueves 21 febrero 2002
pv Short2: 02/21/2002
pv Month Day Year: 21 febrero, 2002
pv Abbr Month Day Year: 21 feb, 2002
pv Day Name: jueves
pv Day Number: 21
pv Month Name: febrero
pv Month Number: 2
pv Year Number: 2002
pv Long H MM AM PM: jueves 21 febrero 2002 a las 12:30 PM
pv Abbreviated H MM AM PM: jue 21 feb 2002 a las 12:30 PM
pv Short HH MM SS: 02/21/02 a las 12:30:00
pv Month Day Year H MM AM PM: 21 febrero, 2002 a las12:30 PM
pv Short2 Hour Min Sec: 21/02/2002 y 12 horas 30 minutos 0 segundos
pv HH MM SS: 12:30:00
pv HH MM: 12:30
pv Hour Min Sec: 12 horas 30 minutos 0 segundos
pv Hour Min: 12 horas 30 minutos
pv HH MM AM PM: 12:30 PM
Nota: dependiendo de la configuración actual de su sistema, el resultado obtenido puede ser
diferente.
Permite forzar la visualización de la celda en texto bruto, es decir sin el formato aplicado por 4D
View en función de su contenido (número, fecha, texto, etc.). Valores asociados: constantes del
tema PV Valores estilo.
pv style
format
forced text
Entero
largo
pv style
format num
Entero
largo
pv style
format
picture
Entero
largo
pv style
hidden
Entero
largo
32
7
10
pv value on: el contenido de la celda se muestra sin formato.
pv value off (por defecto): la celda se muestra con formato automático en función de su
contenido.
La celda utiliza el formato de visualización numérico cuyo número se pasa en el parámetro valor.
Valores asociados: números de formatos de visualización.
Nota: los números de los formatos de visualización por defecto corresponden a su posición en el
menú de selección del formato (caja de diálogo Formatos de celdas).
Permite definir el formato de visualización de la imagen asociada a la celda. Valores asociados:
constantes del tema PV Visualización imagen.
pv mapping trunc non-centered
pv mapping truncated centered
pv mapping replicated
pv mapping scaled to fit prop
pv mapping scaled to fit
pv mapping scaled centered prop
Permite fijar el bloqueo y ocultamiento de celdas. El contenido de una celda bloqueada u oculta no
se muestra y no puede modificarse, seleccionarse, etc. Valores asociados: constantes del tema
PV Valores estilo.
1
pv value on: celda bloqueda y oculta.
pv value off: celda no bloqueada ni oculta.
Permite fijar la alineación horizontal del contenido de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style hor
alignment
Entero
largo
29
pv value hor alignment default: aplica la alineación horizontal por defecto a la celda.
pv value hor alignment left: aplica una alineación horizontal a la izquierda a la celda.
pv value hor alignment center: aplica una alineación horizontal centrada a la celda.
pv value hor alignment right: aplica una alineación horizontal a la derecha a la celda.
Permite fijar el bloqueo para el usuario de la celda. El contenido de una celda bloqueada no puede
modificarse, seleccionarse, etc. Valores asociados: constantes del tema PV Valores estilo.
pv style
locked
Entero
largo
0
pv value on: celda bloqueada.
pv value off: celda no bloqueada.
Permite fijar la rotación del contenido de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style
rotation
Entero
largo
31
pv value rotation 0: no aplica rotación a la celda.
pv value rotation 90: aplica una rotación de 90° a la izquierda.
pv value rotation 180: aplica una rotación de 180°.
pv value rotation 270: aplica una rotación de 270° a la izquierda.
Permite aplicar una corrección ortográfica a la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style
spellcheck
Entero
largo
2
pv value on: se aplica corrección ortográfica a la celda.
pv value off: no se aplica corrección ortográfica a la celda.
Permite fijar el atributo Negrita al texto de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style text
bold
Entero
largo
22
pv value on: aplica el atributo Negrita a la celda.
pv value off: no aplica el atributo Negrita a la celda.
Permite fijar el atributo Condensado al texto de la celda. Valores asociados: constantes del tema
PV Valores estilo.
pv style text
condensed
Entero
largo
27
pv value on: aplica el atributo Condensado a la celda.
pv value off: no aplica el atributo Condensado a la celda.
Permite fijar el atributo Extendido del texto de la celda. Valores asociados: constantes del tema PV
Style values.
Style values.
pv style text
extended
Entero
largo
pv style text
face
pv style text
font
Entero
largo
Entero
largo
pv style text
italic
Entero
largo
28
21
19
23
pv value on: aplica el atributo Extendido a la celda.
pv value off: no aplica el atributo Extendido a la celda.
Permite fijar la hoja de estilo de la celda. Valores asociados: números de hojas d estilo o
constantes del tema PV Style special values.
Permite fijar la fuente de la celda. Valores asociados: números de fuentes (ver los comandos PV
Add font y PV GET FONT LIST).
Permite fijar el atributo Itálica del texto de la celda. Valores asociados: constantes del tema PV
Style values.
pv value on: aplica el atributo Itálica a la celda.
pv value off: no aplica el atributo Itálica a la celda.
Permite fijar el atributo Relieve del texto de la celda. Valores asociados: constantes del tema PV
Style values.
pv style text
outline
Entero
largo
25
pv value on: aplica el atributo Relieve a la celda.
pv value off: no aplica el atributo Relieve a la celda.
Permite fijar el atributo Sombra al texto de la celda. Valores asociados: constantes del tema PV
Valores estilo.
pv style text
shadow
Entero
largo
26
pv style text
size
Entero
largo
20
pv value on: aplica el atributo Sombra a la celda.
pv value off: no aplica el atributo Sombra a la celda.
Permite definir el tamaño de la fuente de la celda. Valores asociados: tamaño en píxeles.
Permite fijar el atributo Subrayado para el texto de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style text
underline
Entero
largo
24
pv value on: aplica el atributo Subrayado a la celda.
pv value off: no aplica el atributo Subrayado a la celda.
Permite adaptar el tamaño de la celda en función de la altura de la imagen asociada. Valores
asociados: constantes del tema PV Valores estilo.
pv style use
picture
height
Entero
largo
3
pv value on: el tamaño de la celda se adapta al tamaño de la imagen que contiene. Si ninguna
imagen está relacionada, la celda no se redimensiona.
pv value off: el tamaño de la celda no varía en función del tamaño de la imagen asociada.
Permite fijar la alineación vertical del contenido de la celda. Valores asociados: constantes del
tema PV Valores estilo.
pv style vert
alignment
Entero
largo
30
pv value vert alignment top: aplica una alineación superior a la celda.
pv value vert alignment center: aplica una alineación vertical centrada a la celda.
pv value vert alignment bottom: aplica una alineación inferior vertical a la celda.
PV Propiedades imágenes
Las constantes "pv picture data width" y "pv picture data height" se utilizan en lectura únicamente.
Constante
Tipo
Valor
pv picture background
pv picture column
pv picture data height
pv picture data width
pv picture display height
pv picture display width
pv picture fixed size
pv picture hor offset
pv picture locked
pv picture mapping mode
pv picture row
pv picture vert offset
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
8
0
5
4
7
6
10
2
11
9
1
3
Comentario
PV Propiedades impresión
Constante
Tipo
pv print
adjust area
Entero
largo
Valor Comentario
Permite añadir o no el área imprimible. Valores asociados:
10
pv value on: se ajusta el área imprimible.
pv value off: no se ajusta el área imprimible.
Permite leer o fijar la ubicación del de la unión cuando la impresión se efectúa en modo por ambas
caras (ver arriba). Valores asociados: las siguientes constantes del tema “PV Valores impresión”:
pv print
binding
Entero
largo
26
pv left binding: unión izquierda (valor por defecto).
pv top binding: unión superior.
Nota: esta propiedad sólo se puede utilizar bajo Windows.
pv print
bottom
margin
Entero
largo
pv print
centered
Entero
largo
3
La margen inferior es el área entre la parte inferior del papel (incluyendo la margen muerta inferior)
y el pie de página. Valores asociados: margen en píxeles.
Permite centrar o no la impresión en la página. Valores asociados:
9
pv value on: la impresión se centra en la página.
pv value off: la impresión no se centra en la página.
Permite fijar o leer el modo para manejar el color. Esta propiedad sólo es útil con impresoras a
color. Valores asociados: constantes del tema “PV Valores impresión”:
pv print
color
Entero
largo
23
pv black and white: impresión en blanco y negro (monochrome).
pv color: impresión a color.
Nota: esta propiedad sólo puede utilizarse en Windows.
pv print
dead
bottom
margin
Entero
largo
18
pv print
dead left
margin
Entero
largo
15
pv print
dead right
margin
Entero
largo
17
pv print
dead top
margin
Entero
largo
16
Esta constante es de solo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del márgen muerto inferior.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto izquierdo.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto derecho.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Esta constante es de sólo lectura (comando PV Get print property) y devuelve el tamaño, en
píxeles, del margen muerto superior.
Nota: el margen muerto es el espacio no imprimible, ubicado al borde del papel. Esta área es
fijada por el piloto de la impresora.
Permite fijar u obtener el destino de la impresión. Valores asociados: las siguientes constantes del
tema PV Valores impresión:
pv print
destination
pv print
document
name
pv print
Entero
largo
Entero
largo
24
27
pv destination printer: la impresión se envía a la impresora.
pv destination file (Windows únicamente): la impresión se envía a un archivo. Cuando se
utiliza esta constante, valor2 contiene la ruta de acceso para el documento resultante. Si
pasa una cadena vacía en valor2 u omite este parámetro, aparece una caja de diálogo de
guardar archivos al momento de la impresión.
pv destination PDF file (Mac OS únicamente): el trabajo de impresión se envía a un archivo
PDF. Cuando se utiliza esta constante, valor2 contiene la ruta de acceso para el documento
PDF resultante. Si pasa una cadena vacía en valor2 u omite este parámetro, aparece una
caja de diálogo de guardar archivos al momento de la impresión.
pv destination EPS file (Mac OS únicamente): el trabajo de impresión se envía a un archivo
EPS. Cuando se utiliza esta constante, valor2 contiene la ruta de acceso para el documento
EPS resultante. Si pasa una cadena vacía en valor2 u omite este parámetro, aparece una
caja de diálogo de guardar archivos al momento de la impresión.
Permite fijar o leer el nombre del documento de impresión que debe aparecer en la lista de
documentos del servidor de impresión. Cuando se utiliza esta constante, valor2 contiene el nombre
del documento de impresión. Pase 0 en valor.
Para utilizar o restablecer el funcionamiento estándar (uso del nombre “4D View”), pase una
cadena vacía en valor2.
Permite imprimir por uno o por ambos lados. Valores asociados:
pv print
double
sided
Entero
largo
25
pv value on: impresión por ambos lados.
pv value off: impresión por un solo lado (valor por defecto).
Nota: esta propiedad sólo se puede utilizar en Windows.
Permite imprimir o no un marco alrededor de cada página impresa. Valores asociados:
pv print
frame each
page
Entero
largo
11
pv value on: se imprime un marco para cada página.
pv value off: no se imprime ningún marco.
Permite imprimir o no una rejilla en el área. Valores asociados:
pv print
grid
Entero
largo
12
pv value on: se imprime la rejilla.
pv value off: no se imprime la rejilla.
Permite imprimir o no los encabezados de las líneas y columnas. Valores asociados:
pv print
headers
Entero
largo
8
pv print left
margin
pv print
number
copies
Entero
largo
0
El margen izquierdo es el área entre el lado izquierdo del papel (incluyendo el margen muerto
izquierdo) y el área de impresión. Valores asociados: margen en píxeles.
Entero
largo
21
Permite fijar o leer el número de copias a imprimir. Valores asociados: número de copias (1 por
defecto).
pv value on: imprime los encabezados de líneas y columnas.
pv value off: no imprime los encabezados de líneas y columnas.
Permite fijar o leer la orientación del papel durante la impresión. Valores asociados: constantes del
tema PV Print values.
pv print
orientation
Entero
largo
pv print
pages from
pv print
pages to
pv print
paper
height
Entero
largo
Entero
largo
19
pv portrait orientation: el papel está orientado en modo vertical.
pv landscape orientation: el papel está orientado en modo en horizontal.
28
Permite fijar o leer el número de la página donde quiere que comience la impresión.
Valores asociados: número de página.
29
Permite fijar o leer el número de la última página a imprimir. Valores asociados: número de página.
14
Devuelve el alto del papel. Valores asociados: altura en píxeles.
Entero
largo
22
Permite definir o leer la bandeja de papel a utilizar. Valores asociados: valor del elemento
info1Array que correspondiente al elemento del arrayNombres devuelto por el comando 4D
PRINT OPTION VALUES. Este array contiene el nombre de la bandeja de papel a utilizar. Nota:
esta propiedad solo puede utilizarse en Windows.
pv print
paper
width
pv print
repeat first
column
pv print
repeat first
row
pv print
repeat last
column
pv print
repeat last
row
pv print
right
margin
Entero
largo
13
Devuelve el ancho del papel. Valores asociados: ancho en píxeles.
Entero
largo
4
Entero
largo
6
Entero
largo
5
Entero
largo
7
Entero
largo
2
pv print
scale
Entero
largo
20
pv print top
margin
Entero
largo
1
pv print
paper
source
Entero
largo
Indica el número de la primera columna del rango de columnas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat last column. Valores
asociados: número de columna.
Indica el número de la primera línea del rango de líneas a imprimir en cada página. Esta constante
debe utilizarse en combinación con la constante pv print repeat last row. Valores asociados:
número de línea.
Indica el número de la última columna del rango de columnas a imprimir en cada página. Esta
constante debe utilizarse en combinación con la constante pv print repeat first column. Valores
asociados: número de columna.
Indica el número de la última línea del rango de líneas a imprimir en cada página. Esta constante
debe utilizarse en combinación con la constante pv print repeat first row. Valores asociados:
número de línea.
El margen derecho es el área entre el lado derecho del papel (incluyendo el margen muerto
derecho) y el área de impresión. Valores asociados: margen en píxeles.
Permite fijar o leer la escala de impresión actual. Recuerde, sin embargo, que algunas impresoras
no permiten modificar la escala. Si pasa un valor invalido, la propiedad pasa al 100% al momento
de la impresión. Valores asociados: escala de impresión.
El margen superior es el área entre la parte superior del papel (incluyendo el margen muerto
superior) y el área de impresión. Valores asociados: margen en píxeles.
PV Propiedades panel
La constante "pv pane relative scroll" se utiliza únicamente con los comandos de escritura (PV SET PANE PROPERTY...).
Constante
Tipo
Valor Comentario
pv pane
columns
count
pv pane
first column
pv pane
first row
pv pane
lock
scrollbar
pv pane
lock splitter
Entero
largo
5
pv pane
relative
scroll
Entero
largo
Entero
largo
4
4
Entero
largo
0
This property is inactive in an area in "frozen pane" mode
Entero
largo
1
This property is inactive in an area in "frozen pane" mode
Entero
largo
7
Property can only be used with the "PV SET..." commands. Used to scroll the contents of the pane
by value pixels with respect to the current position of the scrolling cursor. Note that scrolling in pixels
is adjusted so that the upper-most row of the area is not truncated horizontally. This property is
inactive when the area is in "frozen pane" mode.
pv pane
rows count
pv pane
size in
pixels
Entero
largo
5
Entero
largo
3
This property is inactive in an area in "frozen pane" mode
pv pane
true scroll
Entero
largo
6
Indicates in pixels the scrolling value for the contents of the pane starting from the origin of the area
(i.e. the first cell), regardless of the current position of the scrolling cursor. This property is inactive in
an area that is in "frozen pane" mode.
pv pane
view splitter
cursor
Entero
largo
2
This property is inactive in an area in "frozen pane" mode
PV Propiedades plugin
Constante
Tipo
pv button
height
Entero
largo
5
pv button
width
Entero
largo
4
pv confirm
convert
dialog
Entero
largo
6
pv default
columns
count
Entero
largo
2
pv default
rows count
Entero
largo
3
pv load
template on
server
Entero
largo
1
pv write
template on
server
Valor Comentario
Allows defining of minimum height for areas included within 4D View. If less than this value, the area
will be displayed as a button (the user simply clicks on the button to display the area as a full-size
window). By default, 4D View areas are displayed as buttons if their height is less than 100 pixels.
Associated values: height (in pixels).
Allows defining of minimum width for areas included within 4D View. If less than this value, the area
will be displayed as a button (the user simply clicks on the button to display the area as a full-size
window). By default, 4D View areas are displayed as buttons if their width is less than 150 pixels.
Associated values: width (in pixels).
Allows displaying or removing of a conversion message when a 4D Calc 6.7 document is opened
by 4D View. The displayed message is stored in 4D View resources. Associated values: 0 or 1.
0: the confirm message is not displayed.
1: the confirm message is displayed.
Allows defining of default number of columns in new 4D View documents. This value can always be
modified by the user or by programming. By default, new 4D View documents contain 256 columns.
Associated values: number of columns.
Allows defining of default number of rows in new 4D View documents. This value can always be
modified by the user or by programming. By default, new 4D View documents contain 8192 rows.
Associated values: number of rows.
In Client/Server applications, allows loading of 4D View document templates from each client
machine. By default, templates are loaded from the server. Associated values: 0 or 1.
0: templates are loaded from each client machine.
1: templates are loaded from the server.
In Client/Server applications, allows writing of 4D View document templates on each client machine.
By default, templates are written on the server. Associated values: 0 or 1.
Entero
largo
0
0: templates are written on each client machine.
1: templates are written on the server.
PV Retorno de carro
Las constantes de este tema permiten definir la acción de validación de la tecla Retorno de carro durante la entrada. Una vez está
"autorizada", la tecla Retorno de carro valida la entrada, asociada o no a una tecla de modificación (de acuerdo a sus parámetros).
Constante
pv cr allowed
pv cr allowed with
ctrl
pv cr allowed with
shift
pv cr not allowed
Tipo
Entero
largo
Entero
largo
Entero
largo
Entero
largo
Valor Comentario
1
Pressing the Carriage Return key will create a new line in the cell.
2
Pressing Ctrl+Carriage Return (Command+Carriage Return on Mac OS) will create a
new line in the cell.
4
Pressing Shift+Carriage Return will create a new line in the cell.
0
Multi-line data entry is not allowed in the area.
PV Tipo valor celda
Constante
Tipo
Valor
pv value type boolean
pv value type date
pv value type date time
pv value type none
pv value type numeric
pv value type picture
pv value type string
pv value type time
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
6
4
5
0
1
7
2
3
Comentario
PV Triggers
Los trigges que comienzan por "pv trigger input" sólo se pueden utilizar para la acción de entrada de datos (constante de
propiedad "pv input trigger" ).
Los trigges que comienzan por "pv trigger selection" sólo se puede utilizar para la acción de selección de datos (constante de
propiedad "pv select trigger").
Los otros triggers pueden utilizarse para las acciones de entrada de datos y selección. También se puede utilizar con la
constante de propiedad "pv drag trigger". Es posible acumular varios valores para un mismo trigger. Cuando un mismo trigger se
define para las acciones de entrada de datos y selección, el trigger de entrada tiene prioridad.
La expresión "ctrl" se refiere a la tecla Ctrl en Windows y Comando bajo MacOS.
Constante
Tipo
Valor Comentario
pv trigger
input key
Entero
largo
1
Data entry is triggered by any keystroke. In this case, browsing between cells is only possible using
the keyboard (Tab and Shift+Tab to move horizontally, Carriage return and Shift+Carriage return to
move vertically, or the arrow keys).
pv trigger
input on
enter
pv trigger
input on
gain sel
Entero
largo
2
Data entry is triggered by the Enter key (numerical keypad).
Entero
largo
4
Data entry is triggered in the cell which has the focus. In this mode, as soon as a cell is selected, it
takes the focus and the cursor becomes an input cursor.
pv trigger
none
Entero
largo
0
Dragging: Impossible to drag from this area.
Data entry: Data entry is deactivated (no event will trigger input), even if a key is allowed in the
data input mode (see constant pv input enter key mode). Data entry is, however, still possible
using the Formula Editor toolbar, and the selection may be changed as well.
Selection: Il is not possible to specify a selection. It is still possible to enter data in the
selection that was current before the command was executed—Tab and Carriage return keys
move the active cell within the selection.
pv trigger
on alt click
Entero
largo
32
Dragging: The selection can be dragged using an Alt+click combination.
Data entry: Data entry is triggered by a Alt+click combination in a cell.
Selection: Selection is defined using the Alt+click combination.
pv trigger
on alt
double
click
Entero
largo
64
Dragging: The selection can be dragged using an Alt+double-click combination.
Data entry: Data entry is triggered by a Alt+double-click combination in a cell.
Selection: Selection is defined using the Alt+double-click combination.
pv trigger
on click
Entero
largo
8
Dragging: The selection can be dragged using a mouse click.
Data entry: Data entry is triggered by a click in a cell. Unlike the pv trigger input on gain sel
constant, no input cursor is displayed.
Selection: Selection is defined via mouse clicks.
128
Dragging: The selection can be dragged using a Ctrl+click combination (Command+click on
Mac OS).
Data entry: Data entry is triggered by a Ctrl+click (Command+click on Mac OS) combination
in a cell.
Selection: Selection is defined using the Ctrl+click combination (Command+click on Mac OS).
256
Dragging: The selection can be dragged using a Ctrl+double-click combination
(Command+double-click on Mac OS).
Data entry: Data entry is triggered by a Ctrl+double-click (Command+double-click on Mac OS)
combination in a cell.
Selection: Selection is defined using the Ctrl+double-click combination (Command+doubleclick on Mac OS).
pv trigger
on ctrl click
Entero
largo
pv trigger
on ctrl
double
click
Entero
largo
pv trigger
on double
click
Entero
largo
16
Dragging: The selection can be dragged using a mouse double-click.
Data entry: Data entry is triggered by a double-click in a cell. A single click does not permit
input.
Selection: Selection is defined (active cell only) via mouse double-clicks. Extending or
reducing a selection is not possible.
pv trigger
on shift
click
Entero
largo
512
Dragging: The selection can be dragged using a Shift+click combination.
Data entry: Data entry is triggered by a Shift+click combination in a cell.
Selection: Selection is defined using the Shift+click combination.
pv trigger
on shift
double clic
Entero
largo
1024
Dragging: The selection can be dragged using a Shift+double-click combination.
Data entry: Data entry is triggered by a Shift+double-click combination in a cell.
Selection: Selection is defined using the Shift+double-click combination.
Entero
largo
1
Selection is defined (active cell only) using the arrow keys. Extending or reducing a selection is not
possible.
Entero
largo
4
Selection is defined (active cell only) using the Carriage Return key. Extending or reducing a
selection is not possible.
pv trigger
select on
arrow
pv trigger
select on
return
pv trigger
select on
tab
largo
Entero
largo
selection is not possible.
2
Selection is defined (active cell only) using the Tab key or the Shift+Tab key combination. Extending
or reducing a selection is not possible.
PV Valores estilo
Las constantes con el sufijo "mixed" sólo se pueden utilizar con los comandos de lectura de propiedad.
Constante
Tipo
Valor
pv value base style mixed
pv value color mixed
pv value font name mixed
pv value font size mixed
pv value format mixed
pv value hor alignment center
pv value hor alignment default
pv value hor alignment left
pv value hor alignment mixed
pv value hor alignment right
pv value ignore
pv value ignore base style
pv value ignore color
pv value ignore font name
pv value ignore font size
pv value ignore format
pv value ignore hor alignment
pv value ignore rotation
pv value ignore vert alignment
pv value mixed
pv value none
pv value off
pv value on
pv value rotation 0
pv value rotation 180
pv value rotation 270
pv value rotation 90
pv value rotation mixed
pv value vert alignment bottom
pv value vert alignment center
pv value vert alignment mixed
pv value vert alignment top
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
65535
65535
65535
65535
65535
2
0
1
255
3
2
65535
-1
65535
65535
65535
255
255
255
2
-3
0
1
0
2
3
1
255
3
2
255
1
Comentario
Applies center horizontal alignment to the cell.
Applies horizontal alignment by default to the cell.
Applies left horizontal alignment to the cell.
Applies mixed horizontal alignment to the cell.
Applies right horizontal alignment to the cell.
Does not apply value to cell.
Applies value to cell.
No rotation applied to the cell.
Applies rotation of 180°.
Applies rotation of 270° to the left.
Applies rotation of 90° to the left.
Applies mixed rotation to the left.
Applies bottom vertical alignment to the cell.
Applies center vertical alignment to the cell.
Applies mixed vertical alignment to the cell.
Applies top vertical alignment to the cell.
PV Valores impresión
Constante
Tipo
Valor
Comentario
pv black and white
pv color
pv destination EPS file
pv destination file
pv destination PDF file
pv destination printer
pv landscape orientation
pv left binding
pv portrait orientation
pv top binding
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
2
3
7
5
6
4
1
8
0
9
Printing in black and white (monochrome).
Printing in color.
The print job is sent to an EPS file (Mac OS only).
The print job is sent to a file (Windows only).
The print job is sent to a PDF file (Mac OS only).
The print job is sent to the printer.
The paper is oriented in landscape mode.
Left binding (default value).
The paper is oriented in portrait mode.
Top binding.
PV Visualización imagen
Constante
Tipo
Valor
pv mapping replicated
pv mapping scaled centered prop
pv mapping scaled to fit
pv mapping scaled to fit prop
pv mapping trunc non-centered
pv mapping truncated centered
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
3
6
5
4
1
2
Comentario
Anexos
Anexo A: Códigos de error de 4D View
Anexo A: Códigos de error de 4D View
Esta lista muestra los códigos de error devueltos por 4D View en sus métodos de gestión de errores. Estos códigos son utilizados
por los comandos PV GET LAST ERROR y PV ON ERROR.
No. Mensaje de error
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
54
55
56
57
58
59
60
Unknown error
Invalid command
Obsolete command
Obsolete parameter
Parameter is out of range
Invalid array name
Invalid array type
Numeric array expected
Text array expected
Invalid array count
Array counts are not the same
Invalid variable type
Empty picture
External area expected
4D View plug-in area expected
4D Calc plug-in area expected
ALP plug-in area expected
Out of memory
Error while reading or writing document
Not a 4D View document
Not a 4D Calc document
Not a SYLK document
Invalid document format
Document version is too recent
Document seems to be damaged
Document already exists
Document does not exist
Invalid property
This property is “read-only”
Select mode value is invalid
Select action value is invalid
Carriage return value is invalid
Arrow keys value is invalid
Enter key value is invalid
Sort value is invalid
Invalid border edge value
Invalid border style value
Invalid style target
Invalid direction
Invalid alignment
Invalid rotation
Obsolete border style
Invalid header type
Invalid date & time format
Invalid picture format
Invalid color
Invalid style value
Invalid drag&drop behavior
Invalid style sheet reference
Invalid format reference
Invalid font reference
Invalid picture number
Invalid selected range number
Invalid vertical splitter number
Invalid horizontal splitter number
Last pane cannot be removed
Invalid pane width
Invalid pane height
Invalid column number
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Invalid row number
Cell is linked
Invalid cell range
Invalid number of columns/rows to insert
Invalid number of columns/rows to delete
Invalid formula
Invalid column width
Invalid row height
Invalid cell name
Name already used
No linked column
Linked columns do not have the same row count
Linked fields do not have the same master table
Invalid calculated value type
Invalid table or field
Invalid table
Invalid field
Invalid field type
No current selection
No current record
No valued cells to print
Invalid statistics
Invalid condition
Invalid table
Stylesheet already exists
Invalid operation in a linked area.
Sort selection not valid.
Print property not valid.
Property value not valid.
Invalid print settings.
This command can only be applied if there is at least one horizontal splitter and one vertical splitter.
No splitter can be added when panes are frozen.

Documentos relacionados