PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE


Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Límite inferior y límite superior de un elemento clave de Texto o Clave Compuesta
  • Filtro y navegación filtrada
  • Condición de selección
  • Habilitar/Deshabilitar un filtro
  • Filtro en una clave compuesta
  • Archivos de datos que no están en formato HFSQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Define y habilita un filtro en un archivo de datos, vista o consulta.
Después de su ejecución, los casos más comunes son los siguientes:
  • no se puede crear el filtro: Filtro HF devuelve una cadena vacía ("""). HError devuelve el identificador de error.
  • se crea el filtro: Filtro HF devuelve la clave de búsqueda optimizada que se utilizará para navegar por la vista o consultaarchivo de datos.
Versiones 15 y posteriores
Android Esta función ahora está disponible para aplicaciones Android.
Nueva funcionalidad versión 15
Android Esta función ahora está disponible para aplicaciones Android.
Android Esta función ahora está disponible para aplicaciones Android.
Versiones 17 y posteriores
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Nueva funcionalidad versión 17
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Versiones 18 y posteriores
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Nueva funcionalidad versión 18
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Versiones 21 y posteriores
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Nueva funcionalidad versión 21
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
señalar: A partir de la versión 19, HFSQL es el nuevo nombre de HyperFileSQL.
Ejemplo
// Simple filter with condition:
// Find the customers of a city
 
SearchKey is string
mycity is string
 
mycity = "MONTPELLIER"
SearchKey = HFilter(Customer, "CITY='" + mycity + "'")
HReadFirst(Customer, SearchKey)
WHILE HOut() = False
// Process the record
...
HReadNext(Customer, SearchKey)
END
// Cancels the filter
HDeactivateFilter(Customer)
// Filter performed with a bounded search key and a condition:
// the search key is fixed
 
SearchKey is string
// Filters the invoices found between 1/1/2005 and
// 12/31/2005, whose total is greater than 1500 Euros IOT
// with a discount whose type is passed in parameter (text item)
SearchKey = HFilter(Invoice, InvoiceDate, "20050101", "20051231", ...
StringBuild("TotalIOT>1500 AND DiscountType='%1'" + , ...
Replace(sDiscountType, "", "\")))
// The Replace function is used to prefix the quotes
// contained in sDiscountType with a backslash
IF SearchKey <> "" THEN
HReadFirst(Invoice, SearchKey)
WHILE HOut() = False
// Process the record: send a thank you letter
Send_Letter()
HReadNext(Invoice, SearchKey)
END
END
...
// Cancels the filter
HDeactivateFilter(Invoice)
Sintaxis

Filter built with a bounded search key and a condition Ocultar los detalles

<Result> = HFilter(<File name> , <Name of Search Key> , <Lower bound> [, <Upper bound> [, <Condición de selección>]])
<Result>: Character string
Elemento de navegación. Corresponde a:
  • la clave de búsqueda de archivo de datos si el filtro está habilitado.
  • una cadena vacía ("") si no se puede establecer el filtro.
<File name>: Character string (with or without quotes)
Nombre del archivo de datos, vista HFSQL o consulta utilizada.
<Name of Search Key>: Character string (with or without quotes)
Nombre del elemento clave utilizado para navegar por la archivo de datos vista o consulta. Este elemento debe ser una clave de búsqueda de archivo de datos, ver o consultar. Los límites inferior y superior se aplicarán a este ítem.
<Lower bound>: Type of search item
Valor mínimo (inclusive) del elemento de búsqueda (si la clave de búsqueda se define con una búsqueda ascendente en el análisis). Los registros correspondientes a este valor mínimo se incluirán en el filtro. Para una búsqueda descendente (lo que significa que si la tecla de búsqueda se define con una búsqueda descendente en el análisis), es el valor máximo del elemento de búsqueda..
El tipo de este parámetro debe corresponder al tipo de elemento de búsqueda. Por ejemplo, si el elemento de búsqueda es una cadena, el límite inferior también debe ser una cadena.
<Upper bound>: Type of search item, optional parameter
Valor máximo (incluido) para el elemento de búsqueda (navegación ascendente). Los registros correspondientes a este valor máximo se incluirán en el filtro. El tipo de este parámetro debe corresponder al tipo de elemento de búsqueda. Por ejemplo, si el elemento de búsqueda es una cadena, el límite superior también debe ser una cadena.
Para una búsqueda descendente, es el valor mínimo del elemento de búsqueda.
Si no se especifica este parámetro, el límite superior corresponde al valor de <Límite inferior>.
<Condición de selección>: Optional character string (with quotes)
Condición de selección utilizada para crear el filtro (véanse las Notas). Esta condición de selección puede ser un string en formato Ansi o Unicode.

Filter built with a condition Ocultar los detalles

<Result> = HFilter(<File name> , <Condición de selección>)
<Result>: Character string
Elemento de navegación. Corresponde a:
  • la clave de búsqueda de archivo de datos si el filtro está habilitado
  • una cadena vacía si el filtro no se puede implementar
<File name>: Character string (with or without quotes)
Nombre del archivo de datos, vista HFSQL o consulta utilizada.
<Condición de selección>: Character string (with quotes)
Condición de selección utilizada para crear el filtro (véanse las Notas). Esta condición de selección puede ser un string en formato Ansi o Unicode..
Observaciones

Límite inferior y límite superior de un elemento clave de Texto o Clave Compuesta

Si el límite inferior y el límite superior son iguales:
  • para realizar un filtro de búsqueda exacta en un valor, solo se debe indicar el valor en el parámetro "Límite mín".
    Por ejemplo, para seleccionar los clientes con apellido "Durá":
    HFilter(Customer, Name, "Smith")

    El cliente "Durán" no se seleccionará.
  • para implementar un filtro genérico sobre un valor, debe hacerlo:
    • rellenar el límite inferior con la constante hMinVal para darle el valor mínimo.
    • rellenar el límite superior con la constante hMaxVal para darle el valor máximo.
    Por ejemplo, para seleccionar clientes con apellidos que comienzan por "Durá":
    HFilter(Customer, Name, "Smith" + hMinVal, "Smith" + hMaxVal)

    Se seleccionarán los clientes "Durá" y "Durán".
Notas:
  • La constante hMinVal es equivalente a Charact(0).
  • La constante hMaxVal es equivalente a Charact(255).

Filtro y navegación filtrada

Después de la llamada aFiltro HF, el archivo de datos debe ser necesariamente navegado en el artículo devuelto por Filtro HF. El filtro se ignorará si se utiliza otro elemento para navegar por el menúarchivo de datos.
Cuando se define y habilita un filtro en una (vista archivo de datos o consulta), todos los registros leídos corresponden al filtro. Si ningún otro registro corresponde al filtro durante la navegación:
  • HOut devolucionesTrue
  • el registro actual corresponde al último registro leído con el filtro.
Por ejemplo:
En un filtradoarchivo de datos, después de la función:es el registro actual:
HReadFirstel primer registro de archivo correspondiente al filtro
HReadLastel último registro de archivo correspondiente al filtro
HReadNext (o HForward)el registro siguiente (o el siguiente registro nésimo) correspondiente al filtro
HReadPrevious (o HBackward)el registro anterior (o el registro nésimo anterior) correspondiente al filtro

Condición de selección

La sintaxis general de una condición tiene el siguiente formato:
"ApellidoCli>'Durá' y (CódigoPos=34 o CódigoPos=32)"
Los operadores soportados dependen del tipo de elementos utilizados en la condición:
<>DiferentesVálido para todos los tipos
>Superior aVálido para todos los tipos
>=Superior o igual aVálido para todos los tipos
<Inferior aVálido para todos los tipos
<=Inferior o igual aVálido para todos los tipos
=Estrictamente igual aVálido para todos los tipos
~=Casi igual a: ignora los caracteres de espacio a la derecha, los caracteres acentuados, los caracteres en minúsculas y mayúsculasVálido sólo para tipos de cadena
~~Igualdad muy flexible: no distingue entre caracteres en minúsculas y mayúsculas, ignora los caracteres de espacio encontrados antes y después de la cadena a probar, ignora los caracteres acentuados en minúsculas, ignora los caracteres de espacio y los caracteres de puntuación dentro de las cadenas.Válido sólo para tipos de cadena
]Contiene: tiene en cuenta los caracteres en minúsculas y mayúsculasVálido sólo para tipos de cadena
~]Contiene: ignora los caracteres en minúsculas y mayúsculasVálido sólo para tipos de cadena
]=Comienza por: tiene en cuenta los caracteres en minúsculas y mayúsculasVálido sólo para tipos de cadena
AndroidWidget Android JavaPHP Los operadores ~~ y ~= no deben utilizarse. Estos operadores no están permitidos.
Notas sobre la condición de selección :
  • Las cadenas constantes deben estar entre comillas simples.
  • Si <Nombre del artículo> contiene comillas simples, deben ser dobladas.
    Por ejemplo:: ‘Artículo‘con‘las‘citas‘
  • Las comparaciones entre strings se realizan según los parámetros especificados para los índices.
  • Las notas binarias y las claves compuestas no pueden formar parte de una condición de selección..
    Para las claves compuestas, se recomienda utilizar la primera sintaxis. No se puede utilizar la siguiente sintaxis:
    HFilter(FILENAME, "COMPKEY~]'AAA' AND COMPKEY]='" + ...
    HBuildKeyValue(FILENAME, COMPKEY, 0) + "'")
  • Si una cadena de caracteres (constante o variable) contiene una cita simple, esta cita simple debe ir precedida de una barra invertida ( _EASLASH_).
  • Para optimizar las operaciones de navegación, aplique HStatCalculate el filtro archivo de datos antes de crearlo.. De hecho, el motor HFSQL analiza la condición de selección y utiliza estas estadísticas para definir los elementos más discriminantes que se utilizarán para optimizar la navegación realizada en la página web de HFSQLarchivo de datos.
  • Esta condición de selección puede ser un string en formato Ansi o Unicode.

Habilitar/Deshabilitar un filtro

HDeactivateFilter se utiliza para desactivar un filtro.
HActivateFilter se utiliza para volver a habilitar un filtro.
El filtro se borra cuando se cierra (consulta archivo de datos o vista) (HClose por ejemplo).
Un solo filtro puede existir en un momento dado en una (consulta archivo de datos o vista). Si Filtro HF se utiliza varias veces, sólo se tendrá en cuenta el último filtro.: se borrarán los filtros anteriores.
WINDEVWEBDEV - Código ServidoriPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxCódigo de Usuario (UMC)HFSQLHFSQL Client/ServerProcedimientos almacenados

Filtro en una clave compuesta

Se pueden utilizar varios métodos para implementar un filtro en una clave compuesta:
  • Método 1: Utilizando una lista de valores en Filtro HF.
  • Método 2: Usando la FOR EACH declaración.
  • Método 3: Uso HBuildKeyValue de...
  • Método 4: Uso (método HConvertX conservado para la compatibilidad con WINDEV 5.5)
Ver Teclas y filtros compuestos para más detalles.
Ejemplo de utilización del método 1: Utilizando una lista de valores .
El valor de la clave compuesta para la que se debe implementar el filtro se puede construir directamente en Filtro HF con la siguiente sintaxis:
HFilter(<File name>, <Name of composite key>,
[<List of values for the lower bound of composite key>],
[<List of values for the upper bound of composite Key>])
Ejemplo: Buscar todos los registros del archivo CLIENTE cuyos apellidos y nombres están comprendidos entre "Arias" y "Barrera" y "Pablo" y "Teresa".
HFilter(Customer, LastNameFirstName, ["AA", "Philomene"], ["Barnaby", "Tartuffe"])
En este ejemplo, "Arias","Zapata" es devuelto por el filtro, mientras que "Pablo","Zapata" no es devuelto.
Ejemplo: Busque todos los registros del archivo Tareas cuyas tareas se incluyan entre el 15/03/2011 00:00 y el 25/03/2011 00:00.
HFilter(Tasks, TaskStarDateTaskStartTime, [20110315,0000], [20110325,0000])
WINDEVWEBDEV - Código ServidorReportes y ConsultasAndroidWidget Android Windows MobileJavaPHPAjaxCódigo de Usuario (UMC)Procedimientos almacenadosOLE DBConectores Nativos

Archivos de datos que no están en formato HFSQL

Componente : wd240hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
HFILTER DICA
O filetoarray se não tiver antes dele um hfilter coloca no array a tabela inteira e se colocar o hfilter, traz só o registro. exemplos:

//assim vai trazer só o registro atual
HFilter(RADFileA,RADFileA.IDRADFileA,gnID)
FileToArray(garr_RADFileA_Depois,RADFileA,RADFileA.IDRADFileA)

//vai trazer todos os registros
FileToArray(garr_RADFileA_Depois,RADFileA,RADFileA.IDRADFileA)

DICA:
Voce pode atribuir uma Classe de um arquivo a um array assim:

garr_RADFileA_Antes is array of CMRADFileA
garr_RADFileA_Depois is array of CMRADFileA
BOLLER
24 02 2019
 CADASTRO DE USUARIOS
VAMOS CONTINUAR CURSO ERP, COM CADASTRO DE USUARIOS


HFilter(usuario,Usuario_grupoID,usuario_grupo.usuario_grupoID)

// COM HFILTER ESTAMOS FILTRANDO OS USUARIOS SOMENTE DE 1 GRUPO
// WITH HFILTER WE ARE FILTERING USERS ONLY FROM 1 GROUP
// CON HFILTER ESTAMOS FILTRANDO LOS USUARIOS SOLAMENTE DE 1 GRUPO


TableDisplay(TABLE_usuario,taInit)

// ESTAMOS ATUALIZANDO A TABELA
// WE ARE UPDATING THE TABLE
// ESTAMOS ACTUALIZANDO LA TABLA


// BLOG COM VIDE E EXEMPLO

http://windevdesenvolvimento.blogspot.com.br/2017/07/aula-1200-windev-curso-erp-040-usuarios.html

https://www.youtube.com/watch?v=0-5SQfPfhXk

De matos
08 07 2017
Exemplo hfilter
hfilter(cliente,cliente.id_empresa_cliente,edT_cliente_inicial + hMinVal,edt_cliente_final + hMaxVal)
tabledisplay(table_cliente,taStart)
HdeactivaterFilter(cliente)

// Blog Com video e exemplo

http://windevdesenvolvimento.blogspot.com.br/2016/11/aula-968-windev-tabela-035-hfilter.html

https://www.youtube.com/watch?v=ED9un1QMK-U

De matos
04 12 2016