Apúntate...


Consultas, desarrollo de programas y petición de presupuestos:

viernes, 24 de agosto de 2012

El operador punto ".": acceso a funciones, subrutinas, propiedades, métodos, controles publicos


El operador punto ".", es utilizado para acceder a métodos y propiedades de los objetos (módulos, formularios, clases, controles, arreglos, estructuras, etc) de programación.

Sintaxis:
[nombre de clase|formulario|módulo|array|control].[nombre de subrutina|funcion|variable|metodo|propiedad]

Veremos más adelante que son estructuras, clases, etc...el objetivo de este post, es que sepas que existe y que como se utiliza en el Ide de Gambas.

Ejemplo con uso de estructuras: acceso a sus miembros.
Para acceder a los miembros (partes que componen un tipo de dato de estructura), se escribe el nombre de la instancia de la estructura, seguida de un punto y luego el nombre del miembro:
Primero la tendremos que tener definida el tipo de estructura:

Public Struct alumno
nombre As String
edad As Integer
End Struct

Y luego donde la vallamos a usar, hay que crear la variable:

Dim alum As New Alumno
Y para acceder a los miembros, usamos el operador punto:

'accedemos al miembro "nombre" de la estructura alum.
print alum.nombre
'accedemos al miembro "edad" de la estructura alum.
print alum.edad


Ejemplo de uso del operador en módulos:
Por ejemplo, si creamos un nuevo módulo a un proyecto de Gambas, y le añadimos distintas variables, funciones y subrutinas publicas, para usar estas en otros formularios o módulos, la forma de hacerlo es escribir el nombre del módulo añadir un punto y a continuación escribir el nombre de la variable, función o subrutina. Veamos las siguientes capturas de pantalla:
 
Creamos un nuevo módulo, llamado ModuleComun, y le añado el siguiente código:


Si nos vamos el módulo Mmain, y escribimos la palabra ModuleComun, veremos que aparece la siguiente ayuda:

En el menu, aparecerán las variables, funciones y subrutinas que sean públicas. Y eligiendo la que deseemos, por ejemplo la subrutina "presentacion":

ModuleComunes.presentacion

Así podremos acceder desde el módulo Mmain al contenido del módulo ModuleComun, a la subrutina "presentacion".


Vamos a ver otro ejemplo, usando clases.

Vamos a crear una clase, llamada Coordenada, que contenga 2 propiedades X e Y


Ahora creamos una nueva clase, llamada Linea, que use la clase Coordenada


Si instanciamos una clase linea, con "lineatemporal", en el módulo Mmain, y queremos acceder  a la coordenadaIncial de una linea desde el módulo Mmain, fijaos como se hace:


Dim lineatemporal As New Linea 'instanciamos la clase linea, creando el objeto “lineatemporal”
print lineatemporal.CoordenadaInicial

¿y si quisieramos acceder a la coordenada X, del objeto "lineatemporal"?
print lineatemporal.CoordenadaInicial.x

Podeis ver como se  puede "concatenar" con el operador punto, con las distintas partes "publicas" de los objetos.


Ahora vamos a hacer un ejemplo con Formularios y Controles.
Para ello, tenemos que hacer que los controles sean publicos, eso se consigue en el menu Proyecto/Propieades/Opciones, diciendo "Si" a la opción 
 Una vez hecho esto, creamos otro formulario, y lo llamamos "FormSegundo", a este le añadimos un control tipo textbox, llamandolo textbox1.

En el formulario de inicio (Fmain), añadimos un botón con la siguiente código:

Public Sub Button1_Click()
'modificamos el valor de inicio del control
FormSegundo.TextBox1.text = "Valor incial es Curso de Gambas3"
'accedemos al metodo "show" del formulario
FormSegundo.Show
End

El código, hace un cambio en la propiedad text, del Textbox1, iniciandolo con un valor ("Valor inicial es Curso de Gambas3"),  y luego  mostramos el formulario FormSegundo usando la el método "Show".

El resultado de cuando pulsemos en el boton del formulario Fmain, es que saldrá el formulario FormSegundo, con su textbox rellenado:



Descarga del ejemplo: OperadorPunto
Descarga del ejemplo: OperadorPuntoConFormularios









No hay comentarios:

Publicar un comentario

A falta de donativos... un poco de publicidad