anonymous Log in
Search
Recents:
v3.0
gx-l
Error al escribir comillas en txt
09/04/21 09:21

jncorujo2015

Replies: 7

Hola buenos días, tengo un problema al querer crear un txt con comillas es
como que las triplica, tal vez ya les ha pasado y me pueden guiar.
Estoy con Gx16 JAVA Tomcat 8 en ubuntu 16
Saludos, desde ya muchas gracias.
&ret = DFWOpen(&ArchivoAGrabar,"","",0,"UTF-8")
&Comillas = CHR(34)
&Prueba = "Prueba"
&Prueba = &Comillas + &Prueba + &Comillas
&a = DFWPtxt(&Prueba)
Resultado = """Prueba"""
////TEST 2 ////
&ret = DFWOpen(&ArchivoAGrabar,"","",0,"UTF-8")
&PruebaSolo = '//"//Esto es una prueba de que se puede hacer//"//' +
newline() + "Segunda linea" + newline() + '"Terceralinea"' + newline() +
&Comillas
&a = DFWPtxt(&PruebaSolo)
Resultado
"//""//Esto es una prueba de que se puede hacer//""//
Segunda linea
""Terceralinea""
"""
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1
Por consultas owner-gx-l@gxtech.com.uy
Replies

luismiyashita

09/04/21 09:26
&ret = DFWOpen(&ArchivoAGrabar,"","",0,"UTF-8") &Comillas = CHR(34) &Prueba = '"Prueba"' &a = DFWPtxt(&Prueba) Luis Miyashita

jncorujo2015

09/04/21 09:37
Luis gracias por responder, el resultado de ese código es el siguiente: """Prueba"" " no se por que quedo mas separada la última comilla, creo que una de las razones por lo que me pasa esto es por el servidor ubuntu, tendras alguna idea ¿? El vie, 9 de abr. de 2021 a la(s) 09:26, Luis Miyashita ( luismiyashita@hotmail.com)

xavier10358

09/04/21 11:00
Hola Nicolas, no es un tema de linux, a mi me pasó con windows, tampoco sé si con nuevas versiones se soluciono. Te comento que lo "solucione....", retocando el fichero generado. O sea, una vez generado, lo volvía a abrir y arreglaba sus errores. No era un fichero muy extenso, por lo que se podían ver los campos incorrectos. El código era aproximadamente este : cerraba el fichero y lo volvia a abrir y lo trataba. // &ret = DFWClose() If &Items = 0 &File.Source = &FileNamePath &File.Delete() EndIf &File.Source = &FileNamePath &VarcharLarge = &File.ReadAllLines() &VarcharLargeNew.Clear() For &VarcharLargeItem in &VarcharLarge &VarcharLargeItem = &VarcharLargeItem.Replace('=', '"') &VarcharLargeNew.Add(&VarcharLargeItem) EndFor &VarcharLarge.Clear() For &VarcharLargeItem in &VarcharLargeNew &VarcharLargeItem = &VarcharLargeItem.Replace('""', '"') &VarcharLarge.Add(&VarcharLargeItem) EndFor // &FileNew.Source = !'N_'+&FileName // &FileNew.WriteAllLines(&VarcharLarge) &File.WriteAllLines(&VarcharLarge) &File.Close() A ver si esto te aporta algo. Saludos. Missatge de Nicolas Corujo del dia dv., 9 d’abr. 2021 a les 14:37: > Luis gracias por responder, el resultado de ese código es el siguiente: > """Prueba"" " > no se por que quedo mas separada la última comilla, creo que una de las > razones por lo que me pasa esto es por el servidor ubuntu, tendras alguna > idea ¿? > > El vie, 9 de abr. de 2021 a la(s) 09:26, Luis Miyashita ( > luismiyashita@hotmail.com)

jncorujo2015

09/04/21 11:06
entonces tu lo que hiciste fue donde querías poner las comillas colocaste = luego recorriste linea a linea y lo reemplazaste por " &VarcharLargeItem = &VarcharLargeItem.Replace('=', '"') luego volviste a recorrer linea a linea para sacar las doble comillas? &VarcharLargeItem = &VarcharLargeItem.Replace('""', '"') esto es asi? El vie, 9 de abr. de 2021 a la(s) 11:01, Xavier Villas ( xavier@dsisoftware.es)

xavier10358

09/04/21 11:14
El caracter '=' lo puse yo, por que no me generaba " en algún campo y lo necesitaba por requerimientos del csv, lo que hace es solucionar 2 temas, uno en cada pasada. Si solo es '""' &VarcharLarge.Clear() For &VarcharLargeItem in &VarcharLargeNew &VarcharLargeItem = &VarcharLargeItem.Replace('""', '"') &VarcharLarge.Add(&VarcharLargeItem) EndFor &File.WriteAllLines(&VarcharLarge) &File.Close() Missatge de Nicolas Corujo del dia dv., 9 d’abr. 2021 a les 16:07: > entonces tu lo que hiciste fue donde querías poner las comillas colocaste = > luego recorriste linea a linea y lo reemplazaste por " > &VarcharLargeItem = &VarcharLargeItem.Replace('=', '"') > > luego volviste a recorrer linea a linea para sacar las doble comillas? > &VarcharLargeItem = &VarcharLargeItem.Replace('""', '"') > > esto es asi? > > > El vie, 9 de abr. de 2021 a la(s) 11:01, Xavier Villas ( > xavier@dsisoftware.es)

jncorujo2015

09/04/21 12:23
podrias compartir los tipos de variable que son? &VarcharLarge. &VarcharLargeItem &VarcharLargeNew &VarcharLargeItem &VarcharLarge.Add otra cosa que me quedo la duda es si eliminas el archivo y lo volves a crear o si simplemente lo elimnas¿? El vie, 9 de abr. de 2021 a la(s) 11:15, Xavier Villas ( xavier@dsisoftware.es)

Jorge Berta

09/04/21 12:55
Nicolás: Yo tuve ese inconveniente una vez cuando actualicé la versión (no recuerdo cual era), la solución fue dejar de usar las funciones DFW y usar el Tipo de Datos File para crear los archivos. Saludos Jorge


Back to gx-l