Tutorial
 
 

Primer Contacto

Ejercicios introductorios a los formularios de Visual Basic
Primer programa Como siempre
Hola Mundo:

Al entrar en el entorno de programación de Visual Basic (No en la versión .Net) y crear un nuevo proyecto standard nos encontramos con un formulario form1 le damos doble click y nos muestra la ventana de código que dice:

Private Sub Form_Load()
End Sub
La modificamos para que diga lo siguiente:
Private Sub Form_Load()
    Show
    Saludo = "Hola gente linda"
    Print Saludo
End Sub

Pulsa F5

Nota: En todos los FORM_LOAD deberás poner SHOW al principio para que se muestre lo que se imprime.

Los eventos.

Añade al form dos Label, un TextBox y un botón de comandos. El aspecto será algo parecido al de la siguiente figura:

Figura 1

Añade el siguiente código y después Pulsa F5.

Private Sub Form_Load()
    Label2 = ""
    Text1 = ""
End Sub


Private Sub Command1_Click()
    Label2 = "Hola " & Text1
End Sub

Cuando pulsas F5, se produce el evento Form_Load, por tanto se asigna al Label2 y al Text1 una cadena vacía, con lo cual borramos el contenido anterior, que es el que se muestra en la Figura.
Hasta que no pulsemos el botón mostrar, no ocurrirá nada

Si queremos que el texto tipeado aparesca todo en mayúsculas a medida que lo tipeamos:

Private Sub Text1_KeyPress(KeyAscii As Integer)
   Dim s As String
   s = UCase(Chr(KeyAscii))
   KeyAscii = Asc(s)
End Sub

Convierte cada tecla pulsada en mayúscula.

Tutorial de Visual Basic

 
Ejemplo de Hola mundo en el evento paint (se lo llama cuando se repinta/redibuja la ventana) 'En el ejercicio anterior si minimizamos y restauramos la ventana nos daremos cuenta
'Que se borra el texto, para evitar eso hacemos uso de este evento.
 
 
Private Sub Form_Paint()
     Form1.Print "Hola Visual Basic."
 
End Sub

'Le agregamos el botón cerrar.
'El nombre del botón por defecto es : Command1.
'Hacemos doble click sobre el botón y escribimos :

Private Sub Command1_Click()
    Unload Form1
End Sub

'Centramos nuestro formulario
 
 
Private Sub Form_Load()
     Form1.Left = (Screen.Width - Width) / 2   ' Centra horizontalmente.
    
Form1.Top = (Screen.Height - Height) / ' Centra verticalmente.
 
End Sub
 

' Para el siguiente ejemplo de ingreso de un password
' necesita arrastrar desde la caja de herramientas (toolbox)
' que se encuentra a la izquierda 2 textboxes y 1 command button
 
     
Private Sub Form_Load()
         Command1.Enabled = False 'deshabilita el botón
     
End Sub
 
     Private Sub Text1_Change
()
         If Text1.Text = "" Then
             
Command1.Enabled = False 'deshabilita el botón sin texto
        
Else
             
Command1.Enabled = True  'Habilitar el botón
        
End If
        
Text2.Text = Text1.Text        'Actualiza el text2
    
End Sub                            'a medido que se cambia text1
 
 
    
Private Sub Command1_Click()
         MsgBox "Texto 1: " & Text1.Text & " y  texto 2 " & Text2.Text
        
Unload Form1
    
End Sub
 

Pulse F5 para probar el código.


' Utilización del picture box para ver imagenes.
' debe arrastrar (en realidad seleccionar y colocar) un picturebox
' en el formulario que hará de contenedor de nuestra imagen.

 
 
Private Sub Command1_Click()
     On Error GoTo fallo:
     Picture1.Picture = LoadPicture("C:\Windows\azteca.bmp")
     Exit Sub
 fallo
:
     MsgBox "Error, fichero no encontrado."
 
End Sub
 


' Ejemplo de uso del msgbox para ingreso de datos.

Private Sub Command1_Click()
    Dim Resp As Integer
    Resp = MsgBox("Hola" & vbCrLf & "Esto es un ejemplo."_
, vbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo")
If Resp = 6 Then MsgBox "Ha pulsado SI" Else MsgBox "Ha pulsado NO" End If End Sub
Nota: el símbolo "_" sirve para continuar una línea en el renglón
siguiente si es muy larga.

' Uso del InputBox para ingreso de texto

Private Sub Command1_Click()
    Dim Val As String
    Val = InputBox("Deme su nombre", "Ejemplo")
    MsgBox "Su nombre es: " & Val
End Sub


' El siguiente es un ejercicio que ejemplifica el uso del editor de menús
' Trabajar con diálogos, abrir y Guardar archivos desde Visual Basic
'Haga click en el formulario una vez y pulse las teclas Ctrl+E.
 'Escriba lo siguiente:
 'Caption: &Abrir
 'Name: menuAbrir
 'Pulse el botón Siguiente.
 'Caption: &Guardar
 'Name: menuGuardar
 'Pulse el botón Siguiente.
 'Caption: &Salir
 'Name: menuSalir
 
 'Ponga un TextBox en el formulario y escriba las siguientes propiedades:
 'Text: ""
 'Multiline: True
 'ScrollBars: Vertical
 
 'En el control CommonDialog escriba: (agregar el componente - Ctrl + T)
 'InitDir: C:\
 'CancelError: True (checked)
 
 ' Uso del CommonDialog para abrir y guardar archivos
 ' Un pequeño editor
 
 ' Menu: Salir
 
Private Sub menuSalir_Click()
     Dim Respuesta As
Integer
    
Respuesta = MsgBox("¿Desea salir del editor?", 36, "Editor")
     If Respuesta = 6 Then
        
Unload Form1
    
End If
 End
Sub
 
 
'Menu Abrir
 
Private Sub menuAbrir_Click()
     Dim nLen, nCanal As
Integer
     On Error GoTo error
    
CommonDialog1.DialogTitle = "Abrir archivo"
    
CommonDialog1.Filter = "Archivos de Texto (*.txt;*.wri;*.me;*.bbs)|*.txt;*.wri;*.me;*.bbs|Todos los ficheros(*.*)|*.*"
    
CommonDialog1.ShowOpen
     nCanal
= FreeFile
    
Open CommonDialog1.filename For Binary As #nCanal
         nLen
= LOF(nCanal)
         Texto$ = Space$(nLen)
         Get #nCanal, , Texto$
         Text1.Text = RTrim$(Texto$)
     Close #nCanal
    
Exit Sub
 
error:
     'Escribe o gestiona el error aquí si quieres
    
Exit Sub
 
End Sub
 
 
'Menu Guardar
 
Private Sub menuGuardar_Click()
     Dim nCanal As Integer
    
On Error GoTo error
    
CommonDialog1.DialogTitle = "Guardar archivo"
    
CommonDialog1.Filter = "Archivos de Texto (*.txt;*.wri;*.me;*.bbs)|*.txt;*.wri;*.me;*.bbs|Todos los ficheros(*.*)|*.*"
    
CommonDialog1.ShowSave
     nCanal
= FreeFile
    
Open CommonDialog1.filename For Output As nCanal
         Print
#nCanal, Text1.Text
    
Close #nCanal
    
Exit Sub
 
error:
     'Escribe o gestiona el error aquí si quieres
    
Close #nCanal
    
Exit Sub
 
End Sub
 
 Pulsamos Ctrl
+E y pinchamos una vez con el rat
ón sobre &Salir y pulsamos el botón Insertar.
 
Escribimos las siguientes propiedades:
 
 Caption: &Editor
 
Name: mnuEditor
 Pinche otra vez
con el r
atón sobre &Salir y pulsamos el botón Insertar.
 
Pulse ahora sobre el b
otón con la punta de flecha hacia la derecha: -->
 Caption: &Seleccionar Todo
 
Name: mnuSeltodo
 
 Pinche otra ve
z con el ratón sobre &Salir y pulsamos el botón Insertar.
 
Pulse ahora sobre el b
otón con la punta de flecha hacia la derecha: -->
 Caption: &Copiar texto
 
Name: mnuCopiar
 
 Pinche otra
vez con el ratón sobre &Salir y pulsamos el botón Insertar.
 
Pulse ahora sobre el
botón con la punta de flecha hacia la derecha: -->
 Caption: &Pegar texto
 
Name: mnuPegar
 
 Pinche otra v
ez con el ratón sobre &Salir y pulsamos el botón Insertar.
 
Pulse ahora sobre el
botón con la punta de flecha hacia la derecha: -->
 Caption: C&ortar texto
 
Name: mnuCortar
 
 A
ñada el siguiente código en General - declaraciones:

 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
 
 Y las siguientes líneas:
 
 Private Sub mnuSeltodo_Click()
     Text1.SetFocus
     Text1
.SelStart = 0
    
Text1.SelLength = Len(Text1.Text)
 End Sub
 
 Private Sub mnuCopiar_Click
()
     Clipboard.Clear
     Clipboard
.SetText Text1.SelText
     Text1
.SetFocus
 
End Sub
 
 Private Sub mnuPegar_Click
()
     Text1.SelText = Clipboard.GetText()
     Text1.SetFocus
 
End Sub
 
 Private Sub mnuCortar_Click
()
     Clipboard.SetText Text1.SelText
     Text1
.SelText = ""
    
Text1.SetFocus
 
End Sub
 
 Private Sub mnuUndo_Click
()
     UndoResultado = SendMessage(Text1.hwnd, &HC7, 0&, 0&)
    
If UndoResultado = -1 Then
        
Beep
         MsgBox
"Error al intentar recuperar.", 20, "Undo"
    
End If
 End
Sub
 
 Private Sub Form_Resize
()
     Text1.Left = 0
    
Text1.Top = 0
    
Text1.Height = Form1.ScaleHeight - StatusBar1.Height
    
Text1.Width = Form1.ScaleWidth
 
End Sub
 
 Private Sub Text1_MouseDown
(Button As Integer, Shift As Integer, X As Single, Y As Single)
     ' Button=1 --> botón izquierdo
     ' Button=4 --> botón central
     ' Button=2 --> botón derecho
    
If Button = 2 Then
        
Text1.Enabled = False
        
Text1.Enabled = True
        
PopupMenu mnuEditor
         Text1
.SetFocus
    
End If
 End
Sub
 
 
 
 

 

 

Copyright(c) 2001 Darío Silva. All rights reserved.
Clases@gdsweb.com.ar