miércoles, 1 de mayo de 2013

PROGRAMACIÁN ORIENTADO A OBJETOS


 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.




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

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
   
    CREAR UN BASE DE DATOS  CON SQLITE


1.-MENU DE GAMBAS 
2.-NUEVO PROYECTO
3.-TIPO DE APLICACION

4.- LUGAR DONDE VAMOS A GUARDAR EL PROYECTO
5.- NOMBRE DEL PROYECTO




ENTORNO DE PROGRAMACIÓN



 



6.- NUEVA CONEXIÓN




7.-LLENAMOS LOS CAMPOS

No hay comentarios:

Publicar un comentario