JavaScript: extensión COM para acceso a datos

Inicio  Anterior  Siguiente

Métodos de Ingra

Métodos de Cbas (base datos)

Métodos de Cima (imágenes bitmap)

Métodos de Cdxi (mapas vectoriales)

Métodos de Cgrf (gráficos estadísticos)

Métodos de Cmapi (correo electrónico)

Métodos de Chor (hora)

Métodos de dialogo (formularios)

Métodos, propiedades y objetos de acceso a la base de datos

Además del interface de acceso a los componentes básicos y a los de impresión, tenemos propiedades, objetos y métodos extendidos particulares para el acceso a datos.

Atención a la leyenda dentro de las explicaciones: Algunas funciones necesitar modo edición [E] desde la ejecución del script, otras modo exclusivo [X] y otras ambos modos.

Esquema de objetos de la aplicación:

Métodos de ingra (objeto base)

ingra es el objeto motor por defecto. De él parten los demás objetos, pero no es obligatorio especificarlo, de hecho nunca aparecerá en nuestros programas JavaScript. Además de objetos y métodos básicos y los vistos para programar informes, para base de datos tenemos:

Cbas ([val | arc]) - Crea un objeto de tipo base, recuperando el objeto ingra actual, (el archivo de base de datos que se tiene abierto). Sin parámetro, se refiere a la base actual. Si se especifica un valor val: (0) se crea una instancia de base nueva, (1) se considera la base en paralelo. El nombre y camino de archivo arc es relativo al directorio de trabajo.

manvenlee (arc) - Redimensiona, distribuye y muestra las ventanas grabadas en la configuración de ventanas arc

panabre (arc [,ruta][,paralelo]) - Carga en la ventana principal, el archivo de base de datos arc, y opcionalmente muestra la posición en la B.D. a la que se llega a través de la ruta, si existe. Si paralelo=1, se abre en la ventana paralela.

panauxcrea (tab) - Abre la ventana de Auxiliares con la tabla tab

pancierra () - Cierra la aplicación.

pandibuja ([val]) - Dependiendo del valor del parámetro val, refrescará la ventana principal con: (5)archivo (4)edición, exclusivo, moneda, calculado (3)camino (2)lista, padre (1)concepto (0)redibuja

panlinea (ide) - Selecciona la línea de ventana principal que tiene el ide indicado (si está en la lista).

pannuecrea (tip [,cla][,ori] | tab) - Aparece un diálogo de Nuevo concepto del tipo tip sin especificar clase de concepto, a menos que se indique cla. En vez del Tipo, se puede especificar una tabla de propiedades

panpresenta (select [,cab]) | (liside [,cab][,rel]) - Realiza una búsqueda de conceptos o relaciones y muestra el resultado en la ventana principal. Realiza la búsqueda mediante la sentencia select de SQL. Opcionalmente puede formatear la cabecera con el código de cabecera cab.

Con el segundo formato de parámetros, muestra la lista de identificadores liside, como si fuese el resultado de una búsqueda. Opcionalmente se puede aplicar la cabecera cab. Si rel =1 se presentan las relaciones superiores de las lista liside.

panproforzado ([tipo], [ide], foco, [crea]) - crea una ventana de propiedades y la muestra con algunos datos y características pasados por parámetros: se le puede dar el tipo de ventana o el identificador ide del concepto que queremos mostrar, foco [0,1] (defecto=1) indica si la ventana coge el foco y crea[0,1], si hay que forzar el crearla si no existe.

panprovirtual ([tipo], [ide], foco, [crea]) - Igual que la anterior, pero no bloquea para el ide.

panrotcrea (rot | tab.cam) - Abre la ventana de Clasificaciones con el rótulo rot, o bien se puede especificar el acceso al rótulo mediante la forma tabla.campo

panvenlee (ven) - Abre la ventana ven. Los nombres de ventanas son únicos para cada una y tienen 3 letras

screjecuta (arc [,param]) - Ejecuta el código JavaScript incluido en el archivo arc, y opcionalmente puede ir seguido de una lista de parámetros param separados por comas. La función devuelve el número siguiente a la última página impresa con la función. De esta forma se pueden lanzar varios informes seguidos con la numeración consecutiva

Métodos de Cbas (objeto base de datos)

dbdao - [XE] Da acceso a todo el interface DAO, a través de asignar Cbas a un objeto de tipo DAODatabase. Esto permite ampliar todo el acceso al objeto para realizar acciones muy particulares o complicadas que nuestro interface no contemple

archivo - Camino del archivo de base de datos actual

actual ([val]) - Por defecto devuelve el identificador del concepto actualmente seleccionado en ventana principal, con val (1) devuelve el identificador del padre del actual

actuales ([rel][,sel]) - Devuelve una matriz de identificadores de conceptos, si rel=0 ó de relaciones, si rel=1. Los conceptos son todos los que se están mostrando actualmente en la ventana principal, si sel=0, o los multiseleccionados si sel=1. Los valores por defecto son los valores 0.

bajonivel [0|1] - val=1 Pone el modo de grabación desde script a bajo nivel. Es decir, las grabaciones en base de datos no pasarán bajo ningún control intermedio.

busca (select) - Realiza la búsqueda SQL y devuelve un objeto de tipo registro rec.

buscaactual (tipo[,clase]) - Devuelve el identificador del concepto actual si es del tipo o clase especificados.

busca1 (select) - Realiza una búsqueda SQL que devuelve un sólo valor de identificador, en vez de un Recordset (rec) que hay que procesar. Útil para utilizar el identificador devuelto directamente. Devuelve el valor 0 si no encuentra nada.

buscaN (select) - Realiza una búsqueda SQL que devuelve una matriz de valores o una matriz de matrices. El valor de retorno son N filas y N columnas.

cantidades (raíz[,fase][,parcial][,unos]) - calcula las cantidades de simples sede el identificador raíz (por defecto 1, el concepto raíz), en la fase seleccionada (por defecto la fase actualmente seleccionada en la ventana principal)

coeci - Valor del coeficiente de costes indirectos definido en la ventana Parámetros generales

concreasino (tip, cla, cod, res, crea) - Permite crear un concepto nuevo de forma similar al método creasino genérico para cualquier tabla, con el tipo tip, clase cla,  y código cod especificados. Se puede especificar un resumen res. Si crea=0 sólo busca sin crear.

conresbusca (tip, cla, res) - Igual que concreasino, pero sólo busca. Devuelve el identificador del concepto encontrado o 0 si no lo encuentra.

conrescrea (tip, cla, res) - Devuelve el ide de un concepto nuevo creado de tipo tip y clase cla, con la descripción res.

dec[i|u|p|c|m|r|d|s] - Devuelve el valor de los decimales de (i)importes (u)unidades (p)precios (c)cantidades (m)mediciones (r)rendimientos (d)dimensiones (s)subtotales definidos en la ventana Parámetros generales

defecto  - Asigna al objeto Cbas, como identificador por defecto el identificador del concepto actual. Es útil para fichas en las que todos los métodos, propiedades, etc. se refieren al mismo concepto, y sirve de abreviatura.

edición [0|1] - val=1 Pone el archivo en modo Edición para poder modificar la base desde un Script. El valor por defecto es 0 (no edición). El atributo también sirve para preguntar por el estado del archivo (si está en edición o no).

ejecuta (sql) - [XE] Ejecuta cualquier sentencia SQL (insert, update...), EXCEPTO búsquedas select. Es el método complementario a los busca*.

exclusivo [0|1] - Análogo al atributo edición, pero para el modo Exclusivo.

exporta (arc, [modtra]) - [X] Realiza la exportación en formato estándar INX o BC3, al archivo arc. Opcionalmente se puede filtrar con el archivo de configuración de Modos traslada modtra.

for[i|u|p|c|m|r|d|s] (num) - Formatea la salida del valor num al número de decimales especificado por el nombre de la función (por ejemplo, form() formatea a los decimales de mediciones)

gralee (arc, [vin], [cod], [que]) - Busca en la base el archivo gráfico arc, y devuelve su identificador o 0 si no lo encuentra, con las opciones de: vincularlo o no (por defecto vin=1), o darle un código cod (sino, se utiliza el nombre de archivo).

gragraba (ide, arc, [res]) - graba en base de datos (tabla gra) el archivo gráfico arc, relacionándolo con el concepto de identificador ide. La función devuelve 0 si tiene éxito. Opcionalmente se puede especificar una resolución en res: 0-Diapositiva (baja), 1-Media resolución (siempre incrustada), 2-Alta resolución (real), 3-Media o alta, según se trate de . Por defecto res= 2.

importa (arc, [modtra], [pre]) - [XE] Realiza la importación en formato estándar del archivo arc, de formato INX ó BC3. Sin parámetro, Opcionalmente se puede filtrar con el archivo de configuración de Modos traslada modtra. Con pre=1, se presenta en pantalla una traza del proceso de importación.

moneda ([nombre | código]) - Devuelve un objeto de tipo moneda, que por defecto, es la moneda actualmente seleccionada (monactual) en la ventana principal a través de la ventana Monedas, y sino, la moneda principal del archivo (definida en la ventana Parámetros generales-decimales - monbase).

Si se utiliza el parámetro de cadena nombre, con las 3 letras del código internacional que identifica la monedas (como "EUR"), o el código de la moneda, establece esta como moneda actual.

Admite 3 métodos:

forma (valor[,es_importe]) - Mostrar el valor con el formato propio de la moneda. El formato incluye el número de decimales para precios, excepto si se pone a verdadero (1) el segundo parámetro es_importe, con lo que se ponen los decimales de importes.

precio (valor[,es_importe]) - Actúa de igual forma, pero devolviendo la conversión del valor en la moneda del objeto.

letra (valor[,es_importe]) - Igual, que precio pero devolviendo el rótulo en letra del valor.

A través de varios atributos, podemos acceder a todos los campos de la tabla de monedas, mediante el método moneda y los atributos: num|sim|cod|nom|fac|decp|decc|mas que acceden respectivamente a los datos de: número, símbolo, código, nombre, factor de multiplicación, decimales de precios, decimales de costes, y masculino.

pregunta (ide, tabla.campo.condato | tabla.existe[1|2]) - Realiza una consulta rápida sobre un campo o tabla, devolviendo si el identificador ide, tiene dato en el campo (condato) o existe en la tabla especificada. Ejemplo: rcc.des.existe2 comprueba si ide tiene más de un ascendiente en la tabla RCC. Utiliza las mismas búsquedas que la ventana Características.

rcg_principal (coni, [rcgi]) - Devuelve el identificador de la tabla gráficos o de la tabla de relaciones entre conceptos y gráficos (rcg) de menor posición (el primero en orden). Admite como parámetro un concepto coni (buscando en sus gráficos), o un identificador de relación rcgi

rotcreasino (tip, cod, res, crea) - Crea si no existe, un rótulo res, del tipo de rótulos tip (opcionalmente con el código cod, sino, se pone un código autonumerado), en la tabla de clasificaciones ROT. Si no existe se crea, a menos que crea=0, en cuyo caso sólo busca, aunque no exista. La función de vuelve el identificador del rótulo creado o encontrado.

rotresbusca (tip, res) - Busca en la tabla ROT de clasificaciones, dentro del tipo de rótulo tip, y devuelve el identificador del rótulo res, dentro del tipo tip.

rotrescrea (tip, res) - Análogo a conrescrea, pero para crear rótulos de clasificaciones en vez de conceptos. Devuelve el identificador del rótulo creado, con el tipo de rótulo tip y el nombre res (el código es autonumerado).

tabla (num|cod) - Recupera un objeto de tipo tabla tab, por su número num, o por su código cod

tipcod (tip, [cla], [ambos]) - Código o nombre de tabla virtual del tipo tip, (y opcionalmente clase cla). Por defecto, cla=0.

tipico (tip, [cla]) - Número del icono (en el archivo \GRÁFICOS\icotip16.bmp) que tiene asociado el tipo tip. Por defecto, cla=0.

tipnum ([tip]) - Número de tipos de la tabla interna que contiene los Tipos de la aplicación. Si se especifica un tipo tip, devuelve el número de clases del mismo.

tipres (tip, [cla], [ambos]) - Devuelve el resumen de la tabla Tipos del tipo tip (y clase cla, en caso de especificarse) seleccionado. Por defecto, cla=0.

tiptab (tip) - Devuelve un objeto tipo tabla de propiedades (tab), con el tipo que se le da: tip

<nombre_tabla> - Devuelve un objeto de tipo tabla. El acceso directo al campo de una tabla se realiza mediante la notación: <objeto_base>.<tabla>.<campo>. También hay una notación abreviada para tablas que se relacionan de forma "N a N" como el caso de identificadores de concepto (tabla CON) con identificadores del rótulos (tabla ROT) conide <> rotide. En estos casos, la notación abreviada puede ser: <tabla>.<campo>.<campo>.<campo>... : rot.res (doc.pag) = doc.pag.res

Métodos de tab (objeto tabla)

NOTACIÓN: dependiendo del tipo de tabla, el parámetro reg es un conjunto de registros o Recordset, que puede ser:

nada (el valor por defecto)

un identificador ide

alguna de las siguientes: cod | tip,cla,"cod" | ide1,ide2 | ide1,ide2,ide3

Por ejemplo, la tabla con, utiliza en código de un concepto (tip,cla,"cod"), pero la tabla rcc utiliza dos identificadores (ide1,ide2), y la tabla de rótulos o clasificaciones, (iderot, cod) donde 'iderot' es un identificador de la tabla de clasificaciones que es 1000*ide_tipo+ide_clase, y 'cod' es una cadena de caracteres

dbdao - [XE] Da acceso a todo el interface DAO, a través de asignar tab a un objeto de tipo DAOTabledef

busca (reg) - Devuelve el identificador del registro buscado, reg. Si en vez de un registro se introduce un trío tipo, clase, código, se devuelve el identificador del concepto.

crea (reg) - [E] Devuelve el identificador del registro creado, crea el registro en la tabla con la que se utilice. Cuidado al crear valores duplicados.

creasino (reg) - [E] Devuelve el identificador del registro encontrado o creado si no existe reg

creacopia (reg) - [E] Sólo se puede utilizar en la tabla CON. Devuelve el identificador del registro copiado con el parámetro reg.

deftab - Para definición de tablas. Crea una tabla con el objeto Cdeftab, que admite los métodos res, pad, cod, tab, pos, pospad, deftip, bastip, doctip, unico

defcam - Para definición de campos de tabla. Crea campos con Cdefcam, que admite los métodos res, pad, cod, tip, tam, atr, sel

defind - Para definición de índices de tablas. Crea un índice tabla con el objeto Cdefind, que admite los métodos cod, cam, tip

filnum - Número de filas de la tabla

camnum - Número de campos

campo[f] (num|cod, reg) - Valor del campo especificado mediante su num o cod en el conjunto reg. Si en vez de campo se utiliza campof, la salida se formatea al tipo del campo

<nombre_campo>[f] (reg) - El nombre de campo simplemente, también sirve para acceder al contenido de cualquier campo. El método terminado en f formatea

campo (num|cod, reg)= - [E] Permite asignar un valor al campo especificado por num o cod y del conjunto reg

<nombre_campo> (reg)= - [E] El nombre del campo solamente, y dado un conjunto reg, también permite asignar un valor a un campo. Como excepción, sólo para la tabla CAB, se admite la asignación de un valor directamente en la tabla.

elimina (ide, [conrefs]) - Elimina la referencia ide. Devuelve 0 si ha tenido éxito. Si el parámetro conrefs=1, se eliminan las referencias de la tabla rcc, con el ide eliminado.

traslada (bas2,ide2) - Copia en la base actual el ide2 de la base bas2. Devuelve el identificador copiado

Métodos de rec (objeto registro)

dbdao - [XE] Da acceso a todo el interface DAO, a través de asignar el registro rec a un objeto de tipo DAORecordset

camcod (num) - Código del campo cuyo número es num

camnum - Núm. de campos o columnas

campo (num|cod) - Devuelve el valor del campo, igual que el de tab, pero sin formato

campof (num|cod) - Igual que campo, pero con formato

camtip (num|cod) - Tipo del campo al que se accede mediante su num o su cod

filnum - Número de filas del Recodset

final - Devuelve el valor verdadero (1) cuando llega al final del conjunto (no quedan registros en el Recordset)

siguiente - Pasa al siguiente registro en el puntero del Recordset

<nombre_campo> - El nombre simplemente, también accede al valor del campo

Métodos de Cima (objeto gráfico imagen)

con (conide, [num], [res]) - lee en el objeto, el gráfico número num (el primero o gráfico 0 si no se especifica ninguno) del concepto con identificador conide. Opcionalmente se puede especificar la resolución res de la imagen que se carga: (0)diapositiva, (1)media, (2)alta, (3)media o alta resolución, dependiendo de si es mapa de bits o vectorial. Cuando la imagen es vectorial, la media resolución es formato EMF

exporta (graide, [res]) - graba en un archivo externo el gráfico graide, con las mismas opciones de resolución res que en con

filtra (filtro) - aplica al gráfico el filtro especificado, la documentación de los filtros aplicables según se trate de gráficos vectoriales o bitmap y los parámetros que utiliza cada filtro, están en el informe \Colecciones especiales\Gráficos\Ejemplos\Ejemplo de filtros gráficos (gra_ejefil.xjs)

gra (graide, [res]) - carga en el objeto imagen, el gráfico con identificador graide, de la tabla de gráficos (no de la de relaciones entre conceptos y gráficos). Opcionalmente se puede especificar la resolución res igual que en con

graba ([arc]) - copia el contenido gráfico del objeto al archivo arc. Si no es especifica este, lo copia al portapapeles de Windows

importa (graide) - carga un archivo externo en la B.D., con el ide indicado

lee ([arc]) - lee el contenido del archivo arc al objeto; si no se especifica ninguno, se lee del portapapeles

Métodos de Cdxi (objeto gráfico mapa vectorial)

A continuación se comentan algunos de los métodos y atributos más importantes, pero la descripción completa de modificadores, métodos y utilización de estos objetos están en el informe \Cabeceras y librerías generales\Librería DXI (libdxi.xjs)

capa (capide|capcod [, res]) - busca capa por su identificador o código, y devuelve su identificador. La crea si no existe, en cuyo caso se puede especificar el resumen res

bloque (bloide|blocod [, blores]) - mismo funcionamiento que capa, pero para bloques

punlee (pun, escala [, mapide]) - lee toda la información gráfica de las capas activas que cae dentro del recuadro delimitado por la lista de puntos pun, a la escala indicada (en función de la escala seleccionada, se mostrarán las capas visibles a esas escalas). Opcionalmente, si se especifica un identificador de concepto mapa

zomlee (zom [, mapide]) - igual que punlee, pero cargando el rectángulo visible al zoom actual en la ventana de mapas. Si se especifica un mapa concreto mapide, se trabaja con este en vez de los datos actuales.

panlee (mapas) -

refext - si recibe el valor 1, p0ne como fondo la referencia externa, con el difuminado actual especificado en la base de datos actual

lee (arcdxi) - lee en el objeto el contenido del mapa en formato DXI

m??? - modificadores de la presentación del mapa, se corresponden con los modos y herramientas de las ventanas Mapa y Geomapa. Se componen de 3 letras: mfon=1 indica forzar fondo en color negro, mbyn=1 fuerza modo blanco y negro, mbro=1 especifica con brocha (relleno), etc.

Métodos de Cgrf (objeto gráfico estadístico)

tipo - define la clase de gráfico: (1) gráfico de líneas, (2) columnas o barras, (3) circular o de tarta.

categorias (array_rot)- inicializa las categorías que van a existir en el gráfico con los valores array_rot contenidos en una matriz de valores. Estas categorías se mostrarán en el eje horizontal en los gráficos de tipo 1 y 2, y en la leyenda en los gráficos de tipo 3. Ejemplo: grf.categorias (["Mano obra", "Maquinaria", "Materiales", "Subcontrata", "Otros"])

serie (nom, array_val) - define los valores para cada serie de las definidas en categorías. Cada serie recibe el nombre nom, y los valores incluidos en la matriz array_val.

acero - permite poner el origen de los gráficos de barra con referencia al valor cero, de forma que si hay valores negativos salgan por encima y debajo del cero. (Sólo se aplica a tipo=2).

colorfondo - color del fondo del gráfico (por defecto es "FFFFFF" es decir, blanco). Este color afectará únicamente a la zona en la que se dibuja el gráfico, mientras que el color de fondo para la leyenda, título y resto de los elementos se establece mediante el modificador del campo en el que se muestra el gráfico.

encolor - se pondrá 1 cuando se quiere que el gráfico se muestre utilizando distintos colores para cada serie de valores, y 0 para mostrar una escala de grises.

espacio - define el espacio libre alrededor del gráfico. Si tiene valor cero, los rótulos de la leyenda, el título del gráfico, los nombres de las categorías y los valores del eje 'Y', quedarán pegados a los ejes del gráfico.

guiashor y guiasver - determinan si se mostrarán (1) o no (0), guías o líneas de guiones horizontales y verticales respectivamente para facilitar la lectura del gráfico.

leyenda - propiedad que define si se muestra (1) la leyenda, o no (0). Además de poder establecer el valor de esta propiedad directamente, también existe como método: leyenda (leyenda, tamaño). El primer argumento muestra (1) o no (0) la leyenda y el argumento tamaño especifica el tamaño de la letra a utilizar en la leyenda (puede ser uno de los tipos de letra definidos en configuración de la impresora [0-4].

libera - inicializa el objeto gráfico estadístico poniendo en blanco todos sus datos de categorías, serie, color, leyenda... de forma que se puede utilizar otra vez el mismo objeto en memoria asignándole distintos datos.

rotuloG - guarda el título del gráfico.

rotuloX y rotuloY - pone los textos que se muestran en los ejes x e y respectivamente (en gráficos de líneas y de barras). El tamaño de la letra para los rótulos, para los nombres de las categorías y para la escala mostrada en el eje 'Y', depende del tamaño de letra establecido por el campo donde se imprime el gráfico.

rotval - determina si aparecerán los valores de la serie en el gráfico. Al igual que la propiedad leyenda, se puede establecer esta propiedad invocando el método rotval (mostrar, tamaño), lo que permite determinar el tamaño de la letra.

Se puede ver un ejemplo de utilización de muchos modificadores en el informe "Ejemplo de uso de gráficos estadísticos" de la carpeta "colecciones especiales/ejemplos"

Métodos de Cmapi (objeto mensajes por e-mail)

readmail () - activa las funciones de la DLL MAPI, que es obligatorio que está instalada en el sistema; si no es así, se muestra un error y no se pueden utilizar los métodos.

date - fecha de envío del mensaje (llegada a nuestro servidor de correo).

to - nombre del destinatario del mensaje

subject - asunto del mensaje seleccionado

text - texto del mensaje

idmsg - identificador del mensaje dentro de la lista de mensajes recibidos

deletemail () - eliminar mensaje

sendmail () - enviar mensaje

Métodos de Chor (objeto fechas y horas)

NOTACIÓN: los parámetros de tipo intervalo pueden ser menores o mayores que 00:00:00, en cambio los de tipo hora, están restringidos entre 00:00.00 y 24:00:00 (inclusive).

Chor (h, m, s, 1) - constructor de un objeto de tipo tiehor (hora). Cada uno de los tres valores puede ser entero o real, positivo o negativo;

hors, mins, segs - cada uno devuelve un número con las horas, minutos y segundos de un objeto de tipo hora.

esintervalo - devuelve el valor verdadero (1) si el formato es de intervalo o cero, si es de hora.

ponintervalo - asignándole el valor 1, se fuerza el formato del objeto tiehor a intervalo, con el valor cero, se fuerza a formato hora.

ponhora (hora) - asignándole un valor entero hora, establece sobre el mismo objeto tiehor la hora, minuto y segundo de hora, manteniendo el formato que tenía (hora o intervalo). Ejemplo: si h1 es de tipo hora 00:00:00, h1.ponhora=271345 daría como resultado 3:13:45

cadena (completo) - devuelve una cadena con la hora formateada en el formato completo (si el parámetro completo=1) o el más breve posible (eliminando ceros por la derecha) si completo=0. Ejemplo: h1=tiehor(2,1) y h1.cadena(1) sería 2:00:00 pero h1.cadena sería 2.

entero -

doble -

suma (hor) -

resta -

suma2h -

resta2h -

divide2h -

multiplica2h -

Se puede ver un ejemplo de utilización de muchos modificadores en el informe "Ejemplo de uso del objeto Chor" de la carpeta "colecciones especiales/ejemplos"

Métodos de dialogo (objeto Formularios)

dia.ayuda (link) - Establece para el diálogo un enlace con un tema de ayuda de los existentes en el archivo de ayuda de la aplicación. Este método añadirá en la barra de botones del diálogo el botón Ayuda, que al ser pulsado por el usuario abrirá el archivo de ayuda (si no lo está) y se posicionará en el vínculo que recibe como argumento. Por ejemplo: dia.ayuda ("Sigrid/refbas.htm#dialogo")

dia.campo (id[, texto][, ancho]) - Añade un campo de edición al diálogo, el primer argumento es un número que identifica al campo, y se utilizará para recuperar los datos introducidos en el campo con el método valor. El segundo argumento, opcional, es una cadena de texto que se utilizará como etiqueta descriptiva del campo, esta etiqueta se dibujará en pantalla a la derecha del campo. El último argumento, también opcional, es un número entero para indicar el ancho relativo del campo.

El ancho relativo del campo hay que especificarlo teniendo en cuenta que el método campo siempre asigna un 10 al ancho de la etiqueta. Si se especifica 10 para el tercer parámetro, el ancho del campo de edición corresponderá a la mitad del ancho de la ventana del formulario, asignando la otra mitad a la etiqueta. Si el argumento es 5 el ancho se repartirá como sigue 10 para la etiqueta + 5 para el campo de edición = 15, asignando 1/3 (5/15) del ancho de la ventana al campo de edición y 2/3 (10/15) a la etiqueta.

dia.campoM (id[, texto][, ancho][, alto])- Crea un campo de edición de texto multilínea, con una barra de desplazamiento vertical. Recibe: obligatoriamente un identificador, opcionalmente una cadena de texto para la etiqueta del control, y opcionalmente también un número que determina el ancho del campo (por defecto es 10), por último, y opcionalmente, recibe el número de líneas o altura del control (por defecto son 4).

dia.crea (tit, [id[,guarda]]) - Muestra el formulario en pantalla. Recibe como argumentos el texto a mostrar en el título de la ventana, un nombre para identificar la ventana y un tercer argumento que determina si se almacenarán los datos de los controles del formulario.

Si el tercer parámetro es 1, se almacenarán en el archivo de inicio (.ini) de la aplicación lo últimos valores especificados en los controles, utilizando el identificador, de forma que la siguiente vez que se ejecute el dialogo, aparecerá con estos valores. Si por el contrario se especifica un 0 los campos de edición aparecerán a blanco y el grupo de opciones tomará el valor cero (la primera opción será la seleccionada).

dia.grupo (["V"/"H" [,mod]] ) - Inicia/finaliza un grupo de controles, cuando no recibe ningún argumento finalizará el último grupo de controles iniciado. Cuando el primer argumento es V, se inicia un grupo de controles que se dispondrán verticalmente, si es H los controles se colocarán horizontalmente. Los modificadores aplicables son:

b: borde, seguido de un número, 0 sin borde, 1 línea, 2 en relieve, 3 bajo relieve, 4 cincelado.

m: margen, seguido de 0 sin margen, o 4 para establecer un margen de 4 pixels.

dia.grupo ("N"[,mod]) - Inicia un grupo de pestañas en el diálogo. Además de los modificadores relativos al margen y al borde pueden aplicarse los siguientes:

l: tipo de letra seguido de un número de 0 a 5 para indicar el tipo de letra a utilizar de los tipos definidos en las opciones del programa.

t: tipo se pestañas: 0 para pestañas de tamaño proporcional al ancho del diálogo y que se extienden cuando el ancho del diálogo aumenta, 1 para pestañas cuyo ancho se adapta al tamaño de su etiqueta y no cambia al variar el ancho de la ventana

Cada pestaña se iniciará invocando de nuevo el método grupo, que tiene que tener como primer argumento una cadena vacía, y como segundo argumento una cadena con cuatro elementos separados por coma como sigue: "mc1,'Primera pestaña',-1 -1", en donde Primera pestaña se reemplazará por la etiqueta de la pestaña.

dia.opcion (id, etiquetas) - Crea una casilla de verificación o un grupo de opciones representadas por botones de radio. Recibe dos argumentos: el primer argumento es un número identificador del control, el segundo es una cadena de texto.

Si la cadena de texto que recibe como segundo argumento no contiene el carácter punto y como (;), creará una casilla de verificación utilizando esta cadena de texto como etiqueta para la casilla. El método valor aplicado a este control retornará verdadero o falso, según que la casilla de verificación esté activada o no.

Si la cadena de texto etiquetas contiene el carácter punto y coma (;), creará un grupo de opciones de botones de radio, tomando como etiqueta de cada botón el texto comprendido hasta el carácter punto y coma.

La primera de las opciones corresponde al valor cero, la segunda al uno, etc. Es decir, el método valor retornará 0, 1, 2, etc., según la opción seleccionada.

dia.opcionL (id, eti, opciones, [, ancho]) - Añade una caja combinada, el primer argumento es un número entero identificador del control, el segundo es una etiqueta que aparecerá a la derecha del control, el tercero es una cadena de texto conteniendo las opciones que aparecerán en la lista separadas por punto y coma (;), el cuarto argumento, opcional, es un entero para indicar el ancho relativo del control, tal como se indica en el método campo. Al aplicar el método valor sobre este control, retornará el texto de la opción seleccionada.

dia.seleccion (ide, seleccion) - Asocia a un campo de edición la posibilidad de desplegar una lista de selección al suministrar en el una máscara de búsqueda. El primer argumento es el identificador del control tal como se ha suministrado en el método campo, el segundo es una cadena de texto que indica la lista de selección que se quiere asociar, puede ser:

Un código de tipo de Concepto, seguido de un punto, y de la palabra cod, res, o series: TIPXXX.cod|res|series

Un nombre de tabla auxiliar, seguido de cod o res: auxXXX.cod|res

dia.texto ([texto][,mod]) - Si no recibe ningún argumento incluirá una línea separadora horizontal en el diálogo. El primer argumento es una cadena de texto a incluir como etiqueta en el formulario . El segundo argumento, opcional, es una cadena de texto para modificar el formato aplicable a la etiqueta. Los posibles modificadores son:

bn: establece el borde para el texto, siendo n un número entero: 0 sin borde, 1 línea, 2 en relieve, 3 bajo relieve, 4 cincelado.

cn: color, 0 negro, de 1 a 5 serán los colores seleccionados para los tipos de letra en las opciones del programa, 1 color de la letra pequeña, 2 mediana, etc.

en: exacto, 0 no, 1 sí. En el segundo caso el ancho del campo corresponderá al ancho de la cadena de texto que contiene.

ln: indica el tipo de letra, siendo n un entero de 0 a 5 para indicar el tipo de letra a utilizar de los tipos definidos en las opciones del programa: 0 pequeña, 1 mediana, 2 grande, 3 enorme, 4 programa, 5 texto. Por ejemplo: dia.texto ("Etiqueta", "l2")

mn: margen de separación entre el texto y el borde, 0 sin margen, 4 margen de 4 pixels.

jn: justificación del texto, 0 izquierda, 1 centro, 2 derecha

dia.valor (ide[, valor]) - Retorna o establece los valores de los controles del diálogo. Cuando recibe un único argumento retorna el valor almacenado en el control cuyo identificador recibe como argumento. Si el control es un campo de texto retornará la cadena contenida en el control, si es una casilla de verificación retornará verdadero o falso dependiendo de que la casilla esté activada o no, si se trata de un grupo de opciones retorna un número indicativo de la opción seleccionada comenzando por cero, si es una caja combinada retorna el texto de la opción seleccionada.

Si recibe un segundo argumento establecerá el control de identificador id  con el valor, permitiendo así asignar valores de defecto antes de invocar el método crea.