Una imagen vale mas que mil palabras. Favor usen el codigo del segundo post para el copy/paste.
Leer el post "Radiografia de una entidad de GambasCADE" para entender mas facil.
Link
Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
Objetivo: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
última edición por tercoIDE el Martes, 28 Abril 2020, 22:17; editado 2 veces
última edición por tercoIDE el Martes, 28 Abril 2020, 22:17; editado 2 veces
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
última edición por tercoIDE el Martes, 05 May 2020, 01:55; editado 2 veces
' gambas class file
Public gender As String = ("NUEVA")
Public Const HelperTrabajo As String = ("QUE ESTOY HACIENDO")
Public Const ParamType As String = "PP" ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;End point") ' a little text that is shown at the prompt waiting for user input during build
' |
' |
' SAVE from this |
' ' Stored there |
Public P As New Float[] 'X,Z pairs ' <------------------------------+
Public Level As New Float[] '
Public StringData As String '
Public fParam As New Float[] '
' For future use in CAD implementation
Public Layer As Integer ' Capa o Layer
Public Block As Integer ' Para tener la posibilidade de juntar cosas en un block
Public _Color As Integer ' Para darle un color distinto al del layer
Public LineType As Integer
Public LineWidth As Integer
' SAVE to here
Public Sub Draw()
If Not Me.DrawAble Then Return
If FMain.DrawOriginales Then DrawOriginal
' AQUI VAN LAS RUTINAS DE DIBUJO
Paint.Reset
End
Public gender As String = ("NUEVA")
Public Const HelperTrabajo As String = ("QUE ESTOY HACIENDO")
Public Const ParamType As String = "PP" ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;End point") ' a little text that is shown at the prompt waiting for user input during build
' |
' |
' SAVE from this |
' ' Stored there |
Public P As New Float[] 'X,Z pairs ' <------------------------------+
Public Level As New Float[] '
Public StringData As String '
Public fParam As New Float[] '
' For future use in CAD implementation
Public Layer As Integer ' Capa o Layer
Public Block As Integer ' Para tener la posibilidade de juntar cosas en un block
Public _Color As Integer ' Para darle un color distinto al del layer
Public LineType As Integer
Public LineWidth As Integer
' SAVE to here
Public Sub Draw()
If Not Me.DrawAble Then Return
If FMain.DrawOriginales Then DrawOriginal
' AQUI VAN LAS RUTINAS DE DIBUJO
Paint.Reset
End
última edición por tercoIDE el Martes, 05 May 2020, 01:55; editado 2 veces
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
TercoIde:
Creo que si usas la herencia , siendo la clase padre EntityBase, y en la clase hijo (clsDosLineas en este caso) modificas lo que necesites, te queda más limpio y reutilizable el código.
Ademas al usar la herencia, cualquier mejora en la clase EntityBase, se vería reflejada automáticamente en las clases hijas.
Saludos
Julio
Creo que si usas la herencia , siendo la clase padre EntityBase, y en la clase hijo (clsDosLineas en este caso) modificas lo que necesites, te queda más limpio y reutilizable el código.
INHERITS EntiBase
.......
.......
'los cambios de nombre y de nuevos (o modificacion de métodos)
' el resto de funciones que tiene la clase EntiBase, no hace falta redefinirlos y volverlos a escribir
.......
.......
'los cambios de nombre y de nuevos (o modificacion de métodos)
' el resto de funciones que tiene la clase EntiBase, no hace falta redefinirlos y volverlos a escribir
Ademas al usar la herencia, cualquier mejora en la clase EntityBase, se vería reflejada automáticamente en las clases hijas.
Saludos
Julio
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
hola Julio, si , considere eso, pero es muy poco el codigo reutilizable en la clase que hereda la IDE nos desordena los dirs
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
lo escribi en otro hilo, pero tienes razon...
solo hay una cosa que me molestara cuado tengamos 100 clases y es que esten todas colgadas del padre en la IDE
jsbsan escribió:
lo escribi en otro hilo, pero tienes razon...
solo hay una cosa que me molestara cuado tengamos 100 clases y es que esten todas colgadas del padre en la IDE
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
Heredando la clase padre, el codigo minimo de cada entidad quedo sumamente reducido.
' gambas class file
' Un circulo
Inherits EntityBase
Public Const GENDER As String = ("Circle")
Public Const PointsTotal As Integer = 2 ' two corners on diagonal
Public Const PointsToDraw As Integer = 1 ' minimal point requered for drawing something usefull
Public Const HelperTrabajo As String = ("Draw a circle")
Public Const ParamType As String = "PP" ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;Radious") ' a little text that is shown at the prompt waiting for user input during build
' VUOTT necesitamos poder eliminar esto!!!
Public Sub Clon() As CadCircle
Return New CadCircle
End
Public Sub Draw()
If Not Me.DrawAble Then Return
Dim l As Float
Paint.NewPath
Paint.LineWidth = Me.LineWidth
' radio
l = puntos.distancia(Me.p[0], Me.p[1], Me.p[2], Me.p[3])
l = puntos.Pixels(l)
Paint.Arc(puntos.Xpix(Me.p[0]), puntos.Ypix(Me.p[1]), l)
Paint.Brush = Paint.Color(Me._Color)
Paint.Stroke
End
' Un circulo
Inherits EntityBase
Public Const GENDER As String = ("Circle")
Public Const PointsTotal As Integer = 2 ' two corners on diagonal
Public Const PointsToDraw As Integer = 1 ' minimal point requered for drawing something usefull
Public Const HelperTrabajo As String = ("Draw a circle")
Public Const ParamType As String = "PP" ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;Radious") ' a little text that is shown at the prompt waiting for user input during build
' VUOTT necesitamos poder eliminar esto!!!
Public Sub Clon() As CadCircle
Return New CadCircle
End
Public Sub Draw()
If Not Me.DrawAble Then Return
Dim l As Float
Paint.NewPath
Paint.LineWidth = Me.LineWidth
' radio
l = puntos.distancia(Me.p[0], Me.p[1], Me.p[2], Me.p[3])
l = puntos.Pixels(l)
Paint.Arc(puntos.Xpix(Me.p[0]), puntos.Ypix(Me.p[1]), l)
Paint.Brush = Paint.Color(Me._Color)
Paint.Stroke
End
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
TercoIde:
Me he dado cuenta que hay en el panel del proyecto un "filtrado" y puede ser muy útil para buscar las clases y ficheros del proyecto
Saludos
Me he dado cuenta que hay en el panel del proyecto un "filtrado" y puede ser muy útil para buscar las clases y ficheros del proyecto
Saludos
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
No lo conocia...
Esto es lo que digo, el IDE saca de sus dir las clases y las cuelga del padre
Gracias por sumarte como Inspector de codigo!
Esto es lo que digo, el IDE saca de sus dir las clases y las cuelga del padre
Gracias por sumarte como Inspector de codigo!
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
Hola Julio, yo lo uso bastante el filtro es muy útil.
Terco: Por que te parece mal que gambas "cuelgue" las clases heredadas de su padre, no termino de ver donde esta el problema.
Saludos.
jsbsan escribió:
Hola Julio, yo lo uso bastante el filtro es muy útil.
Terco: Por que te parece mal que gambas "cuelgue" las clases heredadas de su padre, no termino de ver donde esta el problema.
Saludos.
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
para que les hemos hecho directorios entonces? y cuando sea 100?
tincho escribió:
para que les hemos hecho directorios entonces? y cuando sea 100?
Página 1 de 2
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.376s (PHP: -76% SQL: 176%)
Consultas SQL: 46 - Debug off - GZIP Activado