Shell 19-11-2021, 14:52
Buenas!.

Serie de videotutoriales sobre Gambas en inglés. Su autor NerdSanity añade más cada cierto tiempo.
Son vídeos de 15 minutos. Comienza desde cero. A ver como puedo ir añadiendo todos aquí.













Shell 17-11-2021, 21:01
Buenas!.

¿ Qué es una clase exportada ?.

Veréis, estoy probando la clase object. Y creé este ejemplo:

Clase Persona:

Código:
Private $nombre As String
Property nombre As String

Public Sub _new(nom As String)
 
  $nombre = nom
 
End

Private Function nombre_Read() As String

Return $nombre  

End

Private Sub nombre_Write(Value As String)

$nombre = Value  

End

Public Sub DiNombre()
 
  Print "Me llamo " & Me.nombre
 
End

Y el FMain:

Código:
Private grupopersonas As Persona[] = [Object.New("Persona", ["Alberto"]), Object.New("Persona", ["Lucía"])]
Private grupopersonas2 As New Persona[]

Public Sub Form_Open()

MostrarSaludo(grupopersonas)
Print "--------------"

Metodo2()
MostrarSaludo(grupopersonas2)

End

Public Sub MostrarSaludo(grupotmp As Persona[])
 
  Dim unapersona As Persona
 
  For Each unapersona In grupotmp
    unapersona.DiNombre()
  Next
 
End

Public Sub Metodo2()
 
  Dim unapersona As Persona
 
  unapersona = New Persona("Alberto")
  grupopersonas2.Add(unapersona)  
 
  unapersona = New Persona("Lucía")
  grupopersonas2.Add(unapersona)
    
 
End

La salida fue prácticamente igual.
 
Cita: 
Me llamo Alberto
Me llamo Lucía
--------------
Me llamo Alberto
Me llamo Lucía

La posibilidad que me dio Object fue la de poder declarar el objeto en el propio Array.
( En verdad son practicas similares que encuentro con Python y las intento reproducir en Gambas)

Según dice la ayuda de Gambas:
Cita:This routine works exactly like the NEW operator, except that the class name is specified at runtime and not at compile time.

Supongo que esto lo hace más lento.

Ahora dice también:
 
Cita:As the class is specified by name, only exported classes can be instanciated.

¿ Exportadas ?. ¿ Son las del propio desarrollador ?.

Ok, encontré export en la ayuda de Gambas, pero eso suele ser para controles.
 
Cita:Esto significa que la clase será visible desde un programa principal cuando creemos un componente.

Saludos
Archivos adjuntos
.gz
EjemploClase-0.0.1.tar.gz (Tamaño: 12.25 KB Descargas: 1)
Shell 17-11-2021, 20:30
Buenas!.

Cuando creo un juego en Gambas, suelo usar los eventos KeyPress y KeyRelease del formulario que contiene el DrawingArea.
Pero el propio control DrawingArea tiene los mismos eventos. ¿ Cómo es que no solemos usar mejor los del DrawingArea ?.
Ambos controles tienen los mismos eventos. ¿ Existe un motivo concreto ?.
Cuando con el método SetFocus es suficiente para cambiar de control . Huh

¿ Es aconsejable usar el del Form antes que el del DrawingArea  para esos eventos ?.

Cuando se usa SDL, los eventos de teclado "rondan" en la ventana. Ya, ya sé que no hay un formulario en SDL. Smile

Saludos
Páginas (564):    1 354 355 356 357 358 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: Nicls_key
Temas del foro: 1,742
Mensajes del foro: 9,029
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: Shordi, Hace 5 horas
Respuestas: 3 - Vistas: 69
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 02-11-2025, 13:36
Respuestas: 9 - Vistas: 1,524
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,321
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 101
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.