Sie sind auf Seite 1von 17

1 - Formularios , propiedades métodos y eventos

En esta sección se ven las características principales de los Formularios.

Como vimos en la página anterior, los formularios son las ventanas que contienen
a otros controles y en ellos podemos incluir controles de comando, como botones,
cajas de texto, controles para bases de datos, y por supuesto el código necesario
de nuestros programas.

También se dijo, los controles e inclusive los Formularios tienen sus propias
características, como las propiedades (un ejemplo el color del fondo o propiedad
Backcolor), sus eventos (el evento load que se ejecuta cuando cargamos el
formulario en memoria), y sus métodos (por ejemplo el método show que es para
mostrar el formulario y el método hideque es para ocultarlo, en el caso de un
formulario.

Acá hay que hacer una cosa muy importante. Cuando se comienza a programar,
suele ser muy casual confundir métodos yeventos y no son lo mismo. Los
métodos son funciones propias de cada objeto, por ejemplo el método hide de
un formulario no lo posee un command button. Con los eventos suele ocurrir lo
mismo. Un formulario posee el evento load y un command button no lo posee (a
no ser que pertenezca un arreglo de controles pero ese es otro tema que se verá en
otra ocación).

Pero otros eventos si los comparten ambos. Siguiendo el ejemplo del formulario y el
botón, los dos tienen un evento llamado click, y todas las instrucciones de código
que escribamos en la rutina de código o procedimiento que estén bajo este evento,
se ejecutarán cuando hagamos un click con el mouse sobre el objeto. El evento
Click lo poseen la mayoría de los controles, pero no tiene porque ser así.

Para seguir con el tema de los métodos y eventos, vamos a hacer un ejemplo
simple de ejercicio. Este ejemplo, consistirá en un formulario que contendrá un
botón y , al presionarlo nos mostrará otro formulario.

1.1 - Ejemplo sobre métodos y eventos

Pasos a seguir para el ejemplo:

1 - Comenzá un nuevo proyecto Exe. Por defecto visual basic te agrega un


formulario llamado Form1. este formulario contendrá el botón que al presionarlo
muestre otro formulario, en este caso un Form2.

2 - Desde la barra de controles agregá un Commandbutton al formulario. Por


defecto el texto que muestra esCommand1 , nosotros lo cambiaremos por :
"Mostrar formulario 2".

Ahora selecciona el botón para que te muestre la lista de propiedades del mismo.
Por si ya te olvidaste, la ventana de propiedades está a la derecha y te muestra las
propiedades del objeto seleccionado actualmente en el entorno de trabajo del vb.
Una ves seleccionado el botón, buscá la propiedad caption y escribí : mostrar
formulario 2
3 - Ahora hay que agregar el otro formulario es decir el Form2 a nuestro proyecto.
Como en la barra de controles no tienes la opción de agregar otros formularios,
tendrás que agregarlo desde la barra de menú >proyecto> Agregar formulario.

Te va a aparecer un cuadro de diálogo y eliges la opción formulario. Como podés


ver se ha agregado otro formulario llamado form2, y la ventana del explorador de
proyectos ahora contiene 2 formularios.

4 - Ahora tenemos que introducir el código en el command1 que insertamos en


el Form1, para que cuando ejecutemos el programa , al presionar el Command1
nos muestre el form2 que agregamos anteriormente. Para esto tenés que volver a
ir alForm1, haciendo un click en la ventana de explorador de proyectos (la
imagen de arriba) y seleccioná el form1.

5 - Para ingresar el código al botón, hacé doble click en el mismo e ingresá la


siguiente instrucción de código: Form2.show.

La rutina de código del botón command1 te quedaría algo parecido a esto:


Nota: Como seguro te diste cuenta, cuando escribís Form2 y presionas el punto
".", visual basic te muestra una lista con todas las propiedades y métodos que
tiene form2, y así ocurre con todos los objetos que tienen propiedades y
métodos. En este caso el método show mostrará el Form2 en pantalla, es decir el
método Show lo que hace es cargar en la memoria un formulario y
automáticamente lo hace visible.

6 - Corre el programa pulsando la tecla F5 para ver como funciona. Para terminarlo
pulsa el ícono con la imagen de un cuadrado azul desde la barra de herramientas.

1.2 - Otro ejemplo sobre formularios

Ahora vamos a hacer un programa de ejemplo parecido al anterior, pero con


algunas variantes.

En la primera parte, el programa que hicimos consistía en un formulario que tenía


un botón (Command1), y al presionarlo mostraba otro formulario . Este lo
llevamos a cabo con el método show que tienen los formularios y sirve para
mostrarlos en pantalla.

El objetivo de este programa es mostrar cuatro métodos que poseen los


formularios, ellos son: Load, Unload, Hide yShow.

El método Load tiene la función de cargar el formulario en la


memoria y unload descargarlo de la memoria. Esto no significa que si el
método load carga el formulario, automáticamente se muestre en la pantalla,
quiere decir que solo permanece cargado en memoria, luego para mostrarlo
tendríamos que utilizar el método show por ejemplo (hay otras opciones para hacer
lo mismo pero no vienen al caso detallarlas para este ejemplo).
El método Hide oculta el formulario pero sigue permaneciendo en la
memoria. Para descargarlo completamente de la memoria ram, tendríamos que
usar el método Unload.

Imagen previa del ejemplo:

Pasos a seguir

1 - Crea un nuevo proyecto exe.

2 - Desde la barra de controles agrega 4 command button.

3 - Ahora selecciona el Command1 y en la propiedad caption borrale el


"command1" y escribe "Cargar formulario en memoria (Load)".
A hora lo mismo pero en el command2 desde la propiedad caption
escribí "Mostrar formulario 2 (Show)".

En el Command3 "Descargar formulario de la memoria (UnLoad)"


E n el Command4 , "Ocultar formulario (Hide)".

4 - Ya terminando, ubicá los botones en el formulario de forma similar, como


muestra la imagen anterior.
Para mover los botones o cualquier otro objeto dentro de un formulario, solo tenés
que seleccionar el objeto que quieras,mantener presionado el botón izquierdo
del mouse y soltarlo en el lugar que quieras. lo mismo pasa con el tamaño de
los controles, cuando los seleccionas podés cambiarle el tamaño.

5 - Ahora vamos a escribir el código para los botones. Por si ya te olvidaste lo que
íbamos a hacer, lo que harán estos botones son:

El Command1 Cargar en la memoria mediante Load el Formulario pero no lo hace


visible.

El Command2 hace las 2 cosas al mismo tiempo, es decir lo carga y lo hace visible.

El Command3 Descarga completamente el Formulario de memoria


El Command4, mediante Hide lo oculta, aunque esté oculto sigue permaneciendo
cargado.

En el Command1 entonces , hacé doble click en dicho botón y tipea: Load Form2 .

Para el Command2 que mostrará el Form2: Form2.show.

El botón Command3: Unload form2

El Command4: Form2.hide .

6 - El último paso que nos queda para poder correr nuestro programa es ingresar
un nuevo formulario, entonces desde el menú proyecto eliges la opción agregar
formulario y agregas uno nuevo al proyecto.

Ahora pulsá F5 y prueba el programa.

Nota : seguro que te preguntarás para que sirve el método Load, si para que
aparezca en pantalla el Form2 tengo que usar la instrucciónshow. Supongamos
que tenemos un programa con varios formularios y que estos tienen muchos
controles y es medio "pesado" (me refiero en bytes), entonces a veces conviene
cargar dichos formularios en la memoria, para que cuando necesitamos llamarlos o
mostrarlos en pantalla, estos se muestren de forma mas rápida. Esta es una de las
posibilidades del uso no es la única.

El código completo sería el siguiente:

'Carga el form2 pero no lo muestra


Private Sub command1_click()
Load Form2
End Sub

'Carga y muestra el Form2


Private Sub command2_click()
Form2.Show
End Sub

'Descarga completamente de la memoria el Form2


Private Sub command3_click()
Unload Form2
End Sub

'lo oculta pero no descarga el Form2 de la memoria


Private Sub command4_click()
Form2.Hide
End Sub

Nota Sobre los comentarios en el código


Para colocar comentarios en nuestros programas, se antepone la comilla simple o la
palabra Rem (esta última prácticamente no se utiliza).

Es fundamental escribir comentarios sobre los bloques de código que componen las
distintas partes del programa, para que cuando echemos una mirada al código
sepamos de que se trata. Estos comentario o líneas descriptivas no se ejecutan y
no influye en nada a la ejecución de los procedimientos, solo es información que
ayuda a entender cada línea o sección de un bloque de código.

2 - Controles Estándar de Visual basic

Para ver una descripción básica de los controles estándar de visual basic, es
decir los que aparecen por defecto en el cuadro de controles en la parte izquierda
del IDE, podés acceder a esta sección apartada del tutorial en el siguiente enlace,
donde se explica el funcionamiento básico de los mismos con algunos ejemplos
prácticos: Tutorial de los controles de Visual Basic

También en la misma página hay ejemplos de los controles no estándar, es decir


controles que debemos incorporarlos nosotros y que visual basic no los incorpora
por defecto al iniicar un proyecto.

2 - Las Variables

Las variables, como su nombre lo indica, se utilizan para almacenar valores que
tienen la propiedad de variar el contenido. Cuando hablamos de contenido nos
referimos a cualquier tipo de datos, por ejemplo un nombre, una fecha, un color,
un número etc... .

A las variables se les asigna un nombre para poder utilizarlas. Por ejemplo puedo
crear una variable llamada fecha y esta almacenará una fecha. A los nombres de
las variables se los denomina identificadores. Cuando creamos variables, tenemos
que tratar de asignarles un nombre que se relacione con el tipo de dato que
queremos almacenar. Por ejemplo no tendría mucho sentido crear una variable
llamada m y allí guardar o almacenar un nombre o un apellido, por que cuando
echemos vista al código resultaría mas difícil deducir que tipo de dato estoy
guardando. Por ejemplo en este último caso sería mucho mas lógico crear una
variable llamada “nombres” y allí guardar "Luciano", "Pedro", "Natalia" etc..

En visual basic a las variables conviene declararlas, o sea, avisarle a vb que


vamos a utilizar dichas variables. A estas se las declara en el comienzo del código y
se les antepone la palabra reservada Dim, luego el nombre que nosotros
queramos y seguido el tipo de dato que almacenará, por ejemplo si quiero
almacenar en una variable llamada Numero

Dim numero As Integer


La palabra Integer le avisa a vsiaual basic que voy a guardar un número entero.
Después de declararla le podemos asignar un valor con el operador "=", ejemplo:

Dim numero As Integer

numero = 1500

Pero hay que tener en cuenta que al declarar una variable, en este caso, de tipo
integer, no podríamos almacenar en ella una cadena de caracteres como por
ejemplo un nombre o cualquier otro tipo de datos que no sea un número
entero. Si sucedería esto nuestro programa daría un error en tiempo de ejecución,
mostrándonos un feo cartel diciéndoos que no coinciden los tipos de datos..

3 - Tipos de datos:

Los tipos de datos, indican el tipo de valor que puede almacenar una variable.
Los principales tipos de datos:

Números enteros: dentro de los números enteros tenemos varios tipos de datos
dependiendo el rango que queramos utilizar:

• Byte: puede almacenar números enteros dentro del rango desde 0 a


255
• Integer: puede almacenar números enteros dentro del rango
-32.768 a 32.767
• Long: puede almacenar números enteros dentro del rango
-2.147.483.648 hasta 2.147.483.648 .

Números decimales: para almacenar números decimales contamos con los


siguientes tipos de datos:

• Single: almacena números decimales en el rango +/- 1e-45 hasta


3e38
• Double: desde +/- 5e-324 hasta 1.8e308

Cadenas de caracteres: las cadenas de caracteres se definen con la


palabra String y tienen un rango de hasta 2 billones de caracteres.

Tipos de valores lógicos: para almacenar tipos de valores lógicos como


verdadero o falso, se utiliza la palabra Boolean y sus 2 posibles valores
son True (verdadero) y False (falso).

Fechas y horas: Para almacenar fechas y horas se utiliza la palabra Date


Tipo variant : Las variables de este tipo pueden almacenar cualquier tipo de valor,
pero ocupan mas memoria.

Nota: hay mas tipos de datos, incluso nosotros podemos crear los nuestros.

4 - Constantes:

Las constentes, como las variables, se utilizan para guardar datos y valores para
nuestro programa, pero a diferencia de estas últimas (las variables), el contenido
que almacenen no cambia, siempre es constante.

A diferencia de las variables que se declaran con la palabra Dim, las Constantes
se declaran con la palabra Const.

Ejemplo:

Const numero = 53

En la línea anterior he creado una constante, que la llamé numero y va a almacenar


un número , y este valor, cuando se ejecute mi programa se mantendrá
invariable.

Un ejemplo:

1 - En la siguiente línea se declaran 2 tipos de variables de tipo Integer llamadas


num1 y num2. Luego se les asigna un valor a cada una y luego las sumamos, y
mediante la función MsgBox que es una función de Visual Basic para mostrar
mensajes, mostramos el resultado de esa suma.

Coloca un botón (CommandButton) llamado Command1. Hacé dobleClick sobre el


botón para que se abra la ventana de código de Visual Basic. Dentro del
procedimiento Click pega este código:

Dim num1 As Integer


Dim num2 As Integer

num1 = 10
num2 = 20

'se mostrará un mensaje con la suma de las variables con el


resultado 30
MsgBox num1 + num2
Al ejecutar el programa, podés ver como se presenta una caja de mensaje con el
resultado al sumar las 2 variables num1 y num2

2 - Ahora vamos a declarar y crear 2 variables de tipo String, es decir vamos a


almacenar cadenas de caracteres en cada una de ellas. En el ejemplo se crean 2
variables, una llamada nombre y otra apellido. Después le asignamos un valor, y
por ultimo mostramos las variables con un mensaje usando la
función MsgBox como en el ejemplo anterior. Pero antes hay que aclarar algo
importante, las cadenas en visual basic se encierran entre comillas dobles como
podés ver en el ejemplo, de lo contrario se va a producir un error.

Dim nombre As String


Dim apellido As String
'le establecemos valores
nombre = "Carlos"
apellido = "Peres"

'mostramos un mensaje con el valor de las variables


MsgBox nombre
MsgBox apellido

3 - Ahora un ejemplo que produce un error en tiempo de ejecución. Creamos 2


variables exactamente igual que en el ejemplo anterior, pero en ves de declarar las
variables nombre y apellido como de tipo String lo hacemos como de tipo
Integer.

Dim Nombre As Integer


Dim Apellido As Integer
'Le establecemos valores numericos
Nombre = "Carlos"
Apellido = "Peres"

Si probás el ejemplo, visual basic te mostrará un mensaje de error como el


siguiente: "no coinciden los tipos de datos":
...ya que las variables están declaradas como de tipo Integer, y le estás asignando
un tipo de dato que no lo acepta.

4 - Un ejemplo que almacena un número en una variable de tipo Byte (números


de 0 a 255). Primero declaramos la variable y le damos un nombre, por ejemplo si
queremos almacenar el número 88 hacemos por ejemplo así.

Dim Edad As Byte

Para asignarle un valor a esa variable:

Edad = 88

Para mostrar el valor de la variable Edad en un control TextBox cuando


presionamos un botón Command1, sería de esta manera:

Private Sub Command1_Click()


'Declaramos la variable
Dim Edad As Byte

'Le asignamos un valor que no sea inferior a 0 ni mayor a 255


Edad = 88

'Lo mostramos en el control llamado Text1


Text1 = Edad
End Sub
Si probaras cambiando el valor 88 por ejemplo a 300, ocurriría lo mismo que en el
ejemplo anterior, es decir un Error 13 en tiempo de ejecución "No coinciden los
tipos de datos"

5 - Estructuras de control:

Las estructuras de control se utilizan para controlar el flujo del programa en una
rutina o función. Mediante ellas podemos controlar, mediante una condición, que se
ejecute una determinada línea o bloque de líneas de código .. o que no se ejecuten.

Estructura If - Then - Else

Esta estructura permite mediante una condición, que se ejecute o no se ejecute


determinada tarea o línea de código.

Por ejemplo supongamos que tenemos en un formulario un control Label con


la propiedad Caption con el valor 50

If Label1.Caption = "50" Then


msgbox "mi label tiene un valor de 50"
else
msgbox "mi label NO tiene un valor de 50"
end if

Esto traducido al español significaría lo siguiente:

Si (If) la propiedad caption del label1 que tengo en el formulario es igual (=) a "50"
entonces (Then) que muestre un determinado mensaje, si no (Else) que muestre
el otro mensaje.

En conclusión lo que hace esta estructura es evaluar una condición, si se cumple,


que se ejecute determinada tarea. si no se cumple, se ejecutará las líneas de
código que estén bajo la cláusula Else. Luego tenemos que cerrar la estructura con
la palabra end if.

Tenemos que aclarar que no es obligatorio usar If y else juntos en la misma


cláusula. Por ejemplo podríamos utilizar solo una estructura If sin else. Por
ejemplo:

Private Sub Command1_Click()


'Si la propiedad caption del Label1 es "Hola" entonces se termina
el programa
If Label1.Caption = "Hola" Then
End

End If

'Si no, se prosigue con esta línea

MsgBox "No se ejecutó el bloque If Anterior porque el Caption del


control Label1 no era Hola"

End Sub

Coloca un Label1 y un Command1. En la propiedad caption del Label1 escribe


"Hola". Al ejecutar el programa y presionar el Command1, se termina el programa
con la sentencia End de Visual Basic (End sirve para finalizar completamente la
ejecución de nuestro programa). En cambio si ahora le cambia el caption al Label1
y volvés a ejecutar el proyecto, podés ver que la instrucción End no se ejecuta, si
no que la pasa por alto y sigue con las restantes líneas, en este caso ejecuta la
función MsgBox con el mensaje.

Estructura While - Wend

Esta estructura de control repetirá sin detenerse un determinado código mientras


se cumpla una condición.

Por ejemplo supongamos que tenemos una variable llamada x que tiene un valor
de 100.

while x = 100
...se ejecutan todas las líneas de código que estén aquí
wend

Esto traducido al español significaría lo siguiente:

Mientras (While) la variable x sea igual a 100, y no cambie su valor, se formará un


bucle interminable, hasta que x cambie a cualquier otro valor disto de 100. Si x
cambia el valor, por ejemplo a 234 saldría del bucle While - wend y seguiría
ejecutando el resto del código, si es que hay mas código o instrucciones a ejecutar.

Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando


ejecutemos el ejemplo, se deberá escribir un número dentro del control textBox.
Entonces se creará un bucle While, que mostrará en el Caption del formulario, es
decir en la barra de título, el intervalo desde 0 hasta el número que hayamos
ingresado en el Text1. Es decir si ingresamos el número 9000, en el caption del
formulario se imprimirán los número desde 0 hasta 9000.
Para hacer esto, dentro del bucle While pondremos una variable llamada
Contador, que en cada pasada se incrementará en 1, pero cuando la variable
Contador sea igual al número que haya en el Text1, se finalizará el bucle y se
mostrará un mensaje que finalizó el mismo

Private Sub Command1_Click()


Dim contador As Integer 'Declaramos la variable

While contador <> Text1

'Mostramos en el formulario el valor de la variable contador


Me.Caption = contador

'Incrementamos la variable en 1
contador = contador + 1

Wend

MsgBox "Terminó el bucle"

End Sub

Estructura For - next

La estructura es utilizada para generar una repetición de instrucciones o bucle, pero


no evalúa una condición como en el caso del bucle While, si no que lo hace entre un
número inicial y un número final que le debemos indicar al mismo.

Por ejemplo, tenemos un formulario con un Label1 y declaramos una variable de


tipo integer llamada "contador" como en el caso anterior

Private Sub Command1_Click()


Dim contador As Integer

For contador = 0 To 1000

Label1.Caption = contador

Next contador

End Sub

Esto traducido significaría lo siguiente:

Primero, tenemos una variable llamada "contador". Mediante el bucle For -


next podemos controlar la cantidad de veces que queremos repetir un determinado
proceso o instrucción. Esta posee un principio y un fin, en este caso el principio
sería 0 y el fin 1000, de manera que la variable contador se incrementará en 1
hasta que llegue a 1000, y repetirá 1000 veces todas las instrucciones que estén
bajo la cláusula For-next. En este caso nuestro control Label1 mostraría el
contenido de la variable contador

Para ver en forma detallada y paso a paso esto, pongamos un ejemplo que lo que
hace es repetir 10 veces (desde el 1 hasta el 10 en el intervalo del bucle For) y
mostrará un mensaje con el valor de la variable Contador. Una ves que llegue a 10,
terminará.

Colocá un Command1. Doble Click en el botón para escribir dentro del


procedimiento que se ejecutará cuando lo presionemos. El código:

Dim contador As Integer

For contador = 1 To 10

MsgBox "La variable Contador vale: " & contador

Next contador

MsgBox "Fin del bucle For"

Estructura Select case

La estructura Select Case se suele utilizar para evitar el uso de muchas cláusulas
If y de esta manera no tener que anidarlas. La claúsula Select evalúa una
condición y las cláusulas case contienen valores, si el valor que contiene la
cláusula case es igual a la condición que se evaluó, ejecutará las instrucciones en
dicha cláusula.

Dim Nombre As String

Nombre = Text1

Select Case Nombre

Case "Jorge"

MsgBox "Se ejecutó la cláusula case: " & Nombre


Case "Pedro"

MsgBox "Se ejecutó la cláusula case: " & Nombre

Case "Carolina"

MsgBox "Se ejecutó la cláusula case: " & Nombre

End Select
Esta estructura es muy práctica. En el ejemplo anterior, la cláusula Select
case contiene como condición el valor de la variable llamada Nombre. Esa Variable
toma el valor que tenga un control Text1, entonces buscará en todas las
cláusulascase, y si encuentra una igual a la condición, ejecutará solo las
instrucciones de la cláusula case que tenga el mismo valor, por ejemplo si ingresara
el nombre "Martín" no se ejecutará ninguna cláusula Case. En cambio si ingreso
"Jorge" se ejecutará solo las instrucciones que estén en la sección Case "Jorge" y
asi...

En el caso anterior solo hemos colocado un valor para cada Case. Si quisieramos
colocar mas valores podríamos hacerlo de esta forma:

Private Sub Form_Load()

Dim x As Integer

x = 10 'Le ponemos un valor a x

Select Case x

Case 5, 10
MsgBox "Se ejecutó el case que tiene el 5 y el 10"
'Se ejecuta esta sección

Case 15, 20
'Esto no se ejecuta
Case 25, 30
'Esto tampoco
End Select

End Sub

es decir que podemos listar los valores en los Case separados por comas. En el
caso anterior se ejecutará el case 5, 10 ya que la variable x vale 10

6 - Operadores de Visual basic

Los operadores nos permiten operar, validar, comparar, asignar, distinguir, etc..,
los datos e instrucciones de código de nuestros programas. A continuación los
operadores mas importantes.

Operadores aritméticos

Estos operadores nos permiten trabajar con cálculos matemáticos como la suma
(+), resta (-), división (/) y multiplicación (*).

Ejemplos:
a = 5
b = 15
c = a + b ' en este caso la variable c contendría el valor 20
ganancia = 500
perdida = 200
total = ganancia - perdida 'la variable total pasaría a valer 300
x = 100
y = 20

z = x / y ' La Variable z vale 5

x = 100
y = 20

z = x * y ' La Variable z vale 2000

Operadores lógicos

Se utilizan en expresiones para devolver resultados del tipo True o False, es decir
Verdadero o falso. Los mas comunes son el operador And y el operador Or

Ejemplos:

If (x = 10) And (nombre = "maría") Then

'solo se ejecutará el código dentro de este bloque IF si la


variable
'x vale 10 y la variable nombre es igual a maría

End If
If (m = 10) Or (nombre = "pedro") Then

'el código se ejecutará si por lo menos una variable es correcta


'es decir si por lo menos se cumple una condición

End If

Operadores de comparación

Los operadores de comparación se utilizan para comparar expresiones de cualquier


tipo. Los mas importantes son: El operador de igualdad (=), menor
que (<), mayor que (>), distinto a(<>)
Ejemplos:

If label1.Caption = "06/08/1978" Then

'si el control label1 en su caption contiene esa fecha


'se ejecutará el código que este aquí

End If
if x > 6 then
'si la variable x es mayor que 6 se ejecutará el código que este
aquí
end if
If país <> "Estados unidos" Then
'si la variable país es distinta a "Estados unidos" se ejecutará el
código
End If
While c <= 87

'mientras la variable c sea menor o igual a 87 se ejecutará


'el bucle While

Wend

Por último quedaría por ver el operador de concatenación (&) que se utiliza para
unir cadenas de caracteres.

Por ejemplo:

nombre = "Jose"
apellido = "Peralta"

nombrecompleto = nombre & apellido

'La variable nombrecompleto pasaría a contener la unión de las


otras dos variables
'es decir Jose Peralta

Das könnte Ihnen auch gefallen