Apúntate...


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

Mostrando entradas con la etiqueta formularios. Mostrar todas las entradas
Mostrando entradas con la etiqueta formularios. Mostrar todas las entradas

jueves, 27 de febrero de 2014

Pasar información de un formulario a otro

Pasar información de un formulario a otro


Es esta entrada os enseñaré a como se puede pasar datos de un formulario a otro. Existen varios métodos, pero os voy a explicar el que me parece más simple.


Imaginamos que tenemos dos formularios (Fmain y  FormPregunta)

El formulario FormPregunta, es el encargado de recibir un dato (un texto por ejemplo) por parte del usuario y lo va a enviar al formulario Fmain

En el formulario Fmain, es el encargado de mostrar el FormPregunta, y mostrar el dato recibido de este formulario.

Este es el formulario Fmain:

Este es el código del formulario Fmain:

' Gambas class file

Public Sub _new()
End

Public Sub Form_Open()
End

Public Sub recibirmensaje(texto As String)
TextLabelMostrarDato.text = texto
End

Public Sub ButtonAbrirFormulario_Click()
FormPregunta.Show()
End

Fijaos que tenemos la funcion"recibirmensaje(texto as string)" que accesible desde todos los formularios, modulos y clases porque es una función publica (Public), y que acepta como parametro un texto.
Public Sub recibirmensaje(texto As String)

Este parametro que recibe, lo va a asignar al textlabelMostrarDato.
TextLabelMostrarDato.text = texto

Bien, ahora pasamos al Formulario que tiene un textbox llamado "TextboxMensaje" y un botón llamado "ButtonCerrar".


Este es su código:

Public Sub Form_Open()
End

Public Sub ButtonCerrar_Click()
FMain.recibirmensaje(TextBoxMensaje.text)
Me.Close()
End

Cuando hacemos click en el botón, se ejecuta el código contenido en
Public Sub ButtonCerrar_Click()


Fijaos que es llamado el método "recibirmensaje" del formulario Fmain:
FMain.recibirmensaje(TextBoxMensaje.text)

De esta manera, hemos pasado la información al formulario Fmain.

Código fuente del ejemplo: Codigo fuente en Box.com

sábado, 29 de diciembre de 2012

Formularios y Cajas de Herramientas (1)

Para hacer un programa gráfico, usaremos (ademas de clases y/o módulos) también formularios. En el Ide de gambas, para crear una aplicación gráfica, siguirémos los pasos del ejemplo hola mundo usando un formulario.

Siguiendo los pasos del ejemplo, llegariamos a esta pantalla:
fig 1: detalle del editor de gambas3


En el punto (4) de la figura 1, podemos ver el formulario, que podemos cambiar de tamaño, pulsando en los cuadros blancos que aparecen al borde.

Las dimensiones del formulario también se pueden cambiar mediante código, haz doble click en el formulario (cambiaremos de la pestaña "FMain.form" a "Fmain.class", y aparecera esta pantalla, donde podemos escribir el siguiente código:
"Me" se refiere el objeto actual (que es nuestro formulario Fmain), y las propiedades width y height (ancho y largo), le podemos dar valores para que cuando se ejecute, el formulario cuando se abra tenga las dimensiones expecificadas. Para ejecutarlo se pulsa sobre el botón  indicado.

Ademas de las dos formas explicadas, hay una tercera, que es usando el panel de propiedades (punto 1 de la figura 1), donde podemos buscar la propiedad y cambiar su valor:
Como vemos el Ide de gambas, nos da la ayuda de la propiedad que estemos editando. (punto 2 de la figura 1)

Nota:
La pestaña  "jerarquía" nos sirve cuando añadamos varios objetos en un formulario, se puedan  ordenar para cuando pulsemos la tecla "Tab", "salten" de uno a otro según nuestros criterio.


Pasamos a explicar el cuadro de herramientas: (punto 3 de la figura 1).
Aqui tenemos varias pestañas, con distintos botones:
Controles: Label, listbox, picturebox, progresbar, combobox, texbox, etc...


Controles:  listView, treeView, ColumView, DirView,FileView,GridView,TableView,IconView





Diversos cuadros de dialogos estander: colores, calendario, ficheros, carpetas, tipos de letra



DrawArea (para dibujar) y distintos contenedores para organizar los controles


Controles especiales: timer, printer embedder, TryIcon



El contenido de estas pestañas puede aumentar si tenemos mas componentes añadidos al  proyecto (menu Proyecto/Propiedades/Componentes)


Para añadir un control a nuestro formulario, simplemente tenemos que "cogerlo" y "arrastrarlo"


Para terminar, con esta introducción a los formularios, comentarios que se pueden añadir tantos formularios como necesitemos (incluso podemos reutilizar formularios de otros proyectos), todo ello desde la ventana del Proyecto (tecla F10) donde haciendo click en "Fuente", y Formulario podemos añadir nuevos formularios o existentes

 Para añadir nuevo formulario, elegimos la pestaña "Nuevo" y si es para añadir uno existente la pestaña "Existente"
Pestaña Nueva (crear formulario vacio) y Existente (añadir formulario ya creado)

martes, 25 de septiembre de 2012

Modificar un formulario desde otro formulario

Algunas veces se nos plantea modificar una propiedad de un control  que esta en un formulario desde otro formulario.


¿como hacerlo?
Existen dos formas:
- Declarando los controles de formularios como públicos
  •  Esto se hace en el menú Proyecto / Propiedades / Opciones / Los controles del formulario son públicos = "SI"
-Creando una propiedad en los formularios, y esta en sus funciones _Read y _Write, haga los cambios oportunos en el control.
  -->
Property texto As String ''texto del labeltext1

Private Function texto_Read() As String

Return Label1.Text

End

Private Sub texto_Write(Value As String)

Label1.Text = value

End


 Descarga del ejemplo (gambas3.3):  Enlace


 
Fuente:
http://www.gambas-es.org/viewtopic.php?f=1&t=2619

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









A falta de donativos... un poco de publicidad