Funciones de texto
Combinar, buscar, trocear y formatear texto en DinaScript, con diccionarios en memoria, construcción de JSON y validación de NIF.
Funciones del espacio F. para trabajar con texto: combinar valores, buscar dentro de una cadena, trocearla por un separador, formatear números como texto y montar estructuras JSON. Las convenciones comunes (tipos de datos, valores sí/no, contextos) están en el índice de funciones.
Combinar y transformar
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Concat … Concat6 | (texto1, …, textoN) | Texto | Une de 1 a 6 valores de texto en uno. |
Replace | (cadena, búsqueda, nuevoValor) | Texto | Sustituye todas las apariciones de un texto por otro. |
ToUppers | (texto) | Texto | Pasa a mayúsculas. |
ToLower | (texto) | Texto | Pasa a minúsculas. |
Length | (texto) | Entero | Número de caracteres. |
Substring | (texto, inicio, longitud) | Texto | Extrae un trozo desde una posición. |
RemoveStart / RemoveEnd | (cadena, cantidad) | Texto | Quita N caracteres del inicio o del final. |
PadLeft / PadRight | (texto, cantidad, relleno, cortar) | Texto | Rellena hasta una longitud fija por la izquierda o la derecha. El último parámetro corta el texto si ya es más largo. |
txt codigo = F.PadLeft("7", 5, "0", false)
@ codigo vale "00007"
txt etiqueta = F.Concat3("Pedido ", codigo, " confirmado")Buscar dentro de un texto
Las tres devuelven un entero: 1 si se cumple, 0 si no. La comparación ignora mayúsculas y acentos.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Contains | (cadena, búsqueda) | Entero (1/0) | La cadena contiene el texto buscado. |
StartsWith | (cadena, búsqueda) | Entero (1/0) | La cadena empieza por el texto buscado. |
EndsWith | (cadena, búsqueda) | Entero (1/0) | La cadena termina en el texto buscado. |
¿F.Contains(v.email, "@") = 0 ? v.error = "El email no es válido"Trocear por separador
Parten la cadena por un separador y devuelven o eliminan segmentos. A ignorar salta los primeros N trozos; A recibir limita cuántos coges.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
GetFirstPart | (valor, separador, aIgnorar, aRecibir) | Texto | Coge los primeros segmentos tras partir la cadena. |
GetLastPart | (valor, separador, aIgnorar, aRecibir) | Texto | Coge los últimos segmentos. |
RemoveFirstPart | (valor, separador, aEliminar) | Texto | Quita los primeros N segmentos. |
RemoveLastPart | (valor, separador, aEliminar) | Texto | Quita los últimos N segmentos. |
txt dominio = F.GetLastPart("ana@dinaup.com", "@", 0, 1)
@ dominio vale "dinaup.com"Formatear números como texto
Aplican el formato de presentación de tu cuenta: separadores de miles, símbolo de moneda, signo de porcentaje.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
FormatMoney | (importe) | Texto | Importe monetario: 1.234,56 €. |
FormatNumeric | (importe) | Texto | Número con separadores: 1.234,56. |
FormatPercentage | (importe) | Texto | Porcentaje: 25%. |
FormatNumericByRole | (valor, rol) | Texto | Formatea según el formato del rol de campo indicado. |
FormatTime | (minutos) | Texto | Minutos como hora: 90 → 1:30. |
WriteTime | (minutos) | Texto | Minutos como texto legible por personas. |
Diccionarios en memoria
Pares clave-valor para acumular resultados antes de exportarlos. Dos sabores: texto (DicT_) y numérico (DicN_). _New devuelve la referencia del diccionario, que pasas al resto de funciones.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
DicT_New / DicN_New | () | Referencia | Crea el diccionario. |
DicT_Add / DicN_Add | (dic, clave, valor) | — | Añade o actualiza una clave. |
DicT_Get / DicN_Get | (dic, clave, defecto) | Texto / Decimal | Lee una clave; si no existe, devuelve el valor por defecto. |
DicT_ContainsKey / DicN_ContainsKey | (dic, clave) | Entero (1/0) | La clave existe. |
DicT_Count / DicN_Count | (dic) | Entero | Número de entradas. |
DicT_RemoveItem / DicN_RemoveItem | (dic, clave) | — | Elimina una clave. |
DicT_Clear / DicN_Clear | (dic) | — | Vacía el diccionario. |
DicT_ToJson / DicN_ToJson | (dic) | Texto | Vuelca el diccionario a JSON. |
num dic = F.DicN_New()
F.DicN_Add(dic, "enero", 1200)
F.DicN_Add(dic, "febrero", 1550)
txt json = F.DicN_ToJson(dic)Construir JSON
Para montar un JSON a mano con objetos anidados, sin pelearte con comillas. Abres un documento, vas asignando claves tipadas y lo lees al final.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Json_DocIni | (keyword) | — | Abre un documento JSON identificado por keyword. |
Json_ObjectIni | (clave) | — | Abre un objeto anidado. Con clave vacía, es el objeto raíz. |
Json_SetValueText | (clave, valor) | — | Asigna un valor de texto. |
Json_SetValueN | (clave, valor) | — | Asigna un valor numérico. |
Json_SetValueB | (clave, valor) | — | Asigna un valor sí/no. |
Json_SetValueJson | (clave, json) | — | Anida un JSON ya construido como valor. |
Json_ObjectEnd | () | — | Cierra el objeto actual. |
Json_DocEnd | () | — | Cierra el documento. |
Json_ReadDoc | (keyword) | Texto | Devuelve el JSON generado. |
F.Json_DocIni("respuesta")
F.Json_ObjectIni("")
F.Json_SetValueText("estado", "ok")
F.Json_SetValueN("total", 1250.50)
F.Json_ObjectEnd()
F.Json_DocEnd()
txt json = F.Json_ReadDoc("respuesta")NIF españoles
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
ValidateNIF | (nif) | Entero (1/0) | El NIF tiene un formato válido. |
NIFIsPersonal | (nif) | Entero (1/0) | El NIF es de persona física. |
DetectTypeNIF | (nif) | Texto | Nombre del tipo de NIF. |
IdentifyIDTypeNIF | (nif) | Entero | Código del tipo de identificación. |
Utilidades web
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
ToFriendlyUrl | (valor) | Texto | Convierte un texto en slug para URL, sin espacios ni caracteres especiales. |
JSEncode | (texto) | Texto | Escapa un texto para incrustarlo en JavaScript. |
Funciones (espacio F.)
Referencia completa de las funciones de DinaScript organizada por categorías, con los tipos de datos, sufijos y contextos de ejecución.
Funciones de fecha y hora
Construir y descomponer fechas, sumar periodos, saltar a inicios y finales de mes o año, calcular diferencias, edades y rangos dinámicos en DinaScript.