Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito


Ir a la página 1, 2  Siguiente

Objetivo: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
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

última edición por tercoIDE el Martes, 28 Abril 2020, 22:17; editado 2 veces
Perfil MP  
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
' 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

última edición por tercoIDE el Martes, 05 May 2020, 01:55; editado 2 veces
Perfil MP  
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.


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


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

Perfil MP  
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
jsbsan escribió:  
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.


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


Ademas al usar la herencia, cualquier mejora en la clase EntityBase, se vería reflejada automáticamente en las clases hijas.

Saludos

Julio


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

Perfil MP  
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

Perfil MP  
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

filtro_de_clases

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

captura_de_pantalla_de_2020_04_30_15_16_04


Gracias por sumarte como Inspector de codigo!

Perfil MP  
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
jsbsan escribió:  
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

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.

Perfil MP  
Objetivo: Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
tincho escribió:  
jsbsan escribió:  
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

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.


para que les hemos hecho directorios entonces? y cuando sea 100?

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No 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.1512s (PHP: -24% SQL: 124%)
Consultas SQL: 24 - Debug off - GZIP Activado