programacion en visual basic

28
PROGRAMACION EN VB 6.0 SENTENCIAS DE CONTROL Las sentencias de control, denominadas también 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 página 32 estructuras son comunes en cuanto a concepto en la mayoría de los lenguajes de programación, aunque su sintaxis puede variar de un lenguaje de programación a otro. Se trata de unas estructuras muy importantes ya que son las encargadas de controlar el flujo de un programa según 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 más sentencias y puede escribirse de dos formas. La primera ocupa sólo una línea y tiene la forma siguiente: If condicion Then sentencia1 [Else sentencia2] La segunda es más general y se muestra a continuación: If condicion Then sentencia(s) [Else sentencia(s)] End If Si condicion es True (verdadera), se ejecutan las sentencias que están a continuación de Then, y si condicion es False (falsa), se ejecutan las sentencias que están a continuación de Else, si esta cláusula 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 condición, 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, ejecutándose las sentencias correspondientes al primer ElseIf cuya condición se cumpla. Si todas las condiciones son falsas, se ejecutan las sentencias-n correspondientes a Else, que es la opción por defecto. Sentencia SELECT CASE Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresión con diferentes valores. Su forma general es la siguiente: Select Case expresion Case etiq1

Upload: josevalenti

Post on 13-Apr-2015

65 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Programacion en Visual Basic

PROGRAMACION EN VB 6.0SENTENCIAS DE CONTROLLas sentencias de control, denominadas también estructuras de control, permiten tomar decisionesy realizar un proceso repetidas veces. Son los denominados bifurcaciones y bucles. Este tipo deESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 32estructuras son comunes en cuanto a concepto en la mayoría de los lenguajes de programación,aunque su sintaxis puede variar de un lenguaje de programación a otro. Se trata de unas estructurasmuy importantes ya que son las encargadas de controlar el flujo de un programa según losrequerimientos del mismo. Visual Basic 6.0 dispone de las siguientes estructuras de control:If ... Then ... ElseSelect CaseFor ... NextDo ... LoopWhile … WendFor Each … Next

Sentencia IF ... THEN ... ELSE ...Esta estructura permite ejecutar condicionalmente una o más sentencias y puede escribirse de dosformas. La primera ocupa sólo una línea y tiene la forma siguiente:If condicion Then sentencia1 [Else sentencia2]La segunda es más general y se muestra a continuación:If condicion Thensentencia(s)[Elsesentencia(s)]End IfSi condicion es True (verdadera), se ejecutan las sentencias que están a continuación deThen, y si condicion es False (falsa), se ejecutan las sentencias que están a continuación de Else, siesta cláusula ha sido especificada (pues es opcional). Para indicar que se quiere ejecutar uno devarios bloques de sentencias dependientes cada uno de ellos de una condición, la estructuraadecuada es la siguiente:If condicion1 Thensentencias1ElseIf condicion2 Thensentencias2Elsesentencia-nEnd IfSi se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se examinansecuencialmente las condiciones siguientes hasta Else, ejecutándose las sentencias correspondientesal primer ElseIf cuya condición se cumpla. Si todas las condiciones son falsas, se ejecutan lassentencias-n correspondientes a Else, que es la opción por defecto.

Sentencia SELECT CASEEsta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión.Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresión con diferentesvalores. Su forma general es la siguiente:Select Case expresionCase etiq1

Page 2: Programacion en Visual Basic

[sentencias1]Case etiq2[sentencias2]Case ElsesentenciasnEnd Selectdonde expresion es una expresión numérica o alfanumérica, y etiq1, etiq2, ... pueden adoptar lasformas siguientes:1. expresion2. expresion To expresion3. Is operador-de-relación expresion4. combinación de las anteriores separadas por comasPor 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 expresión.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 número no se encuentra entre 1 y 10"End SelectCuando se utiliza la forma expresion To expresion, el valor más pequeño debe aparecer enprimer lugar.Cuando se ejecuta una sentencia Select Case, Visual Basic evalúa la expresion y el controldel programa se transfiere a la sentencia cuya etiqueta tenga el mismo valor que la expresiónevaluada, ejecutando a continuación el correspondiente bloque de sentencias. Si no existe un valorigual a la expresion entonces se ejecutan las sentencias a continuación de Case Else.

Sentencia FOR ... NEXTLa sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias ciertonúmero 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 variabley se comprueba si su valor es mayor o menor que la expresion2. En caso de ser menor se ejecutanlas sentencias, y en caso de ser mayor el control del programa salta a las líneas a continuación deNext. Todo esto sucede en caso de ser la expresion3 positiva. En caso contrario se ejecutarán lassentencias cuando la variable sea mayor que expresion2. Una vez ejecutadas las sentencias, lavariable se incrementa en el valor de la expresion3, o en 1 si Step no se especifica, volviéndose aefectuar la comparación 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 éstefinalice. Por ejemplo,MyString="Informática "For Words = 3 To 1 Step -1 ' 3 veces decrementando de 1 en 1.For Chars = Words To Words+4 '5 veces.

Page 3: Programacion en Visual Basic

MyString = MyString & Chars ' Se añade el número Chars al string.Next Chars ' Se incrementa el contadorMyString = MyString & " " ' Se añade un espacio.Next Words'El valor de MyString es: Informática 34567 23456 12345

Sentencia DO ... LOOPUn Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada seacierta, o hasta que una condición dada sea cierta. La condición puede ser verificada antes o despuésde 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 = 0Do ' Empieza sin comprobar ninguna condición.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 IfLoopLoop 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 fijarseque si se inicializa Counts con un número mayor o igual a 10 se entraría en un bucle infinito (elprimer bucle acabaría con Counts = 20 pero el segundo no finalizaría nunca, bloqueándose elprograma y a veces el ordenador).

Sentencia WHILE … WENDEsta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la condicióninicial. Su estructura es la siguiente:While condicion[sentencias]WendPor 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 detodas estas sentencias es mediante el uso del Help de Visual Basic. Ofrece una explicación de cadacomando con ejemplos de utilización.

Page 4: Programacion en Visual Basic

Sentencia FOR EACH ... NEXTEsta construcción es similar al bucle For, con la diferencia de que la variable que controla larepetición del bucle no toma valores entre un mínimo y un máximo, sino a partir de los elementosde un array (o de una colección de objetos). La forma general es la siguiente:For Each variable In grupo[sentencias]Next variableCon arrays variable tiene que ser de tipo Variant. Con colecciones variable puede ser Varianto una variable de tipo Object. Esta construcción es muy útil cuando no se sabe el número deelementos que tiene el array o la colección 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 SubPrivate Sub Cmdword_Click()valred = Shell("C:\Archivos de programa\Microsoft Office\Office12\WINWORD.EXE")End SubPrivate Sub Siguiente3_Click()Form3.HideForm4.ShowEnd Sub

Ocultar la barra de tareasEn un módulo copiar estas líneas:

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName_ As String, ByVal lpWindowName As String) As LongDeclare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfterAs Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long,_ByVal wFlags As Long) As LongGlobal Ventana As LongGlobal Const Muestra = &H40Global Const Oculta = &H80

En un formulario ponga dos botones y escriba el código correspondientea cada uno de ellos:

'Oculta la barra de tareas

Page 5: Programacion en Visual Basic

Private Sub Command1_Click() Ventana = FindWindow("Shell_traywnd", "") Call SetWindowPos(Ventana, 0, 0, 0, 0, 0, Oculta)End Sub

'Muestra la barra de tareasPrivate Sub Command2_Click() Call SetWindowPos(Ventana, 0, 0, 0, 0, 0, Muestra)End Sub

Apagar el equipo, reiniciar Windows, reiniciar el Sistema:

Añadir tres botones a un formulario y escribir lo siguiente en el código del formulario:

Private Declare Function ExitWindowsEx& Lib "user32" (ByValuFlags&, ByVal dwReserved&)

Private Sub Command1_Click()Dim i as integeri = ExitWindowsEx(1, 0&) 'Apaga el equipoEnd Sub

Private Sub Command2_Click()Dim i as integeri = ExitWindowsEx(0, 0&) 'Reinicia Windows con nuevo usuarioEnd Sub

Private Sub Command3_Click()Dim i as integeri = ExitWindowsEx(2, 0&) 'Reinicia el SistemaEnd Sub

Convertir un texto a mayúsculas o minúsculas:

Crear un formulario y situar un TextBox. Escribir:

Private Sub Text1_Change()Dim I As IntegerText1.Text = UCase(Text1.Text)I = Len(Text1.Text)Text1.SelStart = IEnd Sub

Provocar la trasparencia de un formulario:

Escribir el siguiente código:

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 LongResp = SetWindowLong(Me.hwnd, -20, &H20&)Form1.RefreshEnd Sub

Page 6: Programacion en Visual Basic

Abrir la ventana de Propiedades de agregar o quitar aplicaciones:

Añada el siguiente código:

Private Sub Command1_Click()X = Shell("Rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl @0")End Sub

Hacer que un TextBox solo escriba en Mayúsculas Independientemente de que este activado el BloqMayus, el textbox siempre mostrara texto en mayúsculas.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.TextCase ("Elemento1")' ProcedimientoCase ("Elemento2")' ProcedimientoCase ("Elemento3")' ProcedimientoEnd SelectEnd Sub

Barra de progresoPrivate Sub Timer1_Timer()If Picture2.Width < Picture1.Width ThenPicture2.Width = Picture2.Width + 5

ElseMsgBox ("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 admiración "!" entre el formulario y el control y un punto entre el control y la propiedad

Ejemplo:Form2!Label1.Caption = "Número de Clientes"

Page 7: Programacion en Visual Basic

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 defechas, sumar y restar fechas y horas y otras operaciones y cálculos

DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado

DateDiff : Devuelve el número de intervalos de tiempo entre dos fechas determinadas

DatePart : Devuelve una parte específica de una fecha dada

DateSerial : Devuelve un valor Date para un año, mes y día determinados

Dim Cadena As StringCadena = Date ' Devuelve el día 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 función Rnd o Random posee la virtud de obtener números 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 función Rnd, será siempre el mismo dentro de un determinado ordenador.Por ejemplo, el código:

Private Sub Form_Load() Dim Num As Double

Page 8: Programacion en Visual Basic

Num = Rnd MsgBox NumEnd Sub

Nos daría como resultado siempre el mismo número.

Para solucionar este problema, debemos escribir la sentencia Randomize antes de llamara la función Rnd. De esta manera, la función Rnd actuará correctamente.

El código quedaría así:

Private Sub Form_Load() Dim Num As Double Randomize Num = Rnd MsgBox NumEnd Sub

Crear un link con un programa añadiéndolo al grupo de programas situado en

Inicio -> Programas o Start -> Programs:

Crear un formulario y escribir:

Private Declare Function fCreateShellLinkLib "STKIT432.DLL" (ByVal lpstrFolderNameAs 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 números:

Crear un formulario, añadir un TextBox y escribir el siguiente código:

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 IfEnd Sub

Nuevo:

Private Sub Text1_Keypress(KeyAscii As Integer)If Not IsNumeric(Chr$(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0End Sub

Page 9: Programacion en Visual Basic

Ocultar y mostrar el puntero del ratón:

Crear un nuevo proyecto e insertar dos ButtonClick y un Módulo:

Pegue el siguiente código 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 código en el módulo:

Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long

Entrar en las Propiedades de Accesibilidad 1. Crear un nuevo formulario, Form1 por defecto2. Añadir un boton al formulario "Command Button control"3. Añadir 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 losdemás en tiempo de ejecución

Nota: Colocar los controles en cualquier posición de la pantalla y no colocarles nada en el Caption ni el tamaño ni nada, yaque se hace por código, es decir se les asigna el caption y se redimensionan en tiempo de ejecución .

Pegar el código en el formulario

Option Explicit

Page 10: Programacion en Visual Basic

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 botón 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

Page 11: Programacion en Visual Basic

' Va posicionando un botón 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

'''''''''''''''''''''''''''

Page 12: Programacion en Visual Basic

Case 2

Call GuardarArchivo

'Opción 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

Page 13: Programacion en Visual Basic

'''''''''''''''''''''''''''''''''''''''''

Case 9

'Titulo del diálogo 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 diálogo y otras opciones

With CommonDialog

Page 14: Programacion en Visual Basic

.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

Page 15: Programacion en Visual Basic

If .FileName = "" Then Exit Sub 'Si es un vbNullstring salimos

' Cargamos el fichero en el RichTextBox con el método 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 tamaño _

del formulario usando el método Move del mismo.

RichTextBox.Move 0, cmdOpcion(0).Top + cmdOpcion(0).Height, _

ScaleWidth, ScaleHeight

End Sub

Tipos de mensaje

Constante Valor DescripciónVbOKOnly 0 Muestra solamente el botón Aceptar.VbOKCancel 1 Muestra los botones Aceptar y Cancelar.VbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.

VbYesNoCancel 3 Muestra los botones Sí, No y Cancelar.VbYesNo 4 Muestra los botones Sí y No.VbRetryCancel 5 Muestra los botones Reintentar y Cancelar.VbCritical 16 Muestra el icono de mensaje crítico.VbQuestion 32 Muestra el icono de pregunta de advertencia.VbExclamation 48 Muestra el icono de mensaje de advertencia.VbInformation 64 Muestra el icono de mensaje de información.VbDefaultButton1 0 El primer botón es el predeterminado.VbDefaultButton2 256 El segundo botón es el predeterminado.VbDefaultButton3 512 El tercer botón es el predeterminado.VbDefaultButton4 768 El cuarto botón es el predeterminado.VbApplicationModal 0 Aplicación modal; el usuario debe responder al cuadro

de mensajes antes de poder seguir trabajando en la

Page 16: Programacion en Visual Basic

aplicación actual.

VbSystemModal 4096 Sistema modal; se suspenden todas las aplicaciones hastaque el usuario responda al cuadro de mensajes.

VbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje.VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la

ventana de primer plano.

VbMsgBoxRight 524288 El texto se alinea a la derecha.VbMsgBoxRtlReading 1048576 Especifica que el texto debe aparecer para ser leído de

derecha a izquierda en sistemas hebreo y árabe.

Los valores devueltos por la función según la respuesta proporcionada por el usuario se muestran en la siguientetabla:

Constante Valor DescripciónvbOK 1 AceptarvbCancel 2 CancelarvbAbort 3 AnularvbRetry 4 ReintentarvbIgnore 5 IgnorarvbYes 6 SívbNo 7 No

Ejemplos

‘Muestra un mensaje en un cuadro de diálogo sencillo con los botones Si y No, y el icono de mensaje critico.Dim respuestarespuesta = MsgBox("¿Esta seguro que desea formatear su computador?", vbYesNo + vbCritical + vbDefaultButton2,"Formatear Disco")

‘Selecciona la respuesta del usuario.

If respuesta = vbYes ThenMsgBox ("Usted selecciono la respuesta Sí.")End If

If respuesta = vbNo ThenMsgBox ("Usted selecciono la respuesta No.")End If

‘Muestra un mensaje en un cuadro de diálogo personalizado con los botones, si, no y cancelar.‘En el cuadro se muestra el icono de mensaje de advertencia.

Dim respuestarespuesta = MsgBox("¿Desea guardar los cambios en el documento?", vbYesNoCancel + vbExclamation +vbDefaultButton1, "Editor")

‘Selecciona la respuesta del usuario.

If respuesta = vbYes ThenMsgBox ("Usted selecciono la respuesta Sí.")End If

Page 17: Programacion en Visual Basic

If respuesta = vbNo ThenMsgBox ("Usted selecciono la respuesta No.")End If

If respuesta = vbCancel ThenMsgBox ("Usted selecciono la respuesta Cancelar.")End If

'Muestra un mensaje en un cuadro de diálogo personalizado con los botones, Abortar, Reintentar e ‘Ignorar. En el cuadro semuestra el icono de mensaje de crítico.

Dim respuestarespuesta = MsgBox("No se puede copiar el archivo.", vbAbortRetryIgnore + vbCritical, "Copiando archivo")

‘Selecciona la respuesta del usuario.

If respuesta = vbAbort ThenMsgBox ("Usted selecciono la respuesta Abortar.")End If

If respuesta = vbRetry ThenMsgBox ("Usted selecciono la respuesta Reintentar.")End If

If respuesta = vbIgnore ThenMsgBox ("Usted selecciono la respuesta Ignorar.")End If

'Muestra un mensaje en un cuadro de diálogo personalizado el botón Aceptar y Cancelar.'En el cuadro se muestra el icono de información.

MsgBox ("Los datos se almacenaron satisfactoriamente."), vbOKOnly, "Guardar"

- 4.3.1.1 Operadores aritméticos

Son aquellos que se utilizan para realizar las operaciones básicas de las matemáticas. En las operaciones básicas tenemos:suma, resta, multiplicación, división, residuo y exponenciación.

Operador Significado Ejemplo Resultado+ Suma a + b Suma de a y b.- Resta a – b Diferencia entre a y b.* Multiplicación a * b Producto de a por b./ División a / b Cociente de a sobre b.\ División entera a \ b Cociente entero de a sobre b.Mod Módulo o Resto a mod b Resto de a sobre b.^ Exponenciación a ^ b Potencia de a elevado a b.

- 4.3.1.2 Operadores de relación

Los operadores de relación son utilizados para expresar condiciones y describir una relación entre dos valores. Losoperadores de relación se muestran en la siguiente tabla:

Page 18: Programacion en Visual Basic

Operador Significado Equivalente matemático><=>=<=<>

Mayor queMenor queIgual aMayor o igual queMenor o igual queDistinto a

><=≥≤≠

Ejemplos de algunas relaciones:

1. 5 > 3 Devuelve verdadero (true)2. 3 = 2 +1 Devuelve verdadero (true)3. 2 <> 1+1 Devuelve falso (false)4. 8 < 5 Devuelve falso (false)5. ‘A’ < ‘B’ Devuelve verdadero (true)6. ‘Z’ < ‘H’ Devuelve falso (false)

Operadores lógicos

Se utilizan para combinar las expresiones lógicas, es decir, que nos permiten evaluar más de una expresión lógica a la vez.Los operadores AND, OR y NOT trabajan con operandos que son expresiones lógicos.

Su formato es:

[Operando 1] operador lógico [Operando 2] …operador lógico [Operando N]

Donde:

operando1, operando2 y operandoN pueden ser cualquier expresión lógica.

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 líneas", , "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 Numérico Significado

vbCritical 16 Icono crítico

Page 19: Programacion en Visual Basic

vbQuestion 32 Icono pregunta

vbExclamation 48 Icono exclamación

vbInformation 64 Icono información

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"

Page 20: Programacion en Visual Basic

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 botón de comando

Command1.BackColor = vbButtonFace

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

'Si se pulsa la tecla R

Page 21: Programacion en Visual Basic

If KeyCode = vbKeyR Then

Command1.BackColor = vbRed ' Pone el color rojo al botón

End If

'Si se pulsa la tecla N

If KeyCode = vbKeyN Then

Command1.BackColor = vbBlack ' Pone el color negro al botón

End If

'Si se pulsa la tecla B

If KeyCode = vbKeyB Then

Command1.BackColor = vbWhite ' Pone el color blanco al botón

End If

'Si se pulsa la tecla A

If KeyCode = vbKeyA Then

Command1.BackColor = vbYellow ' Pone el color amarillo al botón

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 código:

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 código

Page 22: Programacion en Visual Basic

'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 líneas", , "Tres lineas"

MsgBox "Mira el icono de" & vbCrLf & "pregunta", _

vbQuestion, "Icono Interrogacion"

MsgBox "Otro icono", vbCritical, "Icono Critico"

MsgBox "otro", vbExclamation, "Icono Exclamación"

MsgBox "otro mas", vbInformation, "Icono Información"

Respuesta = MsgBox("Observa que al incluir más" & _

vbCrLf & "de un botón, en el MsgBox" & _

vbCrLf & "pongo paréntesis y utilizo" & vbCrLf _

& "una variable, que recogerá" & _

Page 23: Programacion en Visual Basic

vbCrLf & "el botón que hemos pulsado", vbYesNo + _

vbQuestion, "Dos botones")

Form1.Print "Dos botones = " & Respuesta

Respuesta = MsgBox("tres botones", vbYesNoCancel + _

vbInformation, "Con icono información")

Form1.Print "tres botones " & Respuesta

Respuesta = MsgBox("tres botones pero" & vbCrLf & _

"el activo es el segundo", vbAbortRetryIgnore _

+ vbCritical + vbDefaultButton2, "Icono crítico")

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 ningún archivo

Exit Sub

Else

'Borramos el contenido de Text1

Text1 = ""

'Abrimos el archivo para leerlo, pasándole la ruta con la pro _

Page 24: Programacion en Visual Basic

piedad FileName del Commondialog

Open CommonDialog1.FileName For Input As #1

While Not EOF(1)

'Leemos la línea

Line Input #1, Linea

'Vamos cargando las líneas leídas 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 ningún 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

Page 25: Programacion en Visual Basic

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 número entero")

n2 = InputBox("Escribe otro número entero")

Form1.Print "La suma de " & n1 & " y " & _

n2 & " es = " & n1 + n2

End Sub

Constantes para los botones Valor Numérico 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 botón Valor Numérico Significado

vbDefaultButton1 (defecto) 0 Activa el primer botón

vbDefaultButton2 256 Activa el segundo botón

vbDefaultButton3 512 Activa el tercer botón

Botón Devuelve el número Constante

Aceptar 1 vbOK

Cancelar 2 vbCancel

Anular 3 vbAbort

Reintentar 4 vbRetry

Ignorar 5 vbIgnore

Page 26: Programacion en Visual Basic

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 BotonAumentarTamaño_Click()

Page 27: Programacion en Visual Basic

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 BotonReducirTamaño_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

Page 28: Programacion en Visual Basic

Este libro fue distribuido por cortesía de:

Para obtener tu propio acceso a lecturas y libros electrónicos ilimitados GRATIS hoy mismo, visita:

http://espanol.Free-eBooks.net

Comparte este libro con todos y cada uno de tus amigos de forma automática, mediante la selección de cualquiera de las opciones de abajo:

Para mostrar tu agradecimiento al autor y ayudar a otros para tener agradables experiencias de lectura y encontrar información valiosa,

estaremos muy agradecidos si"publicas un comentario para este libro aquí".

INFORMACIÓN DE LOS DERECHOS DEL AUTOR

Free-eBooks.net respeta la propiedad intelectual de otros. Cuando los propietarios de los derechos de un libro envían su trabajo a Free-eBooks.net, nos están dando permiso para distribuir dicho material. A menos que se indique lo contrario en este libro, este permiso no se transmite a los demás. Por lo tanto, la redistribución de este libro sín el permiso del propietario de los derechos, puede constituir una infracción a las leyes de propiedad intelectual. Si usted cree que su trabajo se ha utilizado de una manera que constituya una violación a los derechos de autor, por favor, siga nuestras

Recomendaciones y Procedimiento de Reclamos de Violación a Derechos de Autor como se ve en nuestras Condiciones de Servicio aquí:

http://espanol.free-ebooks.net/tos.html