https://foro.gambas-es.org/viewtopic.php?f=24&t=8002&p=48239#p48239
-----------------------------------
jsbsan
Viernes, 01 May 2020, 17:19

Re: Material De Estudio Que Puede Interesar.
-----------------------------------
Tincho:

Os comento, yo lo programaría el tema de  como Importar/Exportar información de las clases a ficheros dwg, svg, o cualquier otro formato (el formato que usa TercoIde en su programa de estructuras).

Para cada clase de dibujo (linea, punto, rectángulo, etc...) tendria dos métodos nuevos:
.devuelve() as string
.cargar(datos as string)


[b]Para Exportar:[/b]
Cada clase tiene que tener un método ".devuelve()" que devuelva una string, en formato json que contiene el nombre de las propiedades y sus valores (por ejemplo "color","rojo", o "capa","planta1") y luego los elementos graficos por los que esta compuesto (una linea seria "linea",ValorXinicio,ValorYinicio,ValorXfin,ValorYfin)

Se crea otra clase que  recorra todos los elementos gráficos del dibujo y que use el método ".devuelve()" de cada elemento  para ir construyendo el fichero de salida.

Esto tiene la ventaja de que se puede ir ampliando con  varias clases para convertir los elementos a varios tipos de formato:
clase ExportaDxf()
clase ExportarSvg()
.....
Sin tener que tocar para nada el código de las clases linea, punto, rectangulo, etc...

[b]Para Importar:[/b]
Iríamos en el siguiente orden:
Una clase que lee el contenido del fichero de datos, y va creando los nuevos objetos del dibujos
Estos objetos tienen cada uno  método ".cargar(datos as string)" donde se les pasa una cadena tipo json donde  les pasamos todos los valores y ese método es el encargado de "cargarse a si mismo", con las valores.

De esta forma tendríamos varias clases:
clase ImportarDXF()
clase ImportarSVG()
.....

No se, lo mismo esto diciendo una cosa de "perogrullo", pero me esta rondando toda la mañana esta idea.

Saludos

Julio


Nota:
Hay otra forma de crear nuevas clases usando el método _new(), usando el numero de parametros, pero creo que es menos clara. La podeis ver aqui:

https://cursogambas.blogspot.com/2012/09/mas-sobre-constructores-y-hacer-una.html


