DESARROLLO DE EVALUACIONES DE VISUAL BASIC 6.0 Presentación El presente trabajo lo presente dentro de las normas que requiere mi instituto para poder llegar a una de las etapas finales, en las cuales estaremos aptos para poder obtener el titulo final de Técnicos en Informática, bueno vi conveniente de desarrollar algunos ejercicios, pues cada uno de ellos esta debidamente explicados, espero que no tengan problemas algunos y sea el agrado de muchas personas. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Descripción: Ahora empezaremos a desarrollar cada examen, teniendo en cuenta los temas tratados durante el desarrollo del curso, cada examen será explicado para una mejor comprensión, tal como se le asesora a los participantes del curso, cuando no entienden algunos de estos temas, esta demás, decir que el asesoramiento asistencia a los participantes del curso, es una responsabilidad del asistente. Son tres los que se toman durante el curso: • Evaluación: I Unidad • Evaluación: II Unidad • Evaluación: III Unidad CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad EVALUACION: I UNIDAD Para la primera Evaluación nos piden agregar tres formularios al proyecto creado, y en el primer Formulario asignarle el siguiente nombre “frmInicio”, para el siguiente formulario asignarle el siguiente nombre “frmLienzo” y el último le asignamos el siguiente nombre “frmVentas”. frmInicio Las siguiente consideración para “frmInicio” son: Mediante un timer, generar aleatoriamente el color del texto para la etiqueta lblSencico, para ello utilizar la función cboColor QBColor. frmLienzo cmdPunto cmdRecuadro PicLienzo cmdCirculo cmdlimpiar cmdRetornar cboGrosor Consideraciones: • En cboColor, mostrar una lista de números entre 0 y 16, correspondientes al color que se usarán para dibujar el gráfico deseado (Use la función QBColor y val()) CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad • En cboGrosor, mostrar una lista desde 2 hasta 18 correspondiente al valor de la propiedad DrawWidth de picLienzo (Use Val()). • Aleatoriamente generar los puntos X y Y para dibujar un punto, recuadro o círculo, de acuerdo a la pulsación de cada botón. picEquipo OptEquipo (matriz) imgEquipo (matriz) vsbCuotas lblNcuotas chkImportado lblEquipo lblImporte lblImpto cmdCalcular lblIGV cmdRetornar lblTotal Consideraciones: • Al seleccionar un equipo debe mostrarse la imagen correspondiente en picEquipo. Asimismo, mostrar el precio de 5300, 3500 y 2670 para cada equipo respectivamente. • Si el producto es importado, pagará un impuesto de 530, en caso contrario, de 120 • Con vsbCuotas se muestra el número de cuotas en lblNCuotas (entre 1 y 13 cuotas). En lblImporte se muestra el equivalente al precio del equipo entre en número de cuotas. • El botón cmdCalcular mostrará la suma de los importes en lblTotal (El IGV es el 18%) CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo: Examen I Unidad Ahora empezaremos a desarrollar el examen correspondiente a esta Unidad, para ello empezamos con el primer formulario, “frmInicio” Primero ingresamos a Microsoft Visual Studio 6.0 Abrimos un proyecto EXE Estándar, ahora antes de seguir, detallaremos brevemente sobre un proyecto EXE Estándar, a este le acompaña un formulario, necesariamente siempre irán acompañados estos dos archivos el proyecto irá con una extensión *.pry; y el formulario tomara una extensión de *.frm; pues el proyecto puede acoger a muchos formularios, este funciona como un contenedor, donde además podremos agregar más cosas, como un DataReport, DataEnvironment, etc. El proyecto se encarga de encerrar a todos ellos, por eso se recomienda que cada vez que se cree un proyecto, pues se haga dentro de una carpeta, en ella almacenaremos todos los cambios, para no tener problemas luego con el proyecto al momento de llevarlo a otro lugar. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Bueno ahora empezaremos con el desarrollo, agregamos tres formularios a este proyecto, para ello daremos un clic derecho en el panel de explorador del proyecto de la siguiente manera: Luego repetimos este proceso dos veces más, en total 03 formularios. Pues en el explorador de proyectos podremos apreciar que los formularios se encuentran ligados al proyecto, por lo que necesariamente, como mencionamos antes, debemos de guardarlos dentro de una carpeta, para un mejor trabajo. Luego de ello, asignaremos un nombre a cada formulario, empezando con primero con el formulario de Bienvenida o de inicio. Le asignamos el nombre en la propiedad Nombre del cuadro de propiedades del formulario, ya que llegamos a este punto, es necesario resaltar que cada objeto de Microsoft Visual posee una característica o atributo que permite diferenciar a cada unos de ellos, algunos de ellos tendrán las mismas propiedades; el nombre a asignarle es frmInicio, para el segundo frmLienzo, y para el tercero fmVentas. Antes de proseguir guardemos el CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad proyecto, nos iremos al menú Archivo y haremos un clic en la opción Guardar. Primero aparecerá para guardar el proyecto, pero como dije antes, crearemos una carpeta con el nombre de “Examen Unidad I” luego dentro de esta carpeta guardaremos todos los archivos, entonces primero empezaremos con el proyecto, le asignamos el nombre de Examen Unida I, y luego clic en guardar, después de ello, nos aparecerá para guardar los formularios, pero como ya le habíamos asignado nombre antes a cada formulario, pues aparecerán con los mismos nombres, les dejamos con los nombres por defecto (“frmInicio.frm” , “frmLienzo.frm”, “frmVentas.frm”) CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo frmInicio En la propiedad Caption (Determina el Titulo del control), del formulario asignaremos el siguiente nombre: “Evaluación Unidad I: Visual Basic”, ahora agregaremos algunos controles a este formulario: - 02 Label - 01 Control Timer - 03 CommandButton En el Label1, en su propiedad Caption, le asignaremos nuestros Nombres y Apellidos: “Martín Reyes Mantilla” y en su propiedad Font Elegimos un tipo de Fuente: Arial, Tamaño: 20. En el Label2, es su propiedad Nombre (Los objetos deben de llevar un nombre con un prefijo coherente que facilite la identificación del tipo de Objeto, permitiendo leer y entender el código fácilmente), le asignamos el siguiente nombre: “lblSencico”, en su propiedad Caption, le asignamos lo siguiente: “Centro de Cómputo SENCICO”, en su propiedad Font, elegimos un tipo de Fuente: Arial, Tamaño: 20. ControlTimer1, es su propiedad interval (establece el tiempo expresado en milisegundos entre dos llamadas al evento Timer), le asignaremos 100 milisegundo a dicha propiedad. Agregamos 03 CommandButton al formulario, y les asignaremos las siguientes propiedades: CommandButton1 CommandButton2 CommandButton3 Nombre : cmd1 Nombre : cmd2 Nombre: cmd3 Caption : Ejercicio1 Caption : Ejercicio2 Caption: Terminar Font : Arial, 10, Negrita Font: Arial, 10, Negrita Font: Arial, 10, Negrita CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Ahora empezamos a codificar en la venta de Código, para ello daremos un Doble Clic primero en el control Timer1, y digitaremos lo siguiente: ControlTimer1 Evento timer Private Sub Timer1_Timer() lblSENCICO.ForeColor = QBColor(Rnd() * (15 - 0) + 0) ' En esta linea estamos haciendo referencia hacia el lblSENCICO, pues su propiedad Forecolor ' tomará las ordenes numéricas aleatorias del QbColor, ayudado por randon RND ' el cual permite elegir numeros al azar entre el 1 y el 0, pero si se desea tener un numero ' entre un valor inicial (VI) y un valor final (VF) utilizamos la siguiente fórmula ' RND()* (VF-VI)+VI ' en este caso el valor máximo de QBColor es 15 End Sub Seguimos ahora con cada CommadButton: Cmd1 Evento Clic Private Sub cmd1_Click() frmVentas.Show ' En esta linea estamos llamando al formulario frmVentas, mediante su propiedad Show Unload Me ' en esta línea estamos indicando a que el formulario actual se cierre End Sub Cmd2 Evento Clic Private Sub cmd2_Click() frmLienzo.Show CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad ' En esta linea estamos llamando al formulario frmVentas, mediante su propiedad Show Unload Me ' en esta linea estamos indicando a que el formulario actual se cierre End Sub Cmd3 Evento Clic Private Sub cmd3_Click() End ' con este comando estamos indicando a que toda la aplicación se cierre End Sub Ahora ya terminamos con el primer formulario, pues guardemos los cambios para ejecutar la aplicación, presionando la tecla F5, pero hagamos lo siguiente, para no estar guardando a cada momento la aplicación. Vamos al Menú Herramientas, luego hagamos clic en Opciones y nos aparecerá una ventana con el título de Opciones, luego de ellos hagamos un clic en la ficha Entorno, y activemos la opción Guardar cambios, en la Etiqueta donde dice, Cuando se Inicie Un programa, y listo, ahora cada que Ejecutemos la aplicación, ésta automáticamente. se guardara CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo frmLienzo Ahora en el segundo formulario frmLienzo, tendremos los siguientes controles: - 01 PictureBox - 02 ComboBox - 03 Label - 05 CommadButton PictureBox A este control les asignaremos las siguientes propiedades: Propiedades Nombre: PicLienzo BackColor: &H80000009& Width: 3000 Height: 3000 Luego en el Label1, le asignaremos en su propiedad Caption, el siguiente texto, “Color”, en su propiedad font, Arial, Negrita, 10 (Fuente, Estilo, Tamaño) En el Label2, le asignaremos en su propiedad Caption, el siguiente texto, “Grosor”, en su propiedad font, Arial, Negrita, 10 (Fuente, Estilo, Tamaño) Luego en el Label3, le asignaremos en su propiedad Caption, el siguiente texto, “Dibujar”, en su propiedad font, Arial, Negrita, 10 (Fuente, Estilo, Tamaño) Ahora a los CommandButton, le asignamos las siguientes propiedades a cada uno: CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Propiedades Nombre: cmdPunto, cmdRecuadro, cmdCirculo, cmdLimpiar, cmdRetornar Caption: Punto, Recuadro, Círculo, Limpiar, Retornar. Font: Arial, Negrita, 08 (Fuente, Estilo, Tamaño) Ahora empezamos a Codificar para este segundo formulario “frmLienzo” Daremos un Doble click, sobre el formulario para ingresar al evento Load. En ella pondremos un arreglo para rellenar los controles ComboBox. Private Sub Form_Load() For I = 0 To 15 ' Aca indicamos de que arme una matriz del 0 al 15, obteniendo espacios en total de 16 ' para ello a I se le indica que vaya desde el 0 hasta el 15 cboColor.AddItem I ' en esta linea indicamos la propiedad "AddItem" del ComboBox, para que agregue el siguiente ' valor a dicha propiedad 'recordemos que esta linea de codigo solo funcionara cuando el formulario sea ejecutado. Next I ' luego aca le indicamos que vaya al siguiente valor de I For A = 2 To 18 cboGrosor.AddItem A Next A End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Ahora programamos el Boton Punto Private Sub cmdPunto_Click() picLienzo.AutoRedraw = True 'Aca indicamos que lo dibujado en picLienzo permanezca en pantalla picLienzo.DrawWidth = Val(cboGrosor.Text) 'Con la propiedad DrawWidth estamos indicando el tamaño del dibujo, pero para esto 'el valor será ingresado a traves del los combo, pero para capturarlos 'utilizaremos Val, para que el dato texto, se convierta a numero picLienzo.PSet (Rnd() * (3000 - 1) + 1, Rnd() * (3000 - 1) + 1), QBColor(Val(cboColor.Text)) 'Con Pset estamos indicando se que se dibuje un punto. ' pero ahora para poder dibujar Pset Maneja la siguiente sintaxis: Objeto.Pset (x,y), color ' Donde "X" y "Y" son el tamaño de Piclienzo, Width es el ancho y Height es el alto End Sub Ahora programamos el Boton Recuadro Private Sub cmdrecuadro_Click() picLienzo.AutoRedraw = True picLienzo.DrawWidth = Val(cboGrosor.Text) picLienzo.Line (Rnd() * (3000 - 1) + 1, Rnd() * (3000 - 1) + 1)-(Rnd() * (3000 - 1) + 1, Rnd() * (3000 - 1) + 1), QBColor(Val(cboColor.Text)), B ' Para poder diagramar utilizaremos la propiedad Line, mediante la siguiente sintaxis ' Objeto.Line (X1, Y1)-(X2,Y2), Color, B CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad 'No esta demás resaltar que "X" y "Y" determinan el tamaño de PicLienzo, pero para que quede en forma rectangular, se agrega al final de la estructura la letra B End Sub Ahora programamos el Boton Circulo Private Sub cmdCirculo_Click() picLienzo.AutoRedraw = True picLienzo.DrawWidth = Val(cboGrosor.Text) picLienzo.Circle (Rnd() * (3000 - 1) + 1, Rnd() * (3000 - 1) + 1), (Rnd() * (3000 - 1) + 1) / 2, QBColor(Val(cboColor.Text)) ' Para poder diagramar utilizaremos la propiedad Circle, mediante la siguiente sintaxis. ' Objeto.Circle (X,Y), Radio, Color ' Para poder asignarle radio, es la mitad de X. End Sub Ahora programamos el Boton Retornar Private Sub cmdRetornar_Click() frmInicio.Show 'comando para llamar al frmInicio Unload Me 'para ocultar el formulario actual End Sub Private Sub cmdLimpiar_Click() picLienzo.Cls 'Sirve para borrar lo dibujado en Piclienzo EndSub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo de frmVentas Ahora empezamos con el Tercer Formulario. Agregamos los siguientes controles: - 01 Frame - 03 OptionButton (Matriz) - 03 Image (Matriz) - 01 CheckBox - 02 CommandButton - 01 VScrollBar - 12 Label - 01 PictureBox Frame, en su propiedad Caption, asignamos el siguiente texto, “Equipo” Dentro del Frame, agregamos 01 OptionButton, pero creamos matrices, para ello hacemos lo siguiente, después de haberle asignado en su propiedad Nombre, optEquipo, damos un clic derecho al control y seleccionamos copiar y luego daremos otro clic Derecho en el mismo Frame, para crearlos dentro del mismo haciendo el frame de un contenedor, y seleccionaremos la opción Pegar, nos aparecerá un mensaje advirtiéndose que se van a crear una matriz, aceptamos el mensaje y se creará el mismo control con las mismas propiedades. Ahora configuramos a estos 03 OptionButtons, en su propiedad Caption, y en su propiedad Tag, a cada uno de ellos le asignamos lo siguiente: - OptEquipo(0): Copiadora Tag: 5300 * CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad - OptEquipo(1): Contestadora Tag: 3500 * - OptEquipo(2): Central Telefónica Tag: 2670 * (*) Precio de cada equipo. Matriz.- Una matriz de controles contiene varios elementos (controles del mismo tipo) con un mismo nombre. Para hacer referencia a un elemento de la matriz utilizaremos el índice (Propiedad Index) empezando desde 0 (cero) para el primer control, 1 para el segundo, y así sucesivamente Ahora al PictureBox, en su propiedad Nombre, le asignamos el siguiente texto “PicEquipo” De la misma forma como creamos las matrices para los OptionButtons, lo haremos para las Images, poniéndoles como nombres de control, desde luego en su propiedad Nombre, “imgEquipo”; además en su Propiedad Stretch, ponemos como valor Verdadero (True), para que la imagen tome el tamaño asignado por el desarrollador en los cuadros de Image, ahora rellenemos cada control Image con una imagen, en su propiedad Picture, para ello buscaremos las siguientes imágenes: o COPYMACH.WMF o PHONE.WMF o ANSWMACH.WMF Luego de ella ponemos 06 Label’s y a cada una de ellas en su Propiedad Caption, los siguientes nombres a cada una de ellas: - Equipo - Impuesto - IGV - Total a Pagar - Nro de Cuotas - Importe de Cuota CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Y luego de ello seleccionamos todos los Label’s (06) y en su propiedad Font, activamos lo siguiente: Fuente: MS Sans Serif; Estilo de Fuente: Negrita; Tamaño: 10 Estas etiquetas solo servirán para dar referencias a los cuadros en donde mostraran resultados. Luego Insertaremos 06 Label’s más que cumplan el papel de recepción de datos pero para estos controles configuraremos más propiedades, las cuales serán mencionadas a continuación, pero antes de ellos tendremos que seleccionar todos estos controles insertados: BordeStyle: Fixed Single BackColor: White (&H80000009&) Luego insertamos un CheckBox, en su Propiedad Nombre le asignamos lo siguiente “chkImportado” y en la propiedad Caption, le asignamos lo siguiente, “Importado”. Ahora ingresamos un VScrollBar, en su Propiedad Nombre le asignamos lo siguiente “vsbCuotas”, además en su propiedad Max, le asignamos el siguiente valor 12; y en la propiedad Min, le asignamos el siguiente valor 1 Ahora, agregamos 02 CommandButtons para que realicen algunas operaciones de cálculos, al primer botón en su propiedad Nombre, le asignamos lo siguiente, “cmdCalcular”, y en su propiedad Caption, “Calcular”; para el Segundo CommandButton en su propiedad Nombre, le asignamos los siguiente “cmdRetornar”, y en su Propiedad Caption, “Retornar”. en este control tendremos la siguiente consideración: Que, si el producto es importado, pagará un impuesto de 530, en caso contrario de 120. Ahora insertaremos un VScrollBar, teniendo en cuenta que nos deben de mostrar en una etiqueta números entre 1 y 12, para ello configuraremos las siguientes propiedades: - Nombre: vsbCuotas CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad - Max: 12 - Min: 1 Y para finalizar a este formulario en su propiedad Nombre, le asignamos lo siguiente: “frmVentas”, y en su propiedad Caption, le asignamos lo siguiente: “Venta de Equipos” Ahora empezamos a Codificar para este Tercer formulario “frmVentas” Daremos un Dobleclick, en cada control para empezar a codificar cada unos de ellos. Private Sub optEquipo_Click(Index As Integer) picEquipo.Picture = imgEquipo(Index).Picture 'los que esta haciendo aca es, mostrar las matrices (0), (1) y (2) tres en total, cada una de ellas se iran mostrando en el Picture (picEquipo) 'conforme se vaya seleccionando lblEquipo.Caption = optEquipo(Index).Tag ' cada option en su propiedad tag, se le asigno un valor numerico el que vendria a ser el precio. End Sub Private Sub ChkImportado_Click() lblImpto.Caption = IIf(ChkImportado.Value = 1, 530, 120) 'para este control tendremos las siguientes consideraciones: ' Que si es importado habra una recarga de 530 ' pero si no lo es, habra una recarga de solo 120 ' Podremo condicionar a este objeto mediante una funcion ' IIf("Condicion", Valor_Verdadero, Valor_Falso) ' Quien determinara los valores, es la propiedad value de un CheckBox ' Mediante 1 (Verdadero), 0 (falso) End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Private Sub vsbCuotas_Change() lblNcuotas.Caption = vsbCuotas.Value 'nos mostrara el numero de cuotas (asignadas del 1 al 12 haciendo referencia a los meses del año) lblImporte.Caption = Round((Val(lblEquipo.Caption) / Val(lblNcuotas.Caption)), 2) 'en esta etiqueta mostraremos el importe a pagar por concepto de cuotas, para ello utilizamos una funcion ROUND() para que redondee a dos decimales el resultado obtenido End Sub Private Sub cmdCalcular_Click() lblIGV.Caption = 0.18 * Val(lblEquipo.Caption) lblTotal.Caption = Val(lblEquipo.Caption) Val(lblIGV.Caption) End Sub Private Sub cmdRetornar_Click() frmInicio.Show Unload Me End Sub + Val(lblImpto.Caption) + CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad EVALUACION: II UNIDAD Para esta segunda evaluación ya pondremos en práctica todo lo aprendido durante la primera unidad y desde luego lo aprendido en la segunda unidad. Para ello crearemos un proyecto, este proyecto aparecerá con un formulario por defecto, luego a este proyecto agregaremos un Formulario MDI, ahora al primer formulario le podremos como nombre frmlibro y al Formulario MDI le pondremos como nombre MDIExamen2 y al proyecto en general lo guardamos como “Examen II.pry”. MDI-Examen2 Este será la pantalla de bienvenida para este examen. En ella nos mostrará una barra de herramientas (ToolsBar) y en la parte inferior mostrará una barra de estado (StatusBar) y además tendrá una barra de menues. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo: frmLibros Luego desde el mismo MDI, llamaremos al formulario Libros, para poder realizar el proceso de registro de venta. Ahora empezamos a desarrollar el “frmLibros.frm”; para ello agregaremos los Siguientes controles: Controles Nombre - 01 SSTAB ---- - 02 MaskEdBox mskCod – mskDes - 01 DTPicker dtpMyA - 01 TextBox txtEje - 01 UpDown updEje - 01 CommandButton cmdAgregar - 01 MSFlexGrid mshLista CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad mskCod mskDes dtpMyA updEje txtEje txtEje mshListado CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Codificación de FrmLibros.frm Antes de ello tendremos las siguientes consideraciones para el siguiente formulario - El código del libro (mskCod) debe de empezar con una letra mayúscula y 4 dígitos. validar que los 4 dígitos de la derecha se encuentren entre 1000 y 9000 - Convertir automáticamente la descripción (mskDes) a mayúsculas. Validar ingreso de texto obligatorio. - El mes y año de publicación (dtpMyA) debe mostrarse en formato de mes y año. - El número de ejemplares debe de estar entre 1 y 20. validar que no se ingresen valores negativos. - Al hacer clic en el botón agregar (cmdAgregar), mostrar el contenido en la cuadricula Listado (mshLista). Recordemos que al momento de ingresar un SSTab en este formulario, actúa como un control contenedor así es que, tendremos mucho cuidado al momento de ingresar los demás controles y desde luego ingresaremos a las propiedades del SStab para que nos muestre sólo dos pestañas, uno para el Ingreso de Datos y otro para que nos muestre el Listado. Teniendo en cuenta las siguientes consideraciones empezaremos a codificar en cada control. Control: mskCod Primero a este control lo configuraremos mediante sus propiedades, para ello daremos un clic derecho sobre el control y elegiremos la Opción Propiedades, luego de ello nos mostrará la siguiente ventana. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad En la caja de Mask escribiremos lo siguiente “>?####”, explicaremos brevemente algo de la siguiente descripción: Con el signo “>”convertiremos todo texto ingresado en este control mask a mayúsculas Con el signo “?” Estamos indicando que el ingreso de datos, será sólo de Letras. Con el signo “#” Estamos indicando que el ingreso de datos, será sólo Dígitos. Muy bien ahora teniendo en cuenta que rol cumplen cada uno de estos caracteres dentro de un Mask, configuraremos para que nos permita ingresar una letra mayúscula con 4 dígitos “>?####”, En la casilla de MaxLength, colocaremos la cantidad de caracteres que se ingresaran en este control “mask” (mskCod), para el caso digitaremos en número 5, para que sólo nos permita el ingreso de un Código de 5 dígitos.. Internamente configuraremos lo siguiente: mskCod Evento: Validate CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Private Sub mskCod_Validate(Cancel As Boolean) If Val(Right(mskCod.Text, 4)) < 1000 Or Val(Right(mskCod.Text, 4)) > 9000 Then 'Aca estamos validando que convierta a valor numerico el codigo ingresado y que solo tome 'en cuenta hasta 4 digitos contando desde la derecha y a la vez se tendrá que validar para que 'solo permita un numero mayor o igual a 1000, pero menor o igual a 9000, y que necesariamente 'este control en tiempo de ejecución sea llenado, de lo contrario tendra que mostrar un mensaje 'de error y desde luego no dejarnos pasar al siguiente control. MsgBox "Código Incorrecto", vbCritical, "Error" 'es en esta parte donde nos mostrará el mensaje de error, si no cumpliera con la validación Cancel = True mskCod.SetFocus End If End Sub Ahora codificaremos el siguiente control, mskDes, pero teniendo en cuenta que acá configuraremos dos eventos. KeyPress y Validate. Lo que validaremos en este control es para que sólo nos permita el ingreso de texto pero en mayúsculas y además estará validado para que el ingreso de texto sea indispensable y sino se ingresara texto emita un mensaje y no deje pasar al siguiente control. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad MskDes Evento: KeyPress Private Sub mskDes_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) 'en esta parte estamos indicando que capture toda tecla presionada en este control 'se convierta automáticamente a mayúsculas. 'CHR= Devuelve el carácter asociado al código ASCII 'UCASE= Convierte una cadema a Mayúsculas 'ASC= Devuelve el código ASCII del primer carácter de un texto. End Sub MskDes Evento: Validate Private Sub mskDes_Validate(Cancel As Boolean) If mskDes.Text = "" Then 'Acá estamos preguntando si la caja de texto esta vacia 'y si asi fuera emita un mensaje de error y no permita pasar a otro control MsgBox "La Descripción es Obligatoria", vbCritical, "Error" Cancel = True mskDes.SetFocus End If End Sub Luego al darle un clic derecho sobre este control “MskDes” ingresaremos a sus propiedades y en la caja de MASK, digitaremos lo siguiente. “>????????????????????????????????????????????????” con esto estamos indicando que “>” Convierta a mayúsculas todo texto ingresado y “?” que sean sólo letras. Luego configuraremos el “dtpMyA” (Data Picker) en ella sólo nos mostrara la siguiente estructura Ejm “Sep 05”, para ello daremos un clic derecho sobre dicho control y CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad accederemos a sus propiedades y nos aparecerá la siguiente ventana Luego en la Caja de “CustomFormat:” digitaremos lo siguiente “MMM yy” para que solo nos muestre parte del nombre del mes y el año en solo dos dígitos “Sep 05”. Updeje Evento: Validate Private Sub updEje_Change() If Val(txteje.Text) < 1 Or Val(txteje.Text) >= 20 Then MsgBox "Numero Incorrecto", vbCritical, "Error" Cancel = True txteje.SetFocus End If End SubEn este código estamos validando Updeje, para que la caja de texto a la que esta asociada solo capture valores menores a 20 y mayores a 1 y de no cumplir con esta consideración, muestre un mensaje de error. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad cmdAgregar Evento: Clic Private Sub cmdAgregar_Click() 'con este codigo agregaremos texto a la cuadricula, MshLista SSTab1.Tab = 1 CONTADOR = CONTADOR + 1 'creamos un contador With mshlista .Rows = CONTADOR + 1 ' aca estamos creando una columna para el titulo .TextMatrix(CONTADOR, 0) = CONTADOR .TextMatrix(CONTADOR, 1) = mskCod.Text .TextMatrix(CONTADOR, 2) = mskDes.Text .TextMatrix(CONTADOR, 3) = dtpMyA.Value .TextMatrix(CONTADOR, 4) = txtEje.Text 'en esta parte tan solo nos mostrara cuantas filas sean necesarias en el momento del registro. End With 'indicaremos en esta parte a que dichas cajas de texto sean limpiadas despues de haber registrado, y esten listo para un proximo registro mskDes.Text = "" txtEje.Text = "" End Sub Ahora codificaremos en el evento load del formulario, para que al ejecutarse la aplicación inmediatamente se construya las rejillas. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Form Evento: Load Private Sub Form_Load() 'aca construimos la cuadricula SSTab1.Tab = 0 mshlista.Rows = 10 mshlista.Cols = 5 With mshlista .TextMatrix(0, 0) = "Nro" .TextMatrix(0, 1) = "Código" .TextMatrix(0, 2) = "Descripción" .TextMatrix(0, 3) = "Mes y Año" .TextMatrix(0, 4) = "Nro Ejemplares" ‘aca estamos poniendo nombre a la primera columna de la matriz '// .ColWidth(0) = 800 .ColWidth(1) = 2000 .ColWidth(2) = 2000 .ColWidth(3) = 2000 .ColWidth(4) = 2000 'aca damos dimensiones al tamaño de cada columna End With End Sub Pero no olvidemos que tenemos que declarar el contador para que pueda funcionar el contador, lo declararemos como valor entero Dim CONTADOR as Integer CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo: MdiExamen II Ahora empezamos con el MDI, pero primero haremos los menues, para ello daremos un clic en la barra de herramientas en el Editor de Menú. Y nos aparecerá la siguiente ventana Y construiremos los menues En esta parte indicaremos o haremos que funcione el Menú Textual al presionar el botón derecho del Mouse sobre el MDI, cuando este se este ejecutando y para ello tendremos que codificaremos lo siguiente Private Sub MDIForm_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad PopupMenu mnuArchivo 'en esta parte estamos indicando que en el menú contextual 'muestre el menú de mnuArchivo. End If End Sub Private Sub mnuCascada_Click() MDIExamen2.Arrange vbCascade 'aca indicamos que muestra las "X" ventanas en Cascada End Sub Private Sub mnuColores_Click() 'En estas líneas estaremos llamando a la venta para asignar colores, en este caso se aplica 'pero al color del fondo del MDI With dlgEditor .Flags = &H1& Or &H2& .ShowColor Me.BackColor = .Color End With End Sub Private Sub mnuFuente_Click() 'En estas líneas estaremos llamando a la ventana de Tipo de Fuentes With dlgEditor .Flags = cdlCFBoth .ShowFont End With End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Private Sub mnuHorizontal_Click() MDIExamen2.Arrange vbTileHorizontal 'aca indicamos que muestre las "X" ventanas en Cascada End Sub Private Sub mnuLibros_Click() frmlibros.Show 'mediante el menu llamamos al frmlibros frmlibros.mskCod.SetFocus 'al cargar el frmlibros se activara el control mskCod End Sub Private Sub mnuRevistas_Click() Static FormCont As Integer 'Creamos una variable contador Dim NuevaVentana As New frmlibros 'Indicamos que cree un nuevo formulario tomando como base al frmLibros FormCont = FormCont + 1 'incrementa el contador cada vez que encuentre un valor, incremente de 1 en 1 NuevaVentana.Caption = "Formulario de Libros" & FormCont 'en esta parte asignamos un titulo a la ventana del Formulario Nuevo además mostrará el valor Numérico de FormCont NuevaVentana.Show 'Llamamos a la ventana nueva creada End Sub Private Sub mnuSalir_Click() 'Preparamos una ventana para indicar si desean salir de la Aplicación mediante un Msgbox Salir = MsgBox("Esta seguro que deseas Salir de La Aplicación", vbInformation + vbYesNo, "Salir") If Salir = vbYes Then CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad End End If End Sub Private Sub mnuvertical_Click() MDIExamen2.Arrange vbTileVertical 'aca indicamos que muestr las "X" ventanas en vertical End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 'Creamos una Instrucción de Selección Múltiple para que funcionen todos los botones de la barra de herramientas 'mediante el index Select Case Button.Index Case 1 'para el primer boton Call mnuLibros_Click Case 2 'para el segundo boton Call mnuColores_Click Case 3 'para el tercer boton Call mnuFuente_Click Case 4 'para el cuarto boton Call mnuSalir_Click End Select End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad EVALUACION: III UNIDAD En este examen, prácticamente el alumno demostrará todo lo aprendido en el curso de Microsoft Visual Basic 6.0; utilizando a Microsoft Office Access 2003 como Gestor de Base de Datos, tendrá que elaborar un formulario de mantenimiento (Nuevo, Guardar, Eliminar, actualizar) y generar de algunas consultas su respectivo reporte. Examen Final Visual Basic 6.0 Para ello agregaremos 02 formularios: • Formulario de Mantenimiento (frmProductos) • Formulario de Pedidos por Cliente (frmPedidos) Agregaremos también un formulario MDI, con el nombre de : • Examen Final Visual Basic 6.0 (MDIExamenFinal) A continuación muestro el Formulario de Presentación del Proyecto Final. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo Formulario de Mantenimiento (frmProductos) SSTab1 - Text1 Text2 Text3 Text4 - ComboBox1 - Combobox2 Command Button: - cmdPrimero - cmdSiguiente - cmdAnterior - cmdUltimo Command Button: - cmdNuevo - cmdEditar - cmdGuardar - cmdEliminar - cmdDeshacer - cmdImprimir - - DataGrid1 CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Ahora empezamos con el desarrollo, este formulario será un formulario de mantenimiento, dónde, tendremos que almacenar, actualizar y eliminar registros, y desde luego permitirnos desplazarnos por todos los registros a través de botones de desplazamiento. Primero empezaremos estableciendo las conexiones para trabajar con la base de datos, para ello trabajamos General y ponemos lo siguiente: Pero antes de ello mostrare las relaciones de la Base de Datos: Neptuno.mbd General Evento General Dim rsProducto As ADODB.Recordset 'RecordSet Para productos Dim rsCategoria As ADODB.Recordset 'RecordSet para Categorias Dim rsProveedor As ADODB.Recordset 'RecordSer para Proveedor Dim sw As Boolean 'Declaramos un variable tipo logica Dim cn As ADODB.Connection 'Declaramos una Variable para la conexion Ahora cada vez que inicie El Sistema establecerá conexión con la Base de Datos y desde luego empezará a rellenar algunos campos necesarios para mostrar Datos. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Form Evento Load Private Sub Form_Load() Set rsProducto = New ADODB.Recordset Set cn = New ADODB.Connection 'Varialbe para conectar a la BD cn.CursorLocation = adUseClient cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Neptuno.mdb;Persist Security Info=False" cn.Open 'Abriendo conexión rsProducto.Open "select Productos.* ,NombreCategoría,NombreCompañía from productos,categorías,proveedores where productos.idcategoría = categorías.idcategoría and productos.idproveedor=proveedores.idproveedor ORDER BY IdProducto", cn, adOpenStatic, adLockOptimistic 'Consulta a la tabla Producto LlenaCombo1 'Invocamos procedimientos, para llenar ComBobox Categoria LlenaCombo2 'Invocamos procedimientos, para llenar ComBobox Proveedor MostrarDatos 'Invocamos Procedimientos, para rellenar las caja de texto y los ComboBox y los Labels Set DataGrid1.DataSource = rsProducto 'Permite rellenar el DataGrid End Sub Ahora elaboramos los procedimientos los cuales permiten facilitar la codificación en muchas oportunidades, porque, sólo tendremos que llamarlos o solo mencionarlos. En un procedimiento lo que hacemos en encapsular un proceso, por ejemplo; En un Formulario existen 10 caja de textos, cuando este se encuentre trabajando en modo Ejecución es de echo que estas caja de textos serán llenadas y cuando en un momento se necesite realizar un nuevo registro, estas cajas tendrás que ser limpiadas, pero CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad imaginemos que tenemos como cuatro formularios casi con las mismas características, sería muy agotador estar codificando en cada formulario un código para limpiar cajas de texto, lo mas optimo es mediante un código identificar los controles de texto dentro de un formulario e indicarle que este se limpien, por ejemplo el código sería el siguiente. Dim c AS Control For Each c In Me.Controls If TypeOf C Is TextBox Then c.Text =”” Next Mediante este simple código estamos indicando de que identifique a todos los controles de texto y los limpie. Private Sub MostrarDatos() Text1.Text = rsProducto!idproducto Text2.Text = rsProducto!nombreproducto Text3.Text = rsProducto!CantidadPorUnidad Text4.Text = rsProducto!PrecioUnidad Combo1.Text = rsProducto!NombreCategoría Combo2.Text = rsProducto!NombreCompañía LblNum.Caption = Str(rsProducto.AbsolutePosition) + "/" + Str(rsProducto.RecordCount) End Sub Private Sub LlenaCombo1() Set rsCategoria = New ADODB.Recordset rsCategoria.Open "select idcategoría,NombreCategoría adOpenStatic, adLockOptimistic Do While Not rsCategoria.EOF from categorías", cn, CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Combo1.AddItem rsCategoria!NombreCategoría rsCategoria.MoveNext Loop End Sub Private Sub LlenaCombo2() Set rsProveedor = New ADODB.Recordset rsProveedor.Open "select idproveedor,NombreCompañía from proveedores", cn, adOpenStatic, adLockOptimistic Do While Not rsProveedor.EOF Combo2.AddItem rsProveedor!NombreCompañía rsProveedor.MoveNext Loop End Sub Private Sub Limpiar() Dim c As control For Each c In Me.Controls If TypeOf c Is TextBox Then c.Text = "" Next Combo1.Text = "" Combo2.Text = "" Call Bloquear(True) End Sub Private Sub Bloquear(ByVal flag As Boolean) Dim control For Each control In Me CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad If control.Tag = "+" Then control.Enabled = flag End If If control.Tag = "-" Then control.Enabled = Not flag End If Next End Sub Ahora empezamos a codificar los botones de desplazamiento. cmdPRimero Evento Click Private Sub CmdPrimero_Click() rsProducto.MoveFirst MostrarDatos End Sub cmdSiguiente Evento CLick Private Sub CmdSiguiente_Click() rsProducto.MoveNext If rsProducto.EOF = True Then rsProducto.MoveFirst MostrarDatos End Sub cmdAnterior Evento CLick Private Sub CmdAnterior_Click() rsProducto.MovePrevious If rsProducto.BOF = True Then rsProducto.MoveLast MostrarDatos CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad End Sub cmdUltimo Evento CLick Private Sub CmdUltimo_Click() rsProducto.MoveLast MostrarDatos End Sub Ahora codificaremos los botones mantenedores: cmdNuevo Evento CLick Private Sub CmdNuevo_Click() Call Limpiar Text1.Text = rsProducto.RecordCount + 1 'cualquiera de estas opciones usa 'Text1.Locked = True Text1.Enabled = False Text2.SetFocus sw = True End Sub cmdGrabar Evento CLick Private Sub CmdGrabar_Click() If sw = True Then rsProducto.AddNew rsProducto!idproducto = Val(Text1.Text) rsProducto!nombreproducto = Text2.Text rsProducto!CantidadPorUnidad = Text3.Text rsProducto!PrecioUnidad = Val(Text4.Text) CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Set rsCategoria = New ADODB.Recordset rsCategoria.Open "select idcategoría,NombreCategoría from categorías where trim(NombreCategoría)='" + Trim(Combo1.Text) + "'", cn, adOpenStatic, adLockOptimistic Var1 = rsCategoria!idcategoría rsProducto!idcategoría = Var1 Set rsProveedor = New ADODB.Recordset rsProveedor.Open "select idproveedor,NombreCompañía from proveedores where trim(NombreCompañía)='" + Trim(Combo2.Text) adLockOptimistic Var2 = rsProveedor!idproveedor rsProducto!idproveedor = Var2 Else rsProducto!nombreproducto = Text2.Text rsProducto!CantidadPorUnidad = Text3.Text rsProducto!PrecioUnidad = Text4.Text rsProducto!idcategoría = Combo1.Text rsProducto!idproveedor = Combo2.Text End If rsProducto.Update rsProducto.MoveFirst rsProducto.Requery MostrarDatos Call Bloquear(False) End Sub + "'", cn, adOpenStatic, CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad cmdEliminar Evento Click Private Sub cmdEliminar_Click() Dim Rpta As Integer Rpta = MsgBox("¿Seguro de Eliminar Registro?", vbQuestion + vbYesNo, "Confirmar Eliminación") If Rpta = vbYes Then On Error GoTo Mensaje rsProducto.Delete If rsProducto.RecordCount > 0 Then rsProducto.MoveNext If rsProducto.EOF Then rsProducto.MoveLast Else rsProducto.Requery End If Exit Sub Mensaje: rsProducto.CancelUpdate MsgBox "No se eliminó Ningún Registro" & vbCrLf & "Error" & Err.Description, vbcristal, "Error" End If End Sub cmdDeshacer Evento Click Private Sub cmdDeshacer_Click() rsProducto.CancelUpdate If rsProducto.BOF Then CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad rsProducto.MoveNext Else rsProducto.MovePrevious If rsProducto.BOF Then rsProducto.MoveFirst End If End If Call Bloquear(True) End Sub cmdImprimir Evento Click Private Sub cmdImprimir_Click() Set drPedido.DataSource = rsProducto drPedido.Show End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo Formulario de Consulta de Pedidos por Clientes (frmpedidos) Para este formulario tendremos que insertar un DataList, y en su propiedad Nombre colocamos “DblClientes” y agregaremos un DataGrid y le asignaremos como nombre “DtgPedidos”; para ello tendremos dos controles ADO uno para conectar a la tabla clientes y otra para pedidos, para luego realizar su consulta de la cantidad del pedidos realizados por un cliente En este formulario la codificación será pequeña nada mas, solo los controles ADO, se tendrán que configurar de la siguiente manera: ADOCLIENTE Primero, insertamos el control seleccionándolo de la Barra de Herramientas y luego lo pegamos en el formulario, luego al control insertado le damos clic derecho y nos aparecerá la siguiente ventana: En el paso numero 1, tendremos que buscar la dirección de la Base de Datos, luego hacer un CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad clic en el Botón Probar Conexión, sólo para verificar su correcta conexión Luego dar un clic en la ficha “Origen de registro”, para ello en Tipo de Comando,: “2adCmdTable”, y luego en Tabla o Nombre de Procedimiento Almacenado: Clientes, y finalmente clic en el botón Aceptar. ADOPEDIDOS Insertamos un control ADO al formulario, le damos clic derecho al control y nos aparecerá la siguiente ventana en donde buscaremos a la Base de Datos y luego probaremos conexión para asegurarnos que existe conexión del control con la BD, luego en la “Ficha, Origen de Registro”, opción Tipo de Comando: “2adCmdTable”, y luego en Tabla o Nombre de Procedimiento Almacenado: Pedidos Listo hasta el momento ya hemos establecido una conexión satisfactoria de los controles ADO, con la Base de Datos ahora sólo falta configurar el DataList CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad DATALIST Propiedad Nombre: DblClientes DataSource: AdoCliente RowSource: AdoCliente ListField: NombreCompañía BoundColumn: IdCliente DATAGRID Propiedad Nombre: DtgPedidos RowSource: AdoPedido Ahora ya tenemos todas las conexiones establecidas, tan solo nos falta realizar un pequeño código para que el filtrado tenga efecto y es el siguiente CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Private Sub DblCLientes_Click() AdoPedido.Recordset.Filter = "IdCliente Like '" + DblCLientes.BoundText + "%'" dtgPedidos.Caption = DblCLientes.Text End Sub DataList DataGrid CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Configuración de Data Report (drPedido.dsr) Agregamos un Data Report a nuestro Proyecto de la siguiente manera PASOS 1. Damos un clic derecho a nuestro explorador de Proyectos 2. Clic en la opción Agregar 3. Clic en Data Report 4. y luego escribimos en su propiedad Nombre: “DrPedido” Configurando DataReport Pegamos algunos “rptTexBox”, y luego en su propiedad DataField escribiremos los campos de donde se obtendrán los datos, tiene que ser campos de la tabla de la BD “frmProductos”, por Ejemplo Improducto; y de este modo cada “rptTExbox” iremos escribiendo el nombre del campo de la tabla en su propiedad DataField y para los encabezados en la Barra de Herramientas seleccionamos un RptLabel, los cuales nos servirán como encabezados en cada columna. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Desarrollo del MDIExamenFinal (MDIForm1.frm) Codificando el menú “Consulta de Pedidos por Cliente” para llamar al Formulario Pedidos Private Sub mnuCon_Click() frmPedidos.Show End Sub Codificando el menú “Mantenimiento de Productos” para llamar al Formulario productos Private Sub mnuMant_Click() FrmProductos.Show FrmProductos.CmdNuevo.SetFocus End Sub Codificando el menú “Salir” para salir del Sistema Private Sub mnuSalir_Click() 'Preparamos una ventana para indicar si desean salir de la Aplicación mediante un Msgbox CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Salir = MsgBox("Esta seguro que deseas Salir de La Aplicación", vbInformation + vbYesNo, "Salir") If Salir = vbYes Then End End If End Sub Programando los botones de la Barra de Herramientas. Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 'para el primer boton Call mnuMant_Click Case 2 'para el segundo boton Call mnuCon_Click Case 3 'para el cuarto boton Call mnuSalir_Click End Select End Sub CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Creación del Ejecutable del Sistema Luego de haber terminado con el sistema, y este funcione correctamente tendremos que crear el ejecutable para poder instalarlo en cualquier PC, por si deseamos vender nuestro sistema, y el usuario final no este abriendo el Programa de visual Basic y ejecute el sistema, para ello crearemos el ejecutable, Visual Basic 6.0 nos brinda un complemento que generan los instaladores de manera rápida y fácil. PASOS A SEGUIR 1. Generar el Archivo Ejecutable Para obtener el archivo ejecutable debe de abrir su proyecto o grupo de proyecto y luego seleccione el Menú: Archivo y la Opción: Generar Proyecto.Exe. 2. Obtener los Instaladores Para obtener los instaladores de su aplicación realice los siguientes pasos: Guardar el proyecto (si no se ha hecho) Ir al Menú: Complementos y luego: Administrador de Complementos Clic en Package and Deployment Wizard y marcar la opción Cargado/Descargado, verificar que a la derecha del complemento se muestre el mensaje Cargado, luego darle clic en Aceptar. 3. Luego de haber realizado todos estos pasos, ingresamos al Asistente de Empaquetados y Distribución. Clic en el Menú Complementos y luego clic en Asistente de Empaquetado y Distribución.. CAPITULO III: Desarrollo Didáctico de Evaluaciones del Curso V.B 6.0 por Unidad Empaquetando Aplicación. Permite Generar los archivos empaquetados (.CAB) • Seleccionar el Botón Empaquetar • Elija el tipo de paquete a crear. Paquete de Instalación Estándar • Elija la carpeta en la que se ensamblará el paquete • Se mostrará la lista de archivos que se incluirán en el paquete (OCX, DLL, EXE, etc). Si desea agregar más elija el botón Agregar (Agregaremos la Base de Datos) • Opciones de .CAB: seleccione si desear crear un archivo .cab (o múltiples .Cab para disquetes seleccione múltiples Cab y elija el tamaño • Escriba el Título de la Aplicación. • Defina los grupos y elementos en el Menú Inicio • Ubicaciones de Instalación: mostrará una lista de archivos y la carpeta donde se instalarán. • Selecciones los archivos compartidos. • Escriba el nombre de configuración del paquete. • Clic en finalizar. Computación e Informática 1. Conclusiones • El Asistente de Laboratorio es una ayuda indispensable para los alumnos que recién se inician en el mundo de la computación, en el afán de aprender las diferentes ramas de esta ciencia el Centro de Computo SENCICO, brinda este servicio de asistencia gratuita en clase, con la finalidad de que el participante tenga el apoyo necesario para llevar el curso. • El ser asistente de Laboratorio me ayudo a aprender muchas cosas y también mejorarlas no sólo en lo referente a la profesión, sino también a tener un mejor trato con las personas y a saber convivir en un ambiente de trabajo real, conviviendo con diferentes compañeros de trabajo de diferentes universidades y en diferentes carreras. • Aparte de ser asistente de laboratorio, también estamos a cargo del laboratorio que nos asignen, y por lo tanto debemos de velar por su buen funcionamiento, y eso implica también tener un buen control de documentos, indispensable para llevar el control de equipos entre otras palabras llevar un buen inventario y saber como elaborarlo, y como sustentarlo hacia nuestro superiores • Para el buen funcionamiento del computador, hay que tener muy en cuenta el correcto manejo un ejemplo de ello es saber como encenderlo con cuidado y como apagarlo con cuidado, en este tiempo de practicas fue testigo de que muchas personas que supuestamente ya saben manejar el computador no tienen bien definidos estos cuidados y mucho menos la posición correcta del usuario frente a un computador. Computación e Informática 2. Recomendaciones. • Capacitación a los practicantes, para poder obtener un mejor desempeño y ofrecer un mejor servicio. • Reestructurar el cableado de red en los Laboratorios, permitirá que estos no sean dañados por los participantes de clase o se tropiecen con ellos, para ellos recomiendo que los Jack modulares estén fijados a las mesas para jalar directamente a cada computador. • Lo mismo sería con los cables de poder y los demás cables como el del teclado, Mouse, monitor los cuales están a la vista, para ellos existen unos ganchos para unirlos y fijarlos a las mesas. • Las cajas tomacorrientes dentro de los laboratorios están a la vista, lo cual se recomienda ponerlos en cajas subterráneas o ponerlos a un costado de la mesa para evitar algún tipo de contacto con personas. Computación e Informática 3. Bibliografías www.canalvisualbasic.net www.lawebdelprogramador.com www.elguille.com www.elguille.inf www.portalvb.com Manual del Participante del Curso de Visual Basic Centro de Computo SENCICO Computación e Informática 4. Anexos • Control de Asistencias. • S.A.G.A (Servicio de Asistencia Gratuita al Alumno) • Control de Mantenimiento de Laboratorio Mensual • Manual de Procedimiento del Asistente. • Reglamento del Participante de Cómputo • Funciones del Asistente de Cómputo