Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
20-08-2021, 13:48
(Última modificación: 05-06-2022, 20:15 por
tincho.)
Hola amigos.
Aquí les propongo una función que formatea un texto Json de una forma mas legible para humanos.
Gracias al aporte de Laurent Carlier
https://gitlab.com/lordheavy/alpha/-/blo...class#L100
Para usar esto les recomiendo que creen una clase en vuestro proyecto llamada JSON (en mayúsculas) y luego pongan esto dentro y luego llamen al método normalmente desde todas partes con JSON.Encode2
GAMBAS
' Gambas class file
' This program is free software; you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation; either version 2 of the License, or
' (at your option) any later version.
'' Encode in JSON format in a human readable way. Based on a Laurent tool
sInput = JSON.Encode(vData)
$sReadChar
= Read #iStream,
1 $iTab += 1
$sReadChar
&= "\n" & Space$($iTab
* 2) $iTab -= 1
$sReadChar
= "\n" & Space$($iTab
* 2) & $sReadChar
$sReadChar &= " "
$sReadChar
&= "\n" & Space$($iTab
* 2) $sReadChar &= " "
sOutput &= $sReadChar
' replace null with ""
sOutput
= Replace(sOutput,
" null",
" \"\"")
1 Saludo.
Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
Hay un "error" en esta función y no logro encontrar por que la primera colección no es formateada como las siguientes.
A ver si a alguien se le ocurre que puede ser.
Javascript
[{
"Entity": "line", "Index": 0, "Block": false, "Level": 1, "Color": 1, "Style": 1, "Weight": 2, "Points": [[236, 37],
[286, 37]]
},
{
"Entity": "line",
"Index": 1,
"Block": false,
"Level": 1,
"Color": 1,
"Style": 1,
"Weight": 2,
"Points": [[251, 35],
[251, 38]]
},
{
"Entity": "line",
"Index": 2,
"Block": false,
"Level": 1,
"Color": 1,
"Style": 1,
"Weight": 2,
"Points": [[236, 41],
[286, 41]]
}]
1 Saludo.
Mensajes: 238
Temas: 16
Gracias Recibidas: 36 en 34 posts
Gracias Dadas: 43
Registro en: Jul 2020
no tenes un programa ejemplo que exponga el error?
"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
Si, podes descargarte Gauchosketch desde:
https://gitlab.com/belmotek/gauchosketch
Luego tener que seguir los siguientes pasos:
- Abrir el programa y crear un documento
- Dibujar, al menos dos lineas, y luego guardar
![[Imagen: 1RCrUjg.png]](https://i.imgur.com/1RCrUjg.png)
El archivo generado estara en /home/USUARIO/.config/gauchosketch/ con extension .json
Lo que quiero lograr es que la primera entidad este "formateada" igual que el resto.
1 Saludo.
Mensajes: 906
Temas: 92
Gracias Recibidas: 306 en 210 posts
Gracias Dadas: 344
Registro en: Jul 2020
30-04-2022, 19:35
(Última modificación: 30-04-2022, 19:38 por
Shordi.)
Le he echado un ojo, pero ni idea, oiga.
Al principio he pensado que podría ser cosa de usar Variant, cuyo tipo no está definido hasta que se opera con él... pero si es eso no lo he podido arreglar.
El bucle de read stream que usas para el formateo me parece muy engorroso... pero si funciona para las entidades siguientes no veo por qué no puede funcionar para la primera, así que... nada.
Sólo una cosa: en mi aparato el fondo para dibujar es negro y las líneas rojas... con lo que el cursor, negro, no se vé.
Saludos
No podemos regresar
Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
(30-04-2022, 19:35)Shordi escribió: Le he echado un ojo, pero ni idea, oiga. Sólo una cosa: en mi aparato el fondo para dibujar es negro y las líneas rojas... con lo que el cursor, negro, no se vé.
ok, gracias por echar un vistazo.
Respecto al cursor, este debería adaptarse a tu escritorio, voy a cambiar el tema de mi escritorio a claro a ver si logro reproducir ese comportamiento.
1 Saludo.
Mensajes: 238
Temas: 16
Gracias Recibidas: 36 en 34 posts
Gracias Dadas: 43
Registro en: Jul 2020
(30-04-2022, 19:35)Shordi escribió: Sólo una cosa: en mi aparato el fondo para dibujar es negro y las líneas rojas... con lo que el cursor, negro, no se vé.
Idem
Código:
[{
"Entity": "circle",
"Index": 0,
"Block": false,
"Level": 1,
"Color": 1,
"Style": 1,
"Weight": 2,
"Points": [[409, 290], [581, 188]]
},
{
"Entity": "polyline",
"Index": 1,
"Block": false,
"Level": 1,
"Color": 1,
"Style": 1,
"Weight": 2,
"Points": [[282, 115], [732, 67], [974, 233], [892, 493], [793, 261], [694, 588]]
},
{
"Entity": "line",
"Index": 2,
"Block": false,
"Level": 1,
"Color": 2,
"Style": 1,
"Weight": 2,
"Points": [[85, 62], [786, 401]]
}]
este es el codigo que resuelve el problemita (me tomo un buen rato pues estaba tricky)
GAMBAS
sInput = JSON.Encode(vData)
$sReadChar
= Read #iStream,
1 $iTab += 1
$sReadChar
&= "\n" & Space$($iTab
* 2) $iTab -= 1
$sReadChar
= "\n" & Space$($iTab
* 2) & $sReadChar
$sReadChar &= " "
If $BracketLevel
> 1 Then ' solo agrego un salto de linea si no hay abierto nuevos brackets $sReadChar &= " "
$sReadChar
&= "\n" & Space$($iTab
* 2)
sOutput &= $sReadChar
' replace null with ""
sOutput
= Replace(sOutput,
" null",
" \"\"")
"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
Los siguientes 1 usuarios dice gracias a tercoide por este post:1 usuarios dice Gracias! a tercoide por este post
• tincho
Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
01-05-2022, 02:33
(Última modificación: 01-05-2022, 02:55 por
tincho.)
(01-05-2022, 00:17)tercoide escribió: Idem
Actualice el código por el tema del color del cursor, debería verse bien ahora ya que se adapta al color del DrawingArea.
(01-05-2022, 00:17)tercoide escribió: este es el codigo que resuelve el problemita (me tomo un buen rato pues estaba tricky)
Buenisimo, funciona re bien. Gracias che.
Viendo tu código veo que le agregaste una variable. Perfecto, ya con este código puedo guardar los archivos en un formato "minimalista", que sera el formato de los bloques para las librerías de símbolos.
1 Saludo.
Mensajes: 906
Temas: 92
Gracias Recibidas: 306 en 210 posts
Gracias Dadas: 344
Registro en: Jul 2020
Ahora sí se se ve bien el cursor. Blanco sobre Negro.
Saludos
No podemos regresar
Mensajes: 1,219
Temas: 178
Gracias Recibidas: 236 en 188 posts
Gracias Dadas: 184
Registro en: Jul 2020
(01-05-2022, 17:13)Shordi escribió: Ahora sí se se ve bien el cursor. Blanco sobre Negro.
Perfecto, gracias por corroborarlo.
1 Saludo.