Hola, soy un viejo programador de V6 que me he vuelto a enganchar hace poco a V7.
Me he encontrado con un problema a la hora de crear código para el visor Html y creo que su solución puede ser de utilidad para otros. Voy por partes:
1º Mi idea, como la de muchos, es ejecutar en el visor web código HTML que interactúe con Velneo. En mi caso para un mapa mental escrito en JS.
2º Incluí los ficheros js y css en el apartado de Scripts del proyecto.
3º Guardé el código HTML en un campo objeto texto llamado #HTML, de esta forma puedo tener distintas aplicaciones JS guardadas una en cada ficha. Y si a cada ficha se le asocia un visor, esto permite hacer cosas diferentes en cada ficha.
4º Los pasos anteriores, fáciles, pero el dejar un código HTML ejecutable para el visor de Html ya es otra cosa. Hay que cambiar, una a una, cada comilla del texto y sustituirlo por el valor \c para que el visor no se queje y luego internamente coloque comillas.
Bueno pues aquí una solución para este problema del punto 4º:
replaceString(#HTML, “\”", “\c”)
Para buscar una comilla o en general para escribir cualquier carácter especial hay que colocar la barra invertida delante. En el caso de arriba lo que busco es una comilla pero si pongo tres comillas, dos para encerrar a la de dentro, Velneo da error. Por eso pongo dentro de las comillas lo que quiero precedido por la barra invertida, ósea \".
Por otro lado para sustituir una comilla se usa el valor \c. Supongo que todos conocen esto, pero lo indico por si acaso.
Una ultima cosa, en mi caso suelo utilizar dos campos:
Uno con el HTML original en el que también si lo necesito coloco unos TAG que luego sustituyo por los valores oportunos según los casos (por ejemplo las rutas de los ficheros js y css).
Otro con el valor del texto html con todas las comillas sustituidas con \c, así como también los TAG sustituidos por sus valores reales. Indicar que este segundo campo es el que pongo como contenido del visor web.
Y por si quedaba duda todo esto lo hago con modificar campo y la función replaceString. Puede ser a través de un proceso o un manejado de evento y tantos replaceString como se necesiten.
Deseo que os sea de utilidad.
Un saludo