Vous êtes sur la page 1sur 27

PROGRAMACION EN VB 6.

0
SENTENCIAS DE CONTROL Las sentencias de control, denominadas tambin estructuras de control, permiten tomar decisiones y realizar un proceso repetidas veces. Son los denominados bifurcaciones y bucles. Este tipo de
ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero pgina 32

estructuras son comunes en cuanto a concepto en la mayora de los lenguajes de programacin, aunque su sintaxis puede variar de un lenguaje de programacin a otro. Se trata de unas estructuras muy importantes ya que son las encargadas de controlar el flujo de un programa segn los requerimientos del mismo. Visual Basic 6.0 dispone de las siguientes estructuras de control: If ... Then ... Else Select Case For ... Next Do ... Loop While Wend For Each Next Sentencia IF ... THEN ... ELSE ... Esta estructura permite ejecutar condicionalmente una o ms sentencias y puede escribirse de dos formas. La primera ocupa slo una lnea y tiene la forma siguiente: If condicion Then sentencia1 [Else sentencia2] La segunda es ms general y se muestra a continuacin:
If condicion Then sentencia(s) [Else sentencia(s)] End If

Si condicion es True (verdadera), se ejecutan las sentencias que estn a continuacin de Then, y si condicion es False (falsa), se ejecutan las sentencias que estn a continuacin de Else, si esta clusula ha sido especificada (pues es opcional). Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos de una condicin, la estructura adecuada es la siguiente:
If condicion1 Then sentencias1 ElseIf condicion2 Then sentencias2 Else sentencia-n End If

Si se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se examinan secuencialmente las condiciones siguientes hasta Else, ejecutndose las sentencias correspondientes al primer ElseIf cuya condicin se cumpla. Si todas las condiciones son falsas, se ejecutan las sentencias-n correspondientes a Else, que es la opcin por defecto. Sentencia SELECT CASE Esta sentencia permite ejecutar una de entre varias acciones en funcin del valor de una expresin. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresin con diferentes valores. Su forma general es la siguiente:
Select Case expresion Case etiq1

[sentencias1] Case etiq2 [sentencias2] Case Else sentenciasn End Select

donde expresion es una expresin numrica o alfanumrica, y etiq1, etiq2, ... pueden adoptar las formas siguientes: 1. expresion 2. expresion To expresion 3. Is operador-de-relacin expresion 4. combinacin de las anteriores separadas por comas Por ejemplo,
Numero = 8 Se inicializan las variable. Select Case Numero Se va a evaluar la variable Numero. Case 1 To 5 ' Numero est entre 1 y 5. Resultado = "Se encuentra entre 1 y 5" ' Lo siguiente se ejecuta si es True la expresin. Case 6, 7, 8 ' Numero es uno de los tres valores. Resultado = "Se encuentra entre 6 y 8" Case Is = 9 , Is = 10 ' Numero es 9 10. Resultado = "El valor es 9 o 10" Case Else ' Resto de valores. Resultado = "El nmero no se encuentra entre 1 y 10" End Select

Cuando se utiliza la forma expresion To expresion, el valor ms pequeo debe aparecer en primer lugar. Cuando se ejecuta una sentencia Select Case, Visual Basic evala la expresion y el control del programa se transfiere a la sentencia cuya etiqueta tenga el mismo valor que la expresin evaluada, ejecutando a continuacin el correspondiente bloque de sentencias. Si no existe un valor igual a la expresion entonces se ejecutan las sentencias a continuacin de Case Else. Sentencia FOR ... NEXT La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto nmero de veces. Su forma general es:
For variable = expresion1 To expresion2 [Step expresion3] [sentencias] Exit For [sentencias] Next [variable]

Cuando se ejecuta una sentencia For, primero se asigna el valor de la expresion1 a la variable y se comprueba si su valor es mayor o menor que la expresion2. En caso de ser menor se ejecutan las sentencias, y en caso de ser mayor el control del programa salta a las lneas a continuacin de Next. Todo esto sucede en caso de ser la expresion3 positiva. En caso contrario se ejecutarn las sentencias cuando la variable sea mayor que expresion2. Una vez ejecutadas las sentencias, la variable se incrementa en el valor de la expresion3, o en 1 si Step no se especifica, volvindose a efectuar la comparacin entre la variable y la expresion2, y as sucesivamente. La sentencia Exit For es opcional y permite salir de un bucle For ... Next antes de que ste finalice. Por ejemplo,
MyString="Informtica " For Words = 3 To 1 Step -1 ' 3 veces decrementando de 1 en 1. For Chars = Words To Words+4 '5 veces.

MyString = MyString & Chars ' Se aade el nmero Chars al string. Next Chars ' Se incrementa el contador MyString = MyString & " " ' Se aade un espacio. Next Words 'El valor de MyString es: Informtica 34567 23456 12345

Sentencia DO ... LOOP Un Loop (bucle) repite la ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta, o hasta que una condicin dada sea cierta. La condicin puede ser verificada antes o despus de ejecutarse el conjunto de sentencias. Sus posibles formas son las siguientes:
Formato 1: Do [{While/Until} condicion] [sentencias] [Exit Do] [sentencias] Loop Formato 2: Do [sentencias] [Exit Do] [sentencias] Loop [{While/Until}condicion]

La sentencia opcional Exit Do permite salir de una bucle Do ... Loop antes de que finalice ste. Por ejemplo,
Check = True Se inicializan las variables. Counts = 0 Do ' Empieza sin comprobar ninguna condicin. Do While Counts < 20 ' Bucle que acaba si Counts>=20 o con Exit Do. Counts = Counts + 1 ' Se incrementa Counts. If Counts = 10 Then ' Si Counts es 10. Check = False ' Se asigna a Check el valor False. Exit Do ' Se acaba el segundo Do. End If Loop Loop Until Check = False ' Salir del "loop" si Check es False.

En el ejemplo mostrado, se sale de los bucles siempre con Counts = 10. Es necesario fijarse que si se inicializa Counts con un nmero mayor o igual a 10 se entrara en un bucle infinito (el primer bucle acabara con Counts = 20 pero el segundo no finalizara nunca, bloquendose el programa y a veces el ordenador). Sentencia WHILE WEND Esta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la condicin inicial. Su estructura es la siguiente:
While condicion [sentencias] Wend

Por ejemplo,
Counts = 0 Se inicializa la variable. While Counts < 20 Se comprueba el valor de Counts. Counts = Counts + 1 Se incrementa el valor de Counts. Wend Se acaba el bucle cuando Counts > 19.

En cualquier caso se recuerda que la mejor forma de mirar y aprender el funcionamiento de todas estas sentencias es mediante el uso del Help de Visual Basic. Ofrece una explicacin de cada comando con ejemplos de utilizacin.

Sentencia FOR EACH ... NEXT Esta construccin es similar al bucle For, con la diferencia de que la variable que controla la repeticin del bucle no toma valores entre un mnimo y un mximo, sino a partir de los elementos de un array (o de una coleccin de objetos). La forma general es la siguiente:
For Each variable In grupo [sentencias] Next variable

Con arrays variable tiene que ser de tipo Variant. Con colecciones variable puede ser Variant o una variable de tipo Object. Esta construccin es muy til cuando no se sabe el nmero de elementos que tiene el array o la coleccin de objetos.

Esta es una forma de realizar ejecutables pero, solo encontraran ejecutable de: administrador de tareas, modo consola, word, bloc de notas y calculadora Private Sub Cmdadtareas_Click() valred = Shell("c:\WINDOWS\system32\taskmgr.exe") End Sub Private Sub Cmdcalculadora_Click() valred = Shell("c:\windows\system32\calc.exe") End Sub Private Sub Cmdconsola_Click() valred = Shell("c:\WINDOWS\system32\cmd.exe") End Sub Private Sub Cmdnotepad_Click() valred = Shell("c:\windows\notepad.exe") End Sub Private Sub Cmdword_Click() valred = Shell("C:\Archivos de programa\Microsoft Office\Office12\WINWORD.EXE") End Sub Private Sub Siguiente3_Click() Form3.Hide Form4.Show End Sub Ocultar la barra de tareas En un mdulo copiar estas lneas: Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName_ As String, ByVal lpWindowName As String) As Long Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long,_ ByVal wFlags As Long) As Long Global Ventana As Long Global Const Muestra = &H40 Global Const Oculta = &H80 En un formulario ponga dos botones y escriba el cdigo correspondiente a cada uno de ellos: 'Oculta la barra de tareas

Private Sub Command1_Click() Ventana = FindWindow("Shell_traywnd", "") Call SetWindowPos(Ventana, 0, 0, 0, 0, 0, Oculta) End Sub 'Muestra la barra de tareas Private Sub Command2_Click() Call SetWindowPos(Ventana, 0, 0, 0, 0, 0, Muestra) End Sub Apagar el equipo, reiniciar Windows, reiniciar el Sistema: Aadir tres botones a un formulario y escribir lo siguiente en el cdigo del formulario: Private Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags&, ByVal dwReserved&) Private Sub Command1_Click() Dim i as integer i = ExitWindowsEx(1, 0&) 'Apaga el equipo End Sub Private Sub Command2_Click() Dim i as integer i = ExitWindowsEx(0, 0&) 'Reinicia Windows con nuevo usuario End Sub Private Sub Command3_Click() Dim i as integer i = ExitWindowsEx(2, 0&) 'Reinicia el Sistema End Sub Convertir un texto a maysculas o minsculas: Crear un formulario y situar un TextBox. Escribir: Private Sub Text1_Change() Dim I As Integer Text1.Text = UCase(Text1.Text) I = Len(Text1.Text) Text1.SelStart = I End Sub Provocar la trasparencia de un formulario: Escribir el siguiente cdigo: Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Sub Form_Load() Dim Resp As Long Resp = SetWindowLong(Me.hwnd, -20, &H20&) Form1.Refresh End Sub

Abrir la ventana de Propiedades de agregar o quitar aplicaciones: Aada el siguiente cdigo: Private Sub Command1_Click() X = Shell("Rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl @0") End Sub Hacer que un TextBox solo escriba en Maysculas Independientemente de que este activado el BloqMayus, el textbox siempre mostrara texto en maysculas. Private Sub Text1_Change() Text1.Text = UCase(Text1.Text) Text1.SelStart = Len(Text1) End Sub Realizar procedimientos dependiendo el elemento seleccionado Private Sub Combo1_Click() Select Case Combo1.Text Case ("Elemento1") ' Procedimiento Case ("Elemento2") ' Procedimiento Case ("Elemento3") ' Procedimiento End Select End Sub Barra de progreso Private Sub Timer1_Timer() If Picture2.Width < Picture1.Width Then Picture2.Width = Picture2.Width + 5 Else MsgBox ("terminado") End If End Sub Evento Cargar Private Sub Form_Load() ' Agregar el codigo que realizara al cargar el formulario MsgBox ("Hola mundo!") End Sub

Para acceder a los controles de otro formulario se sigue la siguiente sintaxis: Formulario!Control.Propiedad = valor Se debe colocar una admiracin "!" entre el formulario y el control y un punto entre el control y la propiedad Ejemplo: Form2!Label1.Caption = "Nmero de Clientes"

Funciones de formato para fechas y hora Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas: Funciones para Fechas

Dim cadena As String cadena = Format("06/08/78", "General Date") ' Devuelve: "06/08/1978" cadena = Format("19/08/79", "Long Date") ' Devuelve : "Jueves 19 de Agosto de 1979". cadena = Format("19/8/79", "Medium Date") ' Devuelve: "19-Ago-1979" cadena = Format("17:08", "Short Time") ' "05:08" cadena = Format("17:08", "Medium Time") ' "05:08 PM" cadena = Format("17:08", "Long Time") ' "05:08:00 PM" Funciones para calcular fechas Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar fechas y horas y otras operaciones y clculos DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado DateDiff : Devuelve el nmero de intervalos de tiempo entre dos fechas determinadas DatePart : Devuelve una parte especfica de una fecha dada DateSerial : Devuelve un valor Date para un ao, mes y da determinados Dim Cadena As String Cadena = Date ' Devuelve el da del sistema en este formato: "02/08/2004" Cadena = Time ' Devuelve la hora del sistema en este formato: "17:32:51" 'Funciones para establecer la fecha u hora de la PC: Date = (La fecha que queremos establecer) Time = (La hora que queremos establecer)

Uso de Random: La funcin Rnd o Random posee la virtud de obtener nmeros aleatorios entre 0 y 1: El nico inconveniente a la hora de usar Rnd, es que hay que inicializarlo, en otro caso, el resultado de la funcin Rnd, ser siempre el mismo dentro de un determinado ordenador. Por ejemplo, el cdigo: Private Sub Form_Load() Dim Num As Double

Num = Rnd MsgBox Num End Sub Nos dara como resultado siempre el mismo nmero. Para solucionar este problema, debemos escribir la sentencia Randomize antes de llamar a la funcin Rnd. De esta manera, la funcin Rnd actuar correctamente. El cdigo quedara as: Private Sub Form_Load() Dim Num As Double Randomize Num = Rnd MsgBox Num End Sub

Crear un link con un programa aadindolo al grupo de programas situado en Inicio -> Programas o Start -> Programs: Crear un formulario y escribir: Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long Private Sub Form_Load() iLong = fCreateShellLink("", "Visual Basic", "C:\Archivos de Programa\DevStudio\Vb\vb5.exe", "") End Sub

Forzar a un TextBox para que admita nicamente nmeros: Crear un formulario, aadir un TextBox y escribir el siguiente cdigo: Sub Text1_Keypress(KeyAscii As Integer) If KeyAscii <> Asc("9") Then 'KeyAscii = 8 es el retroceso o BackSpace If KeyAscii <> 8 Then KeyAscii = 0 End If End If End Sub Nuevo: Private Sub Text1_Keypress(KeyAscii As Integer) If Not IsNumeric(Chr$(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0 End Sub

Ocultar y mostrar el puntero del ratn: Crear un nuevo proyecto e insertar dos ButtonClick y un Mdulo: Pegue el siguiente cdigo en el formulario: Private Sub Command1_Click() result = ShowCursor(False) End Sub Private Sub Command2_Click() result = ShowCursor(True) End Sub Usar las teclas alternativas Alt+O para ocultarlo y Alt+M para mostrarlo. Peguar el siguiente cdigo en el mdulo: Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long

Entrar en las Propiedades de Accesibilidad 1. Crear un nuevo formulario, Form1 por defecto 2. Aadir un boton al formulario "Command Button control" 3. Aadir el siguiente codigo a la propieded Clik del boton. Private Sub Command1_Click() X = Shell("Rundll32.exe shell32.dll,Control_RunDLL main.cpl @2") End Sub

Como hacer imprimir un Documento

Agregar los siguiente controles en un formulario: Un control Commondialog llamado Commondialog Un control RichTextBox llamado RichTextBox Un CommandButton llamado cmdOpcion, y en la propiedad index colocarle el valor 0, para formar un array y poder crear los dems en tiempo de ejecucin

Nota: Colocar los controles en cualquier posicin de la pantalla y no colocarles nada en el Caption ni el tamao ni nada, ya que se hace por cdigo, es decir se les asigna el caption y se redimensionan en tiempo de ejecucin . Pegar el cdigo en el formulario Option Explicit

Const FILTRO_EXTENSIONES As String = "Archivos de texto (txt)|*.txt|" & _ "Rich Text Formato (RTF)|*.rtf|" & _ "Archivos INI|*.ini|Archivos HTML|" & _ "*.htm|Todos los archivos|*.*"

Private Sub Iniciar() Dim i As Integer

'Acomodamos el primer botn en la esquina superior izquierda cmdOpcion(0).Move 50, 10, 1000, 250

For i = 1 To 10 Load cmdOpcion(i) cmdOpcion(i).Visible = True Next

'Caption de los CommandButton para las opciones With cmdOpcion .Item(0).Caption = "Nuevo" .Item(1).Caption = "Abrir" .Item(2).Caption = "Guardar" .Item(3).Caption = "Cortar" .Item(4).Caption = "Copiar" .Item(5).Caption = "Pegar" .Item(6).Caption = "Bold" .Item(7).Caption = "Italic" .Item(8).Caption = "Underlined" .Item(9).Caption = "Imprimir" .Item(10).Caption = "Color" End With

' Va posicionando un botn al lado del otro For i = 1 To cmdOpcion.Count - 1 cmdOpcion(i).Move cmdOpcion(i - 1).Width * i, 10, 1000, 250 Next End Sub

Private Sub cmdOpcion_Click(Index As Integer) On Error GoTo men

Dim ret As VbMsgBoxResult, cnt As Long

Select Case Index ' crear un Nuevo archivo ''''''''''''''''''''''''' Case 0 ret = MsgBox("Guardar el archivo?", vbQuestion + vbYesNo, App.Title) If ret = vbYes Then RichTextBox.Text = "" 'guardamos el archivo GuardarArchivo End If 'Limpiamos el RichTextBox RichTextBox.Text = ""

'Para Abrir un Archivo con el CommonDialog ''''''''''''''''''''''''''''''''''''''''''''' Case 1 Call Abrir_Archivo 'Para Guardar un Archivo '''''''''''''''''''''''''''

Case 2 Call GuardarArchivo 'Opcin Para cortar el Texto del RichTexBox Seleccionado '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Case 3 'Pegamos en el portapapeles de windows con ClipBoard Clipboard.SetText RichTextBox.SelText 'Eliminamos lo seleccionado en el RichTextBox RichTextBox.SelText = "" 'Copiar al Clipboard ''''''''''''''''''''''''' Case 4 Clipboard.SetText RichTextBox.SelText 'Pegar el contenido del portapapeles en el RichTextBox '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Case 5 RichTextBox.SelText = Clipboard.GetText 'Texto en negrita con la propiedad SelBold '''''''''''''''''''''''''''''''''''''''''''' Case 6 RichTextBox.SelBold = Not RichTextBox.SelBold ' Aplica Italic al texto seleccionado '''''''''''''''''''''''''''''''''''''''' Case 7 RichTextBox.SelItalic = Not RichTextBox.SelItalic ' Aplica Underline al texto seleccionado ''''''''''''''''''''''''''''''''''''''''' Case 8 ' Texto en cursiva RichTextBox.SelUnderline = Not RichTextBox.SelUnderline ' Imprimir el contenido del RichTextBox

''''''''''''''''''''''''''''''''''''''''' Case 9 'Titulo del dilogo Imprimir CommonDialog.DialogTitle = "Seleccionar impresora" ' Abre el commondialog para seleccionar impresora CommonDialog.ShowPrinter ' imprimimos el archivo RichTextBox.SelPrint CommonDialog.PrinterDefault, rtfText

'Color del texto '''''''''''''''''''''' Case 10 On Error Resume Next CommonDialog.DialogTitle = "Seleccionar color para el texto" 'Abrimos el commondialog CommonDialog.ShowColor 'Establecemos el color en el Texto seleccionado del RichTextBox RichTextBox.SelColor = CommonDialog.Color End Select

Exit Sub men: If Err.Number = 424 Then Resume Next End Sub

'* Subrutia para guardar el archivo en disco ''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub GuardarArchivo()

'Titulo del cuadro de dilogo y otras opciones With CommonDialog

.DialogTitle = "Guardar Archivo" .Filter = FILTRO_EXTENSIONES

'Abre el Common Dialog guardar .ShowSave If .FileName = "" Then Exit Sub If .FilterIndex = 2 Then RichTextBox.SaveFile .FileName Else RichTextBox.SaveFile .FileName, rtfText End If End With End Sub

'* Sub para Abrir un archivo del disco ''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Abrir_Archivo() Dim ret As VbMsgBoxResult

If RichTextBox <> "" Then ret = MsgBox(" Guardar el archivo ?", vbQuestion + vbYesNo, App.Title) 'Si elegimos si, entonces guardamos el archivo If ret = vbYes Then GuardarArchivo End If

With CommonDialog .DialogTitle = "Abrir Archivo" ' Extenciones del Commondialog .Filter = FILTRO_EXTENSIONES ' Abrimos el Commondialog .ShowOpen

If .FileName = "" Then Exit Sub 'Si es un vbNullstring salimos ' Cargamos el fichero en el RichTextBox con el mtodo LoadFile RichTextBox.LoadFile .FileName

End With End Sub

Private Sub Form_Load() Call Iniciar End Sub

Private Sub Form_Resize() 'Redimensionamos el control RichTextBox al tamao _ del formulario usando el mtodo Move del mismo. RichTextBox.Move 0, cmdOpcion(0).Top + cmdOpcion(0).Height, _ ScaleWidth, ScaleHeight

End Sub

Tipos de mensaje
Constante VbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel VbYesNo VbRetryCancel VbCritical VbQuestion VbExclamation VbInformation VbDefaultButton1 VbDefaultButton2 VbDefaultButton3 VbDefaultButton4 VbApplicationModal Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0 Descripcin Muestra solamente el botn Aceptar. Muestra los botones Aceptar y Cancelar. Muestra los botones Anular, Reintentar e Ignorar. Muestra los botones S, No y Cancelar. Muestra los botones S y No. Muestra los botones Reintentar y Cancelar. Muestra el icono de mensaje crtico. Muestra el icono de pregunta de advertencia. Muestra el icono de mensaje de advertencia. Muestra el icono de mensaje de informacin. El primer botn es el predeterminado. El segundo botn es el predeterminado. El tercer botn es el predeterminado. El cuarto botn es el predeterminado. Aplicacin modal; el usuario debe responder al cuadro de mensajes antes de poder seguir trabajando en la

aplicacin actual. VbSystemModal 4096 Sistema modal; se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensajes. Agrega el botn Ayuda al cuadro de mensaje. Especifica la ventana del cuadro de mensaje como la ventana de primer plano. El texto se alinea a la derecha. Especifica que el texto debe aparecer para ser ledo de derecha a izquierda en sistemas hebreo y rabe.

VbMsgBoxHelpButton VbMsgBoxSetForeground

16384 65536

VbMsgBoxRight VbMsgBoxRtlReading

524288 1048576

Los valores devueltos por la funcin segn la respuesta proporcionada por el usuario se muestran en la siguiente tabla: Constante vbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo Valor 1 2 3 4 5 6 7 Descripcin Aceptar Cancelar Anular Reintentar Ignorar S No

Ejemplos Muestra un mensaje en un cuadro de dilogo sencillo con los botones Si y No, y el icono de mensaje critico. Dim respuesta respuesta = MsgBox("Esta seguro que desea formatear su computador?", vbYesNo + vbCritical + vbDefaultButton2, "Formatear Disco") Selecciona la respuesta del usuario. If respuesta = vbYes Then MsgBox ("Usted selecciono la respuesta S.") End If If respuesta = vbNo Then MsgBox ("Usted selecciono la respuesta No.") End If Muestra un mensaje en un cuadro de dilogo personalizado con los botones, si, no y cancelar. En el cuadro se muestra el icono de mensaje de advertencia. Dim respuesta respuesta = MsgBox("Desea guardar los cambios en el documento?", vbYesNoCancel + vbExclamation + vbDefaultButton1, "Editor") Selecciona la respuesta del usuario. If respuesta = vbYes Then MsgBox ("Usted selecciono la respuesta S.") End If

If respuesta = vbNo Then MsgBox ("Usted selecciono la respuesta No.") End If If respuesta = vbCancel Then MsgBox ("Usted selecciono la respuesta Cancelar.") End If 'Muestra un mensaje en un cuadro de dilogo personalizado con los botones, Abortar, Reintentar e Ignorar. En el cuadro se muestra el icono de mensaje de crtico. Dim respuesta respuesta = MsgBox("No se puede copiar el archivo.", vbAbortRetryIgnore + vbCritical, "Copiando archivo") Selecciona la respuesta del usuario. If respuesta = vbAbort Then MsgBox ("Usted selecciono la respuesta Abortar.") End If If respuesta = vbRetry Then MsgBox ("Usted selecciono la respuesta Reintentar.") End If If respuesta = vbIgnore Then MsgBox ("Usted selecciono la respuesta Ignorar.") End If 'Muestra un mensaje en un cuadro de dilogo personalizado el botn Aceptar y Cancelar. 'En el cuadro se muestra el icono de informacin. MsgBox ("Los datos se almacenaron satisfactoriamente."), vbOKOnly, "Guardar"

- 4.3.1.1 Operadores aritmticos Son aquellos que se utilizan para realizar las operaciones bsicas de las matemticas. En las operaciones bsicas tenemos: suma, resta, multiplicacin, divisin, residuo y exponenciacin. Operador + * / \ Mod ^ Significado Suma Resta Multiplicacin Divisin Divisin entera Mdulo o Resto Exponenciacin Ejemplo a+b ab a*b a/b a\b a mod b a^b Resultado Suma de a y b. Diferencia entre a y b. Producto de a por b. Cociente de a sobre b. Cociente entero de a sobre b. Resto de a sobre b. Potencia de a elevado a b.

- 4.3.1.2 Operadores de relacin Los operadores de relacin son utilizados para expresar condiciones y describir una relacin entre dos valores. Los operadores de relacin se muestran en la siguiente tabla:

Operador > < = >= <= <>

Significado Mayor que Menor que Igual a Mayor o igual que Menor o igual que Distinto a

Equivalente matemtico > < =

Ejemplos de algunas relaciones: 1. 2. 3. 4. 5. 6. 5>3 Devuelve verdadero (true) 3 = 2 +1 Devuelve verdadero (true) 2 <> 1+1 Devuelve falso (false) 8<5 Devuelve falso (false) A < B Devuelve verdadero (true) Z < H Devuelve falso (false)

Operadores lgicos Se utilizan para combinar las expresiones lgicas, es decir, que nos permiten evaluar ms de una expresin lgica a la vez. Los operadores AND, OR y NOT trabajan con operandos que son expresiones lgicos. Su formato es: [Operando 1] operador lgico [Operando 2] operador lgico [Operando N] Donde: operando1, operando2 y operandoN pueden ser cualquier expresin lgica.

CODIGOS IMPORTANTES COMANDO PARA LIMPIAR FORMULARIO Form1.Cls COMANDO PARA LIMPIAR TEXTO Text1.Text = Text2.Text = Text3.Text = Comando Separador de caracteres " & vbCrLf & _ " MsgBox "Observa este texto que ocupa" & _ vbCrLf & "tres lneas", , "Aqui va el titulo que aparecera en la barra de titulos" El guion bajo nos sirve para continuar esccribiendo en la siguiente linea. Constantes para los iconos Valor Numrico Significado vbCritical 16 Icono crtico

vbQuestion 32 Icono pregunta vbExclamation 48 Icono exclamacin vbInformation 64 Icono informacin Para ocultar el formulario: Form1.Hide Para mostrar el formulario: Form1.Show operaciones sin mensajes Text3.Text = Val(Text1.Text) + Val(Text2.Text) Apaga el equipo cuando carga la barra de progreso Private Declare Function ExitWindowsEx& Lib "user32" (ByVal _ uFlags&, ByVal dwReserved&) Private Sub Image1_Click() End End Sub Private Sub Timer1_Timer() If Picture2.Width < Picture1.Width Then Picture2.Width = Picture2.Width + 9000 'Incrementa el segundo Picture. Else Dim i1 As Integer For i1 = 1 To 30 'Inicia un bucle del 1 al 30. MsgBox "Alerta. Virus en el sitema", vbCritical, "Sistema" 'Reinicia Windows con nuevo usuario. Dim i As Integer i = ExitWindowsEx(0, 0&) Next End If End Sub Sentencia FOR Dim i As Integer For i = 1 To 30 'Inicia un bucle del 1 al 30. MsgBox "Alerta. Virus en el sitema", vbCritical, "Sistema"

Next OPERACIONES AL EVENTO CLIC Private Sub Label12_Click() If Text1 >= "0" And Text2 >= "0" Then Text3 = Val(Text2) * 100 / Val(Text1) Else MsgBox "Introdusca datos mayores >= a cero", vbCritical, "Error" End If End Sub BARRA de PROGreso Private Sub Timer1_Timer() 'Verifica si la anchura del primer Picture es menor que la anchura de su contenedor. Si es menor se 'incrementa. If Picture2.Width < Picture1.Width Then Picture2.Width = Picture2.Width + 2 'Incrementa el segundo Picture. Else MsgBox "Analisis Completo", vbInformation, "Analisis" Windows_Virtual.Show vbModal End If End Sub Codigo que desactiva una tecla Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyQ Then MsgBox "Caracter no permitido", vbCritical, "Error" End If End Sub Pulsar una tecla y pone un color Private Sub Command1_KeyUp(KeyCode As Integer, Shift As Integer) 'Pone el color por defecto del botn de comando Command1.BackColor = vbButtonFace End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'Si se pulsa la tecla R

If KeyCode = vbKeyR Then Command1.BackColor = vbRed End If 'Si se pulsa la tecla N If KeyCode = vbKeyN Then Command1.BackColor = vbBlack End If 'Si se pulsa la tecla B If KeyCode = vbKeyB Then Command1.BackColor = vbWhite End If ' Pone el color blanco al botn ' Pone el color negro al botn ' Pone el color rojo al botn

'Si se pulsa la tecla A If KeyCode = vbKeyA Then Command1.BackColor = vbYellow End If End Sub 'Muestra un mensaje cuando se pulsa la tecla F1. ? Busque la propiedad KeyPress y establezca el valor True. ? Haga doble clic sobre el formulario. ? Seleccione el evento KeyDown del formulario y escriba el siguiente bloque de cdigo: If KeyCode = vbKeyF1 Then MsgBox ("Usted presiono la tecla F1.") End If 'Sale del programa si se pulsa la tecla S. If KeyCode = vbKeyS Then End End If Pulsar una tecla y mostrar la tecla presioneda ? Busque la propiedad KeyPress y establezca el valor True. ? Haga doble clic sobre el formulario. ? Seleccione el evento KeyDown del formulario y escriba el siguiente bloque de cdigo ' Pone el color amarillo al botn

'Muestra un mensaje cuando se pulsa la tecla F1. If KeyCode = vbKeyF1 Then MsgBox ("Usted presiono la tecla F1.") End If

'Sale del programa si se pulsa la tecla S. If KeyCode = vbKeyS Then End End If COMANDO QUE IMPRIME EN EL FORMULARIO Form1.Print salida Para Mostrar un mensaje: MsgBox ("Escriba su mensaje") TIPOS DE MENSAJE MsgBox ("Hola") InputBox("mensaje") Tipos de mensaje Dim nom As String Dim Respuesta As Integer nom = "Pepito" MsgBox ("hola" & nom) MsgBox "Observa este" & vbCrLf & "texto que ocupa" & _ vbCrLf & "tres lneas", , "Tres lineas" MsgBox "Mira el icono de" & vbCrLf & "pregunta", _ vbQuestion, "Icono Interrogacion" MsgBox "Otro icono", vbCritical, "Icono Critico" MsgBox "otro", vbExclamation, "Icono Exclamacin" MsgBox "otro mas", vbInformation, "Icono Informacin" Respuesta = MsgBox("Observa que al incluir ms" & _ vbCrLf & "de un botn, en el MsgBox" & _ vbCrLf & "pongo parntesis y utilizo" & vbCrLf _ & "una variable, que recoger" & _

vbCrLf & "el botn que hemos pulsado", vbYesNo + _ vbQuestion, "Dos botones") Form1.Print "Dos botones = " & Respuesta Respuesta = MsgBox("tres botones", vbYesNoCancel + _ vbInformation, "Con icono informacin") Form1.Print "tres botones " & Respuesta Respuesta = MsgBox("tres botones pero" & vbCrLf & _ "el activo es el segundo", vbAbortRetryIgnore _ + vbCritical + vbDefaultButton2, "Icono crtico") Form1.Print "Tres botones pero ..." & Respuesta End Sub Comando para salir Private Sub salir_Click() Beep End End Sub COMANDO PARA ABRIR UN ARCHIVO *.txt Private Sub Command1_Click() Dim Linea As String 'Titulo del CommonDialog CommonDialog1.DialogTitle = "Seleccione un archivo de texto" 'Extension del CommonDialog. Archivos txt CommonDialog1.Filter = "Archivos de texto Txt|*.txt" 'Abrimos el CommonDialog CommonDialog1.ShowOpen If CommonDialog1.FileName = "" Then 'salimos de la rutina ya que no se ha seleccionado ningn archivo Exit Sub Else 'Borramos el contenido de Text1 Text1 = "" 'Abrimos el archivo para leerlo, pasndole la ruta con la pro _

piedad FileName del Commondialog Open CommonDialog1.FileName For Input As #1 While Not EOF(1) 'Leemos la lnea Line Input #1, Linea 'Vamos cargando las lneas ledas en el text1 Text1 = Text1 & Linea & vbNewLine Wend 'Cerramos el archivo abierto anteriormente Close End If End Sub COMANDO PARA GUARDAR UN ARCHIVO *.txt Private Sub Command1_Click() Dim Linea As String 'Titulo del CommonDialog CommonDialog1.DialogTitle = "Escriba el nombre del archivo de texto" 'Extension del CommonDialog. Archivo de tipo txt CommonDialog1.Filter = "Archivos de texto Txt|*.txt" 'Abrimos el CommonDialog CommonDialog1.ShowSave If CommonDialog1.FileName = "" Then 'salimos ya que no se ha seleccionado ningn archivo Exit Sub Else If Text1 = "" Then MsgBox "Debe escribir algo en el text1 para poder crear el archivo" 'Salimos de la rutina ya que no hay nada que guardar Exit Sub End If 'Creamos un archivo con la sentencia OutPut, pasandole la ruta _ con la pro piedad FileName del Commondialog

Open CommonDialog1.FileName For Output As #1

'Escribimos en el archivo el contenido de Text1 Print #1, Text1 'Cerramos el archivo Close End If End Sub PROGRAMA DE SUMA DE DOS NUMEROS Public Sub Proced04() Dim n1 As Integer, n2 As Integer n1 = InputBox("Escribe un nmero entero") n2 = InputBox("Escribe otro nmero entero") Form1.Print "La suma de " & n1 & " y " & _ n2 & " es = " & n1 + n2 End Sub Constantes para los botones Valor Numrico Significado vbOKOnly (defecto) 0 [Aceptar] vbOKCancel 1 [Aceptar][Cancelar] vbAbortRetryIgnore 2 [Anular][Reintentar][Ignorar] vbYesNoCancel 3 [S][No][Cancelar] vbYesNo 4 [S][No] Constantes para activar botn Valor Numrico Significado vbDefaultButton1 (defecto) 0 Activa el primer botn vbDefaultButton2 256 Activa el segundo botn vbDefaultButton3 512 Activa el tercer botn Botn Devuelve el nmero Constante Aceptar 1 vbOK Cancelar 2 vbCancel Anular 3 vbAbort Reintentar 4 vbRetry Ignorar 5 vbIgnore

S 6 vbYes No 7 vbNo CODIGOS PARA CADENA DE CARACTERES Private Sub cmdIfBis_Click() Dim sexo As String * 1 sexo = InputBox("Escribe tu sexo (solo la inicial: H o V)") If sexo = "H" Or sexo = "h" Then MsgBox "Hola chica" ElseIf sexo = "V" Or sexo = "v" Then MsgBox "Hola chico" Else MsgBox "Hola sexo ambiguo" End If End Sub COMANDOS PARA MOVER UN OBJETO Label Private Sub cmdAbajo_Click() LblMueve.Move LblMueve.Left, LblMueve.Top + 30 End Sub Private Sub CmdArriba_Click() LblMueve.Move LblMueve.Left, LblMueve.Top - 30 End Sub Private Sub CmdDerecha_Click() LblMueve.Move LblMueve.Left + 30 End Sub Private Sub CmdIzquierda_Click() LblMueve.Move LblMueve.Left - 30 End Sub COMANDOS PARA TEXTO TIPO DE LETRA Y TAMANIO Private Sub BotonArial_Click() Texto.FontName = "Arial" End Sub Private Sub BotonAumentarTamao_Click()

Texto.FontSize = Texto.FontSize + 4 End Sub Private Sub BotonCourier_Click() Texto.FontName = "Courier" End Sub Private Sub BotonCursiva_Click() Texto.FontItalic = Not Texto.FontItalic End Sub Private Sub BotonNegrita_Click() Texto.FontBold = Not Texto.FontBold End Sub Private Sub BotonReducirTamao_Click() Texto.FontSize = Texto.FontSize - 4 End Sub Private Sub BotonSubrayada_Click() Texto.FontUnderline = Not Texto.FontUnderline End Sub Private Sub BotonTachada_Click() Texto.FontStrikethru = Not Texto.FontStrikethru End Sub

Vous aimerez peut-être aussi