Tabla de Contenidos

NÉFELE for HARBOUR

Néfele for Harbour es una librería de clases con la que desarrollar aplicaciones Web en tiempo récord, basada en Harbour utilizando su entorno de trabajo, sintaxis y acceso a bases de datos DBF, SQLite, MySql/MariaDB, SQL Server, FireBird, PostgreSQL y MSAccess.

Néfele permite mediante una serie de objetos (paneles, textos, botones, campos de edición, listas de datos, etc.) el montaje de una aplicación Web ejecutable en un navegador cualquiera y que además sea responsive.

Utiliza para ello el framework Materialize basado en Material design como base aunque no renuncia a incorporar otras extensiones para enriquecer su aspecto y mejorar su usabilidad como los mensajes de Sweet Alert, la creación de PDF con jsPDF, las notificaciones Push con OneSignal, los tour informativos con Anno.js, el visualizador de PDF PDF.js, la inclusión de códigos QR en nuestras páginas o la creación de Hojas de Calculo XLSX.

Néfele es el fruto de la colaboración de un grupo de programadores, usuarios de Xailer, que viendo la necesidad de expandir las aplicaciones de escritorio a la Web han llegado a esta solución totalmente operativa y extremadamente sencilla.

F.A.Q. PREGUNTAS FRECUENTES

Consulta aquí las preguntas frecuentes de los usuarios.

Controles

🚧 En construcción; Solo esta documentada la declaración de la Clase.
✨ Control en desarrollo aún no publicado.

Controles creados por los Usuario (Contrib)

Propiedades

Componentes

Métodos Comunes

Funciones Generales

Función Descripción
nfl_AddLinkHtml Crear Link Html
nfl_AddLinkTel Crear Link de Teléfono
nfl_AllString Convierte todo a carácter y ajusta a un tamaño
nfl_ArrayColumn Nos extrae una columna de un Array
nfl_ArrayToCookie Codifica un Array para ser utilizado en una Cookie
nfl_ArrayDistinct Devuelve un array al que se le quitan los duplicados filtrando por una columna.
nfl_Array2Char Convierte un array a una cadena de caracteres separada por comas u otro separador.
nfl_ArrayToChar
nfl_AsciiHTML Conversión de Cadenas/Array ANSI a UTF8
nfl_CallAutoForm Crear una llamada Automática a nuestro CGI o a una URL
nfl_CacheFile Tratamiento de páginas cacheadas en el servidor
nfl_CalcOffsetSQL Esta función devuelve el Offset necesario para paginar una consulta SQL
nfl_Char2Array Conversión de una Cadenas en Array según el delimitador indicado
nfl_CharToArray
nfl_ChkCookie Nos valida un Cookie
nfl_ChkFormUID Devuelve .T. si el wformuid es valido y se puede procesar el wForm
nfl_CleanTag Esta función limpia de una cadena el tags pasados
nfl_CleanTags Esta función limpia de una cadena todos los tags pasados
nfl_ClrMaterialize Localiza colores Materialize o su equivalente Hexadecimal
nfl_Console Envía Mensajes a NefeleConsole
nfl_Comillas Encapsula la cadena entre comillas simples
nfl_Comillasd Encapsula la cadena entre comillas dobles
nfl_CookieToArray Descodifica un Array recibido en una Cookie
nfl_CloseAllItemLV Crea el código JS para cerra todos los wItemListView de un wListView Collapsable/Expandable
nfl_CloseModal Nos genera el código JavaScript necesario para cerrar una ventana modal
nfl_CloseSideNav Nos genera el código JavaScript necesario para ocultar el wSideNav
nfl_CreateTimeOut Crear un evento Timer en la página
nfl_DefaultSecurityPolicy Configuración básica de politicas de seguridad seguridad
nfl_DirectOutputMessage Creación y envió de una página Básica con un mensaje
nfl_DToJSD Convierte una fecha Harbour a formato JavaScript .toString()
nfl_DToJSDS Convierte una fecha Harbour a formato JavaScript .toDateString()
nfl_DownloadFile Creación de un Link para la descarga de un fichero disponible en htdocs
nfl_EmbedFile Código HTML para embeber un fichero en un wBevel
nfl_EmbedJSon Crea el HTML necesario para embeber una visualización de un fichero JSon
nfl_EmbedPDFjs Crea el HTML necesario para embeber una llamada al visor PDFjs
nfl_EmbedXML Crea el HTML necesario para embeber una visualización de un fichero XML
nfl_ExtractStr Extrae una subcadena contenida entre dos cadenas
nfl_FileDate Extraer la Fecha de creación de un Fichero
nfl_FillForm Facilita la actualización de un wForm ya existente por AJAX
nfl_GetTmpFileName Genera el nombre de un fichero temporal en base a un nombre de fichero
nfl_IsDate Nos indica si el valor es una fecha correcta en xBase
nfl_IsTime Nos indica si el valor es una hora correcta en xBase
nfl_IsBase64 Nos indica si el valor es una cadena en formato Base64
nfl_IsDebug Nos indica si se esta ejecutando el CGI en modo Debug
nfl_JSDtoD Convierte una Fechas en formato JavaScript a xBase
nfl_LoadCacheFile Recuperar una página cacheada en el servidor
nfl_MimeExt Retorna la extensión de fichero en base a su tipo Mime
nfl_MimeType Retorna el tipo Mime de un fichero según su extensión
nfl_MsgSave Crea un fichero secuencial de mensajes
nfl_MsgSesionCaducada Cadena y AutoEvento para notificar la sesión como Caducada
nfl_OpenItemListView Genera el JS necesario para abrir un ItemListView
nfl_OpenModal Apertura y Cierre de wBevel Modal
nfl_OpenSideNav Apertura y Cierre del SideNav
nfl_OnlyFileName Nos retorna el nombre de un fichero sin extensión ni Path
nfl_PreloadCss Fuerza la precarga de CSS
nfl_ProgName Nos retorna el nombre del exe sin extensión ni Path
nfl_ServerUrl Nos devuelve la URL que se ha utilizado para llamar a nuestro CGI
nfl_ShowSS Ordena la Presentación del ShadowSheet de la página
nfl_SingleUri Nos devuelve a URL que se ha utilizado para llamar a nuestro CGI
nfl_SqlDate Convierte una Fecha en formato xBase a formato SQL
nfl_SqlDatetime Convierte una Fecha y Hora en formato xBase a formato SQL
nfl_RefreshBadge Nos genera el código JS para actualizar el texto de un wBadge
nfl_RefreshMemo Refresca el wEdit Memo con el contenido
nfl_RefreshSwitch Fuerza el Refresco de los wSwitch de una página una vez actualizado su contenido por AJAX
nfl_RefreshText Fuerza el Refresco de los wEdit una vez actualizado su contenido por AJAX
nfl_ResetMemo Reseteo de wEdit Memo por AJAX
nfl_ToClipBoard incrusta un Botón de envío al portapapeles en cualquier texto.
nfl_UpdateById Retorna el código necesario para actualizar un control por AJAX
nfl_URLPDFjs Crea la URL necesaria para llamar al visor PDFjs
nfl_ValHora Nos valida que la cadena pasada corresponde a una hora en formato xBase
nfl_ValToJS Prepara cualquier tipo de dato apara incluirlo en una sentencia JS
nfl_ValToSql Adapta cualquier tipo de dato a un formato admisible por SQL

✨ Función disponible próximamente.

Funciones para Bases de Datos

Función Descripción
nfl_GetDriversODBC Nos retorna un Array con los Driver ODBC de un Motor de BBDD instalados
nfl_SqlConnect Nos retorna una conexión con una BBDD

Funciones útiles en la creación de Controles Néfele

Función Descripción
nfl_ArrayColors Nos devuelve un array con todos los colores de Materialize y su equivalente Hex.
nfl_CheckClr Valida el color y nos retorna una clase valida
nfl_CheckImage Validación de Imagen
nfl_CreateUniqueId Creación de cadena única para UniqueId
nfl_CheckValue Comprueba el valor en un array de valores validos
nfl_Deprecate Genera un aviso de Descatalogación de una función, método, propiedad, etc..
nfl_FindParentClass Localiza un oParent del control de una clase
nfl_FiltroXSS Nos filtra la cadena par evitar la inyección de código
nfl_GetMeasureType Retorna la unidad de medida de la página
nfl_lOkNavegador Valida si el Navegador es compatible con MaterializeCSS
nfl_MergeParam Fusiona los aParam de dos aParams sin duplicados
nfl_NavegadorNoCompatible Página de aviso de navegador no compatible
nfl_PutIcon Añade un Icono a nuestro control
nfl_ReplaceChars Reemplazo por lotes de caracteres
nfl_ReplaceClrMaterialize Nos devuelve el valor Hexa RGB de un Color Materialize, si no existe nos devuelve lo enviado
nfl_StringToEdit Filtrado de cadena para evitar XSS
nfl_Tag Encapsulado de cadenas entre Tag
nfl_ToWeb Tratamiento de parámetros con encriptación
nfl_ToWeb
nfl_UpdateArray Fusiona dos Array con los elementos no coincidentes

Técnicas

Utilidades

Enlaces de interés

Aquí iremos colocando aquellas cosas que encontremos por internet, o que nos comente algún usuario y que puedan ser de interés para futuras mejoras de Néfele o para proyectos individuales.