# Pacoideas - Leer archivos del directorio de scripts del proyecto

**URL:** <https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972>\
**Category:** Compartir código fuente y ejemplos\
**Created:** [16 Febrero, 2022 00:01 UTC](https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972 "2022-02-16T00:01:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [16 Febrero, 2022 00:01 UTC](https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972/1 "2022-02-16T00:01:07Z")

</div>

Hola.

![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/6/641b844740ff2f8bccbd4ba06d0590b8c1df84ad.png)

En los proyectos de Velneo se pueden incluir archivos de diferentes formatos a través de la [pestaña Scripts del panel de Inspectores](https://doc.velneo.com/velneo-vdevelop/inspectores#inspector-de-scripts). Los archivos se organizan en **carpetas** y disponemos de editores para cada tipo de lenguaje de scripts o formato de datos.

> Aunque desde **vDevelop** decidimos qué ficheros se guardarán en la **caché** del cliente y cuáles no, en esta Idea estoy considerando la opción de no tener que copiar los archivos en la caché. La razón puede ser que las políticas de **seguridad** nos obligan a proteger determinada información.

En tiempo de **ejecución** podemos hacer uso de los scripts de **javascript** , **qml** y **css** mediante comandos nativos, pero ¿qué ocurre con otros archivos como **xml** , **json** , **html** o **svg**? Para esos tipos de archivo no hay una forma directa de acceder a ellos cuando la opción de copiar a caché está desactivada.

La **Idea** que os planteo consiste en hacer uso del comando [Interfaz: establecer hoja de estilo CSS (filescript)](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/interfaz/control#interfaz-establecer-hoja-de-estilo-filescript) para leer y guardar desde **vClient** un archivo de la carpeta de scripts en una **variable local** del formulario o proceso.

Este sería el proceso para poner en práctica la Idea:

- En el formulario donde vayamos a hacer uso del archivo se añade un control Label con el identificador `LBL_LEER_SCRIPT` (puede estar oculto).
- Ejecutamos el comando [Interfaz: establecer hoja de estilo CSS (filescript)](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/interfaz/control#interfaz-establecer-hoja-de-estilo-filescript) sobre el control `LBL_LEER_SCRIPT` y el parámetro _Senda del fichero de script_ con la ruta del archivo en la carpeta de scripts del proyecto (por ejemplo (CurrentProject)/\_miJSON.json).
- Ejecutamos un Manejador de javascript con el siguiente código:

```auto
// Leer el contenido de un archivo de la carpeta de scripts del Proyecto
// Leemos la propiedad styleSheet del control etiqueta del formulario
// La propiedad styleSheet se ha rellenado usando el comando nativo
// Interfaz: establecer hoja de estilo filescript
var cCodigo = theParentWidget.control("LBL_LEER_SCRIPT").styleSheet
// Devolvemos el contenido en una variable local del formulario
theRoot.setVar("CRESULTADO", cCodigo)

```

En la variable local **CRESULTADO** tendremos el contenido original del archivo ya que el comando [Interfaz: establecer hoja de estilo CSS (filescript)](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/interfaz/control#interfaz-establecer-hoja-de-estilo-filescript) se comporta de manera neutral con el formato de dicho archivo.

Algunos beneficios de esta nueva Idea:

- Podemos usar los **editores** de código (txt, html y svg) para introducir el contenido del archivo.
- Nos olvidamos de las limitaciones del [Editor de fórmulas](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/editores/asistente-de-formulas). No hay que usar secuencias de **escape** con las comillas, disponemos de **zoom** , vista **previa** del resultado html o svg, **marcado** de bloques de código, **coloreado** de código, …
- Si tenemos que guardar en nuestro proyecto un archivo de texto “confidencial” que vayamos a usar en determinados procesos y no queremos dejar rastro en la caché de disco.

Algunos ejemplos:

El archivo **\_miJSON.json** lo podemos introducir cómodamente con comillas y tabulaciones. El archivo json puede contener información **confidencial** de acceso restringido.

 ![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/5/5b1aabe67e12dc66e4443e5b095d7abc3e8398b5.png)

Un archivo **\_miTXT.html** incluido en el proyecto que podemos editar y visualizar en tiempo de diseño directamente desde vDevelop, sin usar editores externos. Una forma sencilla de incluir la **ayuda** de la aplicación en el proyecto.

 ![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/3/3ec7ca425ff4cd32a6225b535cdc73cea9c4d603.png)

Usar **plantillas** en formato SVG que personalizamos en tiempo de ejecución. El editor de SVG nos mostrará la **vista previa** del código introducido.

 ![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/8/874ae06390f4fcf9bce19f879ac250d5fd81ad3c.png)

Aplicando esta Idea podéis tener información **protegida** en vuestro proyecto y al mismo tiempo disponer de **editores** de código en tiempo de diseño y de acceso **directo** en ejecución desde vClient.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![estisoft](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/estisoft/32/5714_2.png) [@estisoft](https://foros.velneo.com/u/estisoft)\
**Post date:** [25 Abril, 2023 11:39 UTC](https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972/2 "2023-04-25T11:39:20Z")

</div>

Gracias por el aporte.  
Probado y funciona perfecto.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [25 Abril, 2023 17:12 UTC](https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972/3 "2023-04-25T17:12:53Z")

</div>

Hola estisoft.

Creo que es una funcionalidad imprescindible que en Velneo siempre he echado en falta ya que en otras plataformas es de uso común.

De todas formas, visto que hasta ahora no había habido comentarios a esta idea, pienso que tampoco se necesita.

Gracias por comentar y saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![tcirac](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/tcirac/32/5529_2.png) [@tcirac](https://foros.velneo.com/u/tcirac)\
**Post date:** [27 Abril, 2023 06:39 UTC](https://foros.velneo.com/t/pacoideas-leer-archivos-del-directorio-de-scripts-del-proyecto/10972/4 "2023-04-27T06:39:12Z")

</div>

Muchas gracias por la idea. Funciona perfectamente.
