viernes, 4 de junio de 2010

J u e g o m e m o r i a


El siguiente juego de memoria trata de encontrar una imagen de la columna de la derecha que sea igual a la de la columna de la izquierda. Se hace de la siguiente manera:

- necesitamos (en este caso) 7 imágenes de las cuales obtendremos 14 ya que san de repetir.
- 14 image y 14 picturebox.
- 1 scrollbar
- 1 label para en numero de acierto
- 2 timers

Primero:
Insertaremos un scrollbar, lo encontraremos en barra de herramientas/proyecto/componentes:


Segundo introduciremos el código para que las imágenes y los picturebox se carguen siguen el tiempo establecido en el timer1:

Private Sub Timer1_Timer()
x = x + 1
ProgressBar1.Value = x
pic(x / 100 * 13).Visible = True
Image1(x / 100 * 13).Visible = True
If x >= 100 Then Timer1.Enabled = False
End Sub

Luego crearemos image y le ponemos de indice 0, repetimos la misma acción con el picturebox que estara situado encima del image.(cuando tengamos los image puestos introducimos la imagen que se utilizara para el juego, hay que tener en cuenta que estará repetida)

Segundo:
Ahora haremos click en un picturebox e introduciremos el código para que al presionar desaparezca y que seguidamente si hacemos clic en otro picturebox desaparezca el anterior y que si aparece la misma imagen se quede al descubierto:

Private Sub pic_Click(Index As Integer)
ac = 0
If Timer2.Enabled = True Then
If Image1(I1).Picture = Image1(Index).Picture Then
pnt.Caption = pnt.Caption + 1
pic(I1).Enabled = False
pic(Index).Enabled = False
pic(I1).Visible = False
pic(Index).Visible = False
Timer2.Enabled = False
ac = 1
Else
pic(I1).Visible = True
Timer2.Enabled = False
End If

End If
If ac = 0 Then
pic(Index).Visible = False
I1 = Index
Timer2.Enabled = True
End If
If pnt.Caption = 7 Then
MsgBox "Enorabuena"
End If
End Sub

Tercero:

Aquí estableceremos la puntuación y el mensaje de "Enhorabuena":
-Empezaremos por la puntuación:

pnt.Caption = pnt.Caption + 1 --> Esto hará que cada vez que 2 imágenes coincidan se sume 1 al label del medio.
Y este if hará que cuando llegue a 7 salga un mensaje de "Enhorabuena":

If pnt.Caption = 7 Then
MsgBox "Enorabuena"
End If

Para terminar El reinicio del juego:

Agregaremos un menú para ello iremos a barra de herramientas/Herramientas/Editor de menús.

El código:

Private Sub menu5_Click()
pic(0).Visible = True
pic(1).Visible = True
pic(2).Visible = True
pic(3).Visible = True
pic(4).Visible = True
pic(5).Visible = True
pic(6).Visible = True
pic(7).Visible = True
pic(8).Visible = True
pic(9).Visible = True
pic(10).Visible = True
pic(11).Visible = True
pic(12).Visible = True
pic(13).Visible = True
pic(0).Enabled = True
pic(1).Enabled = True
pic(2).Enabled = True
pic(3).Enabled = True
pic(4).Enabled = True
pic(5).Enabled = True
pic(6).Enabled = True
pic(7).Enabled = True
pic(8).Enabled = True
pic(9).Enabled = True
pic(10).Enabled = True
pic(11).Enabled = True
pic(12).Enabled = True
pic(13).Enabled = True

pnt.Caption = 0
End Sub







FIN

viernes, 14 de mayo de 2010

E x p l o r a d o r d e i m a g e n e s




El explorador de imágenes: un sencillo programa para visualizar nuestras fotos.

Consta de:

- 1 Drive para selecionar la unidad en la que vamos a encontrar nuestras fotos.
- 1 Dir para navegar por las carpetas de la unidad previamente seleccionada.
- 6 OptionButton.

Funciona de la siguiente manera:


'Carga los gráficos del FileList en el ListView
Sub Cargar_Imagen( _
ListView As ListView, _
imageList As imageList, _
progressbar As progressbar)

On Local Error GoTo errSub

Dim imagen As Integer, Clave As String

Set ListView.Icons = Nothing

With imageList
'Elimina las imágenes del ImageList
.ListImages.Clear
'Elimina los Items del Listview
ListView.ListItems.Clear
End With

'Según el optionbutton seleccionado, asigna el ancho y alto que tendrá la imagen cargada en en el Listview
With imageList
If Option1(0) Then
.ImageHeight = 16
.ImageWidth = 16
ElseIf Option1(1) Then
.ImageHeight = 32
.ImageWidth = 32
ElseIf Option1(2) Then
.ImageHeight = 48
.ImageWidth = 48
ElseIf Option1(3) Then
.ImageHeight = 64
.ImageWidth = 64
ElseIf Option1(4) Then
.ImageHeight = 128
.ImageWidth = 128
End If
End With

With progressbar
.Value = 0
.Max = File1.ListCount
End With

' Recorre el FileListBox con las imagenes para agregar
For imagen = 0 To File1.ListCount - 1
'clave ( nombre del gráfico) para asignar al ImageList y el ListView
Clave = File1.List(imagen)
'Agrega el gráfico al ImageListleyendo del disco con LaodPicture
imageList.ListImages.Add , Clave, _
LoadPicture(Dir1.Path & "\" & Clave)


' Si el ImageList no está inicializdo ..lo enlaza al Listview
If ListView.Icons Is Nothing Then
Set ListView.Icons = imageList
End If

'Agrega la imagen
ListView.ListItems.Add , , Clave, Clave

'Visualiza el progreso

progressbar.Value = imagen + 1
DoEvents

Next

progressbar.Value = 0

Exit Sub

'Error
errSub:
MsgBox " Número de Error:" & Err.Number & vbNewLine _
& Err.Description, vbCritical
End Sub

Resultado:

- Los 6 Optionbuttons:

Te permite que al cargar las imágenes utilizar diferentes tamaños.
Código:
Private Sub Form_Load()
' Filtro de extensiones para los archivos del FileList
File1.Pattern = "*.bmp;*.jpg;*.gif;*.ico;*.jpeg;*.wmf;*.cur"
Option1(2).Value = True
With ListView1
' Tipo de ordenación de los íconos
ListView1.Arrange = lvwAutoTop
End With
Option1(0).Caption = "16 * 16 pixeles"
Option1(1).Caption = "32 * 32 pixeles"
Option1(2).Caption = "48 * 48 pixeles"
Option1(3).Caption = "64 * 64 pixeles"
Option1(4).Caption = "128 * 128 pixeles"
End Sub

Llenar vaciar deposito


Este programa esta orientado a llenar/vaciar un deposito como utilidad se podría usar en alguna gasolinera u otro tipo de trabajo similar.

Consta de:
- 2 Options Button
- 1 Command Button
- 1 Picture
- 1 Cuadros de texto que aumentara según queramos simular un llenado/vacío

Funciona de la siguiente manera:

- Botón Llenar


Al presionar el boton "Start" se empezara a llenar, es decir, que el cuadro de texto en amarillo empezara a elevarse:


- Botón Vaciar


Al presionar el botón "Start" se empezara a Vaciar, es decir, que el cuadro de texto en amarillo empezara a disminuir:


- Codigo:

Private Sub Timer1_Timer()
If Option1.Value = True Then
incremento = 20
Else
incremento = -20
End If

If Text1.Top - incremento <= Picture1.Top + Picture1.Height * 0.91 Then
If Text1.Height + incremento <= Picture1.Height Then
Text1.Height = Text1.Height + incremento
Text1.Top = Text1.Top - incremento
Else
Text1.Height = Picture1.Height
End If
End If
End Sub

viernes, 30 de abril de 2010

Campo de Tenis

Este programa va dedicado a las puntuación de un partido de tenis. Funciona de la siguiente manera cuando cualquier equipo gana un punto se presiona el boton "Añadir punto".

Este boton funciona asi:

- Primero creamos dos variables : la primera para el primer boton y la segunda para el segundo.
- Creamos dos cajas de texto para visualizar la puntuación de los puntos y de los sets.

Private Sub Bpunto1_Click()
indice1 = indice1 + 1

En esta parte decimos que cuando presionemos el botón para añadir los puntos se visualice en numero 15 en el cuadro de texto y que cuando se vuelva presionar se sumen 15 puntos mas hasta llegar a 40.

If indice1 = 1 Then Txpun1.Text = Val(Txpun1.Text) + 15
If indice1 = 2 Then Txpun1.Text = Val(Txpun1.Text) + 15
If indice1 = 3 Then Txpun1.Text = Val(Txpun1.Text) + 10
If indice1 >= 4 And Txpun1.Text = Txpun2.Text Then Label1.Visible = True
If indice1 >= 4 And Txpun1.Text > Txpun2.Text Then

Esta segunda parte del código dice que cuando se vuelva a pulsar el botón añadir punto se muestre el numer 1 en el cuadro de texto del Set.
' set ganado
Txset1.Text = Val(Txset1.Text) + 1
Label1.Visible = False
Txpun1.Text = 0

Label2.Visible = False
Txpun2.Text = 0
indice2 = 0
End If
End Sub

Las explicación del primer botón sirve para el otro botón.

viernes, 16 de abril de 2010

Base de datos unida al calendario


Antes de empezar debemos crear un archivo de Acces 2003 para poder tener algun sitio para meter los datos luego, una vez creada la unimos a Visual Basic.

Introducimos el codigo correspondiente para que al escribir en el cuadro de texto envie lo escrito a la base de datos:


Private Sub Txnotas_DblClick()
Txnotas.Visible = False
Text1(Indice).Text = Txnotas.Text
Escribirdatos
End Sub

La Variable Escribirdatos esta creada para que los datos excritos vayan a la Base de datos de Acces:


Private Sub Escribirdatos()
FBD.Show
FBD.DataGrid1.Row = mes
For i = 0 To 30
FBD.DataGrid1.Columns(i + 2) = Text1(i).Text
Next
Unload FBD
End Sub

Creamos otra variable "leerdatos" para que lo calice exactamente la posición de lo que hemos escrito:

Private Sub leerdatos()
FBD.Show
FBD.DataGrid1.Row = mes
For i = 0 To 30
Text1(i).Text = FBD.DataGrid1.Columns(i + 2)
Next
Unload FBD
End Sub

Finalmente comprobamos que el funcionamiento de la aplición es correcta:

viernes, 9 de abril de 2010

C a l e n d a r i o V i s u a l B a s i c

Antes de empezar hemos de crear un cuadro de texto i una etiqueta en la cual pondremos el numero del dia y en el cuadro de texto escribiremos la nota que queramos:

Esto lo copiamos y lo pegamos unas 31 veces una al lado de la otra hasta conseguir algo asi:

Ahora crearemos una barra de menus para colocar los Meses y tambien colocaremos el codigo para que se visualice en una etiqueta previamente creada para que se visualice el mes seleccionado:

Label4.Caption = meses(Index).Caption
meses(0).Caption = "Enero"
meses(1).Caption = "Febrero"
meses(2).Caption = "Marzo"
meses(3).Caption = "Abril"

En el caso de febrero tendremos que hacer que tres de los cuadros y etiquetas que contienen el numero del dia desaparezcan. Con este codigo:

If (Index = 1) Then
Text1(28).Visible = False
Text1(29).Visible = False
Text1(30).Visible = False

Label2(28).Visible = False
Label2(29).Visible = False
Label2(30).Visible = False
End If

Para poder escribir en el cuadro debemos hacer doble click en el cuadro de texto y esto se hace de la siguiente manera.
Hacemos dobleclik en el cuadro de texto y escribimos el siguiente codigo:

Private Sub Text1_DblClick(Index As Integer)
Txnotas.Visible = True
Indice = Index
Txnotas.Text = Text1(Index).Text
End Sub

Txnotas es un cuadro de texto que se abrira para poder escribir dentro.


Luego entramos en el codigo de Txnotas para que luego podamos acer doble clik dentro del cuadro para que lo podamos cerrar y que se quede guardado. Este es el codigo:

viernes, 19 de marzo de 2010

Manual Visual Basic Excel & Word

Manual para enalazar VB con Excel






El funcionamiento es sencillo, el primer cuadro de texto…






debemos introducir la ruta donde se encuentra el archivo de Excel. Ex: C:\Libro1.xls;(el archivo Excel debe ser compatible con Visual Basic 6.0).

El segundo cuadro de texto…
debemos introducir el nombre de la hoja dentro del archivo de Excel. Ex: Hoja1.


Botón “Abrir Excel”:
Haciendo clic en este botón nos mostrara los datos que están en dicha ruta y nombre de la hoja del archivo previamente establecidos en el DataGrid.




Manual para enlazar VB con Word





El funcionamiento es muy básico dentro del cuadro de texto debemos escribir cualquier texto que nosotros queramos.


Este botón lo único que hace es pasar lo que hayamos escrito dentro del cuadro de texto en un archivo Word.