manual progamacion

60
Universidad Nacional de Cajamarca Facultad de Ingeniería CURSO : PROGAMACION APLICADA I TEMA :MANUAL VISUAL ESTUDIO 2010 ALUMNO : NAVA ALARCON, Gian Franco CICLO : VI Cajamarca, diciembre del 2011

Upload: gian-franco-nava-alarcon

Post on 21-Jul-2015

278 views

Category:

Documents


0 download

TRANSCRIPT

Universidad Nacional de CajamarcaFacultad de IngenieraEscuela Acadmico Profesional de Ingeniera de SistemasCURSO : PROGAMACION APLICADA I

TEMA

: MANUAL VISUAL ESTUDIO 2010

ALUMNO

: NAVA ALARCON, Gian Franco

CICLO

:

VI

Cajamarca, diciembre del 2011

1.1PROGAMACION LINEAL Y PROGAMACION HORIENTADA A OBJETOS:Existen distintos tipos de programas. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (tambin llamados tipo batch) Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los clculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial est ejecutndose no necesita ninguna intervencin del usuario. A este tipo de programas se les llama tambin programas basados u orientados a procedimientos o a algoritmos (procedural languages). Este tipo de programas siguen Utilizndose ampliamente en la actualidad, pero la difusin de los PCs ha puesto de actualidad otros tipos de programacin. Los programas interactivos exigen la intervencin del usuario en tiempo de ejecucin, bien para suministrar datos, bien para indicar al programa lo que debe hacer por medio de mens. Los programas interactivos limitan y orientan la accin del usuario. Un ejemplo de programa interactivo podra ser Matlab. Por su parte los programas orientados a eventos son los programas tpicos de Windows, tales como Netscape, Word, Excel y PowerPoint. Cuando uno de estos programas ha arrancado, lo nico que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos. El usuario dice si quiere abrir y modificar un fichero existente, o bien comenzar a crear un fichero desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Las acciones que el usuario puede realizar en un momento determinado son variadsimas, y exigen un tipo especial de programacin: la programacin orientada a eventos. Este tipo de programacin es sensiblemente ms complicada que la secuencial y la interactiva, pero Visual Basic 6.0 la hace especialmente sencilla y agradable.

1.2 FORMULARIOS Y CONTROLES:Cada uno de los elementos grficos que pueden formar parte de una aplicacin tpica de Windows es un tipo de control: los botones, las cajas de dilogo y de texto, las cajas de seleccin desplegables, los botones de opcin y de seleccin, las barras de desplazamiento horizontales y verticales, los grficos, los mens, y muchos otros tipos de elementos son controles para Visual Basic. Cada control debe tener un nombre a travs del cual se puede hacer referencia a l en el programa. Visual Basic proporciona nombres por defecto que el usuario puede modificar. En la terminologa de Visual Basic se llama formulario (form) a una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles. Una aplicacin puede tener varios formularios, pero un nico formulario puede ser suficiente para las aplicaciones ms sencillas. Los formularios deben tambin tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles.

1.3OBJETOS Y PROPIEDADES:Los formularios y los distintos tipos de controles son entidades genricas de las que puede haber varios ejemplares concretos en cada programa. En programacin orientada a objetos (ms bien basada en objetos, habra que decir) se llama clase a

estas entidades genricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede haber varios botones, cada uno de los cuales es un objeto del tipo de control command button, que sera la clase. Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto grfico (tamao, color, posicin en la ventana, tipo y tamao de letra, etc.) y su forma de responder a las acciones del usuario (si est activo o no, por ejemplo). Cada propiedad tiene un nombre que viene ya definido por el lenguaje. Por lo general, las propiedades de un objeto son datos que tienen valores lgicos (True, False) o numricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. As pues, cada clase, tipo de objeto o control tiene su conjunto de propiedades, y cada objeto o control concreto tiene unos valores determinados para las propiedades de su clase.

1.4 EVENTOS:Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos tpicos el clicar sobre un botn, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinacin de teclas, el elegir una opcin de un men, el escribir en una caja de texto, o simplemente mover el ratn. Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic arranca una determinada funcin o procedimiento que realiza la accin programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carcter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupar de responder al evento click en el objeto txtBox.

1.5 METODOS:Los mtodos son funciones que tambin son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los mtodos realizan tareas tpicas, previsibles y comunes para todas las aplicaciones. De ah que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios mtodos. Por ejemplo, los controles grficos tienen un mtodo llamado Line que se encarga de dibujar lneas rectas. De la misma forma existe un mtodo llamado Circle que dibuja circunferencias y arcos de circunferencia Es obvio que el dibujar lneas rectas o circunferencias es una tarea comn para todos los programadores y que Visual Basic 6.0 da ya resuelta.

1.5ENTORNO VISUAL DE VISUAL BASIC:

1.6EJEMPLOS:1. Escribir un programa que nos permita ingresar el valor de 3 variables(X,Y,Z) y colocar un botn que nos permita calcular el resultado de la siguiente formula matemtica. R= 2x^2+3x^2y^2\(y+sqrt(4xyz^2)-2z)

SOLUCION

2. EJERCICIO 2:Hallar el mximo y el mnimo de 4 nmeros:

3. EJERCICIO 3:

PARA PODER VALIDAR LOS VALORES INGRESADOS EN EL TEXBOX SOLO SE INGRESEN NUMEROS:Private Sub sueld_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles sueld.KeyPress If Char.IsDigit(e.KeyChar) Then e.Handled = False Else e.Handled = True

End If End Sub

NO SE DEJE EL TEXBOX EN BLANCO NI ESPACIOS: If Not String.IsNullOrEmpty(sueld.Text) And Not String.IsNullOrWhiteSpace(sueld.Text) Then MOSTRAR EL CODIGO ASCCI DE UNA TECLA:

Tx1.txt=asc(e.keychar)4. EJERCICO 4:

5. EJERCICIO5:Compara los 2 ltimos nmeros ejecutados al azar para dar el mximo y el mnimo.

6. EJERCICIO 6:Calcular series en funcin a un nmero ingresado.

7. EJERCICIO 7:

8. EJERCICIO 8:

LISTBOX Ejercicio 1:

CODIGO:

EJERCICIO 2:

CODIGO:

MODIFICACION DE EJERCICIO:

CODIGO:

Ejercicio 3:

Cdigo:

Ejercicio con imgenes:

Cdigo:

=

PICTURE BOX 1. Ejercicio 1:

ARRASTRE DE IMGENESEventos: Keydown: cuando se mantiene pulsada una tecla. Keyup: cuando se suelta la tecla pulsada. Keypress: cuando se presiona una tecla.

MOVIMIENTO DE OBJETOS POR MEDIO DEL KEYPRESSPRIMERA FORMA PARA ARRASTRAR UNA IMAGNE CON LA TECLA A O D:

SEGUNDA FORMA:

LA PROPIEDAD KEYPREVICE (propiedad del formulario) : Determina si los eventos delteclado para los controles del formulario se registran junto con el formulario.

MOVER IMGENES POR MEDIO DEL KEYDOWN

MOVER UNA IMAGEN CON EL MOVIMIENTO DEL MOUSE

ARRASTRARE Eventos: Allowdrop: Obtiene o establece un valor que indica si el control puede aceptarlos datos que el usuario arrastra al mismo

Dodragdrop: inicia la operacin de arrastrar y colocar. Dragenter: determina el tipo de dato que se arrastra al formulario EJERCICIO1:Arrastrar texto

EJERCICIO2:

EJERCICIO3:

EJERCICIO 4:

OBJETO TIMERObjeto no visual lo que permite que el usuario no pueda ser visto por el usuario ya que este evento trabaja con tiempo sin que el usuario intervenga el proceso. Timer1.start: empieza a generar el evento Timer.stop: detiene el evento

Ejercicio:Simular un semforo:

Cdigo:

MOVIMIENTO DE IMGENES

Ancho de imagen width Largo es heigth

CODIGO

PROGAMACION APLICADA CON CONEXIN A BASE DE DATOS Cdigo para exportar datos de exel a Sql:use Northwind bulk insert estudiantes from 'D:\alumnos.csv' with ( fieldterminator = ',', rowterminator= '\n' )

Menus:

Private Sub Consulta1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Consulta1ToolStripMenuItem.Click consulta2.Parent = Me.Parent consulta2.Show() End Sub

Establecer la conexin:Es recomendable establecer una variable global mediante un modulo para poder crear una conexin general para todo el proyecto.

DataAdapter:Representa un conjunto de comandos SQL y una conexin de base de datos que se utilizan para rellenar el objeto DataSet y actualizar el origen de datos. Acta como puente entre DataSet y un origen de datos para la recuperacin y el almacenamiento de datos. Para poder actuar como un puente, DataAdapter asigna el mtodo Fill, que modifica los datos de DataSet de forma que coincidan con los del origen de datos, y asigna el mtodo Update, que modifica los datos del origen de datos para hacerlos coincidir con los de DataSet.

Dataset:DataSet, que es una cach de memoria interna de datos recuperados de un origen de datos, representa un componente fundamental de la arquitectura de ADO.NET. DataSet est compuesto por una coleccin de objetos DataTable que se pueden relacionar entre ellos mediante objetos DataRelation.

Datagridview:El control DataGridView proporciona una tabla personalizable para mostrar datos. Puede utilizar un control DataGridView para mostrar datos con o sin un origen de datos subyacente. Sin especificar un origen de datos, puede crear las columnas y filas que contendrn los datos y agregarlas directamente a DataGridView. Como alternativa, puede establecer las propiedades DataSource y DataMember para enlazar el control DataGridView a un origen de datos y llenarlo de datos automticamente.

1. VISION DE DATOS:

Llenado automtico del Datagridview:

Llenado manual del Datagridview:Creamos un Procedimiento almacenado en SQL:

Luego se coloca el cdigo creando el dataset, dataadapter y el fill con su respectivo origen de datos.

NOTASiempre en todo formulario se deber colocar la importacin de datos.

EJERCICIOS DE APLICACIN: 1. Ejercicio 1:

2. EJERCICIO 2:

3. Ejercicio 3:

4. Ejercicio 4:

5. Ejercicio 5:

6. Ejercicio 5:

AHORA CON EL CODIGO DE BARRAS Para esto se tendra que dar enter cada vez que se teclee o de un valor ( se usa el keypress)

EL TABINDEX nos indica donde parece primero el cursor

2. FORMULARIO HEREDADO:

El hijo tiene el mismo diseo que el formulario padre

3. PERMISOS Y USUARIOS: Crear una tabla usuario en sql luego:

Esa flecha desaparec la venana si es correcto el usuario

Cambiar clave antigua:

4. INSERCION DE DATOS:

ExecuteNonQuery: Se lo utiliza cuando el comando sql no es una consulta. ExecuteReader: Cuando se utiliza una consulta.

Ejemplo:

CON VALIDACION:

Imports System.Data.SqlClient Public Class Form1 Sub limpiar_ingreso() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox7.Text = "" End Sub Dim resp As Integer Dim cnt, cnt2 As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim insert_perso As New SqlCommand("insert_perso", conex) 'en el parentesis se puede colocar tambine el codigo de la consulta sin crear el procedimiento alamacenado insert_perso.CommandType = CommandType.StoredProcedure insert_perso.Parameters.Add("@id", SqlDbType.Char, 8).Value = TextBox1.Text insert_perso.Parameters.Add("@n", SqlDbType.VarChar, 30).Value = TextBox2.Text insert_perso.Parameters.Add("@a", SqlDbType.VarChar, 40).Value = TextBox3.Text insert_perso.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = TextBox4.Text insert_perso.Parameters.Add("@g", SqlDbType.VarChar, 50).Value = cnt insert_perso.Parameters.Add("@ec", SqlDbType.Char, 1).Value = ListBox1.SelectedItem insert_perso.Parameters.Add("@fn", SqlDbType.DateTime).Value = MaskedTextBox1 conex.Open()

resp = insert_perso.ExecuteNonQuery conex.Close() If resp = 1 Then MsgBox("SE GRAVO EL REGISTRO") limpiar_ingreso() End If End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Checked Then cnt = "F" Else cnt = "M" End If End Sub End Class

Hacienda que el id persona se genere sola

4.1.

EJERCICIOS: Ejercicio1:

Ejercicio2:En un ListBox o ComboBox, colocar el siguiente texto (Son los tipos de Busqueda): Comienza con Termina con Contiene a No contiene a Exactamente igual a

El proceso es seleccionar un tipo de bsqueda en la Lista, luego escribir un texto en el TextBox y al darle al TextBox, se debe filtrar el DatagridView por el nombre del producto, respetando el tipo de bsqueda seleccionado. Los datos que deben salir en el DatagridView son: ProductId ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname (Suppliers).

Imports System.Data.SqlClient Public Class Form1 Dim a As String Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged If ListBox1.SelectedIndex = 0 a = 0 ElseIf ListBox1.SelectedIndex a = 1 ElseIf ListBox1.SelectedIndex a = 2 ElseIf ListBox1.SelectedIndex a = 3 ElseIf ListBox1.SelectedIndex a = 4 End If End Sub Then = 1 Then = 2 Then = 3 Then = 4 Then

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then If a = 0 Then Dim datos As New SqlDataAdapter("empcon", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@a", SqlDbType.VarChar, 20).Value = TextBox1.Text Dim ds As New Data.DataSet datos.Fill(ds, "empcon") DataGridView1.DataSource = ds.Tables("empcon") TextBox1.Text = "" ElseIf a = 1 Then Dim datos As New SqlDataAdapter("termcon", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@b", SqlDbType.VarChar, 20).Value = TextBox1.Text Dim ds As New Data.DataSet datos.Fill(ds, "termcon") DataGridView1.DataSource = ds.Tables("termcon") TextBox1.Text = "" ElseIf a = 2 Then Dim datos As New SqlDataAdapter("cont", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@b", SqlDbType.VarChar, 20).Value = TextBox1.Text Dim ds As New Data.DataSet datos.Fill(ds, "cont") DataGridView1.DataSource = ds.Tables("cont") TextBox1.Text = "" ElseIf a = 3 Then Dim datos As New SqlDataAdapter("nocont", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@b", SqlDbType.VarChar, 20).Value = TextBox1.Text Dim ds As New Data.DataSet datos.Fill(ds, "nocont") DataGridView1.DataSource = ds.Tables("nocont") TextBox1.Text = ""

ElseIf a = 4 Then Dim datos As New SqlDataAdapter("igual", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@b", SqlDbType.VarChar, 20).Value = TextBox1.Text Dim ds As New Data.DataSet datos.Fill(ds, "igual") DataGridView1.DataSource = ds.Tables("igual") TextBox1.Text = "" End If End If End Sub End Class

NOTA:EL EJRCICIO 1 SE PUEDE HACER UN YUN SOLO SOTRE PROCIDIUM : SE AGREGARIA 1 PARAMETRO MAS QUE NOS PERMITA GUARDAR 4 ENTEROS : Y LA CONSULTA SERIA: select .... FROM .... IF @T=0 WHERE PRODUCTNAME LIKE @NOM+'%' ELSE IF @T=1 WHERE PRODUCTNAME LIKE '%'+@NOM ......

Ejercicio 3:En un grupo de RadioButton, colocar los filtros como se muestra en la pantalla. El procedimiento es seleccionar un filtro, luego darle un click en el botn, para que aparezcan los datos de los Productos en el DataGridView. Los campos a mostrar en el DataGridView son: ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued. Nota: Optimizar el cdigo escrito para no redundar.

Ejericio4:Implementar la interface del ejercicio 2, esta vez sin el CommandButton, la bsqueda se har al seleccionar el RadioButton (en el caso del filtro de categora, se har con el enter del TextBox). Nota: Optimizar el cdigo escrito para no redundar.

CODIGOImports System.Data.SqlClient Public Class ejercicio2 Dim cnt As Integer Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged Dim datos As New SqlDataAdapter("stock", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure Dim ds As New Data.DataSet datos.Fill(ds, "stock") DataGridView1.DataSource = ds.Tables("stock") End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged Dim datos As New SqlDataAdapter("vigentes", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure Dim ds As New Data.DataSet datos.Fill(ds, "vigentes") DataGridView1.DataSource = ds.Tables("vigentes") End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged Dim datos As New SqlDataAdapter("sinfiltro", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure Dim ds As New Data.DataSet datos.Fill(ds, "sinfiltro") DataGridView1.DataSource = ds.Tables("sinfiltro") End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then Dim datos As New SqlDataAdapter("categoria", conex) datos.SelectCommand.CommandType = CommandType.StoredProcedure datos.SelectCommand.Parameters.Add("@cat", SqlDbType.Int).Value = CInt(TextBox1.Text) Dim ds As New Data.DataSet datos.Fill(ds, "categoria") DataGridView1.DataSource = ds.Tables("categoria") End If End Sub End Class

Ejercicio 5:Colocar un Objeto MonthCalendar, un DatagridView y un TextBox (Sera Temporal, una vez se implemente el formulario, se eliminara)

El GridView debe mostrar: OrderId, OrderDate, ProductName, UnitPrice, Quantity. Al seleccionar una fecha, automticamente se debe filtrar el DatGridView por el campo OrderDate, se debe configurar el MonthCalendar, para que la fecha inicie el 01/01/1996 y finalice el 31/12/1997 (fechas del campo OrderDate de la Tabla Orders) TIPS para probar y analizar: Cuando o como se activa el evento DateChanged, del objeto MonthCalendar? Que se almacena en la propiedad SelectionStart, del objeto MonthCalendar? Que se almacena en la propiedad MinDate, del objeto MonthCalendar? Que se almacena en la propiedad MaxDate, del objeto MonthCalendar?

5. REPORTES:

PARA FILTRAR DATOS

TABCONTROL:

Imgenes en cada pagina: