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 .
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" )
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"
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@tuempresa.com" , "@" , 0 , 1 )
@ dominio vale "tuempresa.com"
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.
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)
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" )
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.
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.
→ Índice de funciones
→ Espacio de nombres S. (Schema)