Autor |
Mensaje |
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Las Clases De GambasCAD
Hilo para ir exponiendo problemas y necesidades.
Las clases de gambasCADE son tanto las entidades del dibujo como las herramientas de modificación. Como pueden tanto invocarse desde el botón dedicado como por comando (próximamente) , ademas de agruparse convenientemente en familias, me parece que nos quedamos cortos con "gender"
pero viendo la expansion que va teniendo me parece que con "gender" nos quedamos cortos
Public Const BELONGS As String = "gambasCADE" ' permitiria buscarla entre todas las clases de gambas y argegarla a la lista de comandos automaticamente
Public Const NAME As String = "doslineas"
Public nickname As String = ("doslineas") ' unico traducible, el nombre del comando a escribir para usar esta clase
Public Const SURNAME As String = "lineas" ' esta entidad debera ser agrupada junto a otras en un solo boton
Public Const UseWith As String = "clsElementBuilder" ' esta clase no puede ser asignada a clsJob, debe utilizarse a traves de la clase clsElementBuilder
=================== "Los IF son mas rápidos" - autor anónimo
última edición por tercoIDE el Martes, 05 May 2020, 02:43; editado 1 vez
|
#1 Miercoles, 29 Abril 2020, 13:28 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Las Clases De GambasCADE
Este codigo lee todas las clases que tiene cargadas gambas, y podria servir para ordenarlas por familia basandose en la carpeta donde estan. Pero falla en algo:
si nos las invocamos primero, no estan en el listado. Alguien saba como podriamos obligar a gambas a leer todas nuestras clases antes que las hayamos usado?
(el codigo sirve para cualquier programa)
=================== "Los IF son mas rápidos" - autor anónimo
|
#2 Miercoles, 29 Abril 2020, 19:28 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Las Clases De GambasCADE
tercoIDE escribió: Este codigo lee todas las clases que tiene cargadas gambas, y podria servir para ordenarlas por familia basandose en la carpeta donde estan. Pero falla en algo:
si nos las invocamos primero, no estan en el listado. Alguien saba como podriamos obligar a gambas a leer todas nuestras clases antes que las hayamos usado?
En principio podría hacerse listando los archivos .class y luego leyendo en su interior para buscar algo en particular.
Una vez que se tiene la lista y el contrnido buscado se plasma en un archivo de texto interno en el directorio raíz del programa por ejemplo.
Luego se lee este archivo al estilo gb.settings y listo.
Esta claro que esto se hace antes de "compilar" el .gambas luego cuando se usa el programa compilado ya no tiene sentido volver a correr dicho código.
Saludos.
|
#3 Miercoles, 29 Abril 2020, 19:51 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Las Clases De GambasCADE
tincho escribió:
En principio podría hacerse listando los archivos .class y luego leyendo en su interior para buscar algo en particular.
Una vez que se tiene la lista y el contrnido buscado se plasma en un archivo de texto interno en el directorio raíz del programa por ejemplo.
Luego se lee este archivo al estilo gb.settings y listo.
Esta claro que esto se hace antes de "compilar" el .gambas luego cuando se usa el programa compilado ya no tiene sentido volver a correr dicho código.
Saludos.
Claro, pero si distribuimos el ejecutable esto no va a ser posible.
Me parece que deberian estar en settings:
[Entities]
1=clsLine
2=clsLosa
[Tools]
1=clsFileLoadSave
2=clsMove
Luego leemos los settings, cargamos las clases y leemos nombre y familia para ubicarlas correctamente en las barras de herrmientas.
=================== "Los IF son mas rápidos" - autor anónimo
|
#4 Miercoles, 29 Abril 2020, 20:40 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Las Clases De GambasCADE
tercoIDE escribió: ..Claro, pero si distribuimos el ejecutable esto no va a ser posible...
No, cuando distribuis el ejecutable ete ya incluira la información, y como justamente es un ejecutable nunca agregaras o quitaras clases.
Olvidate de settings, no es viable porque no va dentro del ejecutable sino que es un archivo externo.
Saludos.
|
#5 Miercoles, 29 Abril 2020, 22:52 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Las Clases De GambasCADE
de todas formas, me parece que las clases deberian llevar el nombre con que se las invoca desde la linea de comnados
asi de simple
ya sabemos que Line.Class es una clase, no hace falta ponerle clsLine.Class
y mas si esta en el directorio Entities.....
"keep it simple and stupid"
=================== "Los IF son mas rápidos" - autor anónimo
|
#6 Miercoles, 29 Abril 2020, 23:44 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Las Clases De GambasCADE
tercoIDE escribió: de todas formas, me parece que las clases deberian llevar el nombre con que se las invoca desde la linea de comnados
asi de simple
ya sabemos que Line.Class es una clase, no hace falta ponerle clsLine.Class
y mas si esta en el directorio Entities.....
"keep it simple and stupid"
ok, si estoy de acuerdo como te decía antes, pero hay que tener en cuenta que cuando nombras una clase en gambas que interfiere con una del ide como copy por ejemplo creo que ahí hay problemas.
Le damos para adelante. voy a hacer una lista de clases y lo que hacen cada una y pongo acá la lista con el nombre actual y el que tendría que ir ¿Te parece?
Saludos.
|
#7 Jueves, 30 Abril 2020, 00:13 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Las Clases De GambasCADE
tincho escribió: tercoIDE escribió: de todas formas, me parece que las clases deberian llevar el nombre con que se las invoca desde la linea de comnados
asi de simple
ya sabemos que Line.Class es una clase, no hace falta ponerle clsLine.Class
y mas si esta en el directorio Entities.....
"keep it simple and stupid"
ok, si estoy de acuerdo como te decía antes, pero hay que tener en cuenta que cuando nombras una clase en gambas que interfiere con una del ide como copy por ejemplo creo que ahí hay problemas.
Le damos para adelante. voy a hacer una lista de clases y lo que hacen cada una y pongo acá la lista con el nombre actual y el que tendría que ir ¿Te parece?
Saludos.
es verdad, sigamos con el cls
=================== "Los IF son mas rápidos" - autor anónimo
|
#8 Jueves, 30 Abril 2020, 02:12 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Las Clases De GambasCADE
tercoIDE escribió:
es verdad, sigamos con el cls
o mejor "cad" que es mas elocuente
cadLine.Class es menos redundante que clsLine.Class , y nos evita los conflictos con las clases nativas...
ademas, y como sugirio Julio, deberiamos hacer heredar todo lo comun, pero eso tiene dos inconvenientes: nos agrega un Me. a todo y nos acomoda las clases en el IDE abajo de la clase padre, eso para 10 clases esta OK pero para 200 no esta tan bien
como alternativa a este problema se me ocurrio pedirle a Benoit que ponga una Opcion en la configuracion de IDE de que no haga esto
=================== "Los IF son mas rápidos" - autor anónimo
|
#9 Jueves, 30 Abril 2020, 10:19 |
|
|
|