Propósito Cree una vista en un archivo Hyper File.Sintaxis - Sintaxis 1: Creación de una vista de todos los elementos encontrados en un archivo Hyper File
<IdentificadorVista>= HCreateView_55(<Nombre_Archivo>)- <ViewIdentifier> es un número entero largo que se utiliza para identificar la vista.
- <NombreDeArchivo> es una cadena de caracteres que contiene el nombre del archivo Hyper File utilizado por la vista.
- Sintaxis 2: Creación de una vista sobre una selección de elementos que se encuentran en un archivo Hyper File
<IdentificadorVista>= HCreateView_55(<Nombre_Archivo>,<Elementos> [,<ElementoOrden> [,<CondiciónSelección> [,<ModoCreación> ,<TamañoPágina>]]]])- <ViewIdentifier> es un número entero largo que se utiliza para identificar la vista.
- <NombreDeArchivo> es una cadena de caracteres que contiene el nombre del archivo Hyper File utilizado por la vista.
- <Items> es una cadena que contiene la List de los artículos encontrados en la vista. Los elementos están separados por una coma (", ", ").
- <SortItem> es una cadena de caracteres que contiene:
- el nombre del tipo inicial Item de la vista. El orden de clasificación se puede especificar anteponiendo la cadena por "+" o "-".. Por Default, la clasificación se realiza en orden ascendente ("+").
- un entero que representa la índice del tipo Item entre las Item s "virtuales" de la vista.
- <La condición de selección es un string que contiene las condiciones de selección de los registros.. Para especificar ninguna condición de selección, todo lo que tiene que hacer es utilizar un string vacío.
- <CreatingMode> es un número entero que corresponde a una combinación de las siguientes constantes de WLanguage:
- hViewLocking bloquea los registros leídos en el archivo
- hViewPostponed ejecuta la vista más tarde con HExecuteView
- hViewExclusive optimiza el tiempo de creación de la vista en un solo equipo
- hViewAdd almacena el contenido de la vista para la próxima hExecuteView
- hViewDistinct borra los duplicados de acuerdo a la clave de clasificación o a un número de Record
- <PageSize> es un número entero que indica el número de registros por página para una vista remota (para un acceso remoto).
- Sintaxis 3: Creación de una vista desde dos vistas con la misma estructura
<ViewIdentifier>=HCreateView_55(<IdentifierViewA>, <IdentifierViewB>,<OperationType> ,<Item>)- <ViewIdentifier> es un número entero largo que se utiliza para identificar la vista de resultados.
- <IdentifierViewA> es un entero largo usado para identificar una vista.
- <IdentifierViewB> es un entero largo usado para identificar una vista.
- <OperationType> es una constante de WLanguage:
- hViewUnion unión de todas las filas de las vistas A y B
- hViewUnionEx unión de todas las filas no comunes de las vistas A y B
- hViewIntersection filas comunes a A y B
- hViewSubtraction filas de A - filas comunes con B
- hViewJoin Combinación entre 2 vistas (único caso en el que las vistas pueden tener una estructura diferente)
- <Item> es una cadena que indica el tipo de Item, usado para realizar la operación entre las vistas. Contiene:
- el nombre del tipo Item de la vista.
- la índice del tipo Item entre las Item s "virtuales" de la vista.
El orden de clasificación se puede especificar anteponiendo la cadena por "+" o "-".. Por Default, la clasificación se realiza en orden ascendente ("+").
Detalles Una vista Hyper File puede compararse con un archivo Hyper File "virtual".: el archivo no se almacena físicamente en el disco pero puede ser usado como un archivo Hyper File "real".La creación de una vista es una operación de lectura realizada en los archivos. Puede ir junto con una operación de bloqueo de los registros leídos, si se deben realizar modificaciones en los registros. La función HCreateView_55 devuelve un entero largo. Es el identificador de la vista, equivalente a un fichero manipular. hCreateView_55 devuelve 0 si se produce un error al crear la vista. Detalles de <VirtualItems>: Si no se describe ninguna Item del archivo principal, se tienen en cuenta todas las Item del archivo principal. La coma se utiliza para separar entre dos descripciones de la Item. <VirtualItems> debe tener el siguiente formato (esta cadena es construida automáticamente por la asistente para la entrada de código): "<AnItem> , <AnItem> ,..." Tipos de elementos no soportados: - Los elementos "clave compuesta" no pueden utilizarse en una vista.
- Los elementos "array" no se pueden utilizar
- Se admiten los elementos y los archivos con nombres largos.
Detalles de <Condiciones de selección>: Una condición de selección utiliza la siguiente sintaxis: "NomCli>'Duarte' y CódigoPos=34 o CódigoPos=32" Se admiten los siguientes operadores: | | | Operador | Significado | Aplicación | <> | Diferente | Válido para todos los tipos | > | Mayor que | Válido para todos los tipos | >= | Mayor que o igual a | Válido para todos los tipos | < | Menor que | Válido para todos los tipos | <= | Menor que o igual a | Válido para todos los tipos | = | Estrictamente igual a | Válido para todos los tipos | ~= | Casi igual a | Válido para los tipos de cadenas (ignora los espacios de la derecha) | ] | Contiene | Válido solo para cadenas | ]= | Comienza por | Válido solo para cadenas | Una condición de selección es una cadena <Expresión> donde la expresión tiene el siguiente formato:<Factor> [<Or/And> <Expresión>] con <Factor>>.: <SimpleItem> <Operator><SimpleItem> <SimpleItem> o <No> <Factor> o (<Expresión>) con <Operador>>.: Uno de los operadores mencionados por Above con <SimpleItem >>.: <Nombre del artículo>>Nombre del artículo o bien <NumericConstant>>. o <'StringConstant'> o Atención: - <ItemName> sólo debe contener letras, dígitos y caracteres de subrayado ("_"), de lo contrario se deben utilizar comillas dobles.: <Item Nombre con otros caracteres">
- Si la cadena a probar en la condición de selección contiene una cita, la cita debe ser reemplazada por _EASLASH_'.
- Las cadenas "constantes" deben estar entre comillas simples.
- No se puede incluir en una condición de selección:
- Los memos binarios
- Los elementos subíndices y los elementos "Array
Detalles de <CreationMode>: El modo de lectura es una combinación de constantes que le permite describir cómo se construirá la vista.. Las constantes autorizadas son las siguientes: - hViewLocking para bloquear los registros leídos en el archivo
- hViewPostponed para ejecutar la vista más tarde con HExecuteView
- hViewExclusive para optimizar la creación Time de la vista en modo monousuario
- hViewAdd almacena el contenido de la vista durante la siguiente llamada a HExecuteView
- hViewDistinto para borrar los duplicados según la clave de clasificación o un número de Record
Notas Atención: Si se utiliza HCreateView_55 durante una exploración de archivos para crear una vista en este mismo archivo, la exploración puede ser alterada. En este caso, le recomendamos utilizar las funciones HSavePosition y HRestorePosition.- Código que no se debe utilizar:
HReadFirst(File, Key) // First record according to the key HCreateView_55(File, ...) HReadNext(File,Key) // Danger: // This is not necessarily the second record read according to the key
- Código recomendado:
HReadFirst(File, Key) // First record according to the key Num = HSavePosition(File) HCreateView_55(File, ...) HRestorePosition(Num) HReadNext(File, Key)
Los tipos comparables son: - todos los tipos numéricos entre sí (incluidas las monedas)
- todas las cadenas de caracteres entre sí (asciiz, basic, pascal, text memos)
Todas las posiciones del fichero principal pueden formar parte de la condición, incluso las que no pertenecen a las posiciones virtuales. La condición se aplica a cada registro virtual antes de que se incluya en la vista. Por lo tanto, no se pueden especificar varias condiciones mutuamente excluyentes para la misma Record (unirse). Por ejemplo: - "Date='1997' y Date='1996'" no devuelve ningún resultado
- "Date>='1996' y Date<='1997' devuelve todos los registros encontrados entre 1996 y 1997.
Las comparaciones entre cadenas se realizan según el valor ASCII de los caracteres (y no según el valor lexicográfico).. Atención: a' > 'Z Las constantes numéricas son reales si contienen una parte decimal (ex: 100.0) El tamaño de una vista no puede superar: 16MB - 64 KB (16MB menos 64 KB). |