Índice

CingraCadoCarcCcsvCdibgrfCdxi
CdxibloCdxicapCdxientCdxigeoCdxiorgCftp
CgraChorChttpCimaCimpCmapi
CpunCpunlCrecCtrasgoCzipDpun
DpunlDrecCbasCbas.CbasrecCbas.CcalcanCbas.Cdefcam
Cbas.CdefindCbas.CdeftabCbas.CimaCbas.CmapCbas.CparCbas.Ctabfie2
Cbas.CtablaCbas.CterCbas.CwebCbas.CgesdisCbas.CgesordCbas.Cgestra
Cbas.Cgesvia     

Nomenclatura en la definición de métodos

Cingra (Objeto por defecto del motor script)

No hay que definirlo. Todas estas funciones se pueden utilizar sin teclear: 'objeto.funcion()'. Como es habitual, muchas de ellas devuelven el valor 0 si no se produce ningún error

Hay un ejemplo de uso de funciones en el Informe \Colecciones especiales\ Ejemplos Documentación\ ejefec·Ejemplo de funciones de fecha y hora. El parámetro fecha, también admite un campo de tipo FechaHora en las funciones de fecha (en las de hora no). Los campos de tipo Fecha son internamente en BD números enteros en formato AAAAMMDD, y los de tipo FechaHora son números reales, cuya parte entera es la fecha y la decimal la hora en formato: AAAAMMDD.HHMMSS


Secciones:
Métodos para manejo de textos y formato
Métodos para manejo de números como texto
Métodos de utilidades matemáticas
Métodos para manejo de datos binarios
Métodos para manejo de datos geográficos
Métodos para manejo de colores
Métodos para manejo de archivos
Métodos para manejo de directorios
Métodos para manejo del registro
Métodos para uso de diálogos
Métodos para ejección de comandos y aplicaciones
Métodos para manejo de fechas y horas
Métodos para manejo de errores, de depuración, salida de resultados...
Licencia
Replicación
Bases de datos
Objetos derivados
Obsoletos
Métodos para manejo de textos y formatoCingra

Hay un ejemplo de utilización de estas funciones en el Informe \Colecciones especiales\ Ejemplos documentación\ ejetex·Documentación funciones de formateo de texto

cadena formato (cadena str, long tamaño, long por_donde=0, char cad_relleno='0')· Devuelve cadena 'str' formateada en otra, pudiendo fijar un 'tamaño' fijo de caracteres, y poniendo una cadena 'cad_relleno' (por defecto ceros) por el lugar que se indique en 'por_donde': (0)izquierda (1)la mitad a izq y la mitad a derecha -pone un carácter más si son impares- (2)derecha. Ej: formato("1234.456",11,1,'-') da como resultado --1234.456--
cadena recorta (cadena str, long por_donde=1)· Devuelve la cadena 'str' limpia de espacios en blanco, tabuladores, fin de línea y retornos de carro, por donde se indique en el parámetro 'por_donde'. (0)por la izquierda -delante- (1)por delante y detrás (2)por la derecha -detrás- (3)todos los que haya, incluso en medio
cadena prefijo (cadena str, cadena b=" ", long busca_por_izq=0)· Devuelve una cadena con el prefijo encontrado en la cadena 'str', hasta llegar a la subcadena 'b', con el siguiente criterio: el separador es la subcadena 'b' especificada (por defecto espacio en blanco), y busca (0)el primero por la izquierda (1)primero por la derecha. Ej: prefijo ("AB CD EF", ' ', 1) > "AB CD"
cadena sufijo (cadena str, cadena b=" ", long busca_por_izq=0)· Devuelve una cadena con el sufijo encontrado en la cadena 'str', hasta llegar a la subcadena 'b', con el siguiente criterio: el separador es la subcadena 'b' especificada (por defecto espacio en blanco), y busca (0)el primero por la izquierda (1)primero por la derecha. Ej: sufijo ("AB CD EF", ' ', 1) > "EF"
cadena simple (cadena str)· Devuelve la cadena 'str' sin \t\r\n, sin dobles espacios ' ' y recortada
cadena repite (cadena str, long num)· Devuelve la cadena 'str' repetida 'num' número de veces
cadena cambia (cadena str, cadena ori, cadena des, cadena mod="")· cambia en 'str' las cadenas 'ori' por las cadenas 'des', modificadores: t1(Todas) x0(eXterior) d0(Desde) p0(palabras)
cadena siguiente (cadena str, bool con_extension=0)· Devuelve la cadena 'str' incrementada en uno
var opcion(que,opcion0,opcion1,opcion2,...)· Devuelve la opcion definida en que
cadena sincomentarios (cadena tex)· Devuelve el parámetro 'tex' eliminando de él cualquier comentario
cadena ofusca_js (cadena tex)· Devuelve el parámetro 'tex' eliminando de él cualquier comentario, retornos de carro, tabulares y espacios innecesarios en un contexto JScript, para dejarlo menos legible
cadena acolumnas (cadena texto, long espacios_de_separación=1)· Devuelve una cadena formateada a partir de un texto multilínea encolumnándolo. (\t)izquierda (\v)(\b)derecha (\f)rellena (\r\\n)
obsoleto 
cadena rtf2tex (cadena rtf)· Convierte texto en formato RTF (rich text format ó formato de texto rico) a texto plano (ASCII) con retornos de carro
cadena tex2rtf (cadena tex, long que=0)· Convierte texto plano (ASCII) a texto en formato RTF (rich text format ó formato de texto rico); que: (0)colorea sintaxis JS (1)colorea sintaxis SQL ...
cadena htm2tex (cadena htm)· Convierte texto en formato HTM (7 bits y caracteres especiales) a texto plano (ASCII) con retornos de carro
cadena tex2htm (cadena tex)· Convierte texto plano (ASCII) a formato HTM (7 bits y caracteres especiales)
cadena json2tex (cadena tex)· Convierte texto plano (ASCII) a formato JSON ('"\r\n)
cadena tex2json (cadena tex)· Convierte texto JSON a texto plano (ASCII)
cadena utf2ansi (cadena utf)· Convierte texto UTF-8 a texto ANSI
cadena ansi2utf (cadena ansi)· Convierte texto ANSI a texto UTF-8
cadena lc (cadena cad)· Devuelve la cadena 'cad' traducida al lenguaje propuesto en la ventana Opciones de la aplicación
cadena LC (cadena cad)· igual que lc()
long magico (cadena tex)· Retorna un número casi único (mágico) para el texto dato (CRC de 32b)
cadena magicoc (cadena tex, long que=0)· Retorna un codigo casi único (mágico) para el texto dato (CRC de 32b); que: (0)8c hexadecimal (1)10c decimal
long compara (long a, long b)
long compara (double a, double b)
long compara (cadena a, cadena b)
long compara (Cvar a, Cvar b)
· Devuelve '1' si el primer parámetro es mayor que el segundo, '-1' si es menor y '0' si son iguales
long lencmp (cadena a, cadena b, long map=0, long pos=-1)· Devuelve '-1', '0' o '1' dependiendo de si la cadena 'a' es menor, igual o mayor que 'b'. Se compara según el parámetro 'map': (0)normal, (1)minúsculas, (2)mayúsculas, (3)indistintamente; y desde la posición 'pos' (en base cero) de cada cadena
cadena lenmay (cadena str)· Devuelve la cadena 'str' convirtiendo todos sus caracteres a mayúsculas
cadena lenmin (cadena str)· Devuelve la cadena 'str' convirtiendo todos sus caracteres a minúsculas
cadena lensin (cadena str)· Devuelve la cadena 'str' eliminando diacríticos y convirtiendo todos sus caracteres a mayúsculas
cadena lencap (cadena str)· Devuelve la cadena 'str' convirtiendo en mayúsculas el primer carácter de cada palabra
Métodos para manejo de números como textoCingra
cadena d2a (double real, long dec=0)· Devuelve una cadena a partir del número 'real' con el número de decimales 'dec' especificado poniendo el punto de millar y coma decimal según el idioma del sistema operativo
cadena l2a (long entero)· Devuelve una cadena a partir del número 'entero' poniendo el punto de millar según el idioma del sistema operativo
cadena d2e (double real, long dec=0)· Devuelve una cadena en formato estándar a partir del número 'real' con el número de decimales 'dec' especificado quitando el formato numérico (punto de millares y coma decimal)
cadena l2e (long entero, ceros=0)· Devuelve una cadena en formato estándar a partir del número 'real' quitando el formato numérico (punto de millares). Si se especifica un número de 'ceros', se rellena la cadena resultante con ceros por la izquierda (si el valor es negativo), o por la derecha (si es positivo) hasta completar el número
double a2d (cadena str)· Devuelve un número real a partir de la cadena 'str' en formato no estándar
long a2l (cadena str)· Devuelve un número entero a partir de la cadena 'str' en formato no estándar
double e2d (cadena str)· Devuelve un número real a partir de la cadena 'str' en formato estándar
long e2l (cadena str)· Devuelve un número entero a partir de la cadena 'str' en formato estándar
cadena letra (long num | double num, long decimales=0, long masculino=0)· Devuelve una cadena de texto con la expresión del número 'num' entero o real expresado en letras. Si se especifican decimales, se imprimirán separados por la palabra 'CON' y si 'masculino'=1, se imprimirá como si las unidades de medida fueran de género masculino. Ej: letra (702.123, 2, 1) devolverá 'Setecientos dos con doce' y letra(702.123) devolverá 'Setecientas dos con ciento veintitrés'

· grados sexagesimales y centesimales

double gms2gra (double gms)· De grados sexagesimales a centesimales
double gra2gms (double gra)· De grados centesimales a sexagesimales
cadena gra2a (double grados, long decimales=0, bool estandar=0)· Devuelve una cadena de texto de la forma: DDº DD' DD,DD"
cadena gms (double grados, long decimales=0, bool estandar=0)· OBSOLETA igual que gra2a
Métodos de utilidades matemáticasCingra
bool EQ (double real1, double real2)· Devuelve 'true' si los número 'real1' y 'real2' son iguales salvo un pequeño epsilon (~0.00001), si no devuelve 'false'
bool EQ0 (double real)· Devuelve 'true' si 'real' es igual a '0' salvo un pequeño epsilon (~0.00001), si no devuelve 'false'
double red (double real, long dec=0)· Devuelve un número igual a 'real', redondeado al número de decimales 'dec' indicado
double redcs (double real, long dec)· Devuelve un número igual a 'real', pero especificando en 'dec' las cifras significativas
double recta (double x1, double y1, double x2, double y2, double x3)· Devuelve coordenada y3 en la recta (x1,y1) hasta (x2,y2), dando el punto x3
Métodos para manejo de datos binariosCingra
Clislong bin2lislong (longbinary bin)· Devuelve una lista de números enteros a partir de datos binarios
Clisdouble bin2lisdouble (longbinary bin)· Devuelve una lista de números reales a partir de datos binarios
Clis lista (longbinary bin, tamano=4, desplaza=0)· Devuelve una lista a partir de unos datos binarios 'bin'.

· Dependiendo del 'tamano' en bytes, la lista devuelta será de un tipo u otro, (1) lista de char (2) lista de short (4) lista de long (8) lista de double.

· El parámetro 'desplaza' nos indica desde que posición hemos de devolver la lista

Métodos para manejo de datos geográficosCingra
Dpun utm2geo (Dpun pun, long zona, long datum_index=1)· Convierte coordenadas del punto 'pun' (x,y) en UTM de una zona y hemisferio, a coordenadas gográficas (longitud y latitud), datum_index: (1)ED50 (2)WGS72 (3)WGS84 (4)ETRS89 ...
Dpun geo2utm (Dpun pun, long zona, long datum_index=1)· Convierte un punto 'pun' de coordenadas geográficas a UTM (inversa de utm2geo())
Dpun utm2utm (Dpun pun, long zona1, long zona2, long datum_index1=1, long datum_index2=1)· Cambia de huso, convierte las coordenadas x,y UTM del punto 'pun' de una zona/hemisferio a otro
Clis mgrs2utm (cadena coord_geograf)· Devuelve una lista con los datos de referencia UTM [x_este, y_norte, zona, hemisferio], para una latitud y longitud
long elipsoide_num· Número de elipsoides
cadena elipsoide_cod (long index)· código del elipsoide en index
cadena elipsoide_res (long index)· resumen del elipsoide en index
long elipsoide2index (cadena code)· de código a index > 1..elisoide_num (0)no_existe
long datum_num· Número de datum
cadena datum_cod (long index)· código del datum en index
cadena datum_res (long index)· resumen del datum en index
cadena datum_eli (long index)· código del elipsoide del datum en index
long datum2index (cadena code)· de código a index > 1..datum_num (0)no_existe
Dpun datum2datum (Dpun pun1, cadena datum1, cadena datum2)· Convierte coordenadas geográficas del punto 'pun1' (longitud,latitud) en datum1 a geográficas en datum2

· Dpun datum2datum (Dpun pun1, long index1, long index2) // igual

obsoleto 
obsoleto· if (nombre == "datum2datum_utm1") return 1530; // obsoleto

· if (nombre == "datum2datum_utm") return 1530; // obsoleto

Métodos para manejo de coloresCingra
long rgb (long r, long g, long b)
long rgb (cadena nombre | long htm)
· Devuelve el valor entero de un color en formato Windows (BGR). Los parámetros 'r', 'g' y 'b' nos indican los valores de componente rojo, verde y azul, que tienen que estar comprendidos entre 0 y 255. El parámetro 'nombre' acepta una cadena con el nombre de color en inglés o español de los contenidos en el archivo personalizable \Macros\CSV\colores.csv. El parámetro 'htm' acepta un valor entero con color HTM.
long rgb2htm (long rgb)· Devuelve el valor entero de un color expresado en RGB en HTM
long htm2rgb (long htm)· Devuelve el valor entero de un color expresado en HTM en RGB
long rgb_medio (long rgb1, long rgb2)· Devuelve el valor entero de un color medio entre los colores RGB 'rgb1' y 'rgb2'
long rgb_claro (long rgb, long fac=16)· Devuelve el valor entero de un color más claro que el color RGB 'rgb'. Cuanto mayor sea el factor 'fac' menor será la diferencia
long rgb_oscuro (long rgb, long fac=16)· Devuelve el valor entero de un color más oscuro que el color RGB 'rgb'. Cuanto mayor sea el factor 'fac' menor será la diferencia;
long rgb_opuesto (long rgb)· Devuelve el valor entero del color opuesto al especificado en el parámetro 'rgb'
Clislong rgb_serie (long rgb1, long rgb2, long num)· Devuelve una lista de enteros que representan colores intermedios entre 'rgb1' y 'rgb2'. El parámetro 'num' nos da el número de colores que formarán la lista
Métodos para manejo de archivosCingra

Emulan las funciones y métodos más comunes del objeto de script estándar 'FileSytemObject', que permiten gestionar archivos y directorios, sin tener que declarar y utilizar ese ActiveXObject.

Los parámetros 'archivo', representan un nombre de archivo con su extensión y camino completo al estilo: 'C:\datos\lista.txt'

cadena arccamino (cadena archivo, cadena nombre="", cadena extensión="")· Devuelve el camino completo (sin terminar en barra '\') incluyendo nombre de 'archivo'. Si se especifica un 'nombre' (que puede incluir extensión), se devuelve el camino concatenado con ese nombre y si se especifica 'extension', se pone esa. Ej: arccamino("c:\\trabajo\\arc.ing",datos.bic","txt") -> "c:\\trabajo\\datos.txt"
cadena arcnombre (cadena archivo, bool conextension=0)· Devuelve el nombre del archivo sin extensión. Si 'conextensión'=1, devuelve nombre completo
cadena arcextension (cadena archivo, cadena extension="")· Devuelve la extensión del archivo (sin punto). Si se especifica 'extensión', devuelve el camino completo o nombre de archivo, con la 'extensión' especificada
cadena arcrelativo (cadena archivo, cadena base=<director>)· Devuelve un camino completo a partir de una dirección relativa, concatenendo el 'archivo'. Si no se especifica el parámetro 'base' se utiliza como 'base' la ubicación de la BD actual: director()
long arctamano (cadena archivo)· Devuelve el tamaño del archivo en bytes
cadena arclee (cadena archivo, cadena modificadores="")· Devuelve una cadena con el contenido del archivo. Modificadores: u0(utf-8)
int arcgraba (cadena archivo, cadena texto, cadena modificadores="")· Graba en archivo el texto. Sólo válido para archivos de texto. Devuelve 1 si se produce un error. Modificadores: u0(utf-8) i0(graba solo sino es igual)
int arcagrega (cadena archivo, cadena texto)· Agrega el texto al final del archivo. Devuelve 1 si se produce un error
int arccopia (cadena arc_antiguo, cadena arc_nuevo)· Copia 'arc_antiguo' a 'arc_nuevo'. Devuelve 1 si se produce un error
int arcrenombra (cadena arc_antiguo, cadena arc_nuevo)· Renombra 'arc_antiguo' como 'arc_nuevo'. Devuelve 1 si se produce un error
int arcelimina (cadena archivo)· Elimina el archivo físicamente. Devuelve 1 si se produce un error
bool arcexiste (cadena archivo)· Devuelve 1 si el archivo existe
bool arcgrabable (cadena archivo)· Devuelve 1 si el archivo es s modificable (no está en modo sólo lectura, ni es del sistema, ni está bloqueado o en uso, ni pertenece a otro usuario de Windows, etc.)
Métodos para manejo de directoriosCingra

Como las de archivos, emulan funciones del objeto FileSystemObject, y algunas otras de más alto nivel implementadas para mayor comodidad

cadena dirdefecto (cadena subdir, cadena archivo, cadena extension="")· Devuelve el nombre del directorio de la aplicación para concatenarle un nombre de 'archivo'. Opcionalmente se puede especificar la 'extension' por separado, y un subdirectorio 'subdir' enmedio
cadena dirpublico (cadena nombre="", cadena extensión="")· Devuelve el nombre del directorio o carpeta de instalación de la aplicación, visible en la pestaña 'Herramientas> Opciones> Directorios'.

· Si se trata de una instalación en red este será el directorio de la instalación en el servidor.

· Si es una instalación monousuario este será el directorio de instalación de la aplicación en el disco local, y coincide con dirprivado()

· Si se suministran los parámetros 'archivo' y 'extensión', devolverá estos dos argumentos concatenados al nombre del directorio en la forma: 'directorio\archivo.extensión'

cadena dirprivado (cadena nombre="", cadena extensión="")· Devuelve el nombre del directorio o carpeta en la que funcionan los archivos particulares del programa.

· Si se trata de una instalación en red, retorna el directorio particular de la instalación cliente

· Si es una instalación monousuario retorna el directorio de instalación de la aplicación, y coincide con dirpublico()

· Si se suministran los dos parámetros, los devolverá concatenados al nombre del directorio en la forma: directorio\archivo.extensión

cadena dirtemporal (cadena nombre="", cadena extensión="")· Devuelve el nombre del directorio o carpeta utilizado para almacenar los archivos temporales. Por defecto es un directorio llamado \TEMPORAL que se encuentra en el directorio privado de instalación (es decir el directorio de la instalación cliente o el de la instalación monousuario).

· Si se suministran los parámetros, los devolverá concatenados al nombre del directorio en la forma: \Temporal\archivo.extensión. Sin especificar extensión, se considera que está en el nombre, es decir: temporal("salida.txt") <-> temporal("salida", "txt")

bool direxiste (diretorio)· Devuelve 1 si existe el directorio
int dircrea (cadena dir, long recursivo=0)· Crea un directorio con la cadena 'dir' especificada. Si 'recursivo'=1 se crean todos los que no existan hasta el especificado. Devuelve 1 si da error
int direlimina (cadena dir, long como=0)· Elimina el directorio 'dir' de ruta completa o máscara de archivos. Si 'como'=0 no elimina el directorio si contiene archivos (sólo si está vacío), 'como'=1 elimina directorio incluso con archivos, y 'como'=2 elimina recursivamente todos los archivos y subdirectorios (PELIGROSO!!)
Clis dircopia (cadena origen, cadena destino, bool recursivo=0, bool regraba=1)· origen: archivo,directorio o máscara, destino: directorio
Clis dirlee (cadena dirmascara, long opciones=0)· Devuelve una lista de listas con la información del contenido del directorio 'dirmascara' permitiendo opcionalmente filtrar con las 'opciones'.

· El parámetro 'dirmascara', es una cadena de texto con el directorio donde se quieren buscar archivo o directorios. Las 'opciones' pueden ser: (0) archivos, (1) directorios, (2) ambos.

· Se devuelve una lista por cada archivo y directorio, con los datos: [nombre.ext, es_directorio, tamaño_en_bytes, fecha_formato_AAAAMMDD, hora_modif_formato_HHMMSS]. Ejemplo de formato: [[documento.doc, 0, 322, 20040618, 105814], [ ], ]

Cliscadl dirmaslee (cadena dirmascara, long opciones=0)· Devuelve una lista de los nombres de archivos y directorios contenidos en el directorio 'dirmascara' permitiendo opcionalmente filtrar con las 'opciones'.

· El parámetro 'dirmascara', es una cadena de texto con el directorio donde se quieren buscar archivo o directorios. Las 'opciones' pueden ser: (0) archivos, (1) directorios, (2) ambos

Métodos para manejo del registroCingra
cadena inilee (cadena var)· Devuelve el valor de la variable 'var' que existe en el contenido actual del archivo <programa>.INI. Las variables de estado del archivo de inicio se refieren sobre todo a valores de la ventana 'Opciones' y a estado de conmutadores en diversas ventanas
int inigraba (cadena var, cadena val)· Graba el valor 'val' en la variable 'var' en el archivo <programa>.INI
long regprileel (cadena sec_nom, long def=0)· Devuelve el valor entero de la variable 'sec_nom' que está contenida en el archivo <programa>.INI del registro de la aplicación
cadena regprilees (cadena sec_nom, cadena def="")· Devuelve el valor de cadena de la variable 'sec_nom' que está contenida en el archivo <programa>.INI del registro de la aplicación
cadena regprilee (cadena sec_nom)
cadena regprilee (cadena sec, cadena nom, cadena def="")
· Devuelve el valor de cadena de la variable 'sec_nom' que está contenida en el archivo <programa>.INI del registro de la aplicación.

· Si utilizamos dos parámetros el método compondra el nombre de la variabla 'sec_nom' a partir de 'sec' y de 'nom'.

· El parámetro 'def' será el valor devuelto si no se encuentra la variable 'sec_nom' en el archivo anteriormente comentado

int regprigraba (cadena sec_nom, cadena val | long val)
int regprigraba (cadena sec, cadena nom, cadena val)
· Graba el valor del parámetro 'val' en la variable 'sec_nom' en el archivo <programa>.INI del registro de la aplicación.

· Si se usa con tres parámetros, el nombre de variable 'sec_nom' se construirá a partir de dos parámetros 'sec' y 'nom'

Métodos para uso de diálogosCingra

Las funciones que admiten parámetros 'b*' muestran en el diálogo tantos botones como cadenas 'b0', 'b1', 'b2', 'b3' tengan valor. Si el diálogo no se cancela (con lo que se devuelve un número negativo) se devuelve el valor '0', '1', '2' o '3' (de izquierda a derecha)

En cualquiera de los diálogos con botones, se pueden utilizar los siguientes nombres, que se muestran con su icono correspondiente: "#PC"=Cierra "#PCA"=Cancela "#PA"=Ayuda

cadena diaedita (cadena tit, cadena rot, cadena def="", cadena b0="", cadena b1="", cadena b2="", cadena b3="")· Muestra un diálogo con un campo editable, 'tit' es la cadena de texto que figurará en el título del diálogo, y 'rot' es la cadena de texto que figura como mensaje del diálogo. 'def' es el valor de defecto que aparece en el campo de edición. Se devuelve la cadena introducida en el campo de edición
int diapregunta (cadena tit, cadena rot="", cadena b0="", cadena b1="", cadena b2="", cadena b3="")· Muestra un diálogo con el icono de PREGUNTA, 'tit' es la cadena de texto que figurará en el título del diálogo, y 'rot' el mensaje.
int diainforma (cadena tit, cadena rot="", cadena b0="", cadena b1="", cadena b2="", cadena b3="")· Igual que diapregunta(), pero con el icono de INFORMA
int diaavisa (cadena tit, cadena rot="", cadena b0="", cadena b1="", cadena b2="", cadena b3="")· Igual que diapregunta(), pero con el icono de AVISO
int diaerror (cadena rot="")· Muestra un diálogo de error con el mensaje 'rot' y el título ERROR. Siempre devuelve el valor -1. Al pulsar el botón 'Cierra' continuará la ejecución del programa
bool inter (cadena rotulo="", int escabecera=0)· Devuelve '1' si se ha pulsado el botón 'Interrupir' del diálogo de interrupción, sino devuelve '0'

· Durante la ejecución de un programa se muestra siempre un diálogo de interrupción que permite parar la ejecución. En el caso de que el programa esté ejecutando un bloque de sentencias, no se interrumpirá su ejecución hasta la finalización del bloque. Para poder interrumpir la ejecución de un bucle, es necesario preguntar por el valor de retorno de este método.

· Si se utiliza el 'rotulo', en vez de unos puntos suspensivos, aparecerá texto. Detrás de una línea que utilice inter("tex", 1) debe haber otro que imprima el valor que va progresando. Esta función es muy útil asociada a salir()

· Si escabecera==1 el texto se rotulará en la cabecera. Si escabecera==2 el texto se rotulará en el título de la ventana.

Métodos para ejección de comandos y aplicacionesCingra
int winproceso (cadena cmd, long prsenta=0, long espera=0)· Ejecuta proceso. Si la operación se realiza correctamente se devuelve '0'. El parámetro 'presenta' se utiliza para mostrar la ejecución visiblemente, y el parámetro 'espera', para parar la ejecución del script hasta que termine la ejecución del comando
int winejecuta (cadena exe, cadena dat="", long presenta=0, long espera=0)· Ejecuta el programa 'exe' -con el camino completo- con el argumento 'dat'. El parámetro 'presenta' se utiliza para mostrar la ejecución visiblemente, y el parámetro 'espera', para parar la ejecución del script hasta que termine la ejecución del comando. Devuelve '0' si no se produce error. Por ejemplo: winejecuta ("c:\\windows\\notepad.exe", "c:\\temp\\doc1.txt")
int windatos (cadena archivo, cadena param="", cadena verbo="", bool presenta=1, bool espera=0)· Abre el archivo 'arc' utilizando el programa, que según su extensión, tenga asociado en el registro de Windows. El parámetro 'par' se utiliza para pasar argumentos para la ejecución del programa. Las asociaciones de extensiones de archivos con los programas pueden modificarse o consultarse en las Opciones del Explorador de Windows
int notepad (cadena dat, long escontenido=0)· Abre el archivo 'dat' en el bloc de notas de Windows. Si el parámetro 'escontenido=1', entonces el parámetro 'dat' se entienden como datos y no como nombre de archivo y son estos los que se visualizan en el bloc de notas
Métodos para manejo de fechas y horasCingra
long hoy ()· Devuelve la fecha actual del sistema en el que se ejecuta el programa, en formato AAAAMMDD
long hora ()
long hora (cadena hor | date hor)
cadena hora (long hor, cadena fmt="")
long hora (long hrs, long min, long seg)
· Sin parámetros devuelve un valor entero con la hora actual en formato HHMMSS

· Si recibe un parámetro de tipo cadena o de tipo date, devuelve un valor entero representando el parámetro de entrada con el formato HHMMSS

· Si recibe dos parámetros, el segundo por defecto es la cadena vacía, devuelve una cadena con la hora especificada en el parámetro 'hor' en el formato indicado en 'fmt'.

· Si recibe tres parámetros, horas, minutos y segundos, devuelve un valor entero componiendo de la hora con estos tres parámetros

long horhrs ([long hor], [long hrs])· hor en formato HHMMSS

· Sin parámetros devuelve las horas de la hora actual

· Con un parámetro nos devuelve las horas de la hora 'hor'

· Con dos parámetros devuelve la hora 'hor' sustituyendo las horas con 'hrs'

long hormin ([long hor], [long min])· Sin parámetros devuelve las horas de la hora actual

· Con un parámetro nos devuelve los minutos de la hora 'hor'

· Con dos parámetros devuelve la hora 'hor' sustituyendo los minutos con 'min'

long horseg ([long hor], [long seg])· Sin parámetros devuelve las horas de la hora actual

· Con un parámetro nos devuelve los segundos de la hora 'hor'

· Con dos parámetros devuelve la hora 'hor' sustituyendo los segundos con 'seg'

long h2hms (h)· convierte horas con decimales a formato HHMMSS
long hms2h (hms)· convierte formato HHMMSS a horas con decimales
double horas (long hora1, long hora2, long fecha1=0, long fecha2=0)· Devuelve la diferencia en número de horas entre 'hora2' y 'hora1'. Si se trata de horas de distintos días, opcionalmente se puede especificar la 'fecha1' de 'hora1' y la 'fecha2' de la 'hora2'
long fecha ()
long fecha (long fec | cadena fec | date fec)
cadena fecha (long fec, cadena fmt="dd/mm/aaaa")
long fecha (long dia, long mes, long año)
· Sin parámetros devuelve un valor entero con la fecha actual AAAAMMDD

· Si recibe un parámetro de tipo long, modifica la fecha actual devolviendo este parámetro como salida

· Si recibe un parámetro de tipo cadena o de tipo date, devuelve un valor entero representando el parámetro de entrada con el formato AAAAMMDD

· Si recibe dos parámetros, el segundo por defecto es la cadena vacía, devuelve una cadena con la fecha especificada en el parámetro 'fec' en el formato indicado en la cadena 'fmt', que admite los siguientes caracteres:

· dd - número del día del mes; ddd - tres primeras letras del nombre del día de la semana: Lun, Mar, Mié, Jue, Vie, Sab, Dom.; dddd - nombre del día de la semana: Lunes, Martes, etc.

· mm - número del mes de 1 a 12; mmm - tres primeras letras del nombre del mes: Ene, Feb, Mar, etc.; mmmm - nombre completo del mes: Enero, Febrero, etc.

· aa - dos últimos dígitos del año; aaaa - año expresado con cuatro dígitos

· Si recibe tres parámetros, día, mes y año, devuelve un valor entero componiendo la fecha con estos tres parámetros

long fecdia (long fec=0, long dia=0)· Sin parámetros devuelve el día de la fecha actual en la aplicación (ventana Opciones)

· Si sólo está presente el parámetro 'fec' nos devuelve el día de esta fecha

· Si además está presente el parámetro 'dia', nos devuelve la fecha 'fec' sustituyendo el día por 'dia'

long fecmes (long fec=0, long mes=0)· Sin parámetros devuelve el mes de la fecha actual en la aplicación (ventana Opciones)

· Si sólo está presente el parámetro 'fec' nos devuelve el mes de esta fecha

· Si además está presente el parámetro 'mes', nos devuelve la fecha 'fec' sustituyendo el mes por 'mes'

long fecano (long fec=0, long ano=0)· Sin parámetros devuelve el año de la fecha actual en la aplicación (ventana Opciones)

· Si sólo está presente el parámetro 'fec' nos devuelve el año de esta fecha

· Si además está presente el parámetro 'ano', nos devuelve la fecha 'fec' sustituyendo el año por 'ano'

long fecsemdia (long fec)· Devuelve el día de la semana de la fecha especificada en 'fec'. El valor '0' corresponde al lunes
long fecmesdias (long fec)· Devuelve los días del mes especificado en la fecha 'fec'
cadena fecdianombre (long fec=<actual>, long abreviado=0)· Devuelve el nombre del día de la semana especificado en la fecha 'fec', si no se especifica, el de la fecha actual del programa. Si 'abreviado'=1 devuelve la inicial del nombre de ese día
cadena fecmesnombre (long fec=<actual>, long abreviado=0)· Devuelve el nombre del mes especificado en la fecha 'fec', si no se especifica, el de la fecha actual del programa. Si 'abreviado'=1 devuelve la inicial del nombre de ese mes
long fecdias (long fec1, long fec2, long fecestudio=0)· Devuelve el número de días comprendidos entre las fechas 'fec1' y 'fec2' ambos incluidos. Si se especifica el argumento 'fecestudio', retornará el número de días del intervalo entre 'fec1' y 'fec2' comprendidos en el MES de la 'fecestudio'. Ej: fecdias (20070101, 20070202) devuelve el valor 33, mientras que fecdias (20070101, 20070202, 20070208) devuelve 2, que son los días entre el uno de enero y el dos de febrero comprendidos en el mes de febrero
long fecagrega (long fec, long dias, long meses=0, long anos=0)· Devuelve la suma o resta de 'dias', 'meses' y 'años' a una fecha 'fec' dada en formato interno de fecha AAAAMMDD
long fecsemana (long fec)
long fecsemana (long sem, long ano)
· Con un parámetro, devuelve el número de la semana en el año a la que pertenece la fecha 'fec' (la primera es la 1)

· Con dos parámetros devuelve la fecha que corresponde al lunes de la semana 'sem' del año 'ano'

Clislong fecperiodo (cadena fec)
cadena a fecperiodo (fec1,fec2)
· Si utilizamos el método con un parámetro de tipo cadena, nos devolverá un lista con dos valores enteros de fecha inicial y fecha final [fecini, fecfin]

· Si utilizamos el método con dos parámetros de tipo long, nos devolverá una cadena con la descripción del periodo en el formato interno de la aplicación. El mismo formato de periodo se aplica al campo Periodo de la ventana Informes, diálogo de selección de informes y Propiedades de informes y procedimientos

cadena fecrotulo1 (long fec, long abreviado=0)· Devuelve una cadena con el rótulo del día. El parámetro 'abreviado', permite reducir el formato a una letra para el día de la semana y día en formato DD/MM/AAAA. Ejemplo: fecrotulo1(20070101) devuelve el texto 'Lunes, 1 de Enero de 2007' y fecrotulo1(20070101, 1) devuelve 'S 01/01/2007'
cadena fecrotulo2 (long fec1, long fec2, long abreviado=0)· Devuelve una cadena con el rótulo del periodo entre los dias, meses y años de ambas fechas, utilizando el parámetro 'abreviado', se acortan las palabras lo más posible (día de la semana, mes con tres letras, etc.). Ejemplo: fecrotulo2(20070106, fecagrega(20070106, 4)) devuelve 'Del 6 al 10 de Enero de 2007' y los mismos datos con el parámetro 'abreviado=1' devuelve '6-10 Ene 2007'
long fechor2fec (double fechor)· Devuelve la fecha (parte entera de un campo de tipo fecha-hora), en formato entero: AAAAMMDD. Los datos de tipo fecha-hora son números reales con formato: AAAAMMDD.HHMMSS
long fechor2hor (double fechor)· Devuelve la hora (parte decimal de un campo de tipo fecha-hora), en formato entero: HHMMSS. Los datos de tipo fecha-hora son números reales con formato: AAAAMMDD.HHMMSS
double fechor ()
double fechor (cadena hor | date hor)
cadena fechor (double hor)
double fechor (long fec, long hor)
· Sin parámetros devuelve un valor double con la fecha y hora actual AAAAMMDD.HHMMSS

· Si recibe un parámetro de tipo double, devuelve una cadena formateando este parámetro

· Si recibe un parámetro de tipo cadena o de tipo date, devuelve un valor double representando el parámetro de entrada con el formato AAAAMMDD.HHMMSS

· Si recibe dos parámetros, fecha y hora, devuelve un valor double componiendo la fecha y hora con estos dos parámetros con el formato AAAAMMDD.HHMMSS

Métodos para manejo de errores, de depuración, salida de resultados...Cingra
void incluir (cadena cod_inf)· Realiza una llamada al método 'incluir' del objeto 'comun' de la clase Cbas. Es decir, incluye el código Javascript en la posición de la función, de un concepto de tipo informe, con código 'cod_inf' de la base de datos comun
void espera (long mseg)· Espera un intervalo de tiempo de 'mseg' milisegundos. Útil cuando se está realizando una operación que puede requerir que otra aplicación, proceso externo o archivo esté preparado, para detener el script
void error (cadena rotulo="")· Finaliza la ejecución del programa con mensaje de error especificado en 'rotulo'. Si no es especifica, se muestra en el diálogo el último mensaje de error del script que se almacenó en la variable 'erro'
cadena erro ()· Devuelve la cadena de caracteres que almacena el último mensaje de error que se ha producido en la ejecución el programa xjs
void salir (bool sinterminar=0)· Finaliza la ejecución del programa. Si 'sinterminar'=1, en vez de terminar la ejecución del informe sin mostrar nada, mostrará lo que lleve procesado hasta el momento de salir
void write (cadena cad="")· Graba el texto 'cad' en el archivo \temporal\presenta.txt. Todas las sentencias write de la ejecución de cada informe se añaden una a continuación de otra. Cuando finaliza la ejecución del script, se abre el archivo presenta.txt utilizando el Bloc de notas de Windows
void writeline (cadena cad="")· Igual que el método anterior 'write', solo que además, graba un retorno de carro y nueva línea al final de cada 'cad' que recibe como parámetro
void prin (cadena cad)· Imprime 'cad' en la ventana de depuración con un retorno de línea incluido, es decir, imprime cada salida en líneas separadas. Admite imprimir varias cadenas separadas por tabuladores si se pasan como parámetros separados por comas (,)
void debug ()· Activa el modo de depuración para poder consultar variables y trazar el flujo en la pestaña DEBUG de edición de informes y procedimientos
void DEBUG ()· Sinónimo de debug()

· Este método detiene la ejecución del programa y abre el diálogo de depuración. En la línea Comando o variable se pueden especificar: una sentencia válida de JavaScript incluyendo las extensiones, o bien un nombre de variable. Al hacer clic en 'Acepta' se ejecutará la sentencia, y su valor de retorno si lo hubiera se mostrará en el visor del diálogo, si se teclea un nombre de variable aparecerá en el visor el valor actual de esa variable.

· Si teclea por ejemplo Math.E, al hacer clic en Acepta aparecerá en el visor el número 2.71828182845905 que es el número de Euler.

· El depurador guarda un histórico de los comandos ejecutados a los que se puede acceder con los botones 'Anterior' y 'Siguiente'

cadena appnombre ()· Devuelve el nombre de la aplicación como 'Ingrid'
cadena appversion ()· Devuelve la versión de la aplicación con 3 dígitos como '5.3.8'
cadena appextension ()· Devuelve la extensión de la aplicación con tres letras como 'ing'
void imparcpdf (cadena arcpdf)· Lanza a impresora PDF instalada con Ghostscript el archivo .EPS indicado
void imparcdes (cadena arcdes)· Lanza a una impresora destino concreta el archivo indicado
cadena dbf_lee (cadena dbf_arc)· Devuelve una cadena de texto multilínea con todos los registros y campos del archivo 'dbf_arc' de BD formato DBF, cuya sintaxis es:

· D[BF] | [id] | [fec] | [dataoffset] | [regtam] | [regnum] | [camnum] | [blotam] |

· C[nn] | tip(CharDateNumberMemoFloat) | len | dec | nom |

· R[nn] | {dato (si no M relleno, si M \r\n a \\n ) |}

int dbf_graba (Clis lista, cadena dbf_arc)· Graba en un archivo con especificación .DBF (base de datos), los campos de la 'lista' en el archivo
long escest (double escala, bool cercana=0)· Devuelve la escala estándar; si no cercana la primera (1, 5, 10, 25, 50, 100, 250, 500, 1.000, 2.500, 5.000, 10.000, 25.000, 50.000, 100.000, 250.000, 500.000, ...)
long escnor (double escala, bool cercana=0)· Devuelve la escala normalizada (binaria); si no cercana la primera (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1.024, 2.048, 4.096, 8.192, 16.388, 32.768, 65.536, 131.072, 262.144, 524.288, ...)
long escnor2 (double metros, long puntos, bool cercana=0)· Devuelve la escala normalizada (binaria) donde se puede dibujar "metros" en una ventana de "puntos"

· // escnor2(metros,puntos) == escnor(metros / puntos * puntos_por_metro_en_ventana);

long escnorn ()· Devuelve el número de escalas normalizadas existentes: con factor de milímetros devuelve 24
long escnorl (long esc_nor)· Devuelve la escala en unidades de la normalizada esc_nor (nº entero tras el "1:"). Ej: escnorl(22)= 50000000
LicenciaCingra
cadena clave_maquina· clave de máquina
cadena clave_licencia· clave de licencia
cadena clave_acceso· clave de acceso
ReplicaciónCingra
int replica_crea (cadena arc1, cadena arc2, cadena arc12, bool solo_diferente=false) 
int replica_recrea (cadena arc1, cadena arc12, cadena arc2b) 
int replica_compara (cadena arc1, cadena arc2) 
Bases de datosCingra
Cliscadl bases (cadena archivo)· Devuelve una lista con el nombre de las bases de datos disponibles en el servidor que se especifica en el archivo. Este método es válido para los SGBD cliente-servidor
int base_elimina (cadena archivo)· Elimina la base de datos indicada por el archivo. Devuelve 0 si la acción se realiza correctamente
Objetos derivadosCingra
Cimp Cimp (cadena cni="", cadena mod="", long colnum=1, long colmar=0, long tipcab=0)
Cimp Cimp (cadena cni="", long colnum=1, long colmar=0, long tipcab=0)
· Crea un objeto de manejo de tablas de impresión.

· El parámetro 'cni' nos indica el archivo de configuración de impresora que utilizaremos.

· El parámetro 'mod' nos especifica una serie de modificadores que afectan a la configuración de impresora propuesta. Estos modificadores son: ORIENTACIÓN (v) vertical o (h) horizontal), TAMAÑO (A0), (A1), (A2), (A3), (A4), (A5) o (A6) y COLOR (0) monocromo o (1) a color.

· El parámetro 'colnum' nos indica el número de columnas de cada hoja impresa el parámetro 'colmar' nos indica el margen de separación entre cada columna y el parámetro 'tipcab' nos indica si la cabecera tendrá el tamaño de columna (0) o de página (1)

Cbas Cbas ()
Cbas Cbas (long que | cadena archivo)
· Devuelve un objeto manejador de base de datos

· Si no pasamos ningún parámetro, nos devuelve una referencia a la BD actual

· El parámetro 'que' puede ser 0 ó 1. Con el '0' nos devuelve una referencia a una copia de la BD actual y con el '1' una referencia a la BD que tengamos en el paralelo

· El parámetro 'archivo' nos abre una nueva BD localizada en esa ruta o conexión

Cbas comun ()· Crea un objeto Cbas pero con la BD común como BD de referencia. Esta base de datos se especifica en la ventana Opciones/Configuración de la aplicación
Carc Carc ()· Crea un objeto de manejo de archivos a bajo nivel
Ccsv Ccsv ()· Crea un objeto de manejo de archivos *.csv (formato textual de Excel)
Cima Cima ()· Crea un objeto de manejo de imágenes con XImage
Cgra Cgra ()· Crea un objeto de manejo de imágenes con GDI+
Cmapi Cmapi ()· Crea un objeto de manejo de mensajería o correo electrónico
Cftp Cftp ()· Crea un objeto de manejo del protocolo ftp para envío de ficheros desde/a servidores en internet
Chttp Chttp ()· Crea un objeto de manejo del protocolo http para recepción de página web
Czip Czip ()· Crea un objeto de manejo de archivos de compresión .zip
Cgrf Cgrf ()· Crea un objeto de gráficas estadísticas
Chor Chor (double h)
Chor Chor (long h, long esintervalo=0)
Chor Chor (long h, long m, long s, long esintervalo=0)
· Crea un objeto de manejo de horas e intervalos horarios.

· Si pasamos un parámetro real 'h', asumimos que vamos a trabajar con intervalos horarios

· Si pasamos un parámetro entero 'h', trabajaremos con intervalos o con horas dependiendo del valor del parámetro opcional 'esintervalo'

· Si pasamos un mínimo de tres parámetros, horas 'h', minutos 'm' y segundos 's', tenemos también la opción de elegir trabajar con intervalos o con horas

Ctrasgo Ctrasgo ()· Crea un objeto de manejo de archivos ingra de traducción de rótulos
Cdxi Cdxi ()· Crea un objeto de dibujo 2D
Cgli Cgli ()· Crea un objeto de dibujo 3D
Cpun Cpun (Cpun p | Dpun p | cadena str | Clislong lis)
Cpun Cpun (long x, long y)
· Crea un punto de coordenadas internas (números enteros)

· El parámetro 'str' tiene el formato "x|y", en donde x,y son números enteros

· El parámetro 'lis' contine una lista de dos valores números enteros (x,y). También se puede asignar un punto (en coordenadas internas o reales)

Crec Crec (Crec r | Drec r | cadena str | Clis lis)
Crec Crec (Cpun p1, Cpun p2)
Crec Crec (long x1, long y1, long x2, long y2)
· Crea un rectángulo de coordenadas internas (números enteros)

· El parámetro 'str' tiene el formato "x1|y1|x2|y2", en donde x1,y1,x2,y2 son números enteros

· El parámetro 'lis' contiene una lista de cuatro valores números enteros (x1,y1,x2,y2). También se puede asignar un recuadro (en coordenadas internas o reales)

Cpunl Cpunl (Cpunl pl | Dpunl pl | cadena str | Clis lis)
Cpunl Cpunl (Cpun p1, Cpun p2, ...)
Cpunl Cpunl (long x1, long y1, long x2, long y2, ...)
· Crea un objeto lista de puntos de coordenadas internas (números enteros)

· El parámetro 'str' tiene el formato "x1|y1|x2|y2...", lista de pares de nºs enteros separados por barra vertical (|)

· El parámetro 'lis' contiene una lista de pares de valores números enteros [x1,y1,x2,y2]... También se puede asignar otra lista de puntos (en coordenadas internas o reales)

Dpun Dpun (Cpun p | Dpun p | cadena str | Clis lis)
Dpun Dpun (double x, double y)
· Crea un punto de coordenadas en metros (números reales)

· El parámetro 'str' tiene el formato "x|y", en donde x,y son números reales

· El parámetro 'lis' contine una lista de dos valores números reales (x,y). También se puede asignar un punto (en coordenadas internas o reales)

Drec Drec (Crec r | Drec r | cadena str | Clis lis)
Drec Drec (Dpun p1, Dpun p2)
Drec Drec (double x1, double y1, double x2, double y2)
· Crea un rectángulo de coordenadas en metros (números reales)

· El parámetro 'str' tiene el formato "x1|y1|x2|y2", en donde x1,y1,x2,y2 son números reales

· El parámetro 'lis' contiene una lista de cuatro valores números reales (x1,y1,x2,y2). También se puede asignar un recuadro (en coordenadas internas o reales)

Dpunl Dpunl (Cpunl pl | Dpunl pl | cadena str | Clis lis)
Dpunl Dpunl (Dpun p1, Dpun p2, ...)
Dpunl Dpunl (double x1, double y1, double x2, double y2, ...)
· Crea un objeto lista de puntos de coordenadas en metros (números reales)

· El parámetro 'str' tiene el formato "x1|y1|x2|y2...", lista de pares de nºs reales separados por barra vertical (|)

· El parámetro 'lis' contiene una lista de pares de valores números reales [x1,y1,x2,y2]... También se puede asignar otra lista de puntos (en coordenadas internas o reales)

Cado ado· clase de acceso a datos
ObsoletosCingra
programa ()· Ahora dirpublico
publico ()· Ahora dirpublico
director ()· Ahora dirdefecto
temporal ()· Ahora dirtemporal
filcamino ()· Ahora arcamino
filnombre ()· Ahora arcnombre
filextension ()· Ahora arcextension
filrelativo ()· Ahora arcrelativo
impresor ()· Ahora Cimp
ineftp ()· Ahora Cftp
dibgrf ()· Ahora Cgrf
dibima ()· Ahora Cima
tiehor ()· Ahora Chor
base ()· Ahora Cbas
RGB ()· Ahora rgb()
ESCNORN ()· Ahora escnorn()
ESCNORL ()· Ahora escnorl()


Cado (Objeto de acceso a datos)

Referencias: Cado

Secciones: iniciaz procedimientos
iniciazCado
inicia_access (mdbarc, mdbmdw, mdblog, mdbpwd, edicion, creasino)· Establece conexión con base de datos access
inicia_sql (bas, ser, usu, pwd)· Establece conexión con base de datos SQL Server
procedimientosCado
copia (AdoXD &ado2, bool nolog)· Copia base de datos 'ado2' sobre base de datos actual. Si 'nolog' es verdadero, y si hubiera errores en la copia, no los presentaría en el bloc de notas


Carc (Objeto manejador de archivos a bajo nivel)

Para el manejo habitual de archivos y directorios ya hay definidas funciones en la clase general ingra. Este objeto sirve para leer y grabar archivos (incluso binarios que no es posible manejar con variables JavaScript), para operaciones muy especiales como abrirlos en modo no exclusivo, o cargarlos y grabarlos por partes (por ejemplo para tamaños enormes), agregar un archivo a otro, etc.

Todas las funciones operan con el archivo en modo exclusivo a menos que se especifique 'compartido'=1


Referencias: Carc
bool leer (cadena arc, bool compartido=0)· Lee el archivo 'arc' y devuelve una variable objeto archivo con el contenido. El archivo debe existir
bool grabar (cadena arc, bool compartido=0)· Graba el contenido del objeto en el archivo de nombre 'arc'. El archivo debe existir
bool crear (cadena arc, bool compartido=0)· Crea un archivo en blanco a partir de un objeto. El archivo no puede existir ya
bool abrir (cadena arc, bool compartido=0)· Abre el archivo para us utilización. Si no existe se crea
bool agregar (cadena arc, bool compartido=0)· Añade al final del archivo 'arc', el contenido del objeto. Si no existe se crea
bool truncar (cadena arc, bool compartido=0)· Trunca el archivo 'arc' con el contenido del objeto. Si no existe se crea
bool cierra ()· Cierra y libera el archivo en el S.O.
cadena lee ()· Devuelve una línea del objeto archivo
bool final()· Devuelve 1 si se ha llegado al final del archivo con el cursor del método lee()
bool graba (cadena datos)· Graba al final del archivo el texto de 'datos'
bool linea (cadena datos)· Lo mismo que graba() pero añadiendo detrás un carácter de fin de línea
fec = fecha (0|1|2)· fecha del archivo: (0)mod (1)acc (2)cre
bool fechas (fechor mod, acc, cre)· pone fechas al arhivo, si una fecha es 0 no la cambia


Ccsv (Objeto manejador de archivos de intercambio .CSV)

Referencias: Ccsv
bool lee (Cadena archivo)· Lee el 'archivo'. Devuelve 0 si la operación se ha realizado correctamente
long num ()· Devuelve el número de líneas del archivo actual.
Cadena ten (long linea, long columna)· Obtiene el dato situado en la 'linea' y 'columna' indicada como parámetros.


Cdibgrf (Objeto manejador de Gráficas estadísticas)

Asignado a una variable, crea un objeto de tipo gráfico estadístico, al que se le pasan los datos a representar, y el formato. Permite mostrar gráficos de líneas, de barras y de tarta.

Otras opciones para gráficas son: utilizar el objeto ActiveX de automatización de Excel (peor) y utilizar Cdxi.grafico() (mejor que Cgrf). Hay script de ejemplo de las 3 formas de imprimir gráficas


Secciones: Atributos para asignación de características Funciones
Atributos para asignación de característicasCdibgrf
long tipo=1· Tipo de gráfica: (1)Líneas, (2)Barras (3)Tarta
bool encolor=1· Modo color o escala de grises
bool rotval=1
void rotval (bool tipo, long letra)
· Rotular valores de la serie en el gráfico (en puntos de los de líneas, la cima de las barras, dentro de los sectores de los circulares...). El tipo de rótulo depende del tipo de gráfica: TODOS:(0)Sin rotulo, (1)Valores, LÍNEA:(2)nº de la serie, (3)primero y último, TARTA:(4)porcentaje
bool leyenda=1
void leyenda (bool mostrar, long letra)
· Imprimir o no la leyenda. Como función admite el parámetro 'letra' a utilizar de entre las 5 definidas en el impresor Cimp
bool guiashor=1· Imprimir o no líneas en eje horizontal, con marcas
bool guiasver=1· Imprimir o no líneas en eje vertical, con marcas
long espacio=0· Espacio libre (mm) alrededor de los ejes del gráfico, entre rótulos, leyenda...
bool 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)
long rotejetam· Tamaño de los rótulos de los ejes (en puntos)
cadena rotuloG=""· Título de la gráfica
cadena rotuloX=""· Nombre del eje de abscisas, con la letra con la que se imprime el campo donde va el gráfico
cadena rotuloY=""· Nombre del eje de ordenadas
cadena colorfondo= "FFFFFF"· Color del fondo del gráfico (defecto 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
bool ejeymax· Valor forzado máximo para el eje y
FuncionesCdibgrf
void categorias (Cliscad cat)· Array de cadenas con la lista de categorías. 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
void serie (cadena nom, Clis array_val)· Define los valores para cada serie de las definidas con categorías(). Cada serie recibe el nombre 'nom', y los valores incluidos en la matriz 'array_val'
void libera ()· Libera objeto e 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


Cdxi (Objeto manejador de dibujo 2D)

Muchas funciones tienen parámetros de tipo 'tipcolor'. Se admiten 4 formatos de dato: función- rgb(0,255,255), hexadecimal- 0x2233FF, decimal- 234234, nombre en español o inglés- "azul" o "blue"


Referencias: Cdxi Cbas.Cmap.Cdxi Cbas.Cmap.exporta Cbas.Cmap.exporta0 Cbas.Cmap.exporta_mapa Cbas.Cmap.exporta_capa Cbas.Cmap.exporta_bloque Cbas.Cmap.ven_dxi Cbas.Cmap.ana_dxi Cbas.Cmap.analiza Cbas.Cmap.entD_perfil Cbas.Cmap.entD_panoramica Cbas.Cmap.geomedia Cbas.Cgesvia.recuadros

Secciones:
Definición
Capas
Bloques
Organización
Selección
Cabecera
Archivo
Modos en barra de herramientas superior
Datos en pestaña Cabecera
Variables
Conversión de sistema y unidades
Procedimientos y sistema de coordenadas
Operaciones masivas de gestión
Objetos derivados
DefiniciónCdxi
Cdxi arc (cadena nom_arc)· Carga en un objeto el archivo 'nom_arc' que admite los formatos vectoriales soportados por la aplciación: .dxi, .dxf, .dgn, .shp
CapasCdxi
Cdxicap capa (long capi | cadena capc, cadena capres="")· Crea definición de capa por el identificador 'capi' o el código 'capcod'; opcionalmente se puede poner la descripcióin 'capres'
long capn· Número de capas del objeto Cdxi
Cdxicap capl (long pos)· Devuelve un objeto capa por el orden en la lista de capas
long cap_busca (cadena capc)· Devuelve el identificador por un código de capa. Si no se encuentra, devuelve 0
int cap_elimina (long capi | cadena capcod, bool solocontenido=0)· Elimina capa con identificador capi, si 'solocontenido'=1, mantiene la definición de capa
Crec cap_limite (long capi | cadena capcod)· Rectángulo límite de las entidades de la capa
Clis serie (long pasos, tipcolor col1=0, tipcolor col2=0)· Devuelve una lista de objeto capa Cdxicap creadas con los atributos de color de un degradado entre el color1 y el color2 con el número de pasos (y cardinal) 'pasos'
BloquesCdxi
Cdxiblo bloque (long bloi | cadena bloc, cadena blores="", cadena blopro="")· Crea definición de un bloque por el identificador 'bloi', o código 'blocod'. Se puede especificar una descripción 'blores' y unas propiedades 'blopro' aunque no se deben usar porque modifican el bloque pero no lo definen (por ejemplo con un factor o dimensión), por lo que el bloque tendría otras características que las visibles
long blon· Número de bloques del objeto Cdxi
Cdxiblo blol (long num_blo)· Devuelve un objeto bloque por el orden en la lista de bloques
long blo_busca (bloc)· Devuelve el identificador por un código de bloques. Si no se encuentra, devuelve 0
int blo_elimina (long bloi | cadena bloc, bool soloreferencias=0)· Elimina bloque con identificador bloi, si soloreferencias=1, mentiene la definición de bloque y elimina sólo las inserciones
long blo_importa (Cdxi o archivo_dxi, [blocod o bloide])· Importa el bloque definido por un objeto o archivo dxi sobre el bloque definido por un código o identificador, si no hay identificador definido creo un nuevo bloque. Retorna el identificador del bloque creado o redefinido
bool blo_exporta (blocod o bloide, Cdxi o archivo_dxi)· Exporta el bloque definido por un código o identificador a un objeto o archivo dxi

· Cdxi blo_exporta (blocod o bloide) // Exporta el bloque definido por un código o identificador a un nuevo objeto dxi

OrganizaciónCdxi
cadena orgcap· Obtiene o pone la organización de capas: { "niv(0..7) | abi(0|1) | ico | ide | nombre | \r\n" }
long orgcapn· Devuelve el número de ramas (carpetas de organización) y hojas (capas) que tiene la estructura de árbol de ventana de la ventana Mapa> Capas en el dxi actual. La organización de BD se guarda en el registro cab.tabmap_orgcap
Cdxiorg orgcapl (long ind_org)· Devuelve un objeto de estructura de árbol con los datos de la capa o carpeta 'ind_org' (no el ide de tabla MAPCAP). Cada registro contiene: []
cadena orgblo· Obtiene o pone la organización de bloques: { "niv(0..7) | abi(0|1) | ico | ide | nombre | \r\n" }
long orgblon· Devuelve el número de ramas (carpetas) y hojas (bloques) que tiene la estructura de árbol de la ventana Mapa> Bloques en el dxi actual. La organización de BD se guarda en el registro cab.tabmap_orgblo
Cdxiorg orgblol (long ind_org)· Devuelve un objeto de estructura de árbol con los datos del bloque o carpeta 'ind_org' (no el ide de tabla MAPBLO)
SelecciónCdxi
long seln· Número de entidades seleccionadas en interface
Cdxient sell (long num)· Devuelve un objeto ente con el orden 'num' de entre los seleccionados en ventana
long entn (long ordena)· Monta todas la entidades del dxi y las ordena: (0)texto (1)resumen (2)area (3)área_calculada; retorna el número de entidades
Cdxient &entl (long pos)· Devuelve la entidad en la posición pos de las montandas por entn
CabeceraCdxi
long tip ()· Devuelve el tipo de dxi: (0),(1),(2)
Cpun ref· Referencia absoluta del dxi, es un Cpun cuyas unidades representan kilómetros, a partir del cual se considera que están las coordenadas relativas del dxi. Atributo de lectura y escritura
Crec rec· Recuadro de los límites relativos del dxi en coordenadas internas (mm, cm...) dependientes del factor. Atributo de lectura y escritura
Drec rec_m· Recuadro de los límites relativos del dxi en metros. Atributo de lectura y escritura
long fac· Factor que multiplicado por las unidades internas da las externas en metros reales: factor*unidades_int= metros Ej: 1000 para milímetros, 100 para cms...
clip () (entidad)· quita o pone recorte
ArchivoCdxi
int lee (cadena arcdxi, cadena capas_si="", cadena capas_no="")· Abre un archivo de disco en formato dxi, especificando el camino completo. Opcionalmente se puede indicar una cadena con las capas a importar separadas por punto y coma (;), y otra cadena 'capas_no', con las capas a ignorar
int graba (cadena dxiarc, cadena modif="")· Graba a un archivo en formato dxi, el objeto dxi en memoria, puede llevar los siguientes modificadores en 'modif':

· x<puntos_en_horizontal> y<puntos_en_vert> z<bits_de_color: (2)blanco/negro (8)paleta 256 colores (32)Truecolor> q<porcentaje_compresión_calidad> c<tipo_compresión_TIF: (0)auto (1)sin (2)Huffman (3)CCITT-G3 (4)CCITT-G4 (5)LZW (6)JPEG (7)NeXT>

· Los tres primeros se usan en un volcado a una imagen bitmap, para dar las dimensiones y nº de colores. Los dos siguientes son dependientes del formato de archivo (que se especifica por la extensión):

· Al .JPG le es aplicable la calidad; un valor óptimo es el de defecto "q85" que indica una compresión de un 15%, lo que tiene poca pérdida de calidad

· Al .TIF le es aplicable la compresión, con valor de defcto "c0". El 'modif' "q" sólo es aplicable a TIF si "c5" ó "c6".

int copia (Cdxi dxi2, Crec desplaza=0)· Copia el objeto actual a otro dxi2, opcionalmente indicando un desplazamiento en forma de recuadro Crec con la suma o resta horizontal y vertical del origen del dxi2. Por defecto sin desplazamiento
int agrega (Cdxi dxi2, Crec desplaza=0)· Añade información de un objeto dxi2 al objeto utilizado, opcionalmente con un desplazamiento en forma de Crec, igual que copia()
void calcula ()· Recalcula límites del dxi. Función obligatoria para que los límites de geos, capas, etc estén bien calculados al usar otras funciones en las que se requiere el cálculo de límite de todas las entidades o de capas. por ejemplo la función dentro(). En general se debe usar siempre después de dibujar en un dxi (líneas, bloques, crear capas, recortar, agregar un análisis...) y antes de presentar los resultados (por ejemplo imprimiendo el dxi o exportando a archivo)
void libera ()· Limpia memoria eliminando objeto por completo con todos sus objetos dependientes (bloques, capas...)
int recorta (Crec zom=0 | Cpunl zom, bool incompletos=0)· Recorta el dxi por las coordenadas internas del rectángulo 'rec', o bien por el límite máximo del objeto. Si incompletos==-1, elimina las entidades que no están completas dentro del recuadro, con incompletos==1 recorta líneas con incompleto==2 recorta líneas y elimina bloques; retorna número de recortes
int compacta (bool no_usados=1)· Elimina capas y bloques no utilizados (a menos que se use con no_usados=0), borra geos sin información y recalcula límites
void limpia_escalas ()· Elimina todos los geos escalados (a los que apuntan otros geos). Esta función también la realiza compacta()
Modos en barra de herramientas superiorCdxi

Modos o variables de cabecera y de estado de un DXI. Se corresponden con los modos y herramientas de las ventanas Mapa, Geomapa, Dxi. La asignación de valores indica el valor de defecto si no se cambia. Se explican por su orden de izquierda a derecha en la barra de herramientas o por su posición en la pestaña Cabecera

bool mfon=0· Fondo en color blanco (por defecto es negro)
bool mbyn=0· No mostrar colores, sólo blanco/negro (defecto en color)
bool mbro=1· Modo relleno: (0)sin_relleno (1)con_relleno (2)entrelazado (2)doble_pasada
long mxyz=0· Modo de visualización de coordenadas: (0)Absolutas (1)A origen (2)Relativas (3)Geográficas
bool meje=0· Visualizar ejes con las características definidas en pestaña Cabecera
long mtex=1· Modo de visualización de textos, desde con máxima calidad, pasando por recuadrado envolvente, hasta no dibujar. Los valores son respectivamente: 0,2,7,3,5,1
long mblo=1· Visualización de bloques, mismos valores que mtex
long marc=1· Visualización de círculos, mismos valores que mtex
long mcua=1· Visualización de rectángulos (recuadros de texto, mapas y ortofotos), mismos valores que mtex
obsoleto = mcir 
obsoleto = mrec 
bool msel=0· Mostrar números de vértices de la selección (selección extendida)

· if (nombre == "ment") return 221; // bool ment=1 // OBSOLETO Rellena entrelazando la referencia de fondo. Con 0 no dibuja referencia externa. El orden es: 1ºsolidas, 2ºdifuminadas, 3ºnormales

· if (nombre == "mdob") return 223; // bool mdob=0 // OBSOLETO Rellena con doble pasada (redibujando contornos de las capas bajo capas rellenas sólidas)

long mcal=0· Incremento de calidad (positivo o negativo) para forzar visualización de escalas normalizadas superiores o inferiores a cada zoom
Datos en pestaña CabeceraCdxi

No se guardan en configuraciones de capas, son globales para el dxi

long mtra=0· Modo trazado, activado permite ir viendo los datos de carga y descarga en memoria de los geos y entes
long minc=0· Modo copia con texto incremental. Controla el hacer autoincremental el nº del atributo de una entidad que se está copiando dede interface de ventana
long maju=1· Modo ajusta a punto cercano (imán). Controla la forma en la que al editar desde interface de ventna los puntos se acercan exactamente al punto que cae en el tamaño del cursor
long mpis=5· Tipo de pista a visualizar: (0)Sin pistas (1)Atributo (2)Longitud (3)Superficie (4)Referencia (5)Foto
long msic=0· Modo de conexión a internet: (0*)sinconexion (1)con_cache (2)directa
long muso=30· obsoleto, utilizar huso
long huso=30· HUSO (zona y hemisferio), por defecto 30 (UTM del centro de España), admite número de huso positivo y negativo
long datum=1|"ED50"· DATUM (elipsoide y proyección), por defecto (1)ED50 (2)WGS72 (3)WGS84 (4)ETRS89
long mman=0· Límite de página manual. Permite forzar los límites por fuera o dentro del máximo recuadro de entidades que contiene (más los márgenes mari(), mare())
cadena imafil=""· Filtro de referencias ortos, admite un nombre de filtro de los espeficados para el objeto Cima, con sus parámetros, el filtro se aplicac en tiempo real a las ortofotos
cadena imadir=""· Camino relativo o absoluto al dxi, cuando es un archivo, con el directorio donde se encuentran los archivos .dxi a los que hacen referencia los entes de tipo Mapa (referencias externas) del dxi
cadena imadir2=""· Camino absoluto y link desreferenciados
long mari=0· Margen interno del perímetro máximo del dibujo al 'papel', en porcentaje del tamaño total del dxi
long mare=0· Margen externo del 'papel' a la ventana, en porcentaje del tamaño total del dxi
long ejex=0· Distancia horizontal entre ejes en metros (para mostrar con el modificador meje=1)
long ejey=0· Distancia vertical entre ejes en metros
long ejet=0· Tamaño en metros de las cruces intersección de ejes (por defecto contínuos)
long emin=0· Escala global mínima del dxi (aplicable para incorporar en BD como mapa y escalar); desde interface no se puede modificar
long emax=0· Escala global máxima del dxi
VariablesCdxi
int var_elimina (Cdxi dxi, cadena var)· Elimina la variable 'var' de todas las entidades del Dxi donde aparezca
int var_acapas (Cdxi dxi, cadena var)· Crea una capa en el dxi, con el código de la variable, y las entidades asociadas a ella
int var_amapas (Cdxi dxi, cadena var)· Crea un mapa en el dxi, con el código de la variable, y las entidades asociadas a ella
Conversión de sistema y unidadesCdxi
Dpun utm2geo (Dpun pun, long zona=huso, long datum=datum)· Convierte coordenadas del punto 'pun' (x,y) en UTM de una zona y hemisferio, a coordenadas gográficas (longitud y latitud)
Dpun geo2utm (Dpun pun, long zona=huso, long datum=datum)· Convierte un punto 'pun' de coordenadas geográficas a UTM (inversa de utm2geo())
Dpun utm2utm (Dpun pun, long zona1, long zona2, long datum1=datum, long datum2=datum)· Cambia de huso, convierte las coordenadas x,y UTM del punto 'pun' de una zona/hemisferio a otro
Clis mgrs2utm (cadena coord_geograf)· Devuelve una lista con los datos de referencia UTM [x_este, y_norte, zona, hemisferio], para una latitud y longitud
long | Cpun | Cpun | Cpunl de_m (double d | Dpun p | Drec r | Dpunl pl)· Pasa de metros a coordenadas internas, las del objeto pasado como parámetro (distancia, punto, recuadro o lista de puntos)
long | Cpun | Cpun | Cpunl a_m (long d | Cpun p | Crec r | Cpunl pl)· Función inversa a de_m(), pasa objetos en coordenadas internas a metros
Procedimientos y sistema de coordenadasCdxi
Cdxient entbusca (Cpun p)· Devuelve la entidad dentro de la que se encuentra el punto
int grafico (cadena datos)· Dibuja una gráfica estadística de líneas, barras o sectores, con los parámetros de la estructura 'datos' cuyo formato está documentado con ejemplos en el script: ejegra·'Ejemplo de funciones gráficos estadísticos (Cdxi)'
int afactor (long fac)· Cambia el factor de las unidades internas (unidades_internas / factor = metros)
int arefer (Cpun ref)· Cambia la referencia absoluta (en km)
int acorrec (double fac)· Desplaza la referencia absoluta sumándole o restándole el factor, pero no sólo modifica el campo referencia, sino que desplaza los puntos
int aorigen (Cpun ori, bool punto_2=0)· Desplaza origen absoluto del objeto al punto 'ori'. Si 'punto_2'=1, se desplaza el extremo superior derecho del límite del objeto hasta el 'pun', en vez del origen relativo
int atamano (long tam, bool eje_y=0)· Modifica tamaño de un DXI de bloque, manteniendo proporción, poniendo las dimensiones internas 'tam' en ancho (por defecto) o alto (si 'eje_y'=1)
int apoligono(long radio, long lados, cadena mod="")· Modifica forma de un DXI de bloque o lo define
OBSOLETO usar apoligono 
obsoleta 
int ahuso (long huso2)· Desplaza el sistema de referencia de un huso a otro, modifica campo y desplaza coordenadas. Permite convertir entre husos del sistema UTM a de coordenadas geográficas
int adatum (cadena|long datum2)· Desplaza el sistema de referencia de un datum a otro, modifica campo y desplaza coordenadas
int desplaza (Cpun des, int que)· Desplaza des; que: (0)todo (<0)ide_de_mapa (>0)ide_de_capa
Operaciones masivas de gestiónCdxi

En todas estas funciones se puede especificar un identificador de capa contra la que va la operación. Por defecto va contra todas las del objeto

int empaquetar (long capi=0)· Realiza una operación de compactación de huecos en geos (los entes eliminados quedan como huecos en la lista para mantener referencias)
int equilibrar (long capi=0)· Realiza una distribución geográfica de geos para optimizar al carga y descarga de memoria al navegar por zonas contiguas. Muy importante en producción tener las capas grandes equilibradas, más que el escalado incluso
int escalar (long capi=0)· Crea geos escalados (con menos detalle) para escalas superiores, de los entes de capas que se ven a escalas muy grandes. Opcionalmente también se escala la definicón de bloques cuando es necesario (por ejemplo para bloques muy grandes y/o complejos)
int desescalar (long capi=0)· Función contraria a escalar(), eliminar todos los geos escalados, por ejemplo cuando se quiere trabajar sin ellos o cuando se cambian de escala muchas capas
long originales (long capi=0)· Escala originales eliminando puntos de la definición real de entes quitando los que son co-liniales a las escalas especificadas. Si hay algún error devuelve -1 y sino, el número de puntos originales eliminados
Objetos derivadosCdxi
Cdxi Cdxi()· Devuelve un objeto con modos de BD


Cdxiblo (Objeto manejador de definición de bloques gráficos Dxi)

Referencias: Cdxi.bloque Cdxi.blol
long ide()· Identificador de bloque
cadena cod()· Código del bloque
cadena res()· Nombre del bloque
cadena pro()· Campo propiedades del bloque, donde se especifican: forma, tamaño, realzado, escalas máxima y mínima...
Crec tam()· Recuadro límite envolvente del bloque en coordenadas internas
Drec tam_m()· Recuadro envolvente en m
long fac()· Factor de unidades (unidades/factor=metros)
long ico()· Icono de bloque
bool vis()· Es visible
bool cob()· Devuelve 1 si se le asigna color por las capas de bloque, y no por la capa en la que se encuentre (marca de Color por bloque en ventana Bloques)
Cdxicap capa (long capide)
Cdxicap capa (cadena capcod, cadena capres="")
· Devuelve un objeto capa identificado por el identificador 'capide' o el código 'capcod', o lo crea si no existe (opcionalmente con el nombre 'capres'). Esta capa pertenece al objeto bloque
long capn()· Número de capas de definición del bloque (por defecto una con el código "0")
Cdxicap capl (long capide)· Devuelve un objeto capa identificado por 'capide' de entre las que definen el bloque
int calcula()· Recalcula limites (blo.rec); si vacio pone defecto

· faltan icono() y visible()



Cdxicap (Objeto manejador de capas DXI)

Las capas agrupan geos o paquetes de información Cdxigeo, poniendoles características comunes de visibilidad, color, relleno, orden de dibujo...

El 'color' como parámetro de funciones, y como tipo de dato, admite un número hexadecimal con las 2 componentes R(rojo) G(verde) B(azul) de 0 hasta 256 cada uno, con la notación hexadecimal '0xFF00FF' (en este caso, magenta que es el resultado de rojo al máximo, verde a cero y azul al máximo). También se admiten las tres componentes iguales (lo que equivale a la gama de grises), especificando sólo una de ellas (como '0xEE'). También se admiten nombres de colores en inglés o español, como 'rojo' o 'blue', definidos en el archivo personalizable \macros\csv\colores.csv


Referencias: Cdxi.capa Cdxi.capl Cdxiblo.capa Cdxiblo.capl

Secciones:
Sólo en capas
Tipo de lápiz (pen)
Tipo de relleno (brush)
Tipo de letra (font)
Datos de geos y capa
Datos de geos
Datos de entes
Funciones de dibujo
Obsoletas
Sólo en capasCdxicap
int editable· Modo de editabilidad en cuanto a seleccionar y arrastrar o crear nuevos entes (las herramientas pueden editar siempre que la BD esté en edición)

· El estado puede ser: (0)bloqueada o no editable, (1)editable, (2)sólo seleccionable. En tablas de BD sólo se guardan los estados 0 y 2 por seguridad

int visible· Modo de visibilidad guardado en BD en el campo mapcap.vis. Puede contener: (0)oculta, (1)visible, (2)difusa, en color gris
bool ilimitada· Propiedad ilimitada, si es cierta, el tamaño de la capa no influye en el cálculo de límites del dxi
long icono· Núm. de identificador de icono de la capa. Se guarda en BD en el campo mapcap.ico y hace referencia a la posición dentro del bitmap \Graficos\icotip16.bmp
void libera· Libera contenido de memoria del obketo capa
Tipo de lápiz (pen)Cdxicap
long pentip (long tip=0)· Código de estilo de línea según estándar de Windows: (0)continua (1)guiones (2)puntos (3)guión-punto (4)guion-punto-punto (5)nula (6)INSIDEFRAME
long pengru (long gru=-1)· Grosor de línea en unidades lógicas
long penrgb (cadena color="negro")· Color de línea
long penmod (long mod=0)· Modo de esquinas (0)ROUND (1)SQUARE (2)FLAT
Tipo de relleno (brush)Cdxicap
long brutip (long tip=0)· Estilo de relleno estándar de Windows: (0)sin_relleno, (1)sólido (2)HS_HORIZONTAL, (3)HS_VERTICAL, (4)HS_FDIAGONAL[\], (5)HS_BDIAGONAL[/], (6)HS_CROSS[+], (7)HS_DIAGCROSS[x]. A partir del 8, definidos por el usuario en el bitmap \graficos\icotra_16.png
long bruope=8· Operación booleana binaria a realizar cuando coinciden dos puntos uno encima de otro (esto permite diversos tipos de trasparencia de rellenos). Valores (0-15) se corresponden con la lista 'ventana Capas> Color> Operación' y ver el resultado en subpestaña 'Muestra': (0)Negro (4)relleno y fondo transparentes (5)inverso sin relleno ni fondo (9)relleno con fondo transparente (15)blanco
color brurgb="negro"· Color de relleno, con el que se colorean las tramas
color brurgb1="negro"· Sinónimo de brurgb()
color brurgb2="blanco"· Color de fondo en relleno (segundo color de relleno)
long brumod=1· Modo relleno de intersecciones cuando se superponen áreas cerradas de la misma capa: (0)Alterno (1)continuo
Tipo de letra (font)Cdxicap

En cada descripción se ponen los valores de defecto y los más comunes

double fonalt ()
(double alt)
· Altura en metros de los textos en la capa (única para todos los textos de una capa); si <0 en pixels
double fonanc ()
(double anc)
· Anchura en metros de los textos en la capa (única para todos los textos de una capa); si <0 en pixels
color foncol="negro"· Sinónimo de brurgb(). Por una rareza de windows, el color de fuente es el mismo que brurgb(), en vez del lápiz, pero nosotros ponemos color con el de borde. Este valor no se controla en la aplicación desde el diálogo estándar de selección de fuente
long fonali· Alineación de fuente sobre la línea base
long fon_height· Altura en unidades lógicas, el valor 0 implica altura sin entrelineas. Este valor no se controla en la aplicación desde el diálogo estándar de selección de fuente
long fon_width· Anchura media de fuente
long fon_escapement· Giro en décimas de grado sexagesimal, contrareloj desde las "3"
long fon_orientation· Orientación en décimas de grado sexagesimal
long fon_weigth (long peso=400)· Grosor (negrita) de fuente, admite los valores de 100 en 100: (0)DONTCARE no_se_considera (100)THIN (200)EXTRALIGHT (300)LIGHT (400)NORMAL (500)MEDIUM (600)SEMIBOLD (700)BOLD (800)EXTRABOLD (900)HEAVY. Se controla en la aplicación desde el diálogo estándar de selección de fuente
bool fon_italic=0· Itálica (cursiva): valor activado o no. Se controla en la aplicación desde el diálogo estándar de selección de fuente
bool fon_underline=0· Subrayada: valor activado o no. Se controla en la aplicación desde el diálogo estándar de selección de fuente
bool fon_strikeOut=0· Tachada: valor activado o no. Se controla en la aplicación desde el diálogo estándar de selección de fuente
long fon_charSet=0· Juego de caracteres. Los más habituales son: (0)ANSI (1)DEFAULT (2)SYMBOL (77)MAC (186)BALTIC (238)EASTEUROPE (255)OEM
long fon_outprecision=0· Precisión de contorno, valores (0-10): (0)DEFAULT (1)STRING (2)CHARACTER (3)STROKE (4)TRUETYPE (5)DEVICE (6)RASTER (7)TRUETYPE_ONLY (8)OUTLINE (9)SCREENOUTLINE (10)POSTSCRIPT
long fon_clipprecision=0· Precisión de recorte, valores (0)CLIP_DEFAULT_PRECIS (1)CLIP_CHARACTER_PRECIS (2)CLIP_STROKE_PRECIS (255)CLIP_MASK Hay otros dependientes de la versión de Windows
long fon_quality=0· Calidad (0)DEFAULT_QUALITY (1)DRAFT_QUALITY (2)PROOF_QUALITY ...
long fon_pitchandfamily=0· Tipo de familia: (0)DEFAULT ó DONTCARE (1)FIXED (2)VARIABLE (8)MONOSPACING (16)ROMAN (32)SWISS (48)MODERN (54)SCRIPT (80)DECORATIVE
cadena fon_faceName (cadena familia="verdana")· Nombre de familia, como: arial, courier, timesnewroman... Se controla en la aplicación desde el diálogo estándar de selección de fuente
Datos de geos y capaCdxicap
long ide ()· Identificador de capa
cadena cod ()· Código de capa
cadena res ()· Nombre de capa
cadena pro ()· Propiedades de capa, donde se permite especificar: si se rotula el atributo asociado de diversas formas, textos con divisiones de longitud sobre las entidades, un bloque mapeado siguiendo la forma de las entidades, un regruesado dibujado...
cadena dir ()· Directorio de capa, para entidades F y M el camino de archivos externos se forma con: directorio_mapa+directorio_capa+directorio_entidad
color col ()· Color de capa, con todos los admitidos en funciones de Cdxi
long emin ()· Escala mínima de representación de capa, en una inferior a esta, se oculta
long emax ()· Escala máxima de representación de capa
Datos de geosCdxicap
long geon ()· Número de geos de la capa
Cdxigeo geol (long geoi)· Devuelve un geo con el identificador 'geoide' de los que componen la lista de paquetes de la capa
Datos de entesCdxicap
long entn (long orden)· Monta las entidades en todos los geos de la capa. El criterio de ordenación según el parámetro opcional 'ordena': (0)texto (1)resumen (2)area (3)área_calculada; retorna el número de entidades
Cdxient entl (long entide)· Devuelve un objeto ente Cdxient con el identificador 'entide'
long clip· Pone los polígonos de la capa como región de recorte, se desactiva despues de dibujar
Funciones de dibujoCdxicap

El parámetro <punto/s> es una lista de una o varias coordenas (x,y) y admite varias sintaxis: Clislong de coordenadas [x1,y1,x2,y2,x3,y3...], Clis con arrays de puntos como [[x1,y1],[x2,y2],[x3,y3],...], Cpunl objeto lista de puntos, Cpun para un punto

En todas las funciones -excepto texto() y textos()-, el parámetro 'tex' es el atributo que se puede poner a cualquier entidad; en textos el atributo es el propio texto

Todas las funciones devuelven 0 si no se producen errores

int linea (<puntos>, cadena texto="", bool cerrada=0)· Inserta en la capa una entidad tipo L, línea con varios segmentos (a partir de 2 puntos)
int curva (<puntos>, cadena texto="")· Inserta en la capa una entidad tipo C, curva de 1(punto), 2(círculos y elipses) y 3 o mas (splines)
int texto (<puntos>, cadena texto, alt=0, alin=0, rot=0)· Inserta una entidad tipo T(texto). Inserta el texto 'tex' en el punto 'punto', con la alineación 'alin' indicada (teniendo en cuenta que 0 en la esquina inferior izquierda de la caja que contiene el texto y los 9 puntos de control se numeran hacia la derecha y hacia arriba: la esquina superior derecha es 8).

· Se le puede dar una rotación 'rot' -en grados y sentido anti-horario-, pivotando sobre el punto opuesto al de inserción, y una altura en metros 'alt', que si no se especifica, es la de textos de la capa

· Si no se especifica alt, alin no rot, el texto se insertará con un punto tomando dinámicamente la altura y alineación de la capa

int textos (<puntos>, Cliscadl texl, alt=0, ali=0, rot=0, desx=0, desy=0)· Permite dibujar varias entidades tipo T con iguales características en una sola función. Los parámetros son los mismos que en texto(), excepto que texl es una lista de cadenas en vez de una cadena

· Admite dos últimos parámetros de desplazamiento, para indicar un solo punto de inserción y un desplazamiento horizontal y/o vertical en metros, de cada uno de los textos respecto al anterior. El orden de textos es el de definición en el array

int bloque (<punto>, long bloi|cadena bloc|Cdxiblo blo, alt=0, ali=4, rot=0, tex="")· Inserción de un bloque (entidad tipo B) definido en el 'punto' y referenciado mediante un identificador de bloque 'bloi' de la tabla MAPBLO, un código de bloque 'bloc' o un objeto bloque Cdxiblo

· Se le puede dar un tamaño de alto 'alt' en metros, que si no se indica será el tamaño de definición, una alineación respecto al punto de inserción (por defecto al centro del bloque, que es el punto virtual 4 del recuadro envolvente), y una rotación en grados con sentido anti-horario

int bloques (<puntos>, bloi|bloc|blo, alt=0, ali=4, rot=0, tex="", desx=0, desy=0)· Permite dibujar varias entidades tipo B con iguales características en una sola función. Los parámetros son los mismos que en bloque()

· Admite dos últimos parámetros de desplazamiento, para indicar un solo punto de inserción y un desplazamiento horizontal y/o vertical en metros de cada inserción respecto a la anterior

int rectangulo (Crec rec, cadena tex="")· Inserta un recuadro con las coordenadas internas del parámetro 'rec'. El texto multilínea 'tex' se ajusta a la forma del recuadro. Si no se quiere borde, hay que seleccionar estilo de línea 'NULL'
int recuadro (Crec rec, cadena tex="")· Sinónimo de rectangulo()
int ortofoto (Crec rec, cadena tex="")· Inserta una ortofoto (ente de tipo F) con las coordenadas del recuadro. Los archivos pueden ser de los formatos soportados por la librería gráfica del programa (habitualmente .JPG)
int ortomapa (Crec rec, cadena tex="")· Inserta una referencia a un mapa externo (ente de tipo M) con las coordenadas del recuadro. Los archivos externos sólo pueden ser .DXI
int tubo (Cpunl pl, double ancho, double largo, cadena tex="")· Inserta un poligono dibujado como paralelas a ambos lados de una línea() o polígono(). Al estar cerrado se puede rellenar, pero no sobrecarga el sistema como el grosor de línea, y puede ser de diversos tamaños en la misma capa

· Los parámetros son: la lista de puntos 'pl' que es el eje del tubo a dibujar, el radio 'ancho' en metros, y la distancia en metros de 'largo' por cada extremo si es una línea abierta

int flecha (Crec rec, double lar_eje, double lar_punta, long porcen=100, cadena tex="")· Dibuja una flecha tomando como eje de referencia el vector del recuadro 'rec'. 'lar_eje' es la longitud de la base de la flecha, desde el centroide de la cabeza hasta el extremo trasero; 'lar_punta' es la longitud en coordenadas internas de la base de la cabeza de flecha a la punta;
int poligono (Cpun pun, double rad, long lados, cadena mod="", cadena tex="")· mod: c1(Cerrado) s0(Sentido reloj) g0(Grados punto incial)

· Inserta centrado en el punto 'pun' un objeto de forma básica como los que se pueden definir en bloques, a partir de 2 lados: un aspa, triángulo, cuadrado, pentágono, hexágono... Se especifica un radio 'rad' en metros desde el centro de la forma, y el nº de 'lados'

OBSOLETA usar poligono 
int circulo (Cpun pun, double rad, cadena tex="")· Inserta un circulo, de radio 'rad' en metros, apoyado
int arco (Cpun pun, double rad, long ang1=0, long ang2=0, long gra=5, cadena tex="")· Inserta una línea como con linea(), pero trazando un arco regular con punto de apoyo 'pun', radio 'rad' en metros, y dibujado entre el ángulo 'ang1' y 'ang2' (en sentido anti-horario) el número de puntos del arco depende de la precisión de cada segmento en grados (por defecto 5, o sea, 72 segmentos por círculo)
int elipse (Cpun pun, double rad1, double rad2, long rot=0, long ang1=0, long ang2=0, long gra=5, cadena tex="")· Inserta una línea elíptica, como arco(), pero especificando un radio mayor 'rad1' y uno menor (vertical) 'rot2' en metros, en torno a los cuales se traza la elipse, con además los mismos parámetros que la otra función
int entidad (Cdxient ent)· Inserta en la capa en objeto ente 'ent' que puede ser de cualquier tipo, y ya
void calcula ()· Calcula límites de geos y agrega a general
void geos_cierra ()· Cierra geos de la capa (no se agregan entidades a ellos)
void entT_anchura (altura_de_capa=0)· Recalcula anchura de textos; si altura de capa fuerza altura de capa
void entT_apunto ()· Ajusta textos a un punto
void entT_colisiones ()· Resuelve colisiones entre entidades de texto
ObsoletasCdxicap
datos ()· Datos de geos con la antigua sintaxis de cadena de texto tipo: "geo|dat|geo|dat..."
activa ()· Ver atributo editable()
difusa ()· Ver atributo visible()


Cdxient (Objeto manejador de entes geométricos DXI)

Los entes o entidades son la unidad gráfica de información más pequeña (salvo los puntos, de los que se componen). Se agrupan en una lista conformando paquetes o Geos (objetos Cdxigeo)


Referencias: Cdxi.sell Cdxi.entl Cdxi.entbusca Cdxicap.entl Cbas.Cmap.entidad

Secciones: Datos del ente Edición Referencia Conversión
Datos del enteCdxient
cadena tex ()· Devuelve la cadena atributo de texto asociado al ente. Este atributo se suele usar para guardar las variables definidas en pestaña Variables o importadas de archivos .SHP, para guardar los códigos de conceptos asociados cuando se geodesreferencia, guardar los caminos y nombres de archivo en las entidades ortofoto o mapa, y otros...
cadena texto ()· Devuelve el texto de tex() sin parámetros (separador punto y coma (;))
cadena codigo ()· Devuelve el texto de tex() hasta el primer espacio por la izquierda
cadena resumen ()· Devuelve el texto de tex() a partir del primer espacio por la izquierda
Dpunl punl_m ()
Dpun punl_m (long puni)
· Devuelve la lista de puntos ordenados, que componen el objeto; o el punto de orden 'puni' del objeto. Los puntos devueltos están en coordenadas externas en metros
Drec limite_m ()· Recuadro en coordenadas externas (metros) con el límite de la entidad
Crec limite_mm ()· Recuadro en coordenadas internas (normalmente mm) con el límite de la entidad
double perimetro_m ()· Cantidad con el perímetro de la entidad en metros
double area_m2 ()· Cantidad con el área de la entidad en m2
EdiciónCdxient
int cambia (cadena tex)
int cambia (
Cpunl|Dpunl pl)
· Modifica el ente, cambiando el atributo tex() por el texto 'tex'. Tambien admite una lista de puntos 'pl' (Cpunl ó Dpunl)

· / if (nombre == "cambia_tipo") return 1031; // int cambia_tipo (tip, bloi|bloc) // Cambia el tipo o bloque de entidad, admite identificador o código de bloque

· / if (nombre == "cambia_capa") return 1032; // int cambia_capa (capi|capc) // Cambia la capa de la entidad, admite identificador o código de capa

· / if (nombre == "cambia_mapa") return 1033; // int cambia_mapa (mapi|mapc) // Cambia el mapa de la entidad, admite identificador o código de mapa

ReferenciaCdxient
long mi()· Identificador de mapa en que se encuentra la entidad
long ci()· Posición de capa Cdxicap
long gi()· Posición de geo Cdxigeo
long di()· Posición de dato Cdxient
long pi()· Posición de punto Cpun
char tip()· Caracter con el tipo de ente=geo: (L)ínea, (B)loque, (C)írculo, (T)exto, (R)ecuadro, (M)apa, oto(F)oto
long ide()· Identificador de geo al que pertenece el ente
long geoi()· Identificador de geo escalado relacionado con el que contiene al ente
long bloi()· Identificador de bloque, si es un ente de tipo 'B'
long coni()· Modifica ent.tex si con georreferencia
Cpun pun()· Punto de entidades '.'
ConversiónCdxient
long | Cpun | Cpun | Cpunl de_m (double|Dpun|Drec|Dpunl)· Convierte un real, objeto punto, recuadro o lista de puntos en coordenadas externas (metros) a sus correspondientes en internas: un entero, punto, recuadro o lista en milímetros (por ejemplo), respectivamente
double | Dpun | Drec | Dpunl a_m (long|Cpun|Cpun|Cpunl)· Función inversa a de_m(), pasa un nº entero, objeto punto, recuador o lista de puntos, de coodenadas internas a metros


Cdxigeo (Objeto manejador de Geos (paquetes de entes) Dxi)

Estos paquetes homogéneos componen las capas Cdxicap; son homogéneos por tipo de ente y dentro del tipo (B)loque, por cada bloque distinto. Puede haber varios del mismo tipo por capa, al hacer un equilibrado o distribución geográfica


Referencias: Cdxicap.geol

Secciones: Datos del geo Edición de entes
Datos del geoCdxigeo
long ide· Devuelve el identificador del geo dentro de una capa (único en BD, no secuencial y repetido como los entes en los geso y los puntos en los entes)
char tip· Caracter con el tipo de geo, por la información que lo compone: (L)ínea, (B)loque, (C)írculo, (T)exto, (R)ecuadro, (M)apa, oto(F)oto
long emin· Escala mínima de representación del geo, análoga a la de capas Cgeocap; se parte de la más genérica de la capa y se restringe por el tipo o tamaño de los entes en el geo
long emax· Escala máxima de representación del geo, análoga a la de capas Cgeocap
long bloi· Identificador del bloque en la tabla GEOBLO, sólo si el geo es de tipo (B)loque
long geoi· Identificador de otro Geo en el misma capa que es un escalado del objeto actual a escalas superiores. Sólo los geos con los datos reales tienen geoi=0
Crec rec· Rectángulo máximo envolvente de todos los entes del geo, en coordenadas internas (mm,cm...)
Drec rec_m· Rectángulo máximo en coordenadas externas (m)
long entn· Número de entes del geo
Edición de entesCdxigeo
Cpunl entl ()
Cpun entl (long entide)
· Devuelve la lista de entes ordenados, que componen el objeto; o el ente de orden 'entide' del objeto. Los entes devueltos tienen coordenadas internas (mm, cm...)
int elimina (entide)· Elimina el ente de orden 'entide' de la lista de entidades del geo


Cdxiorg (Objeto manejador de estructuras de árbol de DXI)

Las estructuras de árbol en ventanas de capas y bloques son un campo de texto en la tabla CAB de cabecera de BD. Los registros que contienen esos textos: 'tabmap_orgcap' y 'tabmap_orgblo', con la siguiente estructura por cada línea del árbol:

Tanto ramas (carpetas) como hojas (capas o bloques): 'niv | abi | ico | ide | nombre | visible || editable | \r\n'

Para editar la estructura hay que reescribir el campo con el texto completo. Para recuperar datos, tenemos varias funciones:


Referencias: Cdxi.orgcapl Cdxi.orgblol
bool que()· Indica tipo de estructura: (0)capa (1)bloque
long pos()· Devuelve un entero con la posición de la hoja (capa/bloque) en el árbol
long niv()· Devuelve el nivel de adentrado. En carpetas de 0 a 7, en hojas calculado en función de la carpeta en la que está
int abi()· Devuelve en estado de si la carpeta está 'abierta' o expandida, mostrando las hojas: (0)no, (1)si. En hojas siempre devuelve -1
long ide()· En hojas, el identificador de hoja (capa o bloque) que apunta a las tablas MAPCAP y MAPBLO de BD donde se almacenan capas y bloques con sus características. En carpetas siempre devuelve 0
cadena res()· En carpetas, devuelve la descripción. En hojas siempre devuelve "" (la información está en las tablas de capas y bloques)


Cftp (Objeto manejador del protocolo FTP)

Asignado a una variable, crea un objeto que representa un servidor FTP y permite realizar la conexión, subida y bajada de archivos mediante ese protocolo, y las funciones normales de gestión de archivos y directorios. Hay un ejemplo script en 'webd_ftp·Web. FTP', que es el módulo que utiliza la ventana de Herramientas web


Referencias: Cftp

Secciones: Funciones
FuncionesCftp

Todos los comandos de archivo y directorios, trabajan desde el directorio raíz establecido por el método open(), y se refieren al directorio actual establecido por el comando cd(), o bien deben llevar el camino completo desde ese directorio raíz

int open (cadena servidor, cadena usuario, cadena contraseña, modo_pasivo=-1)
int open (cadena url_completa, modo_pasivo=-1)
· (0)no (1)si (-1)ini

· El servidor puede incluir opcionalmente el protocolo 'ftp://'

· La url_completa debe incluir todo el formato DNS como 'ftp://usuario:contraseña@ftp.ingra.com'

int close ()· Cierra conexión con el servidor
int get (cadena arc_remoto, cadena arc_local="")· Baja o descarga el archivo arc_remoto. Si no se especifica arc_local, se devuelve el contenido del archivo
int put (cadena arc_local, cadena arc_remoto, bool estexto=0)· Sube a ftp o graba en el directorio remoto con el nombre arc_remoto el archivo arc_local. Si estexto=1 se considera que el parámetro arc_local es el propio contenido del archivo de texto
int del (cadena arc_remoto)· Borra el archivo en el directorio actual o espeficicado
int ren (cadena arc_remoto, cadena nuevo_nombre)· Cambia el nombre de un archivo en ftp si el servidor lo permite (arc_remoto debe existir)
int cd (cadena dir_remoto)· Cambia el directorio de trabajo remoto; se devuelve un valor distinto de 0 si hay un error que impide el cambiuo
int md (cadena dir_remoto)· Crea el directorio remoto (se deben tener los permisos necesarios)
int rd (cadena dir_remoto)· Elimina el directorio
Clis ls (cadena mascara, long filtro=0)· Recupera una lista cuyos elementos son arrays con la información [nombre,es_directorio,tamaño(bytes),fecha,hora] de los nombres de archivos y/o directorios contenidos en un directorio remoto. En el camino se admiten caracteres comodín para establecer una máscara (como "programas/datos/*.exe"). El filtro puede ser: (0)archivos, (1)directorios (2)todos
int getd (dir_remoto, dir_local)· Descarga todo el contenido del dir_remoto al dir_local
int putd (dir_local, dir_remoto)· Pone en el directorio dir_remoto todo el contenido del directorio dir_local
bool sincroniza (cadena dir_local, cadena dir_remoto, cadena mod)· Pone en el directorio dir_remoto todo el contenido del directorio dir_local, mod(modificadores): p-1(modo_pasivo -1ini 0no 1si) t0(traza 0no 1si)
bool sincroniza (cadena dir_remoto, cadena dir_local, cadena mod)· Pone en el directorio dir_local todo el contenido del directorio dir_remoto, mod(modificadores): p-1(modo_pasivo -1ini 0no 1si) t0(traza 0no 1si)


Cgra (Objeto gestor de imágenes)

Gestiona mediante la librería CXimage, el manejo de gráficos ima y vectoriales. Existe otro objeto Cbas.Cima para funciones aplicables a gráficos de BD


Referencias: Cgra

Secciones: Métodos de lectura y grabación Métodos de devolución de propiedades Métodos de creación y modificación Métodos especiales
Métodos de lectura y grabaciónCgra
int lee (cadena archivo="")· Carga en el objeto la imagen asociada al 'archivo'. Si no indicamos ningún archivo, cargará la imagen actual del portapapeles

· int lee (Cgra gra) // Todas las funciones que devuelven un 'int', devuelven 0 si la operación se realizan sin errores

int graba (cadena archivo="", cadena mod="q100")· Sin parámetros pone la imagen actualmente cargada en el objeto en el portapapeles. Se puede grabar en un 'archivo' que puede ser expresado como una ruta relativa a partir del directorio de gráficos de la aplicación. Se pueden especificar modificadores en el parámetro 'mod', con los valores:

· int graba (Cgra gra) // q<porcentaje_compresión_calidad> al formato .JPG le es aplicable la compresión (un valor óptimo es "q85" que indica una compresión de un 15%, lo que tiene poca pérdida de calidad)

== lee 
Métodos de devolución de propiedadesCgra
long tip ()· Tipo de imagen: (0)no hay imagen, (1)DIB, (2)EMF, (3)DXF, (4)DXI, (5)XIM
long ancho ()· Número de píxeles que la imagen tiene en horizontal
long alto ()· Número de píxeles que la imagen tiene en vertical
long planos ()· Número de planos de la imagen

· bool planos (long pla) // Pone número de planos

cadena rotulo ()· Rótulo con características de la imagen (dimensiones, bits de color, tamaño, compresión...)
bool vectorial ()· Devuelve distinto de 0 si la imagen es vectorial
Métodos de creación y modificaciónCgra
int nueva (long ancho, long alto, long planos=24)· Crea una imagen nueva con fondo blanco y el tamaño 'ancho', 'alto' y número de 'planos' especificados (24 bits es color verdadero o TrueColor).
bool mezcla (Cima ima, long x, long y, long copia=0)· Mezcla la imagen actual con la indicada en el parámetro 'ima'

· Los parámetros 'x' y 'y' definen desplazamientos en horizontal y vertical para la imagen 'ima' sobre la actual

· El parámetro 'copia' es opcional, si no copia mezcla si origen tiene transparencias

bool filtra (cadena filtro)· Aplica un 'filtro' a la imagen actual. Estos filtros son los mismos que se aplican en Pestaña Concepto> Gráficos> Filtros. La documentación de nombres y parámetros de filtros también se encuentra en el script: '\Ejemplos \EJEMPLOS CON GRÁFICOS BITMAP Y VECTORIALES \ejegrafil·Documentación filtros de imágenes (Cima)'
Métodos especialesCgra
cadena propiedades ()· Metadatos
bool pon_argb (x,y,argb)· pone argb en x,y
bool pon_rgb (x,y,rgb,alfa=255)· pone rgb en x,y
argb ten_argb (x,y)· obtiene argb den x,y
rgb ten_rgb (x,y)· obtiene rgb de x,y


Chor (Objeto fecha/hora para intervalos horarios)

Asignado a una variable, crea un objeto de tipo fecha-hora, que permite gestionar operaciones complejas con fechas (como calcular periodos, restar o sumar días a fechas, calcular fechas sumando horas, etc.)

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).

Se puede ver un ejemplo de utilización de muchos modificadores en el informe "\Colecciones especiales\Ejemplos\Ejemplo de uso del objeto Chor"

El constructor habitual del objeto es: Chor (hor, min, seg, es_intervalo=1), cada uno de los tres valores puede ser entero o real, positivo o negativo, y son opcionales quitando por la derecha


Referencias: Chor

Secciones: Devuelven objeto
long hors· Horas del objeto
long mins· Minutos del objeto
long segs· Segundos del objeto
void ponintervalo ()· Asignándole el valor 1, se fuerza el formato del objeto a intervalo, con el valor cero, se fuerza a formato hora
bool esintervalo ()· Devuelve el valor verdadero (1) si el formato es de intervalo o cero, si es de hora
void ponhora (long hor)· Asignándole un valor entero 'hor', establece sobre el mismo objeto Chor 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
void redaminutos ()· Redondea a minutos el objeto
void redhoras ()· Redondea a horas el objeto
cadena cadena (bool completo=0)· Devuelve una cadena con la hora formateada en el formato completo si 'completo'=1, o el más breve posible (eliminando ceros por la derecha) por defecto. Ej: h1=Chor(2,1) y h1.cadena(1) sería 2:00:00 pero h1.cadena sería 2
long entero ()· Devuelve el objeto hora en formato número entero. Ej: h= Chor(120523), h.entero sería el número 120523
double doble ()· Devuelve el objeto hora en formato real largo, con la misma hora 12:05:23, se devolvería el número real 23,216666666667
int suma (long hor, bool esreal=0)· Aplicada sobre un objeto de clase hora, lo modifica añadiéndole el número de horas, min, y seg. de la hora hor
int resta (long hor, bool esreal=0)· Equivalente a suma(), devuelve la diferencia de horas entre la del objeto y 'hor' en el objeto en el que se aplica la función, pudiendo especificar si el parámetro es un nº real
Devuelven objetoChor
Chor suma2h (long hor, bool esreal=0)· Devuelve la suma de la hora 'hor', al objeto hora sobre el que se aplica la función, pero se devuelve un valor, no se modifica el objeto
Chor resta2h (long hor, bool esreal=0)· Equivalente a suma2h(), devuelve la diferencia de horas entre la del objeto y 'hor' en un objeto Chor, pudiendo especificarse si 'hor' es un nº real
Chor divide2h (long|float fac)· La función devuelve un objeto cuya hora es el valor de dividir la del objeto entre el factor 'fac' divisor entero o real. Ej: si h=13:00:00, h2= h.divide2h(2), h2 será 6:30:00 dejando en h su valor
Chor multiplica2h (long|float fac)· Equivalente a divide2h(), devuelve otro objeto con la hora multiplicada por el factor 'fac'


Chttp (Objeto manejador del protocolo HTTP)

Referencias: Chttp
int open (cadena arcremoto)· Abre una conexión con el servidor, para leer el archivo (con el camino completo 'arcremoto' incluido el servidor). Devuelve: (0)ok (1)no_encontrado (-1)error
cadena get (cadena arcremoto)
int get (cadena arcremoto, cadena arclocal)
· Recupera el texto del archivo 'arcremoto' y lo devuelve. Si se especifica un segundo parámetro, se graba la cadena 'arcremoto' con el nombre de archivo 'arclocal' y se devuelve 1 si hay error
int close ()· Cierra la conexión con el servidor de páginas


Cima (Objeto gestor de imágenes)

Gestiona mediante la librería CXimage, el manejo de gráficos bitmap y vectoriales. Existe otro objeto Cbas.Cima para funciones aplicables a gráficos de BD


Referencias: Cima Cbas.calendario

Objetos derivados: Cbas.Cima

Secciones: Métodos de lectura y grabación Métodos de devolución de propiedades Métodos de creación y modificación
Métodos de lectura y grabaciónCima
bool lee (cadena archivo="", cadena mod="")· Carga en el objeto la imagen asociada al 'archivo'. Si no indicamos ningún archivo, cargará la imagen actual del portapapeles; modificadores: e1(es gdi+ para transparencias)

· Todas las funciones que devuelven un 'bool', devuelven 0 si la operación se realizan sin errores

bool graba ()
bool graba (cadena archivo, cadena mod="q100")
· Sin parámetros pone la imagen actualmente cargada en el objeto en el portapapeles. Se puede grabar en un 'archivo' que puede ser expresado como una ruta relativa a partir del directorio de gráficos de la aplicación. Se pueden especificar modificadores en el parámetro 'mod', con los valores:

· q<porcentaje_compresión_calidad> al formato .JPG le es aplicable la compresión (un valor óptimo es "q85" que indica una compresión de un 15%, lo que tiene poca pérdida de calidad)

bool copia (Cima ima)· Carga el objeto actual con una copia de la imagen 'ima'
bool dxflee (cadena datos)· Lee un archivo de texto almacenado en 'datos', en formato DXF2000 y crea una imagen vectorial con ellos
Métodos de devolución de propiedadesCima
long tipo ()· Tipo de imagen: (0)no hay imagen, (1)DIB, (2)EMF, (3)DXF, (4)DXI, (5)XIM
long ancho ()· Número de píxeles que la imagen tiene en horizontal
long alto ()· Número de píxeles que la imagen tiene en vertical
long planos ()· Número de planos de la imagen

· bool planos (long pla) // Pone número de planos

cadena rotulo ()· Rótulo con características de la imagen (dimensiones, bits de color, tamaño, compresión...)
bool vectorial ()· Devuelve distinto de 0 si la imagen es vectorial
Métodos de creación y modificaciónCima
bool nueva (long ancho, long alto, long planos=24)· Crea una imagen nueva con fondo blanco y el tamaño 'ancho', 'alto' y número de 'planos' especificados (24 bits es color verdadero o TrueColor).
bool filtra (cadena filtro)· Aplica un 'filtro' a la imagen actual. Estos filtros son los mismos que se aplican en Pestaña Concepto> Gráficos> Filtros. La documentación de nombres y parámetros de filtros también se encuentra en el script: '\Ejemplos \EJEMPLOS CON GRÁFICOS BITMAP Y VECTORIALES \ejegrafil·Documentación filtros de imágenes (Cima)'

· OBSOLETAS

long tip ()· Tipo de imagen: (0)no hay imagen, (1)DIB, (2)EMF, (3)DXF, (4)DXI, (5)XIM
cadena dimensiones ()· Rótulo con características de la imagen (dimensiones, bits de color, tamaño, compresión...)

· if (nombre == "mezcla") return 21; // bool mezcla (Cima ima, long xof, long yof, long ope=5)

· Mezcla la imagen actual con la indicada en el parámetro 'ima'

· Los parámetros 'xof' y 'yof' definen desplazamientos en horizontal y vertical para la imagen 'ima' sobre la actual

· El parámetro 'ope' es opcional y define la operación que se realizará al mezclar las imágenes: (0)OpAdd, (1)OpAnd, (2)OpXor, (3)OpOr, (4)OpMask, (5)OpSrcCopy, (6)OpDstCopy, (7)OpSub, (8)OpSrcBlend, (9)OpScreen

Cima


Cimp (Tabla de impresión)

En el informe \Ejemplos \Ejemplos del maquetador de informes \Ejemplo de modificadores del maquetador (Cimp), se tiene una documentación completa de todos los modificadores de formato a los que se hace referencia aqui como parámetro 'mod'

Cuando se definen modificadores a distintos niveles (invocando los distintos métodos del objeto impresor) que afectan al formato de un mismo atributo de un campo, se impone el siguiente criterio de precedencia de mayor a menor: (+ importante) campo -> línea -> columna -> tabla -> global (- importante)


Referencias: Cimp

Secciones:
Métodos generales para la impresión
Métodos de obtención de datos del objeto actual (lectura)
Métodos de manejo de márgenes de página
Métodos de obtención de datos de impresora (archivos .CNI)
Métodos generales para la impresiónCimp
void campo ()
void campo (cadena dato | long dato | double dato |
Cima dato, cadena mod="", cadena mimp="")
· Añade un campo a la lista de campos a imprimir en una linea. Este es el método por defecto del objeto impresor, por lo que no es necesario incluir la palabra 'campo' para invocarlo.

· El parámetro 'dato' puede ser: una cadena de texto, o un número, o una expresión que pueda evaluarse a una cadena de texto o a un número, o una imagen.

· El parámetro 'mod' es una cadena de texto conteniendo modificadores de formato del campo, estos modificadores determinarán el aspecto que tendrá el campo.

· Si no recibe ningún parámetro, se añadirá un campo vacío

void linea (cadena mod="", long bloquea=0)
void linea (long bloquea)
· Muestra una línea con los campos definidos previamente con el método 'campo'.

· El parámetro 'mod' es una cadena de texto que contiene modificadores de formato aplicables a la línea.

· Si el parámetro 'bloquea' es distinto de cero, la línea irá unida a la siguiente, sin separarlas en el caso de producirse un salto de página. El bloqueo se rompe cuando invocamos una linea sin bloqueo. Entonces se imprimen todas las que quedaban pendientes bloqueadas.

· Si se ha invocado previamente el método 'tabla', los campos se mostrarán en las columnas definidas para la tabla. En caso contrario teniendo en cuenta el tamaño del papel, los márgenes establecidos, y el número de columnas del informe, el método 'linea' divide el ancho disponible de la línea en partes iguales, asignando este espacio a cada campo de la lista, y colocando en este espacio el dato o valor de cada campo

void pagina ()· Equivale a un salto de página. Deja el resto de la página en blanco y salta a la siguiente
void tabla (cadena modcol="", cadena modtab="")· Determinar el número total de columnas que se quiere mostrar cada vez que se llame al método 'linea', y el aspecto que tendrá cada una de ellas.

· El parámetro 'modcol' contiene los modificadores para las columnas de la tabla, los modificadores de cada columna se separan con un espacio. Si el modificador de columna es un punto, tomará como tamaño todo el restante.

· El parámetro 'modtab' especifica los modificadores aplicables a todas las columnas de la tabla o modificadores de tabla.

· Si no se especifican parámetros el resultado será la eliminación de la anterior definición de tabla

void global (cadena mod)· Establece modificadores de formato que se aplicarán a todos los campos del informe. La cadena 'mod' contendrá una combinación de modificadores de formato
Cimp subtabla (cadena modcol="", cadena modtab="", cadena modcam="")· Devuelve un objeto tabla de impresión que ocupará el siguiente campo dentro de la línea actual de impresión

· Los parámetros 'modcol' y 'modtab' son los mismos utilizados para el método 'tabla' de este mismo objeto

· El parámetro 'modcam' especifica los modificadores del campo sobre el que será impreso esta tabla

· P.ej: var sub=imp.subtabla(". .", "b1", "m#38AD5F") { sub ("SC 1"); sub ("SC 2"); sub.linea(); } mostrará dentro de la tabla donde se defina la variable "sub", un campo que se divide en una subtabla de dos columnas iguales, con borde y un fondo de color verde

void hor (double x1=0, double x2=0, double y=0, ..., cadena mod="")· Muestra una o varias líneas horizontales

· Si no recibe ningún parámetro muestra una línea horizontal ocupando el ancho de la página disponible

· El parámetro 'x1' y 'x2' indican la posición inicial y final del trazado de la línea

· Los sucesivos parámetros 'y' indican las posiciones verticales donde se trazarán las líneas

· El parámetro mod especifica un conjunto de modificadores

void ver (double y1=0, double y2=0, double x=0, ..., cadena mod="")
void ver (double y1, cadena columnas, cadena mod="")
void ver (double y1, double y2, cadena columnas, cadena mod="")
· Muestra una o varias líneas verticales

· Si no recibe ningún parámetro muestra una línea vertical ocupando el alto de la página disponible

· El parámetro 'y1' y 'y2' indican la posición inicial y final del trazado de la línea

· Los sucesivos parámetros 'x' indican las posiciones verticales donde se trazarán las líneas

· El mismo fin tiene el parámetro 'columnas' que tiene la misma nomenclatura que el mismo parámetro que se utiliza en el método 'tabla'

· El parámetro mod especifica un conjunto de modificadores

void cierra ()· Cierra el objeto
Métodos de obtención de datos del objeto actual (lectura)Cimp
long col ()· Devuelve la columna (definida en el objeto 'Cimp'), dentro del informe en la que se mostró la última línea al invocar el método 'linea'. Si el número de columnas del informe es superior a 1, la propiedad tendrá inicialmente el valor 1, y se incrementará de uno en uno al mostrar la primera línea de las sucesivas columnas del informe
long pag ()· Devuelve el número de página actual
double yy ()· Devuelve los milímetros libres verticales de la pagina actual. Diferencia entre 'y2' e 'y1'
double xx ()· Devuelve los milímetros libres horizontales de la pagina actual. Diferencia entre 'x2' e 'x1'
double y1 ()· Devuelve los milímetros de distancia desde el borde superior de la página al comienzo de la línea que se imprime al llamar al método 'linea'
double y2 ()· Devuelve los milímetros de distancia desde el borde superior de la página al margen inferior definido en la ventana 'Configuración de impresora'
double x1 ()· Devuelve los milímetros del margen izquierdo establecido en la ventana 'Configuración de impresora'
double x2 ()· Devuelve los milímetros de distancia desde el borde izquierdo de la página al margen derecho establecido en la ventana 'Configuración de impresora'
double y ()· Devuelve en milímetros la posición actual vertical
double xpm ()· Devuelve los puntos por milímetros
double xl (long tipo_letra=1)· Devuelve los milímetros horizontales del tipo de letra especificado en 'tipo_letra'. Los tipos de letras están definidos en la ventana 'Opciones/Visualización/Letras'
double yl (long tipo_letra=1)· Devuelve los milímetros verticales del tipo de letra especificado en 'tipo_letra'. Los tipos de letras están definidos en la ventana 'Opciones/Visualización/Letras'
Crec recmax ()· Devuelve el rectángulo máximo en píxeles
Drec recmax_m ()· Devuelve el rectángulo máximo en metros
Drec recmax_mm ()· Devuelve el rectángulo máximo en milímetros
Crec recimp ()· Devuelve el rectángulo imprimible en píxeles
Drec recimp_m ()· Devuelve el rectángulo imprimible en metros
Drec recimp_mm ()· Devuelve el rectángulo imprimible en mm
Crec recact ()· Devuelve el rectángulo actual en píxeles
Drec recact_m ()· Devuelve el rectángulo actual en metros
Drec recact_mm ()· Devuelve el rectángulo actual en milímetros
Métodos de manejo de márgenes de páginaCimp
double marsup ()
void marsup (double margen)
· Sin parámetro devuelve el margen superior de página en milímetros

· Si especificamos el margen en milímetros, modificamos el margen superior actual

double marinf ()
void marinf (double margen)
· Sin parámetro devuelve el margen inferior de página en milímetros

· Si especificamos el margen en milímetros, modificamos el margen inferior actual

double marizq ()
void marizq (double margen)
· Sin parámetro devuelve el margen izquierdo de página en milímetros

· Si especificamos el margen en milímetros, modificamos el margen izquierdo actual

double marder ()
void marder (double margen)
· Sin parámetro devuelve el margen derecho de página en milímetros

· Si especificamos el margen en milímetros, modificamos el margen derecho actual

double marenc ()
void marenc (double margen)
· Sin parámetro devuelve el margen de encuadernación de página en milímetros

· Si especificamos el margen en milímetros, modificamos el margen de encuadernación actual

Métodos de obtención de datos de impresora (archivos .CNI)Cimp
cadena pri_nombre ()· Devuelve el nombre de la impresora actual
char pri_orientacion ()· Devuelve 'h' si la orientación es horizontal y 'v' si la orientación es vertical
long pri_tamano ()· Devuelve el tamaño de página: 2 (para hojas A2), 3 (para hojas A3), etc ...
long pri_color ()· Devuelve 1 si se va a imprimir a color y 0 en caso contrario


Cmapi (Objeto manejador de mensajería de correo electrónico)

Asignado a una variable, crea un objeto que representa al gestor de correo, y permite enviar, recibir y recuperar datos de e-mail, así como gestionar el cliente de correo predeterminado que se tenga en el sistema


Referencias: Cmapi
bool 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. Lee el siguiente e-mail de la lista y lo pone como el actual
bool deletemail (cadena ind)· Elimina el e-mail actual del buzón de entrada (por defecto 'ind'=idmsg(), o bien el e-mail con identificador 'ind'
bool sendmail (cadena nom, cadena dest, cadena asun="", cadena tex="", cadena arc="", int vis=1)· Envía un mensaje con el nombre 'nom', a dirección de correo 'dest', y opcionalmente contenido de texto 'tex', asunto 'asun' y archivo adjunto de nombre 'arc'. Devuelve distinto de cero si hay algún error
cadena from ()· Devuelve nombre e-mail del remitente (procedencia)
cadena to ()· Devuelve nombre literal del destinatario del mensaje
cadena subject ()· Devuelve asunto del mensaje actual
cadena date ()· Devuelve fecha y hora de envío del mensaje (llegada al servidor de correo)
cadena text ()· Devuelve contenido de texto multilínea del mensaje
cadena idmsg ()· Devuelve identificador del mensaje dentro de la lista de mensajes recibidos
long archivos ()· Devuelve el número de archivos adjuntados al mail
bool archivo (long pos)· Devuelve la ubicación del archivo adjunto de la posición 'pos'
cadena nombre (long pos)· Devuelve el nombre del archivo archivo adjunto de la posición 'pos'


Cpun (Punto geométrico en coordenadas internas)

Se almacenan como números enteros (normalmente milímetros) a partir del origen de referencia absoluta


Referencias: Cpun Cdxi.ref Cdxient.pun Cpunl.pun Cpunl.medio Cpunl.centroide Cpunl.deinercia Cpunl.interior Cpunl.a_distancia Cpunl.perpendicular Crec.pon Crec.med Crec.tam Crec.pun Cbas.Cmap.ref Cbas.Cmap.mapcon_pun Cbas.Cgesvia.dis2pun Cbas.Cgesvia.pk2pun

Secciones: Modifican No modifican Serialización Redundantes
ModificanCpun
long pon (long ind)
Cpun pon (long x, long y)
Cpun pon (Cpun p)
Cpun pon (Clislong coor)
Cpun pon
· Método por defecto (no hace falta especificarlo) para recuperar o asignar un punto

· Si como parámetro se especifica 0 ó 1, se recupera la primera o segunda coordenada del punto

· Para darle valor se puede asignar un entero como coordenadas 0 y 1 (Ej: p1(0)=10; p1(1)=12;). Se puede asignar una lista con las coordenadas 'coor' (Ej: p1([10,12]) ). Dar un par de parámetros (Ej: p1(10,12) ). Asignar otro punto (Ej: p1= p3;)

Cpun mas (long factor | Cpun pun)· Suma a cada coordenada del punto actual un factor entero (positivo o negativo), o las 'x' e 'y' de un punto. Devuelve otro objeto
Cpun por (double val)· Multiplica cada coordenada del punto actual un nº real 'factor'
long x· Devuelve o ASIGNA el valor de la coordenada x (nº entero)
long y· Lo mismo que el método x, pero para coordenatda vertical
No modificanCpun
double d (Cpun p2)· Nº real con la distancia desde el objeto al punto p2
double d2 (Cpun p2)· Nº real con la distancia al cuadrado del objeto al punto p2
Cpun med (Cpun p2)· Punto medio entre el objeto y p2
Cpun tam (Cpun p2)· Punto cuya x e y representan la diferencia entre p2 y el objeto, con coordenas en (0,0) (Ej: pun=(3,7) y p2=(10,8) pun.tam(p2)=(7,1)
Cpun dis (Cpun p2, long dis)· Punto a una distancia 'dis', positiva o negativa a partir del objeto, en el vector Cpun -> p2
Cpun per (Cpun p2, long dis)· Punto a una distancia 'dis', con apoyo en Cpun, en un vector perpendicular al vector Cpun -> p2
Cpun copia ()· Devuelve un punto copia del objeto
SerializaciónCpun

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", bool std=0)· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma)
void dc (cadena cad, cadena sep=",", bool std=0)· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un punto (el objeto)
RedundantesCpun
cadena toString ()· Sinónimo de ac(), sin parámetros


Cpunl (Lista de puntos en coordenadas internas)

Algunas funciones y datos para entidades de dibujo son muy similares a los de las entidad Cdxicap, ya que muchas de aquellas trabajan con listas de puntos


Referencias: Cpunl Cdxigeo.entl Cbas.Cgesvia.punl Cbas.Cgesvia.dis2punl Cbas.Cgesvia.pk2punl

Secciones: Modifican Datos de la lista, no modifican Procesos Procesos con Cpunl de retorno Serialización Redundantes
ModificanCpunl
Cpun pun (long ind)
Clis pun
void pun ({long coord}...)
· Método por defecto (no hace falta especificarlo) de la lista de puntos. Con un índice 'i' como parámetro, devuelve un Cpun que es el punto indicado. También se puede hacer una asignación de una lista de coordenadas de puntos (como pl1=[x1,y1,x2,y2...] ) o con múltiples parámetros (como pl2(x1,y1,x2,y2,x3...) )
Cpunl mas (double factor | Cpun pun)· Admite un nº real 'factor' positivo o negativo, que se suma a cada punto de la lista; o bien un desplazamiento sumando y/o restando las coordenadas de un punto 'pun'
Cpunl por (double factor)· Nº real por el que multiplicar las coordenadas x e y del objeto
masi (double factor | Cpun pun)· mas igual, como mas pero sobre la misma lista
pori (double factor)· por igual, como por pero sobre la misma lista
long num· Devuelve o asigna el nº de puntos de la lista
long length· Sinónimo del método 'num';
bool cerrada· Devuelve o asigna el estado de si la lista de puntos se debe considerar cerrada (el último punto enlaza con el primero)
void pon (cadena serie_xy | Clislong lista | Cpun p | Cpunl pl)· Para inicializar un objeto añadiendo puntos a la lista. Admite como parámetros: una cadena 'serie_xy' de coordenadas seguidas x1,y1,x2,y2,x3..., una 'lista' de pares [x1,y1,x2,y2,...], un punto Cpun, u otra lista Cpunl
void agrega (cadena serie_xy | Clislong lista | Cpun p | Cpunl pl)· Sinónimo de pon(), pero sumando puntos o listas, sin inicializar el objeto
void libera ()· Libera la memoria del objeto
void cierra ()· Pone el valor cerrada; distinto de 0
Datos de la lista, no modificanCpunl
Crec limite ()· Devuelve un recuadro con la envolvente de la lista de puntos
double area ()· Devuelve un número real con el área de la "línea" definida por la lista, siempre como si estuviese aunque no lo esté
double perimetro ()· Devuelve un número real con la longitud de la "línea" definida por la lista
Cpun medio ()· Devuelve un punto equidistante de los puntos extremos de la lista
Cpun centroide ()· Devuelve un punto equidistante de todos los puntos de la lista; parecido a la aplicación del rótulo de texto en una línea cerrada
Cpun deinercia ()· Devuelve un punto como el centroide(), pero considerando la densidad de agrupación de los demás según al fórmula: SQRT(SUM(a*x^2)/SUM(a))
Cpun interior ()· Devuelve un punto equidistante en longitud, de los dos puntos extremos. Como el centroide(), pero dentro del recorrido de la línea; parecido a la aplicación del rótulo de texto en una línea abierta
ProcesosCpunl
long busca (Cpun p)· Devuelve la posición+1 en la lista del punto p (orden en base 1) si se encuentra en ella, sino devuelve 0
bool dentro (Cpun p)· Trata la lista como si fuera un área cerrada y devuelve distinto de 0 si el punto 'p' está dentro del recuadro definido por limite()
bool intersectan (Crec r)· Devuelve distinto de 0 si las "líneas" virtuales definidas por los dos puntos del recuadro 'r' intersectan con la "línea" definida por la lista
long distancia (Cpun p)· Devuelve distancia sobre recorrido de la peperpendicular desde el punto 'p' a la línea
Cpun a_distancia (long dist, long desp=0)· Devuelve un punto sobre el recorrido de la lista de puntos, a una distancia 'dist' del punto inicial. Se puede especificar un desplazamiento 'desp' en paralelo (positivo por la derecha en sentido creciente, o negativo)
Cpun perpendicular (Cpun p)· Devuelve un punto que es equivalente al vector perpendicular si se considera el origen (0,0), desde el punto 'p' hasta la línea
Procesos con Cpunl de retornoCpunl

Todas las funciones devuelven otro objeto con el resultado de la operación

Cpunl interseccion (Cpunl punl)· Lista ordenada con los puntos de interseción de la lista 'pl' con el objeto
Cpunl invierte ()· Lista con los puntos del objeto invertido su orden del último al primero
Cpunl recorrido (long dis1, long dis2, long desp=0)· Lista de parte de los puntos del objeto, recorridos desde la distancia 'dis1' hasta 'dis2'. Se puede especificar un desplazamiento 'desp' en paralelo (positivo por la derecha en sentido creciente, o negativo por la izquierda)
Cpunl tubo (long ancho, cadena mod)· Lista cerrada con la paralela envolvente al recorrido del objeto con una nancho 'ancho' y modificadores: i0(incremento de largo en porcentaje ancho) c1(con corrección) a0(solo_abiertas)
Cpunl flecha (Cpun pun1, Cpun pun2, long ancho, long largo)· Lista de puntos que dibujan una flecha
Cpunl poligono (long centro, long radio, long lados, cadena mod="")· inserta centrado en el punto 'centro' un poligono de 'lados'; mod: c1(Cerrado) s0(Sentido reloj) g0(Grados punto incial)
OBSOLETO usar polígono 
Cpunl copia (eliminacolineales=0)· Devuelve otra lista de puntos copia del objeto, si eliminacolineales elimina los puntos intermedias a una distancia menor de eliminacolineales al segemento entre el anterior y el siguiente
SerializaciónCpunl

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", bool std=0)· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma)
void dc (cadena cad, cadena sep=",", bool std=0)· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un punto (el objeto)
cadena acad (cadena sep=",", cadena mod="")· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma)
void decad (cadena cad, cadena sep=",", cadena mod="")· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un punto (el objeto)
RedundantesCpunl
cadena toString ()· Sinónimo de ac(), sin parámetros


Crec (Rectángulo en coordenadas internas)

Un objeto recuadro o rectángulo se define con 4 coordenadas: la x e y de la esquina inf. izq. y los de la esquina sup. der. En realidad es como un vector con sólo dos vértices reales


Referencias: Crec Cdxi.cap_limite Cdxi.rec Cdxiblo.tam Cdxient.limite_mm Cdxigeo.rec Cimp.recmax Cimp.recimp Cimp.recact Cpunl.limite Cbas.Cmap.rec Cbas.Cmap.mapcon_rec Cbas.Cmap.ven_zom Cbas.Cmap.maprec Cbas.Cmap.caprec Cbas.Cgesvia.lim

Secciones: Modifican No modifican Métodos Búsquedas Serialización Redundantes
ModificanCrec
Cpun pon (long ind)
Crec pon (long x1, long y1, long x2, long y2)
Crec pon (Cpun p1, Cpun p2)
Crec rec
· Método por defecto para declaración de coordenadas de un rectángulo en coordenadas internas

· Poniendo como único parámetro el índice 'ind' 0 ó 1, devuelve el punto de definición correspondiente

· Se puede crear uno con 4 parámetros coordenadas enteras (x1,y1,x2,y2); con 2 parámetros Cpun; y asignándole otro recuadro Crec

Crec mas (double factor | Cpun pun)· Admite un nº real 'factor' positivo o negativo, que se suma a las coordenadas del recuadro; o bien un desplazamiento sumando y/o restando las coordenadas de un punto 'pun'; o se puede especificar con otro objeto recuadro cuyas coordenadas sirven de desplazamiento x e y
Crec por (double factor)· Nº real por el que multiplicar las coordenadas x e y, para agrandar o reducir el recuadro
masi (double factor | Cpun pun)· mas igual, como mas pero sobre la misma lista
pori (double factor)· por igual, como por pero sobre la misma lista
No modificanCrec
long x1· Devuelve la coordenada horizontal del primer punto (inf. izq.) del recuadro
long y1· Coordenada vertical del primer punto
long x2· Coordenada horizontal del segundo punto (esquina sup. der.)
long y2· Coordenada vertical del segundo punto
MétodosCrec
long xm· Coordenada x del punto medio del recuadro (xx/2)
long ym· Coordenada y del punto medio del recuadro (yy/2)
Cpun med· Punto medio del recuadro (centro)
long xx· Medida de longitud horizontal (x2-x1)
long yy· Medida de altura del recuadro (y2-y1)
Cpun tam· Punto con coordenadas (xx,yy), o sea tamaño del recuadro, si se considera desde el (0,0)
double d· Diagonal, longitud del vector (x1,y1) -> (x2,y2)
double d2· Diagonal al cuadrado
double area· Nº real con el área (xx*yy)
Cpun pun (int num_vert)· Punto con las coordenadas de cualquiera de los cuatro vértices (0..3) del recuadro, desde la esquina inf. izq. y en sentido antihorario. Dos extremos existen realmente y dos son calculados
BúsquedasCrec
Crec margen (Cpun tamaño)
Crec margen (long ladosx, long ladosy)
· Ensancha o reduce el tamaño del objeto partiendo del centro, bien tomando un punto como tamaño horizontal y vertical, o bien especificando ambos tamaños 'ladosx' y 'ladosy', que se aplicarán en las 4 direcciones
bool dentro (Cpun pun)· Devuelve >0 si las coordenadas del punto 'pun' están dentro del recuadro
bool intersectan (Crec rec)· Devuelve >0 si cualquier "borde" (virtual, ya que los lados no existen como líneas sino que están calculados) del recuadro 'rec' cae dentro del recuadro
void agrega (Crec rec, long i)· Modifica el objeto fundiendo ambos recuadros en uno con el límite máximo que envuelva ambos
Crec copia ()· Devuelve otro recuadro copia del objeto
long diagonal_lg (Cpun pun, int que=0)· lugar geométrico <0 a un lado de la diagonal, =0 en la diagonal, >0 al otro; que==1 distancia a la diagonal, que==2 distancia al cuadrado
Crec isotropo (Crec rec, bool reduce=o)· Retorna rectangulo actual porporcional a "rec", si reduce igual a 0 crece.
SerializaciónCrec

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", bool std=0)· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma)
void dc (cadena cad, cadena sep=",", bool std=0)· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un recuadro (el objeto)
RedundantesCrec
cadena toString ()· Sinónimo de ac(), sin parámetros


Ctrasgo (Objeto manejador de traductor trasgo.exe)

Permite acceder a los datos de archivos de rótulos de texto de la aplicación, gestionado por el programa Trasgo (que sirve para traducir todos los textos incluidos los de informes a otros idiomas)

Se puede ver un ejemplo de utilización que consiste en acceder a un sitio web de traducción de textos, y utilizarlo para buscar y traducir los rótulos aún sin traducción en uno de los leguajes del programa. Procedimiento \Colecciones especiales\ Ejemplos código\ ejetrasgo·Ejemplo de traducción automática de rótulos (Ctrasgo)


Referencias: Ctrasgo
int lee (cadena arc_len)· Lee el archivo para traducción para trabajar (habitualmente \UTIL\<idioma>.len
int graba (cadena arc_len)· Graba el archivo con los cambios realizados
long num· Número de elementos de la lista de traducción del lenguaje
cadena tip(long ind)· Letra con el tipo del término de índice 'ind', que puede ser: (C)omún, (M)odificado pero no grabado, (T)raducido, (N)o traducido, (O)bsoleto
cadena esp(long ind)· Término de índice 'ind' en el archivo base de español
cadena tra(long ind)· Término de índice 'ind' en el archivo de traducción del idioma correspondiente


Czip (Objeto manejador de archivos comprimidos .ZIP)

Tiene funciones para añadir archivos a un comprimido, descomprimirlos, listar y buscar, etc. Las funciones devuelven (como es habitual) un valor distinto de 0 si se produce algún error

Se puede ver un ejemplo de utilización de las operaciones más habituales en el informe "\Colecciones especiales\Ejemplos documentación\ejezip·Documentación gestión de archivos comprimidos (Czip)


Referencias: Czip

Secciones: Métodos
MétodosCzip
bool abierto· devuelve 1 si el objeto tiene un archivo zip abierto
int libera ()· cierra el archivo zip y lo libera
int crea (cadena arc)· crea archivo comprimido PARA EDICIÓN (es decir: añadir, borrar archivos, etc.) con nombre 'arc', y si ya existe lo sustituye eliminando el archivo anterior
int abre (cadena arc)· abre un archivo en formato estándar zip PARA LECTURA y lo pone como archivo de clase Czip (devuelve un objeto con el archivo)
long busca (cadena arc)· la función devuelve el valor -1 si el archivo 'arc' no se encuentra en el archivo comprimido zip abierto o creado con crea() o abre(). Si se encuentra, devuelve la posición (índice) del archivo en el zip
int importa (cadena arc_ori, cadena arc_des)· permite añadir el archivo especificado en arc_ori, al zip abierto con crea(). El arc_des puede incluir subdirectorios que se crearán dentro del archivo comprimido
int exporta (cadena arc_ori | long ind, cadena dir_des)· permite extraer un archivo de nombre arc_ori del archivo comprimido a un directorio dir_des; en vez de un nombre de archivo se puede especificar un índice de la lista ordenada de los archivos que hay dentro del comprimido

· cadena exporta (cadena arc_ori | long ind) // permite extraer un archivo de nombre arc_ori del archivo comprimido a una cadena en memoria; en vez de un nombre de archivo se puede especificar un índice de la lista ordenada de los archivos que hay dentro del comprimido

Cliscadl director ()· devuelve un array de elementos con los nombres de archivo del .zip


Dpun (Punto geométrico en coordenadas reales)

Se almacenan como números reales en metros, que no dependen de ninguna referencia absoluta


Referencias: utm2geo geo2utm utm2utm datum2datum Dpun Cdxi.utm2geo Cdxi.geo2utm Cdxi.utm2utm Dpunl.pun Dpunl.medio Dpunl.centroide Dpunl.deinercia Dpunl.interior Drec.pon Drec.med Drec.tam Drec.pun Cbas.Cmap.mapcon_pun_m

Secciones: modifican no modifican serialización redundantes
modificanDpun
double pon (long ind)
Dpun pon (double x, double y)
Dpun pon (Dpun p)
Dpun pon (Clislong coor)
Dpun pon
· Método por defecto (no hace falta especificarlo) para recuperar o asignar un punto

· Si como parámetro se especifica 0 ó 1, se recupera la primera o segunda coordenada del punto

· Para darle valor se puede asignar un real como coordenadas 0 y 1 (Ej: p1(0)=10.2; p1(1)=12.5). Se puede asignar una lista con las coordenadas 'coor' (Ej: p1([10.2, 12.5]) ). Dar un par de parámetros (Ej: p1(10.2, 12.5) ). Asignar otro punto (Ej: p1= p3;)

Dpun mas (long factor | Dpun pun)· Suma a cada coordenada del punto actual un factor nº real (positivo o negativo), o las 'x' e 'y' de un punto. Devuelve otro objeto
Dpun por (double val)· Multiplica cada coordenada del punto actual un nº real 'factor'
double x ()
x= double i
· Devuelve o pone el valor de la coordenada x (nº real)
double y ()
y= double i
· Lo mismo que para la coordenada x
no modificanDpun
double d2 (Cpun p2)· Nº real con la distancia al cuadrado del objeto al punto p2
double d (Cpun p2)· Nº real con la distancia desde el objeto al p2
Dpun med (Cpun p2)· Punto medio entre el objeto Cpun y p2
Dpun tam (Cpun p2)· Punto cuya x e y representan la diferencia entre p2 y el objeto, con coordenas en (0,0) (Ej: pun=(3,7) y p2=(10,8) pun.tam(p2)=(7,1)
Dpun dis (Cpun p2, long dis)· Punto a una distancia 'dis', positiva o negativa a partir del objeto, en el vector Cpun -> p2
Dpun per (Cpun p2, long dis)· Punto a una distancia 'dis', con apoyo en Cpun, en un vector perpendicular al vector Cpun -> p2
Dpun copia ()· Devuelve un punto copia del objeto
serializaciónDpun

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", long dec=-1, bool std=0)· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma) y especificando el número de decimales 'dec', por defecto, sin límite
void dc (cadena cad, cadena sep=",", bool std=0)· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un punto (el objeto)
redundantesDpun
cadena toString ()· Sinónimo de ac(), sin parámetros


Dpunl (Lista de puntos en coordenadas reales)

Equivalente a Cpunl, pero almacenando en BD las coordenadas de cada punto como números reales (metros)


Referencias: Dpunl Cdxient.punl_m

Secciones: Modifican Datos de la lista, no modifican Procesos Serialización Redundantes
ModificanDpunl
Dpun pun (long ind)
Clis pun
void pun ({double coord}...)
· Método por defecto (no hace falta especificarlo) de la lista de puntos. Con un índice 'i' como parámetro, devuelve un Dpun que es el punto indicado. También se puede hacer una asignación de una lista de coordenadas de puntos (como pl1=[x1,y1,x2,y2...] ) o con múltiples parámetros (como pl2(x1,y1,x2,y2,x3...) )
Dpunl mas (double factor | Dpun pun)· Admite un nº real 'factor' positivo o negativo, que se suma a cada punto de la lista; o bien un desplazamiento sumando y/o restando las coordenadas de un punto 'pun'
Dpunl por (double factor)· Nº real por el que multiplicar las coordenadas x e y del objeto
masi (double factor | Dpun pun)· mas igual, como mas pero sobre la misma lista
pori (double factor)· por igual, como por pero sobre la misma lista
long num· Devuelve o asigna el nº de puntos de la lista
long length· Sinónimo del método 'num';
bool cerrada· Devuelve o asigna es estado de si la lista de puntos se debe considerar cerrada (el último punto enlaza con el primero)
void pon (cadena serie_xy | Clisdouble lista | Dpun p | Dpunl pl)· Para inicializar un objeto añadiendo puntos a la lista. Admite como parámetros: una cadena 'serie_xy' de coordenadas seguidas x1,y1,x2,y2,x3..., una 'lista' de pares [x1,y1,x2,y2,...], un punto Dpun, u otra lista Dpunl
void agrega (cadena serie_xy | Clisdouble lista | Dpun p | Dpunl pl)· Sinónimo de pon(), pero sumando puntos o listas, sin inicializar el objeto
void libera ()· Libera la memoria del objeto
void cierra ()· Pone el valor de cerrada() distinto de 0
Datos de la lista, no modificanDpunl
Drec limite ()· Devuelve un recuadro con la envolvente de la lista de puntos
double area ()· Devuelve un número real con el área de la "línea" definida por la lista, siempre como si estuviese aunque no lo esté
double perimetro ()· Devuelve un número real con la longitud de la "línea" definida por la lista
Dpun medio ()· Devuelve un punto equidistante de los puntos extremos de la lista
Dpun centroide ()· Devuelve un punto equidistante de todos los puntos de la lista; parecido a la aplicación del rótulo de texto en una línea cerrada
Dpun deinercia ()· Devuelve un punto como el centroide(), pero considerando la densidad de agrupación de los demás según al fórmula: SQRT(SUM(a*x^2)/SUM(a))
Dpun interior ()· Devuelve un punto equidistante en longitud, de los dos puntos extremos. Como el centroide(), pero dentro del recorrido de la línea; parecido a la aplicación del rótulo de texto en una línea abierta
ProcesosDpunl
bool dentro (Dpun p)· Trata la lista como si fuera un área cerrada y devuelve distinto de 0 si el punto 'p' está dentro del recuadro definido por limite()
Dpunl invierte ()· Lista con los puntos del objeto invertido su orden del último al primero
Dpunl copia ()· Devuelve otra lista de puntos copia del objeto
SerializaciónDpunl

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", long dec=-1, bool std=0)· Convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma) y especificando el número de decimales 'dec', por defecto, sin límite
void dc (cadena cad, cadena sep=",", bool std=0)· Convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un punto (el objeto)
RedundantesDpunl
cadena toString ()· Sinónimo de ac(), sin parámetros


Drec (Rectángulo en coordenadas reales)

Igual que los recuadros Crec, su definición interna es como un vector con los puntos extremos


Referencias: Drec Cdxi.rec_m Cdxiblo.tam_m Cdxient.limite_m Cdxigeo.rec_m Cimp.recmax_m Cimp.recmax_mm Cimp.recimp_m Cimp.recimp_mm Cimp.recact_m Cimp.recact_mm Dpunl.limite Cbas.Cmap.rec_m Cbas.Cmap.mapcon_rec_m Cbas.Cmap.ven_zom_m

Secciones: Modifican No modifican Métodos Serialización Redundantes
ModificanDrec
Dpun pon (long ind)
Drec pon (double x1, double y1, double x2, double y2)
Drec pon (Dpun p1, Dpun p2)
Drec rec
· Método por defecto para declaración de coordenadas de un rectángulo en metros.

· Poniendo como único parámetro el índice 'ind' 0 ó 1, devuelve el punto de definición correspondiente

· Se puede crear uno con 4 parámetros coordenadas reales (x1,y1,x2,y2); con 2 parámetros Dpun; y asignándole otro recuadro Drec

Drec mas (double factor | Cpun pun)· Admite un nº real 'factor' positivo o negativo, que se suma a las coordenadas del recuadro; o bien un desplazamiento sumando y/o restando las coordenadas de un punto 'pun'; o se puede especificar con otro objeto recuadro cuyas coordenadas sirven de desplazamiento x e y
Drec por (double factor)· Nº real por el que multiplicar las coordenadas x e y, para agrandar o reducir el recuadro
masi (double factor | Cpun pun)· mas igual, como mas pero sobre la misma lista
pori (double factor)· por igual, como por pero sobre la misma lista
No modificanDrec
long x1· Devuelve la coordenada horizontal del primer punto (inf. izq.) del recuadro
long y1· Coordenada vertical del primer punto
long x2· Coordenada horizontal del segundo punto (esquina sup. der.)
long y2· Coordenada vertical del segundo punto
MétodosDrec
long xm· Coordenada x del punto medio del recuadro (xx/2)
long ym· Coordenada y del punto medio del recuadro (yy/2)
Dpun med· Punto medio del recuadro (centro)
long xx· Medida de longitud horizontal (x2-x1)
long yy· Medida de altura del recuadro (y2-y1)
Dpun tam· Punto con coordenadas (xx,yy), o sea tamaño del recuadro, si se considera desde el (0,0)
double d· Diagonal, longitud del vector (x1,y1) -> (x2,y2)
double d2· Diagonal al cuadrado
double area· Nº real con el área (xx*yy)
Dpun pun (int num_vert)· Punto con las coordenadas de cualquiera de los cuatro vértices (0..3) del recuadro, desde la esquina inf. izq. y en sentido antihorario. Dos extremos existen realmente y dos son calculados
Drec copia ()· devuelve otro recuadro copia del objeto
double diagonal_lg (Dpun pun, int que=0)· lugar geométrico <0 a un lado de la diagonal, =0 en la diagonal, >0 al otro; que==1 distancia a la diagonal, que==2 distancia al cuadrado
SerializaciónDrec

El parámetro 'std' activado en conversiones desde y hacia texto, significa NO utilizar el formato dependiente del lenguaje que tiene la máquina (por ejemplo para español, separador de miles (.) y separador decimal (,)

cadena ac (cadena sep=",", long dec=-1, bool std=0)· convierte a cadena las coordenadas del objeto con el separador 'sep' (por defecto coma) y especificando el número de decimales 'dec', por defecto, sin límite
void dc (cadena cad, cadena sep=",", bool std=0)· convierte desde la cadena 'cad', coordenadas separadas por 'sep', a un recuadro (el objeto)
RedundantesDrec
cadena toString ()· sinónimo de ac(), sin parámetros


Cbas (Objeto manejador de Base de datos)

Referencias: Cbas comun Cbas.Cbasrec.bas Cbas.Ctabla.Cbas Cbas.Ctabla.bas

Secciones:
Métodos generales de manejo de BDs
Métodos de consulta y ejecución SQL
Métodos de manejo de tablas, tipos y clases de una base
Métodos de manejo de la seguridad de la DB
Métodos de manejo de los decimales de la DB
Métodos de manejo de conceptos
Métodos de manejo de rótulos
Métodos de manejo de gráficos
Métodos para la importación y exportación de una BD a inx o bc3
Métodos para la importación, exportación y comparación json
Métodos para la visualización de las ventanas de la aplicación
Métodos sobre inclusión y ejecución de informes, cantidades y otros
Utilidades
Métodos de manejo de OTs
Métodos de manejo de Acciones
Objetos derivados
Gestión de activos
Obsoletos
Métodos generales de manejo de BDsCbas
long edicion ()
void edicion (bool poner)
· Sin parámetros devuelve '2' si el objeto Cbas actual está en edición, '1' si no está en edición pero la BD a la que referencia sí lo está y '0' si ésta tampoco está en edición

· Con parámetro 'edi', si el valor es '1' pone tanto al ojeto Cbas actual como a la BD de referencia en edición, si es '0' los pone no editables

· Se necesitan permisos de edición para utilizar este método

long exclusivo ()
void exclusivo (bool poner)
· Sin parámetros devuelve '2' si el objeto Cbas actual está en exclusivo, '1' si no está en exclusivo pero la BD a la que referencia sí lo está y '0' si esta tampoco está en exclusivo

· Con parámetro 'exc', si el valor es '1' pone tanto al objeto Cbas actual como a la BD de referencia en exclusivo, si es '0' los pone no exclusivos

· Se necesitan permisos de administrador para utilizar este método

long proveedor ()· Devuelve el SGBD que gestiona la base (1)JET (2)SQLServer (3)MySQL (4)Oracle
cadena usuario_app ()· Devuelve el nombre del usuario actual de la aplicación
cadena usuario_win ()· Devuelve el nombre del usuario actual de windows
void copia (cadena arc_dest)· Copia la BD sobre el archivo 'arc_dest' especificado. El archivo no puede existir previamente. Devuelve '0' si la operación se ha realizado correctamente. Se necesitan permisos de administrador para utilizar este método. Equivalente a la función Base> Copia Base, excepto este método no abre la BD copiada
void chequea ()· Chequea la BD. Devuelve '0' si la operación se ha realizado correctamente. Se necesitan permisos de administrador para utilizar este método. Equivalente a la función Herramientas> Repara base
void compacta (cadena arc_dest)· Compacta la BD sobre el archivo 'arc_dest' especificado. El archivo no puede existir previamente. Devuelve '0' si la operación se ha realizado correctamente. Se necesitan permisos de administrador para utilizar este método. Equivalente a la función Herramientas> Compacta Base, excepto este método no abre la BD compactada
int copia_tabla (Cbas basori, cadena tabla) 
bool calculado ()· Devuelve '1' si todas las cantidades de la BD están calculadas en la estructura precio-cantidad-importe de la tabla RCC
void recalcula (long conide=-1)· Recalcula las cantidades, de toda la BD por defecto. Si 'conide'>-1 recalcula un solo concepto 'conide' y sus influencias. Se necesita estar en edición para utilizar este método. Equivalente a la función Herramientas> Chequea cálculos
void calcula_todo ()· Calcula precios y horas de todos los conceptos descompuestos
void calcula_pendiente ()· Calcula precios y horas de los conceptos pendientes de calcular
cadena archivo ()· Devuelve el nombre de archivo de la BD actual con el camino absoluto
cadena dirgra ()· Devuelve el directorio base de las imágenes vinculadas (Concepto> Gráficos> Utilidades> Dir. de gra. vinculados)
cadena dirref ()· Devuelve el directorio base de las referencias externas (Concepto> Propiedades> Tipo referencia> Referencia> Procedimientos> Dir de referencias)
cadena dirmap ()· Devuelve el directorio base de los mapas (Proyecto> Geomapa> Cabecera> Dir referencias)
bool bajonivel ()
void bajonivel (bool poner)
· Si el parámetro 'poner'=1, las posteriores lecturas y grabaciones sobre los campos de la BD actuarán exlusivamente sobre los campos especificados. Si se llama sin parámetros, se recupera el valor actual en la aplicación

· Las lecturas devolverán el valor real contenido en los campos de la BD

· Las grabaciones se harán directamente sobre los campos especificados sin tener en cuenta otras consideraciones

· Se necesitan permisos de administrador para utilizar este método

void defecto (long ide)· Convierte el identificador 'ide' en el de defecto. También se puede realizar una asignación como: bas.defecto=1000. Es útil para cualquier flujo de programa en el que todos los métodos, propiedades, etc. se refieren al mismo concepto, y sirve de abreviatura
long actual (long que=0)· Devuelve el identificador de la selección actual de la ventana principal (el último de los seleccionados si hay una multiselección). 'que' indica qué identificador se devuelve: (0)ide de concepto seleccionado, (1)ide del padre en RCC, (2)ide de la relación (tabla RCC) entre padre y el actual
Clis actuales (bool relacion=0, bool seleccion=0)· Devuelve una lista de los identificadores actualmente presentes en la ventna principal, filtrados con los criterios:

· Si 'relación'=1, los identificadores devueltos serán de relaciones (RCC), si no se especifica, serán de conceptos (CON)

· Si 'seleccion'=1 se filtra la lista dejando sólo los multiseleccionados, sino se devuelven todos los de la lista de la ventana principal

· NOTA: Existen un par de funciones no implementadas en el objeto COM, sino en JavaScript en la librería genérica "lib", pero que son de uso muy habitual con el objeto Cbas. Trabajan con las funciones actual() y actuales():

· buscaactual (long tipo, long clase=0]) - Devuelve el identificador del concepto actual en la variable 'actual' si es del tipo o clase especificados, sino aparece el mensaje de que el concepto seleccionado no es de ese tipo / clase.

· buscaactuales (long tipo, long clase=0) - Devuelve una lista con los identificadores de la ventana principal en el array 'actual', si cumplen la condición de ser del tipo / clase.

bool cierra()· Cierra la conexión a la base de datos. Devuelve 0 si la acción se ha realizado correctamente
bool reabre()· Reabre base de datos
Métodos de consulta y ejecución SQLCbas
bool pregunta (long ide, cadena consulta)· Realiza una pregunta rápida sobre un campo o tabla devolviendo si existe o no (0 ó 1) cierta información en un concepto 'ide'. Utiliza las mismas búsquedas que la ventana Proyecto> Características, que se muestran en la columna Info de ventana principal

· El parámetro 'consulta' admite:

· 'tabla.campo.condato', nos indica si el valor de un campo del registro con identificador 'ide' de una tabla NO ES NULO

· 'tabla.campo.existe | existe1 | existe2', nos indican si en un campo de una tabla, existe, existe una única vez, o existe más de una vez, el valor 'ide' (para consultas de relaciones). Ej: 'rcc.des.existe2' comprueba si 'ide' tiene más de un ascendiente en la tabla RCC

Cbas.Cbasrec busca (cadena select_sql)· Crea y devuelve un objeto recordset con todos los registros recuperados por la sentencia select
Cvar busca1 (cadena select_sql)· Devuelve el campo o [campos] definidos del primer registro especificado en la búsqueda sql. Útil para utilizar el identificador devuelto directamente. Devuelve el valor 0 si no encuentra nada
[] buscaN (cadena select_sql, campos_maximo=-1)· Devuelve los [registros] con el campo o [campos] definidos de cada registro especificado en la búsqueda sql. Se puede limitar el número máximo de campos por registro a devolver
{} buscaC1 (cadena select_sql)· Devuelve el objeto con los {campos} definidos del primer registro especificado en la búsqueda sql
[{}] buscaCN (cadena select_sql, campos_maximo=-1)· Devuelve los [registros] con los objetos con los {campos} definidos de cada registro especificado en la búsqueda sql
void ejecuta (cadena comando_sql)· Ejecuta una sentencia SQL excepto Select ya que no devuelve ningún resultado. El la función complementaria a las busca*(). Para utilizar este método la BD ha de estar en edición y el usuario ha de tener los permisos de administrador. Si la operación da error el script se interrumpe
Métodos de manejo de tablas, tipos y clases de una baseCbas
Cbas.Ctabla tabla (long num | cadena cod)
Cbas.Ctabla tabla (long tip, long cla)
· Crea y devuelve un objeto tabla de BD. Un método abreviado es especificar el nombre de tabla tras el objeto base. Ej: bas.tab <-> bas.tabla(tab)

· El parámetro 'num' nos indica la posición de la tabla dentro de la lista de tablas que contiene la BD

· El parámetro 'cod' nos indica el código o nombre de la tabla

· Los parámetros 'tip' y 'cla' nos indican el tipo y clase de conceptos de los que obtendremos su tabla

Cbas.Cdefcam defcam ()
Cbas.Cdefcam defcam (cadena tabcam, bool buscaenbases=1)
· Crea y devuelve un objeto Cbas.Cdefcam.

· El parámetro 'tabcam' ha de tener el formato <tabla>.<campo>. El objeto Cdefcam se cargará con la definición del <campo> perteneciente a la <tabla>. Hay una sintaxis abreviada sin el nombre de la función: bas.<tabla>.<campo>

· 'buscaenbases'=1 indica que el <campo> puede no pertenecer físicamente a la <tabla> pero sí a una tabla de nivel más básico (clase>tipo>concepto)

· 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): <tabla>.<campo>.<campo>.<campo>... Ej: rot.res(doc.pagi) <-> doc.pagi.res

long tabnum ()· Devuelve el número de tablas del objeto BD
Cbas.Ctabla tiptab (cadena codigo) (long tip, long cla=0)· Devuelve un objeto Ctabla. Los parámetros 'tip' y 'cla' representan el tipo y clase de los conceptos que contine la tabla devuelta
cadena tipcod (cadena codigo) (long tip, long cla=0)· Devuelve el código de la tabla con conceptos del tipo y clase especificados
cadena tipres (cadena codigo) (long tip, long cla=0)· Devuelve la descripción de la tabla con conceptos del tipo y clase especificados
long tipico (cadena codigo) (long tip, long cla=0)· Devuelve el identificador del icono de los conceptos del tipo y clase especificados. Este índice se refiere a la posición en el bitmap \Graficos\icotip16.bmp
cadena tipresres (cadena codigo) (long tip, long cla=0)· Devuelve la descripción del tipo más la descripción de la clase a partir de los números de tipo y clase especificados
long tipnum (cadena codigo) (long tip=0)· Devuelve el número de tipos del objeto (si 'tip' es igual a'0') o de clases de un tipo en concreto (si 'tip' es distinto de '0')
cadena tipresplu (cadena codigo) (long tip, long cla=0)· Devuelve la descripción en plural de la tabla si existe, sin no la descripción
Métodos de manejo de la seguridad de la DBCbas
seguridad_copia (cadena arc)· Copia la seguridad de la base actual a la base indicada por el archivo 'arc'. Para realizar esta acción el usuario ha de ser administrador en las dos bases. Devuelve 0 si realiza la acción correctamente
acceso (cadena cod)· Devuelve si 0 si el usuario actual no tiene permiso para realizar las acciones correspondientes al código de seguridad 'cod'
acceso_agrega (cadena gru, cadena acc)· Para el grupo de seguridad con código 'gru', agrega la restricción para el permiso con código 'acc'. Devuelve distinto de 0 si ha ocurrido algún error.
Métodos de manejo de los decimales de la DBCbas

Para modificar el valor de cualquiera de ellos es necesario permisos de administrador. Son equivalentes a la definición y formato de los campos de Proyecto> Parámetros generales> Decimales

En las funciones dec*, el parámetro 'dec' o la asignación del tipo bas.decp= 3, modifican el valor en BD

long deci ()
void deci (long dec)
· Sin parámetro devuelve el número de decimales para los importes
long decu ()
void decu (long dec)
· Sin parámetro devuelve el número de decimales para las unidades
long decp ()
void decp (long dec)
· Sin parámetro devuelve el número de decimales para los precios
long decc ()
void decc (long dec)
· Sin parámetro devuelve el número de decimales para las cantidades
long decm ()
void decm (long dec)
· Sin parámetro devuelve el número de decimales para las mediciones
long decr ()
void decr (long dec)
· Sin parámetro devuelve el número de decimales para los rendimientos
long decd ()
void decd (long dec)
· Sin parámetro devuelve el número de decimales para las dimensiones
long decs ()
void decs (long dec)
· Sin parámetro devuelve el número de decimales para los subtotales
cadena fori (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de los importes
cadena foru (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de las unidades
cadena forp (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de los precios
cadena forc (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de las cantidades
cadena form (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de las mediciones
cadena forr (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de los rendimientos
cadena ford (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de las dimensiones
cadena fors (double val)· Devuelve el parámetro 'val' con formato de cadena y con el número de decimales de los subtotales
Métodos de manejo de conceptosCbas
long conrescrea (long tip, long cla, cadena res)· Crea un concepto del tipo 'tip', clase 'cla' y con resumen 'res' y devuelve el identificador del concepto creado

· Se crea con el código siguiente al último existente

long conresbusca (long tip, long cla, cadena res, long que=0)· Devuelve el identificador del concepto de tipo 'tip', clase 'cla' y resumen 'res'

· Si el parámetro 'que' es igual a '-1', si existe devuelve el identificador y lo elimina, si no existe devuelve '0'

· Si el parámetro 'que' es igual a '0', si existe devuelve el identificador, si no existe busca algún concepto del mismo tipo y clase que contenga el resumen especificado y devuelve su identificador

· Si el parámetro 'que' es igual a '1', si no existe lo crea y además devuelve el identificador

· Si el parámetro 'que' es igual a '2', si existe devuelve el identificador con signo negativo, si no existe lo crea y devuelve el identificador

long concreasino (long tip, long cla, cadena cod, cadena res, long que=1)· Devuelve el identificador del concepto de tipo 'tip', clase 'cla' y código 'cod'

· Si el parámetro 'cod' es "" y 'res' tiene el formato <código> <resumen>, el parámetro 'cod' tomará el valor de <código> y 'res' tomará el valor de <resumen>

· Si el parámetro 'res' es "" y 'cod' tiene el formato <código> <resumen>, el parámetro 'cod' tomará el valor de <código> y 'res' tomará el valor de <resumen>

· Si el parámetro 'cod' es "" y 'res' no tiene el formato anteriormente dicho, este método se comporta como el método Cbas.conresbusca

· Si el parámetro 'que' es igual a '0', si existe devuelve el identificador, si no existe devuelve '0'

· Si el parámetro 'que' es igual a '1', si no existe lo crea y además devuelve el identificador

· Si el parámetro 'que' es igual a '2', si existe devuelve el identificador con signo negativo, si no existe lo crea y devuelve el identificador

Clislong conhijos (long ide, cadena donde="raf", cadena tablas="")· Devuelve una lista de identificadores de conceptos inferiores mediante al concepto 'ide'

· El parámetro 'donde' puede incluir: r1(relaciones) a0(ascendiente) f0(familia) p0(propiedades) n0(no_en_tablas) o0(orden 0codigo 1resumen); tablas: {tabla;}

· Por defecto, la lista devuelta está ordenada por código. Si 'o1', será por resumen

bool contabelimina (cadena tab, bool todas_las_clases=0)· Elimina todos los conceptos de la tabla 'tab'. Si la tabla es de tipo y todas_las_clases=1, se eliminarán todas las clases del tipo; Se necesita tener permisos de administrador

· bool contabelimina (long tip, long cla, bool todas_las_clases=0) // Elimina todos los conceptos del tipo 'tip' y clase 'cla'. Si cla=0 y todas_las_clases=1, se eliminarán todas las clases del tipo; Se necesita tener permisos de administrador

bool contabcambia (long coni, cadena tab)· Cambia el concepto de tabla
bool confunde (long con1, long con2)· Funde dos conceptos, borra el primero y traslada sus referencias al segundo
bool conpargraba (long coni, cadena datos_par)· Graba un texto con un programa paramétrico 'datos_par' en el concepto con identificador 'coni'. Devuelve '0' si la operación se ha realizado correctamente
cadena codsiguiente (long tip, long cla=0, cadena mas="")· Devuelve el siguiente código al último existente de tipo 'tip y clase 'cla', según la serie de la máscara 'mas'
Métodos de manejo de rótulosCbas
long rotrescrea (long tip | cadena tabla.campo, cadena res)· Crea un rótulo del tipo 'tip' o el del campo tabla.campo y con resumen 'res' y devuelve el identificador del rótulo creado
long rotresbusca (long tip | cadena tabla.campo, cadena res, long que=0)· Devuelve el identificador del rótulo de tipo 'tip' o el del campo tabla.campo y resumen 'res'

· Si el parámetro 'que' es igual a '-1', si existe devuelve el identificador y lo elimina, si no existe devuelve '0'

· Si el parámetro 'que' es igual a '0', si existe devuelve el identificador, si no existe busca algún rótulo del mismo tipo que contenga el resumen especificado y devuelve su identificador

· Si el parámetro 'que' es igual a '1', si no existe lo crea y además devuelve el identificador

· Si el parámetro 'que' es igual a '2', si existe devuelve el identificador con signo negativo, si no existe lo crea y devuelve el identificador

long rotbusca (long tip | cadena tabla.campo, cadena cod, long que=0)· Devuelve el identificador del rótulo de tipo 'tip' o el del campo tabla.campo y código 'cod'

· Si el parámetro 'que' es igual a: (0)normal[retorna ide si existe] (1)creasinoexiste[retorna ide si existe/creado] (-1)eliminasiexiste[retorna ide antiguo si ok]

long rotcreasino (long tip | cadena tabla.campo, cadena cod, cadena res, long que=1, bool buscaencomun=1)· Devuelve el identificador del rótulo de tipo 'tip' o el del campo tabla.campo y código 'cod'

· Si el parámetro 'cod' es "" y 'res' tiene el formato <código> <resumen>, el parámetro 'cod' tomará el valor de <código> y 'res' tomará el valor de <resumen>

· Si el parámetro 'res' es "" y 'cod' tiene el formato <código> <resumen>, el parámetro 'cod' tomará el valor de <código> y 'res' tomará el valor de <resumen>

· Si el parámetro 'cod' es "" y 'res' no tiene el formato anteriormente dicho, este método se comporta como el método Cbas.rotresbusca

· Si el parámetro 'que' es igual a '0', si existe devuelve el identificador, si no existe devuelve '0'

· Si el parámetro 'que' es igual a '1', si no existe lo crea y además devuelve el identificador

· Si el parámetro 'que' es igual a '2', si existe devuelve el identificador con signo negativo, si no existe lo crea y devuelve el identificador

· Si el parámetro 'buscaencomun' es 1 y existe 'cod' y no existe el rótulo en la base y que<>0, busca el rótulo en el común y lo traslada si lo encuentra

Métodos de manejo de gráficosCbas
long rcg_principal (long conide, bool relacion=0)· Por defecto devuelve el identificador de la primera imagen asociada (tabla GRA) al concepto con identificador 'conide'. Si 'relacion'=1, devuelve ide de la primera relación en la tabla RCG. Ambos están en campos virtuales con._rcgi y con._grai
long ide= gralee (cadena arc, long vin=-1, cadena cod="", long que=2)· Inserta una nueva imagen en la BD y devuelve su identificador en la tabla GRA. Se devuelve 0 si hay un error

· El parámetro 'arc' es el nombre de archivo de la nueva imagen

· El parámetro 'vin' indica si deseamos vincular la imagen, por defecto

· El parámetro 'cod' permite especificar otro código que no sea el nombre de archivo

· El parámetro 'que', determina qué hacer cuando ya existe el código de gráfico 'cod': (0)preguntar, (1)ignorar la importación (2)-defecto-sobreescribir el de la base, (3)renombrar el nuevo

· Después de la carga de un gráfico, se suele asociar a un concepto mediante una llamada: bas.rcg.creasino (ide_con, ide_gra)

cadena gragraba (long ide, cadena destino, long resolucion=2)· Exporta a un archivo la imagen de BD con identificador 'ide'. Si tiene éxito se devuelve el nombre del archivo grabado con el camino completo; sino se devuelve 0

· Si el parámetro 'destino' es un directorio, el archivo destino irá a este directorio con el código de la imagen como nombre de archivo

· Si el parámetro 'destino' es un archivo, éste será el destino modificando la extensión por la indicada en el código de la imagen de la BD a grabar

· El parámetro 'resolucion' indica: (0)diapositiva, (1)media definición, siempre incrustada, (2)-defecto- alta definición o real, (3)alta o media definición, según se trate de bitmaps o vectoriales

Métodos para la importación y exportación de una BD a inx o bc3Cbas
bool importa (cadena archivo, cadena modtra="", long presenta=0)· Importa un archivo con formato inx. Si la aplicación lo permite también importa archivos con formato bc3

· Sólo para los archivos .BC3, el parámetro 'modtra' indica un archivo .TRA de modos de traslado. El parámetro 'presenta' indica si se presenta al termino del método un archivo .LOG

· Necesita estar en edición y tener permisos de importación

bool exporta (cadena archivo, cadena modtra="")· Exporta un archivo con formato inx. Si la aplicación lo permite también exporta archivos con formato bc3

· Sólo para los archivos .BC3, el parámetro 'modtra' indica un archivo .TRA de modos de traslado

· Necesita tener permisos de exportación

Métodos para la importación, exportación y comparación jsonCbas
json= json_propiedades (long ide, cadena que="")· [{var=val...},...]; que: s(incluye campos sin dato) r(incluye campos de rótulo)
json= json_conceptos (cadena select, cadena que="")· [{var=val...},...]
json= json_select (cadena select, cadena que="")· [{var=val...},...]
json= json_tabla (cadena tabla, cadena que="")· [{var=val...},...]
json= json_diferencia (Cbas &bas2, cadena &select, cadena &campos_no="")· {crear:[],modificar:[],eliminar:[]}; campos_no="|campo|{campo|}", order by algo sino ide
json= json_diferencia_tablas (Cbas &bas2)· "tipos=[[n],[m],[e]]\r\ncampos=[[n],[m],[e]]\r\n"
json= json_diferencia_conceptos (Cbas &bas2, cadena clase, bool compara_codigos=0, cadena &campos_no="")· {crear:[],modificar:[],eliminar:[]}; campos_no="|campo|{campo|}"
json= json_diferencia_relaciones (Cbas &bas2, cadena &select, cadena &campos_no="")· {crear:[],modificar:[],eliminar:[]}; campos_no="|campo|{campo|}"
bool json_sincro_tablas (cadena json12, bool esprueba) 
Métodos para la visualización de las ventanas de la aplicaciónCbas
bool panrotcrea (long roti | cadena tabcam)· Abre la ventana de rótulos (clasificaciones) con los valores de una tabla especificando el identificador 'roti', o el nombre de tabla y campo 'tabcam', como bas.panrotcrea('inm.dirvia')
bool pannuecrea (cadena tabla="car", cadena modificadores="", cadena titulo="", long copiaide=10)
bool pannuecrea (long tip=1, long cla=0, long copiaide=10)
· Abre la ventana de creación de nuevos conceptos, por defecto con tipo carpeta, sin clase. Si se especifica un identificador en 'copiaide', se permite crear el concepto a partir de la copia de las propiedades de ese

· tabla: <código_tabla>[.<código_concepto>][ <descripción_concepto>]

· modificadores: f0(fecha) n0(número) c1(copia) r0(relaciona) t0(tipo) p1(propiedades)

long panclaselec (cadena titulo long tip=0, long cla=0, long solodetip=0)· Abre el dialogo e selección de clases de concepto y retorna el identificador de la clase seleccionada(1000*tip+cla) o 0
bool panvenlee (cadena codven)· Abre la ventana de la aplicación con el código 'codven':

· TEX=Textos, TER=Términos, GRA=Gráficos, COE=Parámetros generales, UTI=Utilidades, WEB=Herramientas de Web, FIE=Entrada/Salida de Conexión ADO

· ADO=E/S General, IMP=Informes y Procedimientos, BUS=Búsqueda General, BUC=Búsqueda por Términos, TES=Búsqueda en Lenguaje Natural

· TIP=Tipos y Clases de conceptos, ROT=Clasificaciones, HIS=Histórico de campos

· PRO<numtip> indicando un nº de tipo, abre la ventana de propiedades de ese tipo. Ej: PRO1 abre las propiedades de Carpeta

· PAR=Paramétricos

· CONMAN=Mantenimiento y datos económicos

· MAPGEO=Geomapas, MAPPRO=Utilidades de Mapas

bool manvenlee (cadena arc_mac)· Presenta la configuración de ventanas propuesta en el archivo 'arc_mac' del directorio correspondiente a la resolución actual, bajo el directorio \Ventanas
bool panpresenta (cadena sql, cadena cab="")
bool panpresenta (Clis idel, cadena cab="", long rel=0)
· Presenta en la ventana principal una lista de conceptos con una cabecera concreta

· El parámetro 'sql' ha de ser una sentencia Select de SQL que devuelva como primer campo identificadores de conceptos

· El parámetro 'cab' indica una cabecera concreta para presentar en la ventana principal

· El parámetro 'idel' ha de contener una lista de identificadores a conceptos o a relaciones

· El parámetro 'rel' indica si vale '0' que los identificadores del parámetro 'idel' son de conceptos, si no son de relaciones

bool pandibuja (long que=0)· Redibuja la ventana principal, actualizando los datos dependiendo del parámetro 'que': (5)archivo (4)modos edición, exclusivo, calculado (3)camino actual (2)modo lista, padre (1)concepto (0)redibuja. Cada nivel envuelve al anterior y significa un redibujado de más partes de la ventana principal
bool panlinea (long ide)· Redibuja la línea de la ventana principal que contine al concepto con identificador igual a 'ide'
bool panabre (cadena arc="", cadena camino="", long paralelo=0)· Abre la BD 'arc' en la ventana principal, o en la paralela si 'paralelo'=1. Se posiciona en el camino 'camino', si existe
bool pancierra (bool paralelo=0)· Cierra ventana principal de la instancia actual, o la paralelo si 'paralelo'=1. Si se cierra la principal, se cierra la aplicación
bool panprofoco (long tip, long confoco=1, long creasino=1)· Pone el foco en la ventana de propiedades de los conceptos de tipo 'tip'

· Si el parámetro 'confoco'=0 y la ventana está en segundo plano, no se pasa a primer plano

· Si el parámetro 'creasino'=0 y la ventana no estaba abierta, no se abre

bool panproforzado (long ide, long confoco=1, long creasino=1)· Fuerza a la ventana de propiedades del concepto con identificador 'ide' a presentar a éste y pone la ventana en modo forzado

· Si el parámetro 'confoco'=0 y la ventana está en segundo plano, no se pasa a primer plano

· Si el parámetro 'creasino'=0 y la ventana no estaba abierta, no se abre

bool panprovirtual (long ide, long confoco=1, long creasino=1)· Fuerza a la ventana de propiedades del concepto con identificador 'ide' a presentar a éste y pone la ventana en modo virtual

· Si el parámetro 'confoco'=0 y la ventana está en segundo plano, no se pasa a primer plano

· Si el parámetro 'creasino'=0 y la ventana no estaba abierta, no se abre

bool vencambia (tip)· Refresca la ventana de propiedades de los conceptos de tipo 'tip'. Si la operación se realiza correctamente devuelve '0'
Métodos sobre inclusión y ejecución de informes, cantidades y otrosCbas
cadena incluir (cadena codinf)· Incluye el código script de un informe de la BD actual con código de concepto 'codinf'. El objeto por defecto es la base de datos 'comun' (que se encuentra en el directorio raíz de la instalación), es decir: comun.incluir(), por lo que no hace falta especificarlo. Sólo si estamos en otra BD y se incluye código de la propia BD, hay que especificarlo
long screjecuta (cadena xjs, cadena par="")· Ejecuta el archivo 'xjs' con la cadena de parámetros 'par'. Devuelve el siguiente número a la última página impresa
Cbas.Ccalcan (long raiz=1, bool solocarpetas=0)· Calcula cantidades a partir del identificador de concepto 'raiz' y devuelve un objeto Ccalcan. Si el parámetro 'solocarpetas'=1 sólo calcula con el campo cantidad entre conceptos de tipo carpeta
Clis descompuestos (long coni, long acumulado)· Devuelve una lista de descompuesto del concepto con identificador 'coni'
genera_pdf (long ide, cadena inf, cadena arc, cadena param)· Ejecuta el informe 'inf' para el concepto con identificador 'ide' y genera un archivo PDF que lo graba en la ubicación indicada por 'arc'. Antes puede ejecutar el código script 'param'
UtilidadesCbas
utiorg_trocea (cadena que_mas_mod, bool esprueba=0)· Trocea carpetas de búsqueda con subcarpetas de búsqueda por: que máscara_de_conceptos_a_trocear modificadores

· que: "alfa" mod: m-1(máximo_por_carpeta) n20(mínimo_por_carpeta) d0(doble lista) c0(con_cantidad)

· que: "padre" mod: n2(niveles) g0(copia_gráficos) o0(order_by_cod)

· que: "fecha" mod: a1(por años) d1(por décadas) s1(por siglos)

· que: "campo" mod: n1(niveles)

· DISP_E_MEMBERNOTFOUND;

Métodos de manejo de OTsCbas
Clis ord_programa (long fecini, long fecfin, Clis idel)· Devuelve una lista de MPs con fechas programadas y preventivas entre las fechas inicial y final

· Los parámetros 'fecini' y 'fecfin' indican el intervalo de fechas a tratar

· El parámetro 'idel' ha de ser una lista de identificadores a MPs

· La lista devuelta tiene como elementos otras listas con tres elementos. El primer elemento es el identificador del MP, el seguendo es una lista de fechas programadas y el tercero una lista de fechas previstas

int ord_genera (long fecini, long fecfin, Clis idel)· Monta las OTs correspondientes al intervalo comprendido entre la fecha inicial y final para los MPs indicados

· Los parámetros 'fecini' y 'fecfin' indican el intervalo de fechas a tratar

· El parámetro 'idel' ha de ser una lista de identificadores a MPs

long orden_crea (long coni=0, long fec=0, cadena cod=CC, cadena res=CC, long cla=0)· Crea una OT correctiva y devuelve el identificador de la OT creada

· El parámetro 'coni' es el identificador del concepto que recibirá la OT

· El parámetro 'fec' es la fecha de la OT

· El parámetro 'cod' es el código de la OT. Si 'cod' es una máscara se obtendrá el siguiente código según la máscara

· El parámetro 'res' es el resumen de la OT. Si 'res' no tiene valor se utilizará el resumen del concepto identificado por 'coni'

· El parámetro 'cla' indica la clase de la OT que se creará

int orden_preventiva_crea (long mani, long fecpro=0, long fecpre=0, cadena cod=CC, cadena res=CC)· Crea una OT preventiva. Si la operación ha sido realizada correctamente devuelve '0'

· El parámetro 'mani' es el identificador de un MP

· El parámetro 'fecpro' es la fecha programada de la OT

· El parámetro 'fecpre' es la fecha prevista de la OT

· El parámetro 'cod' es el código de la OT. Si 'cod' es una máscara se obtendrá el siguiente código según la máscara

· El parámetro 'res' es el resumen de la OT. Si 'res' no tiene valor se utilizará el resumen del concepto objeto de la acción y el resumen de la acción especificados en el MP

Cima calendario (long coni, long fecini, long fecfin, long esvectorial=0)· Devuelve una imagen con el calendario de un Grupo de trabajo comprendido entre la fecha inicial y final. Esta imagen puede ser vectorial o no

· El parámetro 'coni' es el identificador de un Grupo de trabajo. Si el valor es '0' muestra el calendario de todos los grupos

· Los parámetros 'fecini' y 'fecfin' indican el intervalo de fechas a tratar

· El parámetro 'esvectorial' indica si la imagen a obtener será vectorial o no

Métodos de manejo de AccionesCbas
int actividades_monta (long acci, long monta_consumos=0)· Monta MPs de la acción con identificador 'acci'. Si 'monta_consumos' es igual distinto de '0', además, monta los consumos. Si la operación se ha realizado correctamente devuelve '0'
int actividades_desmonta (long acci)· Desmonta los MPs de la acción con identificador 'acci'. Si la operación se ha realizado correctamente devuelve '0'
Objetos derivadosCbas
Cbas.Cpar Cpar ()· Crea un objeto Cbas.Cpar para manejo de información paramétrica
Cbas.Cima Cima ()· Crea un objeto Cbas.Cima para manejo de imágenes bitmap y vectoriales
Cbas.Cmap Cmap ()· Crea un objeto Cbas.Cmap para manejo de mapas de BD
Cbas.Cdxi Cdxi ()· Crea un objeto Cbas.Cdxi para manejo de dibujo vectorial 2D
Cbas.Cweb Cweb ()· Crea un objeto Cbas.Cweb para manejo de generación web automática desde BD
Cbas.Cfie Cfie ()· Crea un objeto Cbas.Cfie para manejo de importación/exportación mediante ADO
Cbas.Ctes Ctes ()· Crea un objeto Cbas.Ctes para manejo de términos y tesauros
Cbas.Cgesord ()· Crea un objeto Cgesord, manejador de medidas de una OT
Cbas.Cgesvia ()· Crea un objeto Cgesvia, manejador de vías
Cbas.Cgesdis ()· Crea un objeto Cgesdis, manejador de disponibilidades horarias
Cbas.Cgestra ()· Crea un objeto Cgestra, manejador de disponibilidades y necesidades de personas y horas de grupos de trabajo
Cbas.Cgesfes ()· Crea un objeto Cgesfes, manejador de festivos
Gestión de activosCbas
[]= bas.ga_espacio_familias (espacio, mod)· monta estructura de familias de elementos en el espacio y acumula cantidades en ellas; código o ide del espacio
[]= bas.ga_familia_espacios (familia, mod)· monta estructura de espacios de elementos de la familia y acumula cantidades en ellas; código o ide de la familia

· modificadores: s0(con grupos superiores) e0(con elementos) b0(busca en subgrupos)

· retornan: [{ide:identificador, niv:nivel, uni:unidad, num:número, can:cantidad}]; // niv: (0)elementos (1..)grupos

ObsoletosCbas
panbusqueda ()· Ahora panpresenta()
gespar ()· Ahora Cpar()
dibima ()· Ahora Cima()
dibmap ()· Ahora Cmap()
Cbas.Ctabfie Ctabfie ()· Ahora Cfie()
consultor_importar()· Cargaba datos externos recibidos por e-mail de un cliente HTML llamado 'consultor'
programa()· Ahora con ord_programa()
cuadrante()· Ahora con ord_programa()


Cbas.Cbasrec (Objeto manejador de Recordset de BD)

Para trabajar directamente con registros, seleccionados por ejemplo con la función bas.busca()


Referencias: Cbas.busca
Cbas bas· Objeto Cbas, BD a la que pertenece la tabla del registro
bool final ()· Devuelve el valor verdadero (1) cuando llega al final del conjunto (no quedan registros en el Recordset)
void siguiente ()· Pasa al siguiente registro el puntero del Recordset
long filnum· Número de filas del Recordset
long camnum· Número de campos o columnas del Recordset (tabla)
cadena camcod(long num)· Código del campo con número 'num'
long camtip (long num | cadena cod)· Tipo del campo al que se accede mediante su 'num' o 'cod'. Los tipos son un número con la correspondencia:
Cvar campo (long num | cadena cod)· devuelve el valor del campo número 'num' del recordset o con código 'cod'. También se puede acceder al valor sin la función, sólo con el nombre del campo. Ej: rec.campo("padi") <-> rec.padi
cadena campof (long num | cadena cod)· Igual que campo(), pero con el valor formateado
long tamano (long num | cadena cod)· Tamaño del campo en BD de la aplicación
long tamanoa (long num | cadena cod)· Tamaño actual de los datos en el campo, según el interface ADO
long tamanoa2(long num | cadena cod, bool comprimido=0)· Tamaño actual de los datos en el campo


Cbas.Ccalcan (Objeto manejador del Cálculo de cantidades)

Gestiona los datos del cálculo automático de cantidades en tabla RCC acumulando jerárquicamente hacia el concepto raíz


Referencias: Cbas.cantidades

Secciones: Acceso por ide Acceso por posición
long num· Devuelve el número de recursos
long ordena (long que)· Ordena la lista de recursos en función del parámetro 'que', (0)tipo-clase-código (1)código. Devuelve el número de recursos
long simples ()· Monta la lista de recursos (sin estructura) con las cantidades totales utilizadas en el presupuesto. Devuelve el número de recursos
Acceso por ideCbas.Ccalcan
long ide
long ide (long ide)
· Devuelve el identificador del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
long tip
long tip (long ide)
· Devuelve el tipo del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
long cla
long cla (long ide)
· Devuelve la clase del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
long niv
long niv (long ide)
· Devuelve el nivel del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
double can
double can (long ide)
· Devuelve la cantidad del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
double acu
double acu (long ide)
· Devuelve la cantidad acumulada del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
cadena canf
cadena canf (long ide)
· Devuelve la cantidad formateada del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
cadena acuf
cadena acuf (long ide)
· Devuelve la cantidad acumulada formateada del recurso si éste está en el montaje de simples (). Si no se utiliza el parámetro 'ide' se considera el 'ide' almacenado en bas.defecto
Acceso por posiciónCbas.Ccalcan
long idei (long pos)· Devuelve el identificador del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
long tipi (long pos)· Devuelve el tipo del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
long clai (long pos)· Devuelve la clase del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
long nivi (long pos)· Devuelve el nivel del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
double cani (long pos)· Devuelve la cantidad del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
double acui (long pos)· Devuelve la cantidad acumulada del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
cadena canif (long pos)· Devuelve la cantidad formateada del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.
cadena acuif (long pos)· Devuelve la cantidad acumulada formateada del recurso si éste está en el montaje de simples (). El parámetro indica la posición del recurso dentro del monaje.


Cbas.Cdefcam (Definición de campo de base de datos)

Permite ampliar y modificar el modelo de datos con nuevos campos particulares además de los predefinidos en una base en blanco


Referencias: Cbas.defcam Cbas.Ctabla.defcam

Secciones: Métodos y propiedades Rangos Tabla Tabla original Tabla del padre Valor de campo Procedimientos Obsoletos
Métodos y propiedadesCbas.Cdefcam
char t ()· Devuelve un carácter abreviatura del tipo de campo: (B)ooleano (E)ntero (F)echa (G)fechahora (H)ora (R)eal (P)recio (I)mporte (C)antidad (T)exto (L)ista (I)ndice (S)elección
cadena res ()· Descripción o nombre del campo
cadena pad ()· Código de la tabla Cdeftab a la que pertenece el campo
cadena cod ()· Código del campo
cadena tip ()· Texto con el nombre del tipo
long tam ()· Nº entero con el "tamaño" del campo, que en el interface es el campo Propiedades (en tipo L significa el ide de la lista al que apunta, en T el número de líneas del interface a mostrar, en I es el nº de la clase de conceptos a los que apunta, en R es el núm. de decimales)
long atr ()· Definición de características internas del campo: (1)Campo NO admite cadenas de longitud cero (sólo campos texto o memo), por defecto siempre admiten cadenas vacías (2)Campo requerido (no puede ser nulo) (4)Campo autoincremental (no lo usamos en Ingra)
cadena sel ()· Devuelve la lista de tablas virtuales, si como en la table REC de recursos, una tabla real se divide en varias que sólo existen de forma lógica. Devuelve una cadena como: "Especialidad;mdo|Maquinaria;maq|Materiales;mat"
bool din ()· True si es dinámico (definido sobre la definición básica de BD)
bool mul ()· True si está marcado como múltiple, lo que permite entradas en la tabla Histórico de campos
bool noi ()· True si está marcado como no imprimible (por defecto)
bool esnum ()· True si es numérico (no T,L,I,S)
bool esrot ()· True si es de tipo "L" lista
bool escon ()· True si es de tipo ">" referencia a concepto
long uni ()· Identificador del rótulo de tipo "1·Unidad de medida" al que apunta par establecer las unidades del campo
cadena _uni ()· Código de la unidad de medida
RangosCbas.Cdefcam
cadena ran ()· Devuelve la lista de rangos del objeto (si los tiene), el campo RAN de la tabla. Son los valores que definen el rango separados por barras verticales; si hay una inicial y final significa "menor que el primero" y "mayor que el último". Ej: "|01|15|" es una lista de 4 rangos
long ranlee (long coni=0)· Carga los rangos en una estructura en memoria para poder gestionarlos, y devuelve su número. Si se especifica un ide de concepto 'coni', se devuelve el rango particular definido en concreto para una relación concepto-campo (tabla histórico)
cadena ranrot (long ind, long resumen=1)· Devuelve el rótulo del rango 'ind'. Por defecto la descripción; si 'resumen'=0 devuelve el código o valor que define ese rango
cadena ransel (long ind, long orden=1)· Devuelve una select SQL para el rango de posición 'ind', con los identificadores de concepto que cumplen el rango. Le impone a la select el 'orden': (0)sin orden (1)por ide de campo, descendiente (2)tipo-clase-código
TablaCbas.Cdefcam
Ctabla tab ()· Devuelve una tabla objeto Cbas.Ctabla al que pertenece el campo
cadena codigo ()· Devuelve una cadena con el formato "tabla.campo"
cadena tabcam ()· OBSOLETA Devuelve una cadena con el formato "tabla.campo"
cadena tabcod ()· Código de la tabla
cadena tabres ()· Descripción de la tabla
long tabtyc ()· Nº del tipo.clase (tipo*1000+clase)
long tabtip ()· Nº del tipo de la tabla
long tabcla ()· Nº de clase de la tabla
Tabla originalCbas.Cdefcam
cadena tabcod0 ()· Código de la tabla original de lectura (puede ser derivada de tab)
cadena tabres0 ()· Descripción de la tabla original de lectura (puede ser derivada de tab)
Tabla del padreCbas.Cdefcam
Ctabla padtab ()· Devuelve un objeto tabla con la tabla "padre" del campo: ROT a la que apunta si el campo es de tipo (L)ista, o la del tipo/clase de concepto al que apunta si es de tipo referencia (>)
long padtyc ()· Nº del tipo.clase (tipo*1000+clase) de la tabla "padre"
long padtip ()· Nº del tipo de la tabla "padre"
long padcla ()· Nº de clase de la tabla "padre"
Valor de campoCbas.Cdefcam
Cvar val (long ide)· Permite asignar o recuperar un valor en el campo (se puede usar como función con el parámetro 'ide' o con asignación)
cadena valf (long ide)· Valor del campo formateado
long dec ()· Devuelve el nº de decimales si es de tipo numérico (R)eal, sino 0
Cvar formato (Cvar valor, bool sincodigo=0)· Formatea un 'valor' con la definición del objeto. Ej: si se pone un double en un campo entero, lo redondeará sin decimales, o si es de tipo L, se devolverá una cadena como "Código·Resumen" del concepto al que se apunta

· Con 'sincodigo'=1 en los campos de referencias (a conceptos o rótulos), se omite el código

ProcedimientosCbas.Cdefcam
void lee (tab.cod, bool buscaenbases)· Función de carga de un campo
int define (cadena datos, bool prueba=0)· Permite crear un campo con la misma sintaxis que desde interface de ventana, mediante una cadena con: num_tab·codigo·letra_tipo·tamaño descripción. Ej: "100·binmue·R·3 Precio final"
ObsoletosCbas.Cdefcam
tipf ()· Ahora t()


Cbas.Cdefind (Definición de índice de campo en BD)

Referencias: Cbas.Ctabla.defind
cadena cod ()· Código de índice
cadena cam ()· Lista de códigos de los campos a los que se aplica separados por barras verticales (Ej: en CON, "tip|cla|cod" para el índice principal)
long tip=0· Nº con los siguientes bits indicando el tipo de índice: (1)Índice único, no tiene duplicados (2)Índice primario PK (4)Índice admite nulos (8)Índice ignora nulos, sólo tiene sentido si admite nulos

· Ej: para un índice único y clave primaria: 1+2= 3



Cbas.Cdeftab (Definición de tabla de BD)

Referencias: Cbas.Ctabla.deftab

Secciones: Propiedades y métodos Para tablas de propiedades y extensiones
Propiedades y métodosCbas.Cdeftab
cadena res· Devuelve la descripción de la tabla
cadena pad· Devuelve el código de la tabla padre de la tabla en cuestión
cadena cod· Devuelve el código de la tabla
cadena cod1· Devuelve el código del primer campo, si existe, que conforma la clave de la tabla
cadena cod2· Devuelve el código del segundo campo, si existe, que conforma la clave de la tabla
cadena cod3· Devuelve el código del tercer campo, si existe, que conforma la clave de la tabla
cadena tab1· Devuelve el código de la tabla padre del primer campo, si existe, que conforma la clave de la tabla
cadena tab2· Devuelve el código de la tabla padre del segundo campo, si existe, que conforma la clave de la tabla
cadena tab3· Devuelve el código de la tabla padre del tercer campo, si existe, que conforma la clave de la tabla
cadena pos· Devuelve el código del campo utilizado para posicionar los registros
cadena pospad· Devuelve el código del campo padre utilizado para posicionar los registros. El campo posición se organizará en función de los registros que tengan el mismo valor para el campo padre de posición
long deftip· Devuelve el tipo de tabla según la siguiente clasificación: (0)cualquier tabla (1)con campo ide (2)con código único (3)con tipo y código único (4)con tipo, clase y código único (5)con campo ide dependiente de otra tabla (6)con campo padre (7)con campos padre e hijo (8)con campos padre, hijo e hijo2
long bastip· Devuelve el tipo de tabla según la siguiente clasificación: (1)tabla relación concepto-auxiliar (4)tabla auxiliar (7)tabla relación concepto-concepto (9)tabla de propiedades o extensiones (10)tabla de conceptos
long unico· Si la tabla es de relaciones N:N y sólo puede existir un único registro por cada relación, devuelve 1. En los demás caso devuelve 0
Para tablas de propiedades y extensionesCbas.Cdeftab
long doctip· Si la tabla es de propiedades de conceptos, devuelve el tipo de estos. Si no lo es, devuelve 0
long doccla· Si la tabla es de extensiones de conceptos, devuelve la clase de estos. Si no lo es, devuelve 0
long ide· Devuelve el identificador de la tabla actual asignado en la tabla de tipos 'tip'. Sólo para tablas de propiedades o extensiones
long ico· Devuelve el icono asociado a los conceptos pertenecientes a la tabla. Sólo para tablas de propiedades o extensiones
long dim· Devuelve la dimensión o geometría asociado a los conceptos pertenecientes a la tabla. Sólo para tablas de propiedades o extensiones
long din· Devuelve 1 si la tabla es dinámica y 0 en caso contrario no. Sólo para tablas de propiedades o extensiones
long rgb· Devuelve el color RGB asociado a los conceptos pertenecientes a la tabla. Sólo para tablas de propiedades o extensiones
long blo· Devuelve el bloque asociado a los conceptos pertenecientes a la tabla. Sólo para tablas de propiedades o extensiones
long clafam· Devuelve la clase asociada a la familia
long clapad· Devuelve la clase asociada al ascendiente
long clahij· Devuelve la clase asociada a los descendientes


Cbas.Cima (Objeto manejador de imagenes de BD)

Estos objetos, como Cima no se BD, Cgrf o Cdxi, se deben crear uno por cada gráfico distinto a representar en una misma línea, (los objetos no se liberan hasta que se imprime una línea sin bloqueo), pero en distintas líneas se pueden (y deben) reutilizar los mismos objetos


Referencias: Cbas.Cima

Objeto base heredado: Cima

Secciones: Métodos para la lectura y grabación Obsoletos
Métodos para la lectura y grabaciónCbas.Cima

Devuelven 0 si la operación se ha realizado correctamente

int conlee (long coni, long num=-1, long resolución=3, cadena mod="")· Carga en el objeto, la imagen número 'num' (el primer gráfico es 0 si no se especifica ninguno) del concepto con identificador 'coni'. Opcionalmente se puede especificar la 'resolución' de la imagen que se carga: (0)diapositiva, (1)media, (2)alta resolución; mod: e1(gdi+)
int gralee (long grai, long resolución=2, cadena mod="")· Carga en el objeto la imagen, el gráfico con identificador 'grai' de la tabla de gráficos (no de la de relaciones entre conceptos y gráficos). Opcionalmente se puede especificar la 'resolución' igual que en le método anterior
int exporta (long grai, long resolución=2, cadena mod="")· Graba en un archivo externo el gráfico 'grai', con las mismas opciones de 'resolución' que en los métodos anteriores
int importa (long grai)· Carga un archivo externo en la B.D., con el identificador 'gri' indicado
ObsoletosCbas.Cima
con ()· Ahora conlee()
gra ()· Ahora gralee()


Cbas.Cmap (Mapas de base de datos)

Referencias: Cbas.Cmap

Secciones:
Cabecera
Importa/Exporta
Georreferencias
Modos en barra superior
Datos en pestaña cabecera
Ventana geomapa
Análisis
Límites, búsqueda
Dibujo
Varios
Obsoletos
tabmappro
tabmappro_utm
tabmapcon
CabeceraCbas.Cmap
long fac=1000· Factor que multiplicado por las unidades internas da metros; el valor de defecto es 1000=mm. Habrá que reducirlo a 100 para abarcar un espacio de coordenadas superior al tamaño de la península aproximadadmente, y trabajar con precisión de cm
Cpun ref
void ref (Cpun ref)
· referencia absoluta de base a las coordenadas internas. Se define en kms
Crec rec
void rec (Crec rec)
· recuadro máximo de todos los mapas del geomapa Ctabmap en coordenadas internas (mm normalmente)
Drec rec_m
void rec_m (Drec rec_m)
· recuadro máximo del geomapa en metros
Cdxi Cdxi()
Cdxi modos()
int modos(dxi)
· define o asigna un objeto Cdxi con la cabecera (factor, referencia y modos actuales) del geomapa de BD
<varios> de_m (double d | Dpun p | Drec r | Dpunl pl)· pasa de metros a coordenadas internas, las del objeto pasado como parámetro (distancia, punto, recuadro o lista de puntos)
<varios> a_m (long d | Cpun p | Crec r | Cpunl pl)· a la inversa que de_m(), pasa objetos en coordenadas internas a metros
Importa/ExportaCbas.Cmap
Cdxi exporta (cadena whe="", Crec zom=0, cadena mod="", cadena cnf="")· recorte a formato dxi de los datos filtrados desde el dxi actual, por los modos y otros parámetros; sin parámetros crea un dxi con los modos actuales de la base

· El parámetro 'mod' de modificadores admite:

· m0 <identificador Mapa> c0 <identificador Capa> e0 <Escala normalizada> v0 <solo Visibles> i0 <Incompleto> x0 <eXpande referencias M>

· f0 <conFiguración: (0)grabada (-1)geomapa actual (>0)identificador>

· n1 <compacta: (1)compacta (2)compacta y elimina No utilizados>

· r0 <Recorta: (0)no (1)elimina incompletas (2)mantiene incompletas (3)recorta líneas y mantiene bloques (4)recorta líneas y elimina bloques>

· g0 <Georreferencia: (0)no (1)graba en cada entidad variable ";conil='id,id'">

· El parámetro 'zom' especifica un recuadro de recorte del objeto, y 'cnf' especifica el código de una de las configuraciones guardadas en pestaña: Proyecto> Geomapa> ventana Capas> Configuraciones

Cdxi exporta0 (cadena cnf="")
int exporta0 (Cdxi &dxi)
· exporta cabecera, capas y bloques de base de datos a un nuevo dxi o al que se pasa por parámetros. Si no se especifica configuración, es la actual
int exporta1 (Cdxi dxi, cadena whe="", Crec zom=0, cadena mod="")· sólo para exportaciones especiales, guarda en dxi es resto de información que no son modos de exporta0(), ni definición de capas y bloques, es decir, los geos de información
Cdxi exporta_mapa (long|cadena map, cadena mod="", cadena cnf="")· equivalente a exporta("", 0, "m<mapi>"+mod+cnf); recorte especifico para mapa, indicando ide o código en 'map'
Cdxi exporta_capa (long|cadena cap, cadena mod="", cadena cnf="")· equivalente a exporta("", 0, "c<capi>"+mod+cnf); recorte especifico para capa, indicando ide o código en 'cap'
Cdxi exporta_bloque (long|cadena blo)· exporta bloque a dxi
bool importa_bloque (long|cadena blo, Cdxi dxi)· importa bloque de dxi
int importa (Cdxi dxi, long agrega=0)· carga la información de un objeto Cdxi sobre el actual. Según el parámetro 'agrega': (0)elimina información origen, dejando los modos y estructura (1)funde la información sin eliminar del objeto origen (2)elimina solo las capas cargadas (no funde las capas que estén en 'dxi')
int importa1 (Cdxi dxi)· carga al información geográfica (geos) sobre el objeto actual sin modos, ni información de estructural de capas ni bloques. Similar en filosofía a exporta1()
int referencia (Cdxi dxi, Crec zom=0, cadena mod="", cadena cnf="")· filtra el geomapa de la BD referencia externa (pestaña Geomapa> Varios) con los parámetros de recorte, modificadores y configuración, y se lo agrega al 'dxi'
GeorreferenciasCbas.Cmap

Datos de tabla mapcon, cada geodat es una entidad gráfica

Cpun mapcon_pun (long ci)· Devuelve el centroide de todas las georreferencias del concepto con identificador 'ci' en coordenadas internas
Dpun mapcon_pun_m (long ci)· Devuelve el centroide de todas las georreferencias del concepto con identificador 'ci' en metros
Crec mapcon_rec (long ci)· Devuelve el recuadro envolvente de todas las georreferencias del concepto con identificador 'ci' en coordenadas internas
Drec mapcon_rec_m (long ci)· Devuelve el recuadro envolvente de todas las georreferencias del concepto con identificador 'ci' en metros
long mapcon_crea (long ci, long gi, long di, long ide=0, long que=0) (long ci, Cdxient ent, long ide=0, long que=0)· Devuelve el identificador de la tabla mapcon con el registro creado al dar de alta una relación entre el concepto con identificador 'ci' y el ente 'ent'. También se pueden pasar los datos del ente como geo+dato ('gi', 'di')

· ide: para_reescribir; que: (0)creasino (1)graba (2)reescribe

bool mapcon_lineas_une (long ci1, long ci2)· Une las georreferencias de c1 y c2 y las asigna a c1, retorna 0 si las une y 1 si no
bool mapcon_linea_parte (Cdxient &ent, long coni2)· parte la entidad por el punto seleccionado y asocia el resto a coni2
bool mapcon_linea_crea (long|Cpun ci1, long|Cpun ci2, long ci, cadena capa=<tabla>)· Crea una línea que une los centroides de ci1 y ci2 georreferenciada a ci
bool mapcon_bloque_crea (Cpun pun, long ci, cadena capa=<tabla>)· Crea un bloque en el punto pun en capa y bloque con el código de la clase de ci y el mapa con el código del tipo de ci
bool mapcon_capa_cambia (long ci, cadena mapa=<tipo>)· Cambia de mapa las georreferencias del concepto
bool mapcon_capa_cambia (long ci, cadena capa=<clase>)· Cambia de capa las georreferencias del concepto
Cdxient entidad (long ci) (cadena cc) (long gi, long di)· Devuelve la primera entidad asociada al concepto con ide 'ci', o con código 'cc' o la entidad identificada por geo+dato ('gi', 'di')
bool entidad_cambia (long ci, Cdxient &ent)· Cambia la primera entidad asociada al concepto 'ci'. Si 'ent' no tiene capa, mapa, geo o posisión maniente los datos anteriores

· bool entidad_cambia (Cdxient &ent) // Cambia la entidad 'ent' por su nuevo contenido (no puede cambiar la identificación de la entidad: mapi-capi-ide-posi)

bool entidad_agrega (long ci, Cdxient &ent)· Agrega la entidad 'ent' y la asocia a 'ci'. Si 'ent' no tiene mapa pone el mapa con el código del tipo de 'ci' (lo crea si no existe). Si 'ent' no tiene capa pone la capa con el código de la clase de 'ci' (la crea si no existe).

· bool entidad_agrega (Cdxient &ent) // Agrega la entidad 'ent'. 'ent' debe tener mapa y capa

Modos en barra superiorCbas.Cmap

Modos o variables de cabecera y de estado de un DXI. Se corresponden con los modos y herramientas de las ventanas Mapa, Geomapa, y progrma DXI. La asignación de valores indica el valor de defecto si no se cambia. Se explican por su orden de izquierda a derecha en la barra de herramientas o por su posición en la pestaña Cabecera

long mfon=0· fondo en color blanco (por defecto es negro)
long mbyn=0· mostrar colores en sólo blanco/negro (defecto en color)
long mbro=1· rellenar líneas cerradas y regruesar (por defecto está activado)
long ment=0· rellena entrelazando la referencia de fondo,
long mdob=0· rellena con doble pasada (redibujando contornos de las capas bajo capas rellenas sólidas)
long mxyz=0· modo de visualización de coordenadas (0-3)
long mpis=5· tipo de pista a visualizar (0-5)
long meje=0· visualizar ejes con características definidas en pestaña Cabecera
long msel=0· mostrar números de vértices de la selección (selección extendida)
long mtex=1· modo de visualización de textos, desde con máxima calidad, pasando por recuadrado, hasta no dibujar. Los valores son (1,5,3,7,2,0)
long mblo=1· visualización de bloques, mismos valores que texto
long marc=1· visualización de círculos, mismos valores que texto
long mcua=1· visualización de referencias (recuadros, mapas y ortofotos), mismos valores que texto
long mcal=0· incremento de calidad (positivo o negativo) para forzar visualización de escalas normalizadas superiores o inferiores a cada zoom
Datos en pestaña cabeceraCbas.Cmap

No se guardan en configuraciones de capas, son globales para el dxi

long mtra= 
long minc= 
long maju= 
cadena imafil=""· filtro de referencias ortos, admite un nombre de filtro de los espeficados para el objeto Cima, con sus parámetros, el filtro se aplicac en tiempo real a las ortofotos
cadena imadir=""· camino relativo o absoluto al dxi, cuando es un archivo, con el directorio donde se encuentran los archivos .dxi a los que hacen referencia los entes de tipo Mapa (referencias externas) del dxi
cadena imadir2()· directorio_de_base absoluto y desrrefernciados los link
obsoleto 
long muso=30· HUSO (zona y hemisferio), por defecto es 30 (UTM del centro de España), admite número de uso positivo (al norte del ecuador) y negativo
cadena datum="ED50"· DATUM (elipsoide y proyección), por defecto es "ED50" (Europeo actual)
long mman= 
long mari=0· margen interno del perímetro máximo del dibujo al 'papel', en porcentaje del tamaño total del dxi
long mare=0· margen externo del 'papel' a la ventana, en porcentaje del tamaño total del dxi
long ejex=0· distancia horizontal entre ejes en metros (para mostrar con el modificador meje=1)
long ejey=0· distancia vertical entre ejes en metros
long ejet=0· tamaño en metros de las cruces intersección de ejes (por defcto contínuos)
long emin=0· escala global mínima del dxi (aplicable para incorporar en BD como mapa y escalar); desde interface no se puede modificar
long emax=0· escala global máxima del dxi
Ventana geomapaCbas.Cmap
long ven_mapi 
long ven_escn· escala normalizada que más se acerca a la de la ventana
double ven_escala· escala real actual de la ventana
Crec ven_zom· coordenadas del recuadro visible actualmente en la ventana, en coordenadas internas
Drec ven_zom_m· coordenadas del zoom actual de la ventana en metros
Cdxi ven_dxi· ?referencia al dxi actual en mapas
int ven_invalida (long bloqueo=1, bool update=0)· 'bloqueo' es el modo de refresco de los datos de la ventana :(0)no actualizar (1)redibuja (2)releer (3)releertodo. Si 'update'=1 redibuja inmediatamente
Cdxicapl ven_capas· capas seleccionadas en ventana de capas
Cdxiblol ven_bloques· bloques seleccionados en ventana de bloques
Clislong ven_conceptos· conceptos seleccionados (con georreferencias seleccionadas)
int ven_presenta (pun|rec|punl|Cdxi|coni|conil) 
AnálisisCbas.Cmap
Cdxi ana_dxi· referencia al análisis actual en mapas (si lo hay)
bool ana_activa· activa/desactiva análisis en la ventana Geomapa
Límites, búsquedaCbas.Cmap
Crec maprec (long mapi | Cadena cod)· rectángulo límite de mapa, admite identificador ó código de mapa
Crec caprec (long capi | Cadena cod)· rectángulo límite de capa, admite identificador ó código de capa
Clislong dentro (long coni | Crec rec | Drec rec | Cpunl punl, cadena select="", bool simple=0)· devuelve una lista de identificadores de concepto (tabla CON) o de la tabla de relaciones de entes con conceptos (tabla MAPCON de georreferencias) que están incluidos dentro de los límites de una entidad 'coni', o de un recuadro 'rec' en coordenadas internas o en metros, o de una lista de puntos

· el tipo de identificadores a buscar se puede restringir con una claúsula 'select' SQL,

· devuelve un identificador de concepto (tabla CON) o de la tabla de relaciones de entes con conceptos (tabla MAPCON de georreferencias) que está mas cercano al centroide de la entidad 'coni', o de un punto en coordenadas internas o en metros

· el tipo de identificadores a buscar se puede restringir con una claúsula 'select' SQL, la búsqueda es conveniente restringirla con un margen (en metros)

Clislong dentro_mapcon ( )· con los mismos parámetros que dentro(), con select_de_mapcon y devuelve una lista de ides de la tabla MAPCON
Clislong dentro_con ( )· con los mismos parámetros que dentro(), con select_de_con y devuelve una lista de identificadores de concepto
long cercano_mapcon (long coni | Cpun pun | Dpun pun, cadena select_de_mapcon, double margen)· devuelve el identificador de mapcon mas cercano dentro de margen o cero
long cercano_con (long coni | Cpun pun | Dpun pun, cadena select_de_con, double margen)· devuelve el identificador de con mas cercano dentro de margen o cero
igual que cercano_con 
DibujoCbas.Cmap
int dibuja_geodat (Cdxicap cap | Cdxi dxi, Clis geo_dat | cadena geo_dat, cadena mod="")· mod: e(escn) r(limite x1:y1:x2:y2) b0(bloque ide)

· devuelve un objeto capa o un mapa Cdxi con los elementos seleccionados, la selección de entes se puede hacer en el segundo parámetro mediante un lista de arrays con el par [geo,ente], o con una cadena de texto separando geo y dato mediante barras verticales (como "geo1|ente1|geo2|ente2...")

· se puede forzar la escala para no devolver los entes seleccionados a escala real (por defecto), si no existe escalado

int dibuja_mapcon (Cdxicap cap | Cdxi dxi, select_de_mapcon | Clislong mapcons | "{mapcon|}", cadena mod="")· como dibuja_geodat() pero admite como parámetro un select, una lista o una cadena de identificadores de la tabla MAPCON
int dibuja_con (Cdxicap cap | Cdxi dxi, select_de_con | Clislong cons | "{con|}", cadena mod="")· como dibuja_geodat() pero admite como parámetro un select, una lista o una cadena de identificadores de la tabla CON
Cdxi analiza (cadena parser)
bool analiza (cadena parser, Cdxi dxi)
bool analiza (cadena parser, cadena adxi, cadena mod="")
· genera dxi de análisis, documentación del parser en ventana de análisis, copiar al portapapeles
int entD_geo2utm (cadena dirgeo, cadena dirutm, long huso, long datum)· convierte archivos MDT de datos de coordenadas .HGT de un directorio 'dirgeo' que están recortadas con una proyección de coordenadas geográficas (longitud y latitud) a una proyección en UTM, en el directorio 'dirutm' teniendo como referencia el huso y datum

· pasa de una rejilla con cuadriculas de 1º (1201x1201 cuadros de 3seg 90min) a cuadrículas de 100km (1001x1001 cuadros de 100m)

Cdxi entD_perfil (Cdxient ent | Cpunl punl, cadena modificadores="i0 d1 r4 p20 h0 v2", cadena titulo="")· Monta el perfil de una entidad o de una polilinea. Debe existir una capa "mdt_hgt" con el directorio de alturas

· Modificadores: i1= sentido inverso de la línea desde el cero, dibujar de izq. a derecha); d0= doble vista, por encima del eje x desde el cero al final de la línea, y por debajo del eje, la vista en sentido contrario

· r<num>= es el factor de realzado de las alturas en el perfil; p[-]<num>= profundidad de la vista en kms, si el nº es negativo es una proporción de la longitud en 'tanto por uno', es decir, -0.5 es la mitad de la longitud

· h(0-2)= visualizar guías horizontales para cotas: (1)500m (2)100m; v(1-2)= mostrar guías verticales: (1)líneas (2)números

· si no hay título de toma el texto de la entidad

Cdxi entD_panoramica (Cdxient ent | Cpun pun, cadena modificadores="i0 d1 r4 p20 h0 v2", cadena titulo="")· Monta la panoramica desde el punto 'pun' o desde el centroide de la entidad 'ent'. Debe existir una capa "mdt_hgt" con el directorio de alturas

· Modificadores: r2 es el factor de realzado de las alturas en el perfil; p32 profundidad de la vista en km, b4 tamaño de las bandas en Km

· h500= visualizar guías horizontales cada multiplo de cota en m; v1 mostrar guías verticales

· si no hay título de toma el texto de la entidad

VariosCbas.Cmap
Cdxi geomedia (cadena archivo_mdb, cadena tabla, cadena campos, cadena modif="m0 z0")· ?importa datos de un archivo con formato de Geomedia, a un objeto Cdxi. El archivo de base de datos con las coordenadas tiene el formato de 'campos': codigo, resumen, capa

· modificadores: tras 'm' se puede especificar el máximo número de registros a importar; si z1 cargar en el atributo de texto la coordenada z (altura de cada punto)

int desplaza (Cpun des, cadena select_de_geos) 
ObsoletosCbas.Cmap
 · Ver dibuja_geodat()
int dibuja (Cdxicap cap | Cdxi dxi, Clislong mci | cadena mci, escala=0)· similar a dibuja_geodat() pero el segundo parámetro admite una lista de identificadores tanto de concepto (tabla CON) como de georreferencias ente-concepto (tabla MAPCON); este parámetros puede ser bien un array, o bien en una cadena con la barra vertical como separador (como "mapconide1|mapconide2|..." ó "coni1|coni2|coni3|...")
tabmapproCbas.Cmap
pro_traslada (cadena parser)· "masmap=...;mascap=...;tipo=...;..."
pro_referencia (cadena parser)· "masmap=...;mascap=...;tipo=...;..."
pro_desreferencia (cadena parser)· "masmap=...;mascap=...;tipo=...;..."
pro_exporta_shp (cadena parser)· "masmap=...;mascap=...;tipo=...;..."
pro_procesa (cadena parser)· "masmap=...;mascap=...;tipo=...;..."
pro_tematicos (cadena parser, long que=0)· "lim=...; cons=..."; que:(0)procesa (1)prueba (2)portapapeles (3)blockdenotas (4)presenta_dxi

· if (nombre == "pro_campos_utm") return 504; // pro_campos_utm (cadena parser) // "masmap=...;mascap=...;tipo=...;..."

tabmappro_utmCbas.Cmap
mapas_a_utmxy (cadena clase, cadena mod)· de mapa a campos utmx,utmy; lee capa de clase
utmxy_a_mapas (cadena clase, cadena mod)· de campos utmx,utmy a mapa; graba en mapa de tipo, capa de clase y bloque de concepto, de clase o de tipo.
tabmapconCbas.Cmap
bool mapa_de_clase (cadena clase, cadena archivo="", cchar *mod=0)· crea dxi con las georreferencias de la clase o del tipo y lo graba en archivo o en directorio_base/codigo_tip.dxi; modificadores: t0(contabla) p1(presenta)

· bool mapa_de_clase (cadena clase, Cdxi &dxi, cchar *mod=0) // igual que anterior, pero graba en dxi

bool mapa_de_concepto (cadena concepto, cadena archivo="", cchar *mod=0)· crea dxi con las georreferencias del concepto y de sus descendientes y lo graba en archivo o en directorio_base/codigo_conepto.dxi; modificadores: t0(contabla) p1(presenta)

· bool mapa_de_concepto (cadena concepto, Cdxi &dxi, cchar *mod=0) // igual que anterior, pero graba en dxi

bool mapa_clip (cadena concepto, Cdxi &dxi)· pone la georreferencia del concepto como región de recorte, se desactiva después de dibujar


Cbas.Cpar (Crea un objeto gestor de información paramétrica)

Con estas funciones se puede acceder a y manipular la información definida en lenguaje paramétrico tanto escrito en forma tradicional como en Javascript. Hay dos ejemplos de utilización de la información paramétrica en la carpeta '\Colecciones especiales \Base de datos'.


Referencias: Cbas.Cpar
int lee (long ide)· Lee y calcula la lista completa de atributos de la clase creada por la variable objeto Cpar, y permite acceder a las siguientes funciones:
long parnum ()· Número de parámetros de la familia
cadena parrot (long par)· Nombre del parámetro 'par'
long opcnum (long par)· Número de opciones a elegir del parámetro número 'par'
cadena opcrot (long par, long opc)· Rótulo de la opción número 'opc', en base 0, para el parámetro 'par' de la familia
long opcmax ()· Número máximo de todas las opciones de los parámetros, es decir, número máximo de entre todas las opcnum () de la familia 
long opctot ()· Número total de combinaciones dentro del paramétrico
long opcval ()· Número de combinaciones válidas, dentro de opcto
long opcinv ()· Número de combinaciones no válidas
int calcula (long num | cadena cod)· Calcula no los datos existentes en la familia, sino del derivado seleccionado en el conjunto de opciones de parámetros cod_derivado, y permite acceder a las siguientes funciones:
cadena codigo ()· Código del derivado paramétrico calculado con calcula()
cadena unidad ()· Unidad del derivado
cadena resumen ()· Resumen del derivado
cadena texto ()· Texto extenso del derivado
cadena pliego ()· Pliego del derivado
cadena referencia ()· Referencia del derivado
cadena grafico ()· Grafico del derivado
cadena descom ()· Devuelve una lista con todos los descompuestos que tenga el paramétrico. Cada elemento de la lista tiene el formato separado por barras verticales:

· <código_derivado>|<cantidad>|<factor>| y si el derivado existe (el código_derivado se encuentra) se rellenan además: |<ide_concepto>|<unidad>|<resumen>|<precio>.

· El <ide_concepto> es negativo cuando se trata de un derivado paramétrico. Si el derivado no se puede calcular en la base, no se devuelve ningún error, pero no se devuelve la segunda parte de los datos.

double precio ()· Precio del derivado
double coste ()· Precio del derivado
int presupuesto (long ide_doc, long ide_doclin)· Si la aplicación contiene el tipo Presupuesto, se puede acceder a un presupuesto, mediante el identificador que devuelve esta función al pasarle un identificador de concepto tipo Documento y el identificador de una línea de documento (en tabla doclin)


Cbas.Ctabfie2 (Manejador de Entrada/Salida ADO)

Clase que implementa las herramientas necesarias para la exportación/importación en el objeto (como hace la ventana al abrirse) y permite controlar todos los datos del a BD a la que se conecta, y todos los modos y funciones de la ventana.


Secciones: Modos
int conlee (long ide)· Carga los datos estructurados asociados al concepto con identificador 'ide' de la clase Entrada-Salida ADO
int congraba (bool forzado=0)· Graba los datos estructurados asociandolos al concepto cargado anteriormente mediante el método 'conlee'. Si 'forzado' es igual a 0, sólo grabará si existen cambios
int ejecuta (bool esprueba=0, cadena arc_log)· Ejecuta la configuración actual, equivalente al botón Prueba o EJECUTA, dependiendo del modo 'esprueba'. Si existe 'arc_log', se guardan en un archivo de texto con el camino, nombre y extensión especificados, todos los mensajes que produzca la importación/exportación; se van añadiendo los mensajes de cada ejecución al final del archivo
int exporta (bool esprueba=0, cadena arc_log)· Exporta la configuración actual (igual que ejecuta, pero forzando en el objeto el modo mimp=0)
int importa (bool esprueba=0, cadena arc_log)· Importa la configuración actual (igual que ejecuta, pero forzando en el objeto el modo mimp=1)
void chequea ()· Chequea BD cargando tablas y campos con la configuración actual
void analiza ()· Analiza los datos de campos de la configuración actual, cargando los datos en las columnas
void libera ()· Descarga de memoria la configuración actual del objeto
cadena arc· Especifica nombre y camino del archivo o base de conexión
ModosCbas.Ctabfie2

Especificados mediante selectores y conmutadores en la ventana de propiedades del concepto

bool mimp=1· Modo importa por defecto. Si 'mimp'=0, exporta
bool mbor=0· Modo borra
bool mcre=1· Modo crea si no existe
bool mree=1· Modo reescribe si existe
bool mnot=0· Modo no crea tablas (chequea)
bool mnoc=0· Modo no crea campos (chequea)


Cbas.Ctabla (Objeto manejador de Tabla de BD)

NOTACIÓN: dependiendo del tipo de tabla, el parámetro 'registro' es un conjunto de datos para identificar un único registro, que pueden ser el formato:

- nada (el valor de ide por defecto establecido con el método general bas.defecto)

- un identificador: ide

- alguna de las siguientes combinaciones, según el tipo de tabla: cod, ['res'] | tip, 'cod', ['res'] | tip, cla, 'cod', ['res'] | ide1, ide2 | ide1, ide2, ide3

Como ejemplo:

· la tabla CON, puede utilizar el código (tip, cla, "cod")

· la tabla RCC utiliza dos identificadores (ide1, ide2)

· la tabla ROT de rótulos o clasificaciones (tip, "cod") donde 'tip' es un identificador de rótulo de la tabla de clasificaciones (1000*ide_tipo+ide_clase), y 'cod' es una cadena de caracteres

· las tablas GRA, TER, MAPCAP, MAPBLO... se gestionan mediante el código (cod), no es necesario más para identificarlos


Referencias: Cbas.tabla Cbas.tiptab

Secciones: Búsqueda y/o edición de registro Acceso a registro y campo Objetos Obsoletos
Búsqueda y/o edición de registroCbas.Ctabla

Si hay un error se devuelve 0 como ide. Se admite "0" como código. si se quiere usar un formato de 'registro' con parámetros especificando un resumen

Cbas Cbas ()· Objeto BD al que pertenece la tabla
long busca (registro)· Devuelve el ide encontrado, con los datos de 'registro' según el tipo de tabla
long crea (registro)· Devuelve el ide del registro creado, crea el 'registro' en la tabla con la que se utilice si la tabla es de clase, se crea simultáneamente un registro en la tabla del tipo y otro en la tabla CON, los 3 con el mismo 'ide'
long creasino (registro)· Devuelve el ide del registro buscado con los valores de 'registro' o el del creado si no existe
long copia (ide_origebn, cod_destino)· Devuelve el ide del registro duplicado con código cod_destino y resto de campos igual que ide_origen
long creacopia (registro)· Devuelve el ide del registro duplicado, que tiene el siguiente ide al último existente. Sólo se puede utilizar en la tabla CON
long traslada (Cbas bas2, long ide2)· Copia el registro de 'ide2' de base 'bas2' y devuelve el ide de la copia
int elimina (long ide, bool aunque_refs=1)· Elimina el registro con identificador 'ide' de la tabla referida. También se eliminan las referencias de la tabla RCC al registro. Si se elimina de CON, también se elimina el registro de la tabla de tipo y de la de clase (si existe). Si se elimina de una tabla de clase, lo mismo, se elimina el registro en la de tipo y en CON.

· Devuelve 0 si ha tenido éxito. Si el parámetro aunque_refs=0, y el concepto tiene referencias en otras tablas (otras tablas como RCC, GRA o cualquier otra apuntándole), no se permite la eliminación

Acceso a registro y campoCbas.Ctabla
long filnum· Número de filas o registros de la tabla
long camnum· Número de campos de la tabla
Cvar campo (long num | cadena cod, registro)· Sirve para asignar o recuperar el valor de un campo, haciendo referencia a él por el número 'num' del campo o su código 'cod'. El tipo del valor devuelto depende del campo

· Una sobrecarga de esta función es que sólo el código de campo 'cod' sin nombre de función, seguido del 'registro', es equivalente a: campo(cod, registro). Ej: bas.con.campo(res,ide) <-> bas.con.res(ide)

· Como excepción, sólo para la tabla CAB, se admite la asignación de un valor directamente en la tabla (sin 'registro') de la forma: bas.cab.campo1="cadena"

Cvar campof (long num | cadena cod, registro)· Igual que campo(), pero formateando la salida al recuperar el valor (por ejemplo, un entero se muestra con separador de miles). Se admite la misma sobrecarga que en campo(), es decir, usar directamente el código de campo. El tipo del valor devuelto depende del campo
ObjetosCbas.Ctabla
Cbas.Cdeftab deftab ()· Devuelve el objeto Cbas.Cdeftab, el cual contiene información sobre la definición de la tabla.
Cbas.Cdefcam defcam (long num | cadena cod)· Devuelve el objeto Cbas.Cdefcam, el cual contiene infromación sobre la definición de un campo de la tabla. Accedemos a la definición de una campo mediante un nombre 'cod' o número de posición en la tabla 'num'
Cbas.Cdefind defind (long num | cadena cod | null)· Devuelve el objeto Cbas.Cdefind, el cual contiene infromación sobre la definición de un índice de la tabla. Accedemos a la definición de un índice mediante un nombre 'cod' o número de posición en la tabla 'num'
ObsoletosCbas.Ctabla
Cbas bas()· Objeto Cbas, BD a la que pertenece la tabla

· con formato



Cbas.Cter

Secciones: General
long may· mayúsculas: (0)no (1)primera (2)todas
long ace· acentos: (0)no (32bits)posiciones
long reg· reglas: tabtesreg.ide
long fal· faltas: intercambio "BVGJCZSXbvgjczsx" posición+1, "H" posición inserción o eliminación
long pal2· palabra buscada con may,ace,reg,fal
GeneralCbas.Cter
long busca(cadena pal)· > ide pal2 may,ace
long reglas(cadena pal)· > ide pal2 may,ace,reg
long faltas(cadena pal)· > ide pal2 may,ace,reg,fal
long buscaR(cadena pal) 
long buscaRF(cadena pal) 


Cbas.Cweb (Manejador del generador de WEBs)

Referencias: Cbas.Cweb

Secciones: De tesauros De generación General De conceptos De imágenes De mapas
long webi
webi= long ide | cadena cod
· Identificador del concepto web actual
long webcnti
webcnti= long ide | cadena cod
· Identificador del controlador web actual
De tesaurosCbas.Cweb
bool tesauro_monta (bool troceado=0) 
bool tesauro_unesco (archivo_mst, que)· q0(que: 0log 1dump 2basedatos)
De generaciónCbas.Cweb
bool monta_indice_json()· monta el archivo índice.json de la web
bool monta_ingra_js()· monta el archivo ingra,js con azohc.js y el código de ejecución de todos los controladores
bool genera_controlador ([cadena|long controlador])· ejecuta el código de generación del controlador definido o del actual
Cbas.Cweb
long webi
webi= long
· Identificador del concepto web actual
long webgrui
webgrui= long
· Identificador del grupo web actual, al poner el grupo actual se pone también el concepto web actual
long webcnti
webcnti= long
· Identificador del controlador web actual
GeneralCbas.Cweb
cadena destino· Camino absoluto del directorio destino web
bool reescribe=0· Modo sobreescribir las páginas al generar
bool ordenpor=0· Modo ordena por resumen, por defecto se ordena por código
Clislong degrupo (long grui, cadena filtro="")· Lista de conceptos del grupo definido, por defecto del grupo actual; filtro admite sql reducido
Clislong decontrol (long cnti=webcnti, cadena filtro="")· Lista de conceptos del controlador definido, por defecto del controlador actual (incluye los conceptos de todos los grupos asociados al controlador); filtro admite sql reducido
Clislong deweb ()· Lista de conceptos de la web con página
cadena destino· Camino absoluto del directorio destino web
bool reescribe=0· Modo sobreescribir las páginas al generar
bool ordenpor=0· Modo ordena por resumen, por defecto se ordena por código
Clislong degrupo (long grui=webgrui, cadena filtro="")· Lista de conceptos del grupo definido, por defecto del grupo actual; filtro admite sql reducido
Clislong decontrol (long cnti=webcnti, cadena filtro="")· Lista de conceptos del controlador definido, por defecto del controlador actual (incluye los conceptos de todos los grupos asociados al controlador); filtro admite sql reducido
Clislong deweb ()· Lista de conceptos de la web con página
De conceptosCbas.Cweb
cadena con_pagina (long conide)· Retorna la URL de la página del concepto o ""
cadena con_imagen (long conide, long que=1)· Retorna la URL de la primera imagen asociada al concepto con extensión jpg, gif o png; que: (1)baja (2)media (4)alta;
cadena con_imagenes (long conide, cadena qima="")· Monta json de las imágenes del concepto; mod: f(de_familia) n(número_maximo)
cadena con_propiedades (long conide, cadena mod="")· Monta json de las propiedades del concepto; mod: s0(campos_sin_dato) v0(campos_virtuales) r2(rótulos:1cod|2res) c15(conceptos:1tab|2cod|4res|8url)
cadena con_concepto (long conide, cadena mod_deconcepto="")· Monta json del concepto; deconcepto: [tabla.]campo[.campo][@modificadores] .ima .imas .texl ...
cadena con_padres (long conide, cadena mod_deconcepto="", cadena sql_depadres="")· padres:[...]; Monta json de padres; si !sql_depadres con.padi recursivo
cadena con_hijos (long conide, cadena mod_deconcepto="", cadena sql_dehijos="")· hijos:[...]; Monta json de hijos; si !sql_dehijos TIPCAR hijos, TIPFAM fami, TIPESP padi, RESTO com=ide;

· [tabla.]campo{.campo}[@mod] .utm .url .ima .prol .imal .texl // mod: t(tabuladores)+con_imagen+con_imagenes+con_propiedades+con_textos

· <defecto> tab, cod, res, pag:0|1. campo puede ser de concepto, propiedades o extensiones

cadena con_descom (long conide, cadena mod_deconcepto="", cadena sql_dehijos="")· descom:[...]; Monta json de descomposicón; si !sql_dehijos rcc.com; agrega variable _fac,_can,_pre,_pret
cadena con_compos (long conide, cadena mod_deconcepto="", cadena sql_depadres="")· compos:[...]; Monta json de composición; si !sql_dehpadres rcc.des; agrega variable _fac,_can,_pre,_pret
cadena descendientes_por_familias (long ide, cchar *mod_deconcepto=CC, cchar *mod=0)· hijos:[...]; con.padi; mod:e1(con elemenos)

· { niv:<1..> tab:<familia> ... can _uni tab.res .url num2 can2 }

· { niv:0, con_concepto(mod_deconcepto) } conceptos descendientes y de la familia

cadena familiares_por_ascendientes (long ide, cchar *mod_deconcepto=CC, cchar *mod=0)· hijos:[...]; con.fami; mod:e1(con elemenos)

· { niv:<1..> tab:<ascendiente> ... can _uni tab.res .url num2 can2 }

· { niv:0, con_concepto(mod_deconcepto) } conceptos familiares y del ascendiente

cadena con_tablas (long conide, cadena deconcepto="", cadena dedescom="")· Monta json de descomposicón; dehijos:sqlreducida
cadena con_pagina (long conide)· Retorna la URL de la página del concepto o ""

· if (nombre == "con_mapa") return 31; // cadena con_mapa (long conide) // Retorna el código del mapa donde se encuentra el consepto

cadena con_image (long conide, long que=1)· Retorna la URL de la primera imagen asociada al concepto con extensión jpg, gif o png; que: (1)baja (2)media (4)alta;
cadena con_imagenes (long conide, cadena qima="")· Monta json de las imágenes del concepto; qima: f(de_familia) n(número_maximo)
cadena con_propiedades (long conide, cadena mod="")· Monta json de las propiedades del concepto; mos: s0(incluye campos sin dato) v0(incluye campos virtuales) r15(datos en referencias)

· if (nombre == "con_hijos") return 35; // cadena con_hijos (long conide, cadena donde="", hijos="", tablas="") // Monta json de los hijos del concepto;

· donde: r(rcc.com) a(padi) f(fami) p(propiedades) n(no_en_tablas) o(orden 0cod 1res) d(descomposicion)

· hijos: igual que qcon

· tablas: lista de tablas de concepto separadas por ';', en combinación con donde('n') filtra los tipos de conceptos a seleccionar

· if (nombre == "con_descomposicion") return 35; // cadena con_descomposicion (long conide) // Monta json de los hijos del concepto;

cadena con_concepto (long conide, cadena qcon="p")· Monta json del concepto;

· qcon: u(url) g(gracw) b(tabres) m(mapa) t(textos) p(propiedades) e(extension_en_ref)

· if (nombre == "con_todo") return 37; // cadena con_todo (long conide, cadena qcon="p", qima="", donde="", hijos="", tablas="") // Monta json del concepto

De imágenesCbas.Cweb
bool con_monta_imas (cadena filtro="", cadena que="bma", cadena sql_de_gra="")· Genera los archivos de las imágenes de los conceptos del controlador; filtro: admite sql reducido; que: b(baja) m(media) a(alta) p(número de puntos máximo de las imágenes de alta) s(subdirectorio en número de caraceres))
con_monta_tablas (cadena clases, cadena mod="")· Genera estructura de tablas para tiempo de ejecución (controlador raiz), clases:{calse calse ...} mod: p0(esprueba) c1(concampos)

· if (nombre == "con_monta_json") return 40; // bool con_monta_json (cadena filtro="", cadena qcon="p", qima="", donde="", hiojos="", tablas="") // Genera los archivos de datos json de los conceptos del controlador; filtro: admite sql reducido

bool con_monta_imas (cadena filtro="", cadena que="bma")· Genera los archivos de las imágenes de los conceptos del controlador; filtro: admite sql reducido; que: b(baja) m(media) a(alta) p(número de puntos máximo de las imágenes de alta)
map_monta_tablas (cadena parser, bool esprueba=0)· Genera estructura de tablas para tiempo de ejecución (controlador raiz)
map_monta_json2 (cadena parser, cadena filtro="", bool esprueba=0)· Genera los archivos de datos json de los conceptos del controlador; parser: { [tabla.campo[.campo][:order]] { campo } [;|\r\n] } filtro: admite sql reducido
De mapasCbas.Cweb
mapa_monta (cadena parser, cadena capa, cadena modificadores) 
mapa_indices ([directorio])· crea recursivamente dir.js, si no está definido directorio se toma: destino+"\\map"
mapa_reduce (directorio, tamano=128)· crea recursivamente reducciones de las imágenes anteponientoles "r_" al nombre
map_archivo_dxi (long mapi)· Recupera el camino completo del archvio donde se almacena el dxi del mapa
map_monta_dxi (long mapi, cadena param, bool remontar=0, presentar=0)· Genera la estructura de las cuadrículas del mapa en dxi
map_monta_json (long mapi, cadena filtros)· Genera los datos json de las cuadrículas del mapa (filtros:fent|fcap)
map_monta_imas (long mapi, cadena filtros)· Genera las imágenes de las cuadrículas del mapa (filtros:fent|fcap|fcnf)
map2_monta (parser) 
map2_indices ([directorio])· crea recursivamente dir.js, si no está definido directorio se tioma destino+"\\map"

· if (nombre == "map_presenta_cons") return 1004; // map_presenta_cons (long mapi) // Presnta conceptos en mapas



Cbas.Cgesdis (Manejador de disponibilidades)

Referencias: Cbas.Cgesdis
int carga (long coni, long fecini, long fecfin)· Carga en el gestor las disponibilidades para el concepto 'coni' en cuestión. El intervalo de fechas a de ser como máximo de un año.

· El parámetro 'coni' indica el concepto a calcular. Este puede ser de tipo y clase Grupo de trabajo, Persona, Equipo, Especialidad, Maquinaria y Entidad. Las disponibilidades de Equipos sólo cuentan para un Equipo o una maquinaria, en el resto de tipos y clase sólo se tiene en cuenta los horarios de Personas

· Los parámetros 'fecini' y 'fecfin' indican el periodo a calcular. La fecha final no se incluye

int carga_mes_dia (long coni, long fec)· Carga en el gestor las disponibilidades de 'coni' para el mes de la fecha 'fec'
int carga_ano_dia (long coni, long ano)· Carga en el gestor las disponibilidades de 'coni' para el año indicado en el parámetro 'ano'
void agrega (Cbas.Cgesdis gesdis, long fecini, long fecfin)· Agrega al actual gestor las disponibilidades cargadas en el gestor 'gesdis' para las intervalo de fechas establecido por 'fecini' y 'fecfin'
double lee (long fec)· Devuelve la disponibilidad para la fecha 'fec'
double hora (long fec)· Devuelve la disponibilidad para la fecha 'fec'
double lee (long fec)· Devuelve el turno para la fecha 'fec'
Cbas.Cgesdis
long tipo (long fec)· retorna el tipo de dia (perdiatip.ide)
cadena titulo (long fec)· retorna el título del día
cadena tipo_cod (long fec)· retorna el código del tipo de día (perdiatip.cod)
cadena tipo_res (long fec)· retorna la descripción del tipo de día (perdiatip.res)
color tipo_rgb (long fec)· retorna color del tipo de festivo (perdiatip.rgb)
Cbas.Cgesdis
long horas_dia (peri|perc, fec)· retorna las horas de disponibilidad de la persona y día; horas*100 calculadas con el último(primero) perdiatip
long[31] horas_mes (peri|perc, fec)· retorna las horas de disponibilidad de la persona y mes; horas*100
long[12*31] horas_ano (peri|perc, fec|año)· retorna las horas de disponibilidad de la persona y año; horas*100; igual que horas=campo;
cadena turnos_dia (peri|perc, fec)· retorna los turnos de la persona y día
cadena[31] turnos_mes (peri|perc, fec)· retorna los turnos de la persona y mes
cadena[12*31] turnos_ano (peri|perc, fec|año)· retorna los turnos de la persona y año; igual que horas=campo;
double lee (long fec)· Devuelve la disponibilidad para la fecha 'fec'
double hora (long fec)· Devuelve la disponibilidad para la fecha 'fec'
double lee (long fec)· Devuelve el turno para la fecha 'fec'
horas*100 de cada día (31*12) - calculado con el último(primero) perdiatip 
{perdiatip|} de cada día (31*12) 


Cbas.Cgesord (Manejador de medidas de OTs)

Para cada concepto Orden de Trabajo, puede haber un desglose en una relación múltiple N:N de Conceptos con Acciones, y además cada relación puede tener múltiples acciones de medida con valores


Referencias: Cbas.Cgesord

Secciones: OT: Métodos y datos DESGLOSE: Métodos MEDIDAS: Métodos Modifican valores en medidas
OT: Métodos y datosCbas.Cgesord
int lee (long coni)· Lee todos los datos de la tabla y sus relaciones, y carga el objeto con ellos
long ide ()· Identificador del concepto OT
long acci ()· Ide del concepto tipo acción, que actúa como defecto en la OT
long coni ()· Ide del concepto objeto de mantenimiento por defecto (de cualquier tipo) al que apunta la OT
long num ()· Número de líneas de desglose concepto-acción de la OT
void chequea ()· Examina todas las relaciones del objeto con otros conceptos, para verificar y corregir pérdidas de integridad
DESGLOSE: MétodosCbas.Cgesord

Todos reciben como parámetro un índice de la lista de relaciones de desglose Concepto-Acción, por lo que habitualmente se usan asignando un condefecto()

void condefecto (long i)· Asigna como identificador el concepto de mantenimiento de desglose
long conide (long i)· Devuelve el identificador del concepto tipo OT al que apuntan los registros de desglose de ORDCON
long conconi (long i)· Devuelve el concepto de desglose indicado por el índice i (base 0). No hace falta especificar el índice si está definido condefecto()
long conacci (long i)· Devuelve la acción de la línea de desglose indicada por el índice 'i' (base 0)
long connum ()· Número de líneas de desglose de la OT
void conchequea ()· Examina todas las relaciones de los conceptos de desglose para verificar y corregir pérdidas de integridad
MEDIDAS: MétodosCbas.Cgesord

Todos reciben como parámetros un par de índices: la línea de desglose Concepto-Acción y el orden en la lista de medidas de cada desglose (en total una terna), por lo que habitualmente se usan asignando un meddefecto() para un condefecto()

void meddefecto (long j)· Asigna como línea actual de desglose de medidas, la indicada con el índice 'i' (base o)
long medide (long i, long j)· Devuelve el identificador de la acción de la medida 'i' (o definido por meddefecto())
long medniv (long i, long j)· Nivel de jerarquía de la acción de medida, en base 0 (se pueden definir acciones de medida desglosadas dentro de otras de medida)
bool medesedi (long i, long j)· Indica si la línea de medida es editable. Este valor se puede modificar con medestgra()
cadena medres (long i, long j)· Resumen de la acción de medida
cadena medcod (long i, long j)· Código de la acción de medida
long meduni (long i, long j)· Identificador de rótulo de la Unidad de medida de la acción de medida
long medest (long i, long j)· Estado de la medida (0)correcta (1)fuera de rango (2)fuera de rango, debería generar correctivo
Cvar medval (long i, long j)· Valor de la medida para la selección Concepto-Acción actual. Devuelve cualquiera de los tipos que se pueden almacenar en BD en acciones de medida
cadena medvalf (long i, long j, que=)· Valor medval() formateado (por ejemplo, si es booleando, un valor=1 rotulará "Si"). El parámetro 'que' se utiliza para los campos de tipo 'L' y tiene los siguientes valores y significado (0)código (1)resumen (2)código·resumen
long medtip (long i, long j, corto=0)· Tipo del campo de medida. Si corto=1 devuelve el carácter que identifica al tipo de campo
cadena medran (long i, long j)· Rango de valores de la medida, con valores separados por barras verticales "|"
Modifican valores en medidasCbas.Cgesord
int medestgra (long i, long j, long estado)· Modifica el estado de la medida referida por la terna (i,j) con el valor del 'estado'
int medvalgra (long i, long j, Cvar medval, calcula_estado=0)· Asigna un valor en 'medval' a la terna concepto-acción-medida; puede ser de todos los tipos almacenables en una acción de medida. Si 'calcula_estado'=1, se fuerza que se calcule el estado medest() en función del rango medran()


Cbas.Cgestra (Manejador de disponibilidades y necesidades de personas y horas de grupos de trabajo)

Referencias: Cbas.Cgestra
Clislong datos (long coni, long año, long que=0, bool horas=0)· que: (0)disponibilidad (1)necesidad (2)diferencia, horas: nº de horas (por defecto nº de personas)
double media (long coni, long año, long que=0, bool horas=0)· fecha: si !dia datos mensuales si !mes datos anuales


Cbas.Cgesvia (Manejador de VÍAS)

Clase que implementa los datos necesarios para las herramientas del tipo de concepto via, que permite modelizar inventarios lineales como ríos, carreteras, ferrocarriles, etc. y elementos puntuales sobre ellos


Referencias: Cbas.Cgesvia

Secciones: Atributos Distacias PKs Recuadros Procesos
AtributosCbas.Cgesvia
void carga (long ide)· Carga carretera de cualquier elemento de vía, con el 'ide' del concepto
long ide· Devuelve el identificador del concepto cargado en la clase
Crec lim ()· Rectángulo límite de la representación gráfica del elemento
long num· Número de puntos del elemento vía
Cpunl punl (long ind)· Lista con los puntos del elemento, si se especifica un índice 'ind', devuelve ese punto
Clislong disl (long ind)· Lista de distancias o distancia del punto con índice 'ind' especificado
Clislong pkl (long ind)· Lista de Pks de todos los puntos o Pk del especificado
DistaciasCbas.Cgesvia
long dis2pk (double dis)· Calcula Pk de una distancia real
Cpun dis2pun (double dis, bool es_tramo=0)· Crea un punto de clase Cpun con las coordenadas del la distancia 'dis', pudiendo especificar si es un tramo
Cpunl dis2punl (double dis1, double dis2, double es_tramo=0)· Devuelve una lista de los puntos de la clase desde el punto de distancia desde el origen 'dis1' hasta la distancia 'dis2' (no es una polilínea). Se puede especificar si es un tramo
Clisdouble pun2dis (Cpun pun)· Devuelve las dos distancias al punto pun
PKsCbas.Cgesvia
long pk2dis (double pk)· Calcula distancia en metros reales del origen a un Pk
Cpun pk2dis (double pk, bool es_tramo=0)· Crea un punto de clase Cpun con las coordenadas de la distancia en pk 'pk', pudiendo especificar si es un tramo
Cpunl pk2punl (double pk1, double pk2, double es_tramo=0)· Devuelve una lista de los puntos de la clase desde el punto situado en 'pk1' hasta el 'pk2' (no es una polilínea). Se puede especificar si es un tramo
Clisdouble pun2pk (Cpun pun)· Devuelve par de pks al punto pun
RecuadrosCbas.Cgesvia
Cdxi recuadros (long escala=1000, long maxx_cm=26, long maxy_cm=16)· Crea un gráfico vectorial Cdxi con el objeto de vía, y el tamaño calculado en función de la 'escala' y el tamaño en cms. en horizontal 'maxx_cm' y vertical 'maxy_cm'. Los valores de defecto de los tres parámetros sirven para una escala 1:1000 y 26x16 cms que equivale a una página DIN-A4 apaisada
cadena escala="v1000x26y16"· Valores de escala y tamaño definidos en los recuadros del elemento de vía. Valores permitidos: v100..10000x10..1000y10..1000
long maxx· Tamaño máximo horizontal de los recuadros
long maxy· Tamaño máximo vertical de los recuadros
cadena cni· Devuelve una cadena con el código del archivo de configuración equivalente 'A4h','A4v','A3h','A3v' dependiendo de los valores en cms de los atributos maxx y maxy: si x>30 cm -> A3h, si y>30cm -> A3v
ProcesosCbas.Cgesvia
linea_de_ficha_a_mapa (long ide, bool esprueba)· admite ides de carretera
lineas_de_ficha_a_mapa (bool esprueba) 


Nomenclatura en la definición de métodos

Significado de los tipos de datos utilizados:
» long: número entero
» int: número entero (para devolución de errores)
» bool: número entero (para devolución de verdadero=1/falso=0)
» double: número real
» char: un carácter
» cadena: cadena de caracteres
» void: nada, vacío
» Cvar: número entero, real, char o cadena
» Clis: lista o array genérico
» Clislong: lista o array de números enteros
» Clisdouble: lista o array de números reales
» Cliscadl: lista o array de conjunto de caracteres

Los parámetros opcionales se expresan seguidos de un símbolo igual '='. Si estos parámetros no se especifican se tomará el valor de defecto, que es el que se muestra después del símbolo igual '='.

Los métodos que no tienen parámetros se pueden utilizar sin el uso de los paréntesis '()'.

Los métodos que no devuelven nada (diferente a void) y tienen un parámetro pueden expresarse como indica el siguiente ejemplo:
» bas.edicion (1); > bas.edicion= 1;