Programación
orientado a objetos
Si creíste que
para programar bajo Linux, tendrías que conocer lenguajes como C o
Java, o parecía imposible crear un programa orientado a objetos o
demasiado complicado, Gambas es la solución. Es un IDE similar a Visual
Basic, si alguna vez programaste con este ultimo, el entorno te será
familiar, sin embargo cabe decir que NO es un clon. Gambas utiliza
el lenguaje BASIC y se ha inspirado en Java, es decir, utiliza una
máquina virtual para la ejecución e interpretación de los programas
creados con él.
Con
Gambas, se pueden desarrollar tanto scripts en Basic, como programas
orientados a objetos sencillamente, te permite crear interfaces con QT o
GTK+, utilizar bases de datos como mySQL, aplicaciones web y 3D con
OpenGL.
Otra característica de
Gambas, es que funciona independientemente del entorno gráfico que se
utilice, por lo que podrán diseñarse aplicaciones y
estas serán compatibles en distintos escritorios sin ningún problema.
Gambas
funciona en sistemas como Ubuntu (y derivados), Debian, OpenSuse, entre
otros. Para mas información acerca de compatibilidad de sistemas entrar
a: http://gambasdoc.org/help/doc/distro?es&view
El entorno de programación
Componentes del IDE
Diseñador de Formularios
El diseñador de formularios te ayuda a crear la interfase con el
usuario mediante arrastrar y soltar los componentes gráficos. Gracias al
diseñador puedes rápidamente ensamblar el formulario principal y todas
las posibles formas adicionales listas, incluso antes de empezar a
escribir cualquier código para determinar la funcionalidad de tu
aplicación. Encontraras este enfoque muy útil porque te permite
visualizar como el usuario necesita interactuar con tu programa y te
ayuda a identificar áreas de oportunidad a las especificaciones
originales de diseño.
Editor de Código
Como programador, el editor de código se convertirá en tu mejor amigo. Aquí escribirás el código que determinara el comportamiento de tus aplicaciones. Hay dos características muy útiles que terminarás por amar:
- Auto-completar código. Conforme escribes el Editor de Gambas Auto-completa el código mientras escribes. Esta función trata de adivinar lo que deseas escribir mientras te proporciona un abanico de posibles opciones. Auto-completar implica que el editor de código predice la palabra que quieres teclear sin la necesidad de teclearla completamente.
- Resaltado de sintaxis. El editor automáticamente colorea el código mientras estas tecleando para hacer más fácil distinguir las palabras clave de Gambas de los comentario, variables u otros elementos del lenguaje.
Estas dos características aceleran la codificación y minimizan errores.
- Buscar y remplazar. El editor te da la opción de buscar y remplazar cualquier contenido dentro del codigo, esto suele ser util cuando quieres cambiar el nombre de algo, o tan solo el nombre de los botones para ponerlos por un orden, si ya tenias el codigo echo y era largo, esta opcion te sera muy util.
Esta característica te permitira reducir considerablemente el tiempo
que te lleva modificar algo importante dentro del codigo y permite
sustituir todo, de forma que no te saltas nada, cosa que puede pasar si
lo haces sin esta opción.
Visor del Proyecto
El visor o ventana del proyecto muestra todos los archivos
relacionados al proyecto actual. Contiene directorios donde los archivos
del proyecto son almacenados: Módulos, Clases, Formularios & Datos.
Esta característica es muy útil cuando trabajas con proyectos muy
grandes que generalmente contienen muchos archivos.
Caja de Herramientas
Gracias a su muy completo juego de herramientas de interfase gráfica
con el usuario (GUI por sus siglas en ingles), Gambas permite incorporar
casi todos los elementos conocidos de un entorno gráfico: ventanas,
botones, cajas de dialogo, cajas de texto, botones y cajas de selección,
barras de desplazamiento, imágenes, menús, etc. Prácticamente, todos
los elementos GUI disponibles en Linux pueden ser fácilmente programados
en Gambas. Algunas veces, como te darás cuenta, solo necesitas algunos
clicks sobre el ratón y escribir algo de código para utilizar las mismas
características que puedes ver en varios programas de Linux.
Visor de Propiedades
Cada componente GUI tiene sus propias propiedades como el texto, el
tamaño, el color o la posición que mostrara en la pantalla, u otras
características que determinan alguna funcionalidad del objeto. La
ventana de propiedades permite ver y modifiques las propiedades de los
objetos.
Depurador Integrado
El depurador integrado te permite hacer un seguimiento, en 'tiempo de
ejecución', de como el programa esta trabajando internamente mediante
monitoreo de los valores de variables locales y objetos actuales,
vigilar el resultado de expresiones y mantener el registro del 'stack
backtrace'. El depurador también te permite ejecutar la aplicación paso a
paso, o por bloques de código con marcadores específicos. Encontraras
que incluso pequeños programas el depurador integrado te ayuda a probar
tu aplicación, a encontrar problemas de lógica que muchas veces son
difíciles de encontrar.
Gestor de Bases de Datos
El administrador de bases de datos integrado de Gambas te ayuda a
manejar las conexiones a bases de datos, a crear tablas, añadir, editar y
borrar registros. También te permite ejecutar sentencias SQL. Antes de
empezar a hacer código para interactuar con bases de datos, conviene que
te familiarices con las características básicas del gestor, pues es la
manera más rápida de entender como Gambas trabaja con bases de datos.
Editor de Iconos
Esta característica es muy útil, especialmente si estas planeando
'personalizar' los iconos de tu aplicación, en lugar de utilizar los
iconos estándar. Básicamente es como cualquier editor de imágenes, así
que experimenta con el.
OBJETOS
Un objetos es una estructura de programación que encapsula datos y funcionalidad como una unidad singular y por lo tanto el único acceso público a ella es a través de sus interfaces: propiedades, métodos y eventos. Los objetos usados más comúnmente son los formularios y los componentes de la interfaz gráfica. En lecciones anteriores se explicó como trabajar con formularios y sus componentes e incluso se mostró como fijar sus propiedades.
Otra importante característica de los objetos es el uso de clases. Una clase es un "machote" o plantilla usado para crear un objeto. Cada objeto de una misma clase tendrá características parecidas. En las clases se definen todas las características particulares del objeto. Cuando escribes un programa en un lenguaje orientado a objetos no defines objetos individuales. En vez de eso, defines clases usadas para crear esos objetos. Cuando agregas una caja de imagen llamada PictureBox1, lo que en realidad estas haciendo es usar la clase PictureBox y crear una instancia de ella.
Propiedades o Atributos
Las propiedades son datos que diferencias un objeto de otro.
Todos los objetos tienen atributos usados para especificar e informar
sobre el estado del objeto. Estos pueden ser usados para determinar la
apariencia, estado, y otras cualidades de objetos que pertenece a tal
clase. En una clase, las propiedades son definidas por variables
(lugares para almacenar información en un programa de computación). Las
variables instanciadas son propiedades que tienen valores que difieren
de un objeto a otro. En otras lecciones ya has usado algunas de ellas al
usar el visor de Propiedades del IDE. La ventana de propiedades esta
disponible en "tiempo de diseño", y es usada sólo para manipular las
propiedades del formulario y sus componentes. También puedes modificar
las propiedades en "tiempo de ejecución" usando algo de código. Cuando
hacemos referencia a las propiedades en código primero se especifica el nombre del objeto (propiamente hablando, el nombre de la instancia del objeto), seguido de un punto "." y después el nombre de la propiedad, como en el siguiente ejemplo:Un resumen de todo la POO
EJERCICIOS 1
COMO AGREGAR ELEMENTOS CON EL TREEVIEW
Public Sub Form_Open()
Me.Title = "EJEMPLO CON TREEVIEW"
Me.Center
TreeView1.Add("PROV.BOLIVAR",
"PROV.BOLIVAR") 'NODO RAIZ
TreeView1.Add("GUARANDA", "GUARANDA",,
"PROV.BOLIVAR") 'NODO PADRE1
TreeView1.Add("CHIMBO", "CHIMBO",,
"PROV.BOLIVAR") 'NODO PADRE2
TreeView1.Add("SANMIGUEL", "SANMIGUEL",,
"PROV.BOLIVAR") 'NODO PADRE3
TreeView1.Add("CHILLANES", "CHILLANES",,
"PROV.BOLIVAR") 'NODO PADRE4
TreeView1.Add("ECHEANDIA", "ECHEANDIA",,
"PROV.BOLIVAR") 'NODO PADRE5
TreeView1.Add("CALUMA", "CALUMA",,
"PROV.BOLIVAR") 'NODO PADRE6
TreeView1.Add("LAS NAVES", "LASNAVES",,
"PROV.BOLIVAR") 'NODO PADRE7
'
TreeView1["PROV.BOLIVAR"].True PARA QUE EL NODO RAIZ SE
DESPLIEGUE
' PARA HACER EL CONTADOR DE LO K SE VA A INGRESAR
NUMPERSONA = 1 'INICIALIZA EL CONTADOR
GUARANDA = 1
CHIMBO = 1
SANMIGUEL = 1
CHILLANES = 1
ECHEANDIA = 1
CALUMA = 1
LASNAVES = 1
End
Public Sub TreeView1_Click()
End
Private NUMPERSONA As Integer
Private GUARANDA As Integer
Private CHIMBO As Integer
Private SANMIGUEL As Integer
Private CHILLANES As Integer
Private ECHEANDIA As Integer
Private CALUMA As Integer
Private LASNAVES As Integer
Private OPCIONESELECCIONADA As Integer
Private IMAGEN1 As Picture
Private IMAGEN2 As Picture
Public Sub Saulir_Click()
Me.Close
End
Public Sub BorrarE_Click()
If TreeView1.Key
<> "GUARANDA" And TreeView1.Key <> "CHIMBO" And
TreeView1.Key <> "SAN MIGUEL" And TreeView1.Key <>
"CHILLANES" And TreeView1.Key <> "ECHEANDIA" And
TreeView1.Key <> "CALUMA" And TreeView1.Key <>
"LASNAVES" Then
TreeView1.Remove(TreeView1.Key)
Else
Message.Info("NO SE PUEDE ELIMINAR EL NODO RAIZ O PADRE")
Endif
End
Public Sub Adicionar_Click()
If
RadioButton1.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("GUARANDA-" & GUARANDA, "GUARANDA-"
& GUARANDA, IMAGEN1, "GUARANDA")
End Select
GUARANDA += 1
Endif
If
RadioButton2.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("CHIMBO-" & CHIMBO, "CHIMBO-"
& CHIMBO, IMAGEN1, "CHIMBO")
End Select
CHIMBO += 1
Endif
If
RadioButton3.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("SANMIGUEL-" & SANMIGUEL,
"SANMIGUEL-" & SANMIGUEL, IMAGEN1, "SANMIGUEL")
End Select
SANMIGUEL += 1
Endif
If RadioButton4.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("CHILLANES-" & CHILLANES,
"CHILLANES-" & CHILLANES, IMAGEN1, "CHILLANES")
End Select
CHILLANES += 1
Endif
If RadioButton5.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("ECHEANDIA-" & ECHEANDIA,
"ECHEANDIA-" & ECHEANDIA, IMAGEN1, "ECHEANDIA")
End Select
ECHEANDIA += 1
Endif
If
RadioButton6.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("CALUMA-" & CALUMA, "CALUMA-"
& CALUMA, IMAGEN1, "CALUMA")
End Select
CALUMA += 1
Endif
If
RadioButton7.Value <> 0 Then
Select Case
OPCIONESELECCIONADA
Case 0
TreeView1.Add("LASNAVES-" & LASNAVES,
"LASNAVES-" & LASNAVES, IMAGEN1, "LASNAVES")
End Select
LASNAVES += 1
Endif
End
EJERCICIOS 2
REALIZAR UN EJERCICIO QUE MUESTRE LA MISIÓN Y VISIÓN DE LA UNIVERSIDAD ESTATAL DE BOLÍVAR, FACULTAD Y CARRERA
1.- CÓDIGO DE ACCESO
2.- SISTEMA DE CARGA CON PROGRESSBAR
3.- MENÚ
LOS TÍTULOS SELECCIONADOS SON LOS BOTONES PARA INGRESAR A LAS SIGUIENTES VISIONES Y MISIONES DE LA UEB.
ESTO EN EL MODULO
Public Sub reiniciar()
CONTRAPC.Close
CONTRAPC.show
End
Public Sub reinicio()
COMPETENCIA.Close
COMPETENCIA.show
End
CONTRA PC
Private MatrizObjetos As Object[]
Private Inicializado As Boolean
Private LargoCadena As Integer
Private Fallos As Integer
Private Letras As Integer
Private aciertos As Integer
Private blancos As Integer
Public Sub Form_Open()
ListBox1.Add("La Iliada")
ListBox1.Add("La Odisea")
ListBox1.Add("Cien años de Soledad")
ListBox1.Add("Kramer versus Kramer")
ListBox1.Add("La balada de pistolero")
TextErrores.Text = "6"
Elegir
TextBox1.Visible = False
TextTiempo.Text = 120
aciertos = 0
End
Public Sub Elegir()
Dim PartesCadena As String
Dim TextBox As TextBox
Dim Caracter As String
Dim X, y As Integer
Dim NombreLibro As String
Dim Libro As String[]
Dim CadenaCompleta As String
Dim Label As Label
Dim Lugar As Integer
'Elegir aleatoriamente un libro de la lista y copiarla e
PictureBox1.Picture = picture["descarga.jpg"]
Lugar = Int(Rnd() * (ListBox1.Count))
TextBox1.Text = ListBox1.List[Lugar]
'Asignar el nombre al libro
NombreLibro = TextBox1.Text
'Pasar a minuscula
NombreLibro = LCase(NombreLibro)
'Dividir caracteres
Libro = Split(NombreLibro)
'Juntar nombre del libro
For Each PartesCadena In Libro
CadenaCompleta = CadenaCompleta & PartesCadena
Next
'Tomar largo del libro
LargoCadena = Len((CadenaCompleta))
'Inicializar variable letras (cantidad a aceptar)
Letras = LargoCadena
If Not Inicializado Then
'Creacion de la matriz de textbox
MatrizObjetos = New Object[]
'Numero de textbox
For X = 1 To LargoCadena
'Creacion de los textbox
TextBox = New TextBox(Me)
Label = New Label(Me)
TextBox.X = (X * 6 + X) * 3 + 2
TextBox.Y = 180
TextBox.Width = 18
TextBox.Height = 40
TextBox.Visible = True
Label.X = (X * 6 + X) * 3 + 2
Label.Y = 230
Label.Width = 18
Label.Height = 5
Label.Background = Color.Black
'Lectura de los caracteres de la cadena y colocacion en los textbox
Caracter = Mid(CadenaCompleta, X, 1)
TextBox.Text = Caracter
MatrizObjetos.Add(TextBox, x)
'Bloquearlos textbox para que el usuario no pueda escribir en ellos
'Comprovar si es espacio vacio y cambiar color de fondo en caso contrario hacer textbox invisible
If TextBox.Text = " " Then
TextBox.Background = Color.Blue
'Restapetar espacios vacios a variable letra
Letras = Letras - 1
Else
TextBox.Visible = False
Endif
Next
Endif
TextTirarLetra.SetFocus
TextAcertar.Text = Letras
blancos = 0
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = " " Then
blancos = blancos + 1
End If
Next
End
Public Sub BntTirarLetra_Click()
Dim Y As Integer
Dim Buena As Boolean
Dim Falta As Integer
Falta = Letras
Timer1.Enabled = True
'Inicializar variable buena (acierto) como falsa
Buena = False
If TextTirarLetra.Text = "" Or InStr((TextUsadas.Text), (TextTirarLetra.text)) > 0 Then
Message.Info("Debe escribir otra letra Aceptar")
TextTirarLetra.Clear
TextTirarLetra.Setfocus
Else
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = TextTirarLetra.Text Then
MatrizObjetos[y].visible = True
Falta = Falta - 1
aciertos = aciertos + 1
TextAcertar.Text = aciertos
Letras = Falta
Buena = True
End If
Next
TextUsadas.Text = TextUsadas.Text & TextTirarLetra.Text
TextTirarLetra.Clear
TextTirarLetra.SetFocus
If Buena = False Then
TextErrores.Text = TextErrores.Text - 1
cargar_imagenes
End If
Endif
'Si acertaron todas las letras finalizar juego
If Falta = "0"
TextTirarLetra.Enabled = False
PictureBox1.Picture = Picture["images.jpg"]
Label7.Visible = True
Timer1.enabled = False
Endif
End
Public Sub BntNuevo_Click()
Label7.Visible = False
REINICIO.reiniciar
End
Public Sub BntSalir_Click()
Me.Close
End
Public Sub Timer1_Timer()
Dim y As Integer
'—————controlar que el timer no este en 0,si es asì bloquear botones y mostrar solucion
If TextTiempo.text = "0" Then
Timer1.enabled = False
BntTirarLetra.enabled = False
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
For y = 0 To LargoCadena - 1
MatrizObjetos[y].visible = True
Next
Else
'————————————–ir restando el tiempo y mostrarlo en el textbox
TextTiempo.text = TextTiempo.text - 1
Endif
End
Public Sub BntParar_Click()
Timer1.enabled = False
TextTirarLetra.SetFocus
BntParar.enabled = False
End
Public Sub cargar_imagenes()
Dim y As Integer
'———————————cargar imagen según errores restantes, cuando no queden m às
'———————————- bloquear botones y mostrar solucion
If TextErrores.Text = "0" Then
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
Timer1.Enabled = False
End If
If TextErrores.Text = "1" Then PictureBox1.picture = picture["1.jpg"]
If TextErrores.Text = "2" Then PictureBox1.Picture = picture["2.jpg"]
If TextErrores.Text = "3" Then PictureBox1.Picture = picture["3.jpg"]
If TextErrores.Text = "4" Then PictureBox1.Picture = picture["4.jpg"]
If TextErrores.Text = "5" Then PictureBox1.Picture = Picture["5.jpg"]
End
Private MatrizObjetos As Object[]
Private Inicializado As Boolean
Private LargoCadena As Integer
Private Fallos As Integer
Private Letras As Integer
Private aciertos As Integer
Private blancos As Integer
Public Sub Form_Open()
ListBox1.Add("La Iliada")
ListBox1.Add("La Odisea")
ListBox1.Add("Cien años de Soledad")
ListBox1.Add("Kramer versus Kramer")
ListBox1.Add("La balada de pistolero")
TextErrores.Text = "6"
Elegir
TextBox1.Visible = False
TextTiempo.Text = 120
aciertos = 0
End
Public Sub Elegir()
Dim PartesCadena As String
Dim TextBox As TextBox
Dim Caracter As String
Dim X, y As Integer
Dim NombreLibro As String
Dim Libro As String[]
Dim CadenaCompleta As String
Dim Label As Label
Dim Lugar As Integer
'Elegir aleatoriamente un libro de la lista y copiarla e
PictureBox1.Picture = picture["descarga.jpg"]
Lugar = Int(Rnd() * (ListBox1.Count))
TextBox1.Text = ListBox1.List[Lugar]
'Asignar el nombre al libro
NombreLibro = TextBox1.Text
'Pasar a minuscula
NombreLibro = LCase(NombreLibro)
'Dividir caracteres
Libro = Split(NombreLibro)
'Juntar nombre del libro
For Each PartesCadena In Libro
CadenaCompleta = CadenaCompleta & PartesCadena
Next
'Tomar largo del libro
LargoCadena = Len((CadenaCompleta))
'Inicializar variable letras (cantidad a aceptar)
Letras = LargoCadena
If Not Inicializado Then
'Creacion de la matriz de textbox
MatrizObjetos = New Object[]
'Numero de textbox
For X = 1 To LargoCadena
'Creacion de los textbox
TextBox = New TextBox(Me)
Label = New Label(Me)
TextBox.X = (X * 6 + X) * 3 + 2
TextBox.Y = 180
TextBox.Width = 18
TextBox.Height = 40
TextBox.Visible = True
Label.X = (X * 6 + X) * 3 + 2
Label.Y = 230
Label.Width = 18
Label.Height = 5
Label.Background = Color.Black
'Lectura de los caracteres de la cadena y colocacion en los textbox
Caracter = Mid(CadenaCompleta, X, 1)
TextBox.Text = Caracter
MatrizObjetos.Add(TextBox, x)
'Bloquearlos textbox para que el usuario no pueda escribir en ellos
'Comprovar si es espacio vacio y cambiar color de fondo en caso contrario hacer textbox invisible
If TextBox.Text = " " Then
TextBox.Background = Color.Blue
'Restapetar espacios vacios a variable letra
Letras = Letras - 1
Else
TextBox.Visible = False
Endif
Next
Endif
TextTirarLetra.SetFocus
TextAcertar.Text = Letras
blancos = 0
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = " " Then
blancos = blancos + 1
End If
Next
End
Public Sub BntTirarLetra_Click()
Dim Y As Integer
Dim Buena As Boolean
Dim Falta As Integer
Falta = Letras
Timer1.Enabled = True
'Inicializar variable buena (acierto) como falsa
Buena = False
If TextTirarLetra.Text = "" Or InStr((TextUsadas.Text), (TextTirarLetra.text)) > 0 Then
Message.Info("Debe escribir otra letra Aceptar")
TextTirarLetra.Clear
TextTirarLetra.Setfocus
Else
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = TextTirarLetra.Text Then
MatrizObjetos[y].visible = True
Falta = Falta - 1
aciertos = aciertos + 1
TextAcertar.Text = aciertos
Letras = Falta
Buena = True
End If
Next
TextUsadas.Text = TextUsadas.Text & TextTirarLetra.Text
TextTirarLetra.Clear
TextTirarLetra.SetFocus
If Buena = False Then
TextErrores.Text = TextErrores.Text - 1
cargar_imagenes
End If
Endif
'Si acertaron todas las letras finalizar juego
If Falta = "0"
TextTirarLetra.Enabled = False
PictureBox1.Picture = Picture["images.jpg"]
Label7.Visible = True
Timer1.enabled = False
Endif
End
Public Sub BntNuevo_Click()
Label7.Visible = False
REINICIO.reiniciar
End
Public Sub BntSalir_Click()
Me.Close
End
Public Sub Timer1_Timer()
Dim y As Integer
'—————controlar que el timer no este en 0,si es asì bloquear botones y mostrar solucion
If TextTiempo.text = "0" Then
Timer1.enabled = False
BntTirarLetra.enabled = False
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
For y = 0 To LargoCadena - 1
MatrizObjetos[y].visible = True
Next
Else
'————————————–ir restando el tiempo y mostrarlo en el textbox
TextTiempo.text = TextTiempo.text - 1
Endif
End
Public Sub BntParar_Click()
Timer1.enabled = False
TextTirarLetra.SetFocus
BntParar.enabled = False
End
Public Sub cargar_imagenes()
Dim y As Integer
'———————————cargar imagen según errores restantes, cuando no queden m às
'———————————- bloquear botones y mostrar solucion
If TextErrores.Text = "0" Then
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
Timer1.Enabled = False
End If
If TextErrores.Text = "1" Then PictureBox1.picture = picture["1.jpg"]
If TextErrores.Text = "2" Then PictureBox1.Picture = picture["2.jpg"]
If TextErrores.Text = "3" Then PictureBox1.Picture = picture["3.jpg"]
If TextErrores.Text = "4" Then PictureBox1.Picture = picture["4.jpg"]
If TextErrores.Text = "5" Then PictureBox1.Picture = Picture["5.jpg"]
End
3.- MENÚ
LOS TÍTULOS SELECCIONADOS SON LOS BOTONES PARA INGRESAR A LAS SIGUIENTES VISIONES Y MISIONES DE LA UEB.
MISIÓN DE LA UEB
MISIÓN DE LA FACULTAD CIENCIAS DE LA EDUCACIÓN
MISIÓN Y VISIÓN DE LA ESCUELA DE LA INFORMÁTICA
TODOS LOS FORMULARIOS CON LOS CONTENIDOS SON IMÁGENES CON EL PICTUREBOX
EJERCICIO 3
COMO AGREGAR ELEMENTOS CON EL TABLEVIEW
EJERCICIO 4
COMO AGREGAR ELEMENTOS CON EL TABLEVIEW
Public Sub FORM_Open()
ColumnView1.Columns.Count = 7
ColumnView1.Columns[0].Text = "Nombre"
ColumnView1.Columns[0].Width = 100
ColumnView1.Columns[0].Alignment = 3
ColumnView1.Columns[1].Text = "Apellidos"
ColumnView1.Columns[1].Width = 150
ColumnView1.Columns[1].Alignment = 3
ColumnView1.Columns[2].Text = "Edad"
ColumnView1.Columns[2].Width = 60
ColumnView1.Columns[2].Alignment = 3
ColumnView1.Columns[3].Text = "Direccion"
ColumnView1.Columns[3].Width = 120
ColumnView1.Columns[3].Alignment = 3
ColumnView1.Columns[4].Text = "Pais"
ColumnView1.Columns[4].Width = 80
ColumnView1.Columns[4].Alignment = 3
ColumnView1.Columns[5].Text = "Provincia"
ColumnView1.Columns[5].Width = 100
ColumnView1.Columns[5].Alignment = 3
ColumnView1.Columns[6].Text = "Canton"
ColumnView1.Columns[6].Width = 150
ColumnView1.Columns[6].Alignment = 3
End
Public Sub Button1_Click()
ColumnView1.Add(0,
"David")
ColumnView1[0][1] =
"Pilamunga Caluña"
ColumnView1[0][2] =
"22"
ColumnView1[0][3] =
"Marcopamba"
ColumnView1[0][4] =
"Ecuador"
ColumnView1[0][5] =
"Bolivar"
ColumnView1[0][6] =
"Guaranda"
ColumnView1.Add(1,
"Dayana")
ColumnView1[1][1] =
"Garcia Alvarez"
ColumnView1[1][2] =
"16"
ColumnView1[1][3] =
"Marcopamba"
ColumnView1[1][4] =
"Ecuador"
ColumnView1[1][5] =
"Bolivar"
ColumnView1[1][6] =
"Guaranda"
ColumnView1.Add(2,
"Mireya")
ColumnView1[2][1] =
"Guano Morales"
ColumnView1[2][2] =
"19"
ColumnView1[2][3] =
"Marcopamba"
ColumnView1[2][4] =
"Ecuador"
ColumnView1[2][5] =
"Bolivar"
ColumnView1[2][6] =
"Guaranda"
ColumnView1.Add(3,
"Jenny")
ColumnView1[3][1] =
"Barragan Vascones"
ColumnView1[3][2] =
"18"
ColumnView1[3][3] =
"Terminal"
ColumnView1[3][4] =
"Ecuador"
ColumnView1[3][5] =
"Bolivar"
ColumnView1[3][6] =
"Guaranda"
End
Public Sub Button2_Click()
ColumnView1.Clear
End
Public Sub Button3_Click()
Quit
End
JUEGO DE LIBROS
Public Sub reiniciar()
CONTRAPC.Close
CONTRAPC.show
End
Public Sub reinicio()
COMPETENCIA.Close
COMPETENCIA.show
End
CONTRA PC
Private MatrizObjetos As Object[]
Private Inicializado As Boolean
Private LargoCadena As Integer
Private Fallos As Integer
Private Letras As Integer
Private aciertos As Integer
Private blancos As Integer
Public Sub Form_Open()
ListBox1.Add("La Iliada")
ListBox1.Add("La Odisea")
ListBox1.Add("Cien años de Soledad")
ListBox1.Add("Kramer versus Kramer")
ListBox1.Add("La balada de pistolero")
TextErrores.Text = "6"
Elegir
TextBox1.Visible = False
TextTiempo.Text = 120
aciertos = 0
End
Public Sub Elegir()
Dim PartesCadena As String
Dim TextBox As TextBox
Dim Caracter As String
Dim X, y As Integer
Dim NombreLibro As String
Dim Libro As String[]
Dim CadenaCompleta As String
Dim Label As Label
Dim Lugar As Integer
'Elegir aleatoriamente un libro de la lista y copiarla e
PictureBox1.Picture = picture["descarga.jpg"]
Lugar = Int(Rnd() * (ListBox1.Count))
TextBox1.Text = ListBox1.List[Lugar]
'Asignar el nombre al libro
NombreLibro = TextBox1.Text
'Pasar a minuscula
NombreLibro = LCase(NombreLibro)
'Dividir caracteres
Libro = Split(NombreLibro)
'Juntar nombre del libro
For Each PartesCadena In Libro
CadenaCompleta = CadenaCompleta & PartesCadena
Next
'Tomar largo del libro
LargoCadena = Len((CadenaCompleta))
'Inicializar variable letras (cantidad a aceptar)
Letras = LargoCadena
If Not Inicializado Then
'Creacion de la matriz de textbox
MatrizObjetos = New Object[]
'Numero de textbox
For X = 1 To LargoCadena
'Creacion de los textbox
TextBox = New TextBox(Me)
Label = New Label(Me)
TextBox.X = (X * 6 + X) * 3 + 2
TextBox.Y = 180
TextBox.Width = 18
TextBox.Height = 40
TextBox.Visible = True
Label.X = (X * 6 + X) * 3 + 2
Label.Y = 230
Label.Width = 18
Label.Height = 5
Label.Background = Color.Black
'Lectura de los caracteres de la cadena y colocacion en los textbox
Caracter = Mid(CadenaCompleta, X, 1)
TextBox.Text = Caracter
MatrizObjetos.Add(TextBox, x)
'Bloquearlos textbox para que el usuario no pueda escribir en ellos
'Comprovar si es espacio vacio y cambiar color de fondo en caso contrario hacer textbox invisible
If TextBox.Text = " " Then
TextBox.Background = Color.Blue
'Restapetar espacios vacios a variable letra
Letras = Letras - 1
Else
TextBox.Visible = False
Endif
Next
Endif
TextTirarLetra.SetFocus
TextAcertar.Text = Letras
blancos = 0
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = " " Then
blancos = blancos + 1
End If
Next
End
Public Sub BntTirarLetra_Click()
Dim Y As Integer
Dim Buena As Boolean
Dim Falta As Integer
Falta = Letras
Timer1.Enabled = True
'Inicializar variable buena (acierto) como falsa
Buena = False
If TextTirarLetra.Text = "" Or InStr((TextUsadas.Text), (TextTirarLetra.text)) > 0 Then
Message.Info("Debe escribir otra letra Aceptar")
TextTirarLetra.Clear
TextTirarLetra.Setfocus
Else
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = TextTirarLetra.Text Then
MatrizObjetos[y].visible = True
Falta = Falta - 1
aciertos = aciertos + 1
TextAcertar.Text = aciertos
Letras = Falta
Buena = True
End If
Next
TextUsadas.Text = TextUsadas.Text & TextTirarLetra.Text
TextTirarLetra.Clear
TextTirarLetra.SetFocus
If Buena = False Then
TextErrores.Text = TextErrores.Text - 1
cargar_imagenes
End If
Endif
'Si acertaron todas las letras finalizar juego
If Falta = "0"
TextTirarLetra.Enabled = False
PictureBox1.Picture = Picture["images.jpg"]
Label7.Visible = True
Timer1.enabled = False
Endif
End
Public Sub BntNuevo_Click()
Label7.Visible = False
REINICIO.reiniciar
End
Public Sub BntSalir_Click()
Me.Close
End
Public Sub Timer1_Timer()
Dim y As Integer
'—————controlar que el timer no este en 0,si es asì bloquear botones y mostrar solucion
If TextTiempo.text = "0" Then
Timer1.enabled = False
BntTirarLetra.enabled = False
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
For y = 0 To LargoCadena - 1
MatrizObjetos[y].visible = True
Next
Else
'————————————–ir restando el tiempo y mostrarlo en el textbox
TextTiempo.text = TextTiempo.text - 1
Endif
End
Public Sub BntParar_Click()
Timer1.enabled = False
TextTirarLetra.SetFocus
BntParar.enabled = False
End
Public Sub cargar_imagenes()
Dim y As Integer
'———————————cargar imagen según errores restantes, cuando no queden m às
'———————————- bloquear botones y mostrar solucion
If TextErrores.Text = "0" Then
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
Timer1.Enabled = False
End If
If TextErrores.Text = "1" Then PictureBox1.picture = picture["1.jpg"]
If TextErrores.Text = "2" Then PictureBox1.Picture = picture["2.jpg"]
If TextErrores.Text = "3" Then PictureBox1.Picture = picture["3.jpg"]
If TextErrores.Text = "4" Then PictureBox1.Picture = picture["4.jpg"]
If TextErrores.Text = "5" Then PictureBox1.Picture = Picture["5.jpg"]
End
Private Inicializado As Boolean
Private LargoCadena As Integer
Private Fallos As Integer
Private Letras As Integer
Private aciertos As Integer
Private blancos As Integer
Public Sub Form_Open()
ListBox1.Add("La Iliada")
ListBox1.Add("La Odisea")
ListBox1.Add("Cien años de Soledad")
ListBox1.Add("Kramer versus Kramer")
ListBox1.Add("La balada de pistolero")
TextErrores.Text = "6"
Elegir
TextBox1.Visible = False
TextTiempo.Text = 120
aciertos = 0
End
Public Sub Elegir()
Dim PartesCadena As String
Dim TextBox As TextBox
Dim Caracter As String
Dim X, y As Integer
Dim NombreLibro As String
Dim Libro As String[]
Dim CadenaCompleta As String
Dim Label As Label
Dim Lugar As Integer
'Elegir aleatoriamente un libro de la lista y copiarla e
PictureBox1.Picture = picture["descarga.jpg"]
Lugar = Int(Rnd() * (ListBox1.Count))
TextBox1.Text = ListBox1.List[Lugar]
'Asignar el nombre al libro
NombreLibro = TextBox1.Text
'Pasar a minuscula
NombreLibro = LCase(NombreLibro)
'Dividir caracteres
Libro = Split(NombreLibro)
'Juntar nombre del libro
For Each PartesCadena In Libro
CadenaCompleta = CadenaCompleta & PartesCadena
Next
'Tomar largo del libro
LargoCadena = Len((CadenaCompleta))
'Inicializar variable letras (cantidad a aceptar)
Letras = LargoCadena
If Not Inicializado Then
'Creacion de la matriz de textbox
MatrizObjetos = New Object[]
'Numero de textbox
For X = 1 To LargoCadena
'Creacion de los textbox
TextBox = New TextBox(Me)
Label = New Label(Me)
TextBox.X = (X * 6 + X) * 3 + 2
TextBox.Y = 180
TextBox.Width = 18
TextBox.Height = 40
TextBox.Visible = True
Label.X = (X * 6 + X) * 3 + 2
Label.Y = 230
Label.Width = 18
Label.Height = 5
Label.Background = Color.Black
'Lectura de los caracteres de la cadena y colocacion en los textbox
Caracter = Mid(CadenaCompleta, X, 1)
TextBox.Text = Caracter
MatrizObjetos.Add(TextBox, x)
'Bloquearlos textbox para que el usuario no pueda escribir en ellos
'Comprovar si es espacio vacio y cambiar color de fondo en caso contrario hacer textbox invisible
If TextBox.Text = " " Then
TextBox.Background = Color.Blue
'Restapetar espacios vacios a variable letra
Letras = Letras - 1
Else
TextBox.Visible = False
Endif
Next
Endif
TextTirarLetra.SetFocus
TextAcertar.Text = Letras
blancos = 0
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = " " Then
blancos = blancos + 1
End If
Next
End
Public Sub BntTirarLetra_Click()
Dim Y As Integer
Dim Buena As Boolean
Dim Falta As Integer
Falta = Letras
Timer1.Enabled = True
'Inicializar variable buena (acierto) como falsa
Buena = False
If TextTirarLetra.Text = "" Or InStr((TextUsadas.Text), (TextTirarLetra.text)) > 0 Then
Message.Info("Debe escribir otra letra Aceptar")
TextTirarLetra.Clear
TextTirarLetra.Setfocus
Else
For Y = 0 To LargoCadena - 1
If MatrizObjetos[Y].Text = TextTirarLetra.Text Then
MatrizObjetos[y].visible = True
Falta = Falta - 1
aciertos = aciertos + 1
TextAcertar.Text = aciertos
Letras = Falta
Buena = True
End If
Next
TextUsadas.Text = TextUsadas.Text & TextTirarLetra.Text
TextTirarLetra.Clear
TextTirarLetra.SetFocus
If Buena = False Then
TextErrores.Text = TextErrores.Text - 1
cargar_imagenes
End If
Endif
'Si acertaron todas las letras finalizar juego
If Falta = "0"
TextTirarLetra.Enabled = False
PictureBox1.Picture = Picture["images.jpg"]
Label7.Visible = True
Timer1.enabled = False
Endif
End
Public Sub BntNuevo_Click()
Label7.Visible = False
REINICIO.reiniciar
End
Public Sub BntSalir_Click()
Me.Close
End
Public Sub Timer1_Timer()
Dim y As Integer
'—————controlar que el timer no este en 0,si es asì bloquear botones y mostrar solucion
If TextTiempo.text = "0" Then
Timer1.enabled = False
BntTirarLetra.enabled = False
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
For y = 0 To LargoCadena - 1
MatrizObjetos[y].visible = True
Next
Else
'————————————–ir restando el tiempo y mostrarlo en el textbox
TextTiempo.text = TextTiempo.text - 1
Endif
End
Public Sub BntParar_Click()
Timer1.enabled = False
TextTirarLetra.SetFocus
BntParar.enabled = False
End
Public Sub cargar_imagenes()
Dim y As Integer
'———————————cargar imagen según errores restantes, cuando no queden m às
'———————————- bloquear botones y mostrar solucion
If TextErrores.Text = "0" Then
PictureBox1.Picture = picture["perdiste.jpg"]
TextTirarLetra.Enabled = False
Timer1.Enabled = False
End If
If TextErrores.Text = "1" Then PictureBox1.picture = picture["1.jpg"]
If TextErrores.Text = "2" Then PictureBox1.Picture = picture["2.jpg"]
If TextErrores.Text = "3" Then PictureBox1.Picture = picture["3.jpg"]
If TextErrores.Text = "4" Then PictureBox1.Picture = picture["4.jpg"]
If TextErrores.Text = "5" Then PictureBox1.Picture = Picture["5.jpg"]
End
CREAR UN BASE DE DATOS CON SQLITE
1.-MENU DE GAMBAS
2.-NUEVO PROYECTO
5.- NOMBRE DEL PROYECTO





















