Comandos Básicos De Visual Basic Programación Básica MANEJO DE ARCHIVOS Abrir para Lectura Open Archivo For Input As Numero Abrir para Escritura Open Ruta.Text For Output As Numero Fin del Archivo Booleano EOF(Numero) Largo del Archivo (Cantidad de Caracteres) LOF(Numero) Leer Linea por Linea While Not EOF(Numero) Line Input #Numero, LineaTexto Wend Leer Caracter a Caracter Input(Cantidad, NumeroArchivo) Leer Todo el Contenido contenido = Input(LOF(Numero), Numero) Numero Libre Numero = FreeFile Guardar Contenido Print #Numero, ContenidoArchivo Escribir contenido, Agregando salto de linea al final y poniendo todos los caracteres ( ) write #1, "Texto" Cerrar Archivo Close Numero Cuadro de Dialogo para Guardar CuadroDialogo.ShowSave Cuadro de Dialogo para Abrir CuadroDialogo.ShowOpen Filtro de Cuadro de Dialogo CuadroDialogo.Filter = "*.TXT" Mostrar Archivos de un Directorio Private Sub Directorio_Change() Archivo.Path = Directorio.Path Mostrar Carpetas de una Unidad Private Sub Disco_Change() Directorio.Path = Disco.Drive 1
Nombre del Archivo Archivo.FileName MANEJO DE STRINGS Salto de Linea 1- SaltoDeLinea = Chr(13) & Chr(10) 2- SaltoDeLinea = vbcrlf Buscar un String dentro de Otro Resultado = InStr(1, LineaTexto, Busqueda.Text) Comprar 2 Strings (Diferente -1 Igual 0) StrComp(String1, String2) Reemplazar Esto por EstOtro en la String Replace(String, Esto, EstoOtro) Numero de caracteres de una cadena Len(String) Mayusculas UCase(String) Minuscula LCase(String) Caracteres de Derecha a Izquierda Right(String, Cantidad) Caracteres de Izquierda a Derecha Left(String, Cantidad) Caracteres desde una posición Mid(String, Posicion, Cantidad) Mid(String, Posicion) String a Numero Val(String) Numero a String Str(Numero) Obtener Codigo ASCII de un Carácter Asc(Caracter) Obtener Carácter de un Codigo ASCII Chr(Codigo) OTROS Fecha Date Cerrar Aplicación End 2
ARREGLOS Arreglo (0 99) Dim Numeros(100) As Integer Cambiar Tamaño de Un Arreglo (Se pierden los datos) ReDim Arreglo(N) FUNCIONES Y PROCEDIMIENTOS Funciones Function Sumar(j As Integer, k As Integer) i = j + k End Function Utilización t = Sumar(4, 3) Procedimiento Private Sub Sumar (j As Integer, k As Integer) i = j + k Utilización Sumar j:=10, k:=21 Se utiliza "Optional" para indicar los parametros oipcionales EJEMPLO: Private Sub Procediminto (x As Double, Optional n As Integer) 'instrucciones BOTONES Private Sub Boton_Click() ComboBox Valor Seleccionado Combo.ItemData(Combo.ListIndex) Agregar Datos Combo.AddItem "Primer Articulo" Combo.ItemData(0) = 1234 Combo.AddItem "Segundo Articulo" Combo.ItemData(1) = 5678 DEFINICION DE VARIABLES GLOBALES Option Explicit CUADROS DE MENSAJES MsgBox(Texto, Tipo, Titulo) Titulo: vbyesnocancel vbokcancel vbokonly VbYesNo Respuesta: 6 YES 7 NO 2 CANCEL 3
CUADRO PARA INGRESAR TEXTO texto = InputBox("Texto", "Titulo", "default", left, top) CONDICIONALES IF If x > y Then Else EndIf WHILE While (menor < mayor) Wend BASES DE DATOS (0) Definir la Conexión y el RecordSet a Utilizar Dim Conexion As ADODB.Connection Dim Record As ADODB.Recordset (1) Crear Nueva Conexion Set Conexion = New ADODB.Connection (2) Abrir Conexión, Primero proveedr y luego base de datos Conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source = bd.mdb; " (3) Crear Nuevo RecordSet Set Record = New ADODB.Recordset (4) Ligar Conexión al Recordset Record.ActiveConnection = Conexión (6) Realizar Consulta SQL Record.Open "Select * from Alumnos where Edad >= 22 Order By Nombre Cantidad de Columnas Cantidaddecolumnas = Record.Fields.Count Comienzo y Fin del RecordSet Record.BOF Record.EOF Siguiten Registro del Recordset (MoveFirst, MoveLast, MoveNext, MovePrevious Record.MoveNext Mostrar Campo de un Registro del RecordSet Record!Campo Revisar Todo el RecordSet (Resultados de la consulta) While Not Record.EOF Resultado = Resultado & Record!Nombre & " - " & Record!Edad & " - " & Record!Carrera & Findelinea Record.MoveNext Wend Cerrar el Recordset Record.Close Cerrar la conexion a la base de datos Conexion.Close 4
Set Conexion = Nothing Verificar Estado de RecordSet (1 Abierto - 0 Cerrado) Record.State (5) Inicializar el Cursor y LockType Record.CursorType = adopenkeyset Record.LockType = adlockoptimistic (7) Enlazar Cuadro de Texto y Campo de Registro Actual de RecordSet CuadroTexto.DataField = "Campo" Set CuadroTexto.DataSource = Record Edicion de Registros del Recordset utilizando Enlace a Cuadro de Texto Record.AddNew Record.Update Record.Delete MATERIA TEXTO DEFINICIONES DEFICINIONES - BASES DE DATOS ActiveX Data objets (ado) Define unn modelo de programacion que provee los elementos necesarios para tener acceso y actualizar una base de datos. Ado proporciona los mecanismos para realizar las siguientes actividades: 1- conectarse a una red 2- especificar un comando para tener acceso a la BD. 3- Ejecutar un comando. 4- Almacenar las filas de una tabla como respuesta de la ejecucion de comando. 5- Actualizar la base de datos- 6- Proporcionar un mecanismo para detectar los errores. Elememtos ADO Elementos que forman parte de la programacion ADO: 1-Connection: el acceso desde la aplicacion a la BD se realiza por medio de una conexion. La aplicacion puede tener acceso directo a la BD ( sistema de 2 capas ) o en forma indirecta, por medio de un intermediario MS IIS (sistema de 3 capas) 2- Command: Un comando emitido por medio de una conexion pueda agregar, modificar o eliminar los datos de una BD 3- Parametro: los camandos pueden requerir partes variables llamados parámetros que pueden ser modificados antes de generar un comando. 4- RecordSet: si un comando devuelve datos como filas en una tabla, dichas filas son almacenadas en forma local, por medio del recordset. este permite: - especificar que filas estan disponibles para examinar. - recorrer las filas. - especificar el orden en que se puden recorrer las filas. - agregar, modificar o eliminar filas. - actualizar. - gestionar el estado original del recordset. 5
5- Field: Una fila recordset consta de uno o mas campos. Considerando el recorset como una tabla de 2 dimenciones, lo campos son considerados como columnas. 6- Error: Los errores pueden no acudir al no poder establecer una conexion, ejecutar un comando o etc.. 7- Collection: ado proporciona colecciones, un tipo de objetos que contiene otros objetos de un tipo concreto. Los objetos de coleccion se pueden recuperar con un metodo de coleccion, bien por el nombre, una cadena de trexto o un numero entero. 8- Property: Cada objeto Ado tiene un conjunto unico de propiedades que describen o controlan el comportamiento de objeto. 9- Eventos: Los eventos son notificaciones de que ciertas operaciones estan a punto de suceder o ya han ocurrido. ADO CONNECTION Con connection de establece las condiciones necesarias para intercambiar datos. La BD al que se conecta se especifica en una cadena de conexion aunque los parametros especificados de la cadena pueden variar segun el proveedor y la BD. La forma principal en que ADo abre una conexion es por medio del OPEN, la sintaxis en VB para realizar esto es; Connection.open connection.string, User ID, passwords, Open Options. Ejemplo: cn.open "provider=microsoft.set.oledah.oj" & "Data sourse = c:\cursos.mdb ;" &_ "Persist security info=false" Para cerrar un objeto connection y liberar los recursos del sistema asociados se usa el metodo CLOSE. Al cerrar un objeto, no se elimina de memoria. se puede modificar sus propiedades y abrirlo mas tarde. Para eliminar un objeto completamente de memoria establezca la variable del objeto a NOTHING Ejemplo: cn.close set cn=nothing ADO RECORDSET Representa todo el conunto de reguistros de una tabla o del resultado de un comando ejecutado. En cualquier momento, el objeto Recordset solo hace referemncia al registro actual. Para declarar (crear) objetos Recordset se usa el tipo ADODB.Recordset en la forma: Dim Rs As ADODB.Recordset Set Rs = New ADODB.Recordset Para relacionar un Recordset con un Connection, se hace en la forma Rs.Active.Connection = Cn donde Cn y Rs son las variables para la conexion activa actual y el recordset respectivamente. Para abrir un Recordset, se realiza por medio del metodo Open, con la siguientes sintaxis general. Recordset.Open Source, ActivConnection, CursorType, Locktype, Options Ejemplo: Rs.Open " Select * from Curso" 6
Cuando se abre un Recordset, el registro actual esta situado en el primer registro, y las propeidades BOF o EOF estan establecidas a FALSE. Si no hay registro, BOF y EOF son TRUE. Las propiedades BOF y EOF indican el comienzo y el fin del Recordset. DEFINICIONES ARCHIVOS - Archivos ASCII o de Texto Contienen caracteres del codigo ASCII y se pueden leer con editores de texto. - Archivos Binarios. Contienen la imagen binaria de datos y programas, tal como se encuentran en memoria. No son legibles directamente. -ARCHIVOS DE ACCESO ALEATORIO Para abrirlos, se utiliza For Random. Para For Binary el acceso es similar, pero por Byter en lugar de registros. Open nombre For Random As #numero Len = LongitudRegistro Leer Archivos Get #numero, registro, Objeto Escribir Archivos Put #numero, registro, objeto -ARCHIVOS DE ACCESO BINARIO Se procede en forma similar a los archivos de acceso aleatorio. Se trabaja con bytes, en lugar de registros. Open Nombre For Binary As #archivo Get #archivo, &, dato dato = 7 Put #archivo, &, dato Close #archivo 7