Vous êtes sur la page 1sur 55

Sistemas de Informacion 2016A \9 Reportes parte 2 -1-

CONTROL CHART

EJERCICIO 1, listar los montos de la tabla pagos en Access

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting
Imports System.Data.OleDb
Imports System.Data
Imports System.Web.UI.DataVisualization.Charting

Public Class Form1


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim myConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\DATOS\ALUMNOS.accdb"
' Define the database query.
Dim mySelectQuery As String = "SELECT nro, monto FROM PAGOS;"
' Create a database connection object using the connection string.
Dim myConnection As OleDbConnection = New
OleDbConnection(myConnectionString)
' Create a database command on the connection using query.
Dim myCommand As OleDbCommand = New OleDbCommand(mySelectQuery,
myConnection)
' Open the connection.
myCommand.Connection.Open()
' Create a database reader.
Dim myReader As OleDbDataReader =
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
' Specify the Name column to be used for point's X values.
Chart1.DataBindTable(myReader, "Nro")
' Close the connection.
myConnection.Close()
' This is a loop to set all created charts appearance with custom attribute.
Dim series As Series
For Each series In Chart1.Series
series.CustomProperties = "DrawingStyle=LightToDark"
Next
End Sub
End Class
Sistemas de Informacion 2016A \9 Reportes parte 2 -2-

EJERCICIO 2(explicativo)

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Sub graficar()
Chart1.Series.Clear()
'Crear la serie
Dim series As New Series("Poblacion")
Chart1.Series.Add(series)
series.ChartType = SeriesChartType.Column
Chart1.Series("Poblacion").Points.AddXY("Peru", 35)
Chart1.Series("Poblacion").Points.AddXY("Argentina", 50)
Chart1.Series("Poblacion").Points.AddXY("Bolivia", 28)
Chart1.Series("Poblacion").Points.AddXY("Brasil", 90)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Chart1.Dock = DockStyle.Fill
graficar()
End Sub
End Class

EJEMPLO EXPLICATIVO DE GRAPH

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting

Public Class Form1


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Chart1.ChartAreas(0).Area3DStyle.Enable3D = True
Chart1.Series.Clear()
'Crear la serie
Dim series1 As New Series("Ingenierias")
Chart1.Series.Add(series1)
Dim series2 As New Series("Sociales")
Sistemas de Informacion 2016A \9 Reportes parte 2 -3-

Chart1.Series.Add(series2)
Dim series3 As New Series("Biomedicas")
Chart1.Series.Add(series3)
' series1.ChartType = SeriesChartType.Column
Chart1.Series(0).Points.AddXY("Primer Ao", 100)
Chart1.Series(0).Points.AddXY("Segundo Ao", 20)
Chart1.Series(0).Points.AddXY("Tercer Ao", 240)
Chart1.Series(0).Points.AddXY("Cuarto Ao", 30)
Chart1.Series(0).Points.AddXY("Quinto Ao", 50)

Chart1.Series(1).Points.AddXY("Primer Ao", 50)


Chart1.Series(1).Points.AddXY("Segundo Ao", 100)
Chart1.Series(1).Points.AddXY("Tercer Ao", 80)
Chart1.Series(1).Points.AddXY("Cuarto Ao", 120)
Chart1.Series(1).Points.AddXY("Quintor Ao", 130)
Chart1.Series(2).Points.AddXY("Primer Ao", 150)
Chart1.Series(2).Points.AddXY("Segundo Ao", 10)
Chart1.Series(2).Points.AddXY("Tercer Ao", 80)
Chart1.Series(2).Points.AddXY("Cuarto Ao", 10)
Chart1.Series(2).Points.AddXY("Quintor Ao", 13)
End Sub
End Class

Vea estas propiedades


Sistemas de Informacion 2016A \9 Reportes parte 2 -4-

EJERCICIO EXPLICATIVO ( para explicar en las practicas)

La siguiente aplicacin permite cargar un archivo de texto y de acuerdo a ello elaborar


un grafico de varias series puede hacer modificaciones en el grafico ( modificando los
valores de un datagridview )

CodLumn
o N1 N2 N3
A1 10 11 12
A2 11 14 13
A3 20 18 18
A4 5 4 8
A5 11 12 12

La estructura del proyecto es

Codigo del modulo 1

Imports System.IO
Module MODULE1
Public NombreArchivo As String = "E:\datos\notas4x5.txt"
Public NombreArchivoGraba As String = "E:\datos\notas4x5Salida.txt"
Public Const maxfilas As Integer = 10
Public Const maxcol As Integer = 4
Public Matriz(maxfilas, maxcol) As String
Public Campos(maxcol) As String
Public nf As Integer = 5
Public nc As Integer = 4
Public anguloCuboX As Integer = 30 '-45
Sistemas de Informacion 2016A \9 Reportes parte 2 -5-

Public anguloCuboY As Integer = 30


Public anguloCuboZ As Integer = 30
Public VarAngulo As Integer = 10
Public Tipo As Integer = 2
Public cont As Integer = 1
Public Modo3D As Integer = 0
Public ModoAleatorio As Integer = 0
Public ModoPalete As Integer = 0
Public Perspectiva As Integer = 0
Public ModoLuz As Integer = 0
Sub RecuperarMatriz(ByVal nombrearchivo As String, ByRef A(,) As String, ByVal nf As
Integer, ByVal nc As Integer)
Dim srLector As StreamReader
srLector = New StreamReader(nombrearchivo)
Dim fila As Integer, col As Integer
Dim cadena As String = ""
Dim subcadena As String
Dim pos As Integer = 0
Dim inicio As Integer = 1
For fila = 0 To nf - 1
cadena = srLector.ReadLine()
cadena = cadena & Chr(9)
inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
A(fila, col) = subcadena
inicio = pos + 1
Next
Next
Console.WriteLine("Archivo leido satisfactoriamente")
srLector.Close()
End Sub
Sub MostrarMatriz(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For fila = 0 To nf - 1
For col = 0 To nc - 1
Console.Write("{0} {1}", A(fila, col), vbTab)
Next
Console.WriteLine()
Next
End Sub
Sub GrabarMatriz(NombreArchivo As String, ByVal A(,) As String, ByVal nf As Integer,
ByVal nc As Integer)
Dim fila, col As Integer
Dim Archivo As StreamWriter
Archivo = New StreamWriter(NombreArchivo)
For fila = 0 To nf - 1
For col = 0 To nc - 1
Archivo.Write("{0} {1}", A(fila, col), vbTab)
Next
Archivo.WriteLine()
Sistemas de Informacion 2016A \9 Reportes parte 2 -6-

Next
End Sub
Sub main()
RecuperarMatriz(NombreArchivo, Matriz, nf, nc)
MostrarMatriz(Matriz, nf, nc)
Console.ReadLine()
End Sub
End Module

Cdigo del formulario

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Sub MostrarMatrizFormulario(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As
Integer)
Dim fila, col As Integer
For col = 0 To nc - 1
DataGridView1.Columns(col).Width = 40
DataGridView1.Columns(col).HeaderText = A(0, col)
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
DataGridView1.Rows(fila).Cells(col).Value = A(fila + 1, col)
Next
Next
End Sub
Sub FormularioAmatriz(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For col = 0 To nc - 1
DataGridView1.Columns(col).Width = 40
A(0, col) = DataGridView1.Columns(col).HeaderText
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
A(fila + 1, col) = DataGridView1.Rows(fila).Cells(col).Value
Next
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAbrir.Click
RecuperarMatriz(NombreArchivo, Matriz, nf, nc)
DataGridView1.RowCount = nf
DataGridView1.ColumnCount = nc
MostrarMatrizFormulario(Matriz, nf, nc)
End Sub
Sub graficar(A(,) As String, nf As Integer, nc As Integer, tipo As Integer, _
Modo3D As Integer, AnguloX As Integer, AnguloY As Integer, AnguloZ As Integer, _
ModoPalete As Integer, perspectiva As Integer, ModoLuz As Integer)
Form2.Chart1.Series.Clear()
Dim series(nc) As Series
Dim col As Integer
For col = 0 To nc - 1
Sistemas de Informacion 2016A \9 Reportes parte 2 -7-

series(col) = New Series(A(0, col))


Form2.Chart1.Series.Add(series(col))
Form2.Chart1.Series(col).ChartType = tipo
Next
Form2.Chart1.ChartAreas(0).Area3DStyle.Enable3D = Modo3D
Form2.Chart1.ChartAreas(0).Area3DStyle.Inclination = AnguloX ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.Rotation = AnguloY ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.PointDepth = AnguloZ ' eje z
Form2.Chart1.Palette = ModoPalete
Form2.Chart1.ChartAreas(0).Area3DStyle.Perspective = perspectiva
Form2.Chart1.ChartAreas(0).Area3DStyle.LightStyle = ModoLuz
For fila = 1 To nf - 1
For col = 0 To nc - 2
Form2.Chart1.Series(col).Points.AddXY(A(fila, 0), CInt(A(fila, col + 1)))
Next
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim fila As Integer
For fila = 0 To 34
Form2.Chart1.Series(0).ChartType = fila
ComboBox1.Items.Add(fila & " " & Form2.Chart1.Series(0).ChartType.ToString)
Next
ComboBox1.SelectedIndex = 1
Form2.Show()
End Sub

Private Sub btnGraficar_Click(sender As Object, e As EventArgs) Handles


btnGraficar.Click
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles
btnModificar1.Click
FormularioAmatriz(Matriz, nf, nc)
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub btnModificar_Click(sender As Object, e As EventArgs) Handles
btnModificar.Click
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub

Private Sub BtnIniciar_Click(sender As Object, e As EventArgs) Handles BtnIniciar.Click


DataGridView2.ColumnCount = 2
DataGridView2.RowCount = 11
DataGridView2.Columns(0).Width = 120
DataGridView2.Columns(1).Width = 40
Dim fila As Integer
For fila = 0 To DataGridView2.RowCount - 1
DataGridView2.Rows(fila).HeaderCell.Value = fila.ToString
Sistemas de Informacion 2016A \9 Reportes parte 2 -8-

Next
DataGridView2.Columns(0).HeaderText = "PROPIEDAD"
DataGridView2.Columns(1).HeaderText = "Valor"
DataGridView2.Rows(0).Cells(0).Value = "ROT X"
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(0).Value = "ROT Y"
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(0).Value = "Prof z"
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
DataGridView2.Rows(3).Cells(0).Value = "Var "
DataGridView2.Rows(3).Cells(1).Value = VarAngulo

DataGridView2.Rows(4).Cells(0).Value = "3D 1=SI 0= NO"


DataGridView2.Rows(4).Cells(1).Value = Modo3D
DataGridView2.Rows(5).Cells(0).Value = "tipo"
DataGridView2.Rows(5).Cells(1).Value = Tipo
DataGridView2.Rows(6).Cells(0).Value = "Palete 0-10"
DataGridView2.Rows(6).Cells(1).Value = ModoPalete
DataGridView2.Rows(7).Cells(0).Value = "Perpectiva 0-100 "
DataGridView2.Rows(7).Cells(1).Value = Perspectiva
DataGridView2.Rows(8).Cells(0).Value = "Modo Luz "
DataGridView2.Rows(8).Cells(1).Value = ModoLuz
DataGridView2.Rows(9).Cells(0).Value = "Nfilas "
DataGridView2.Rows(9).Cells(1).Value = nf
DataGridView2.Rows(10).Cells(0).Value = "N Col "
DataGridView2.Rows(10).Cells(1).Value = nc
End Sub
Sub Obtener()
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
VarAngulo = DataGridView2.Rows(3).Cells(1).Value
Modo3D = DataGridView2.Rows(4).Cells(1).Value
Tipo = DataGridView2.Rows(5).Cells(1).Value
ModoPalete = DataGridView2.Rows(6).Cells(1).Value
Perspectiva = DataGridView2.Rows(7).Cells(1).Value
ModoLuz = DataGridView2.Rows(8).Cells(1).Value
End Sub
Private Sub btnObtener_Click(sender As Object, e As EventArgs) Handles
btnObtener.Click
Obtener()
FormularioAmatriz(Matriz, nf, nc)
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub txtRot_KeyDown(sender As Object, e As KeyEventArgs) Handles
txtRot.KeyDown
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
Select Case e.KeyCode
Case Keys.Right, Keys.X ' fflecha derecha rota al rededdor del x
Sistemas de Informacion 2016A \9 Reportes parte 2 -9-

If anguloCuboX + VarAngulo < 90 Then


anguloCuboX = anguloCuboX + VarAngulo
End If
Case Keys.Left, Keys.A ' fflecha izquierdaderecha rota al rededdor del x
If anguloCuboX - VarAngulo > -90 Then
anguloCuboX = anguloCuboX - VarAngulo
End If
Case Keys.Up, Keys.Y ' flecha arriba a al rededdor del y
If anguloCuboY + VarAngulo < 180 Then
anguloCuboY = anguloCuboY + VarAngulo
End If
Case Keys.Down, Keys.B ' flecha arriba a al rededdor del y
If anguloCuboY - VarAngulo > -180 Then
anguloCuboY = anguloCuboY - VarAngulo
End If
Case Keys.PageUp, Keys.Z ' pagina arriba giro alrededor del eje z
If anguloCuboZ + VarAngulo < 1000 Then
anguloCuboZ = anguloCuboZ + VarAngulo
End If
Case Keys.PageDown, Keys.C ' pagina arriba giro alrededor del eje z
If anguloCuboZ - VarAngulo > 0 Then
anguloCuboZ = anguloCuboZ - VarAngulo
End If
End Select
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
txtRot.Text = ""
btnObtener_Click(sender, e)
End Sub
End Class

Si reemplazamos con este archivo si tendra el siguiente resultado, pruebe con otros
valores
Sistemas de Informacion 2016A \9 Reportes parte 2 - 10 -

Si se quita el minimo valor se tendra el siguiente resultado

Con estos datos se obtiene el siguiente resultado


Sistemas de Informacion 2016A \9 Reportes parte 2 - 11 -

Elabore una simulacin usando este control (por ejemplo el juego de la vida)
EJERCICIO 2 . ( MODIFICACION CON BASE DE DATOS)

El siguiente ejercicio muestra una consulta en SQL y puede escoger subtotales por un
campo y el tipo de grafico en forma manual y forma automtica tambin puede hacer
graficos 3d , y tambin gira el grafico

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting
Imports System.Data.SqlClient
Public Class Form1
Public anguloCuboX As Integer = 30 '-45
Public anguloCuboY As Integer = 30
Public anguloCuboZ As Integer = 30
Public VarAngulo As Integer = 10

Dim CadenaConexion As String = "Data


Source=(LocalDB)\v11.0;AttachDbFilename=E:\DATOS\ALUMNOS1.mdf;Integrated
Security=True;Connect Timeout=30"
Dim con As New SqlConnection(CadenaConexion)
Sistemas de Informacion 2016A \9 Reportes parte 2 - 12 -

Dim dap As New SqlDataAdapter("Select * FROM pagos", con)


Dim dst As New DataSet
Dim Nf As Integer = 1
Dim nc As Integer = 1
Dim X(50) As String
Dim Y(50) As Single
Dim CadenaSQL As String
Dim NombreCampo As String
Dim Tipo As Integer = 1
Dim cont As Integer = 1
Dim Modo3D As Integer = 0
Dim ModoAleatorio As Integer = 0
Dim ModoPalete As Integer = 0
Dim Perspectiva As Integer = 0
Dim ModoLuz As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dap.Fill(dst, "Pagos")
DataGridView1.DataSource = dst.Tables(0)
ComboBox1.Items.Add("Nro")
ComboBox1.Items.Add("CodALumno")
ComboBox1.Items.Add("FechaPago")
ComboBox1.Items.Add("Monto")
ComboBox1.Items.Add("CodCurso")
ComboBox1.Items.Add("Year(FechaPago)")
ComboBox1.Items.Add("Month(FechaPago)")
ComboBox1.Items.Add("Day(FechaPago)")
ComboBox1.SelectedIndex = 0
Dim fila As Integer
For fila = 0 To 34
Form2.Chart1.Series(0).ChartType = fila
ComboBox2.Items.Add(fila & " " & Form2.Chart1.Series(0).ChartType.ToString)
Next
ComboBox2.SelectedIndex = 1
Form2.Show()
End Sub
Sub Graficar(ConsultaSql As String, Campo As String, Tipo As Integer, Modo3D As
Integer, Modoaleatorio As Integer, _
AnguloX As Integer, AnguloY As Integer, AnguloZ As Integer, ModoPalete As
Integer, perspectiva As Integer, ModoLuz As Integer)
Dim fila As Integer
Form2.Chart1.Series.Clear()
Dim series As New Series("SubTotales por " & Campo)
' series.ChartType = SeriesChartType.Column
series.ChartType = Tipo

Form2.Chart1.ChartAreas(0).Area3DStyle.Enable3D = True
Form2.Chart1.ChartAreas(0).Area3DStyle.Inclination = AnguloX ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.Rotation = AnguloY ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.PointDepth = AnguloZ ' eje z
Form2.Chart1.Palette = ModoPalete
Form2.Chart1.ChartAreas(0).Area3DStyle.Perspective = perspectiva
Form2.Chart1.ChartAreas(0).Area3DStyle.LightStyle = ModoLuz
Sistemas de Informacion 2016A \9 Reportes parte 2 - 13 -

dap.SelectCommand.CommandText = ConsultaSql
dst.Tables.Clear()
dap.Fill(dst, "Subtotales")
DataGridView1.DataSource = dst.Tables(0)
Nf = dst.Tables(0).Rows.Count
ReDim X(Nf - 1)
ReDim Y(Nf - 1)
If Modoaleatorio = 1 Then
For fila = 0 To Nf - 1
dst.Tables(0).Rows(fila).Item(0) = fila
dst.Tables(0).Rows(fila).Item(1) = Int(Rnd() * 500 + 100)
Next
End If
For fila = 0 To Nf - 1
X(fila) = dst.Tables(0).Rows(fila).Item(0)
Y(fila) = dst.Tables(0).Rows(fila).Item(1)
Next
series.Points.DataBindXY(X, Y)
If Modo3D = 1 Then
Form2.Chart1.ChartAreas(0).Area3DStyle.Enable3D = True
Else
Form2.Chart1.ChartAreas(0).Area3DStyle.Enable3D = False
End If
Form2.Chart1.Series.Add(series)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles ComboBox1.SelectedIndexChanged
NombreCampo = ComboBox1.Items(ComboBox1.SelectedIndex)
CadenaSQL = "SELECT " & NombreCampo & ", Sum(monto) as Total FROM
PAGOS GROUP BY " & NombreCampo
Graficar(CadenaSQL, NombreCampo, Tipo, Modo3D, ModoAleatorio, anguloCuboX,
anguloCuboY, anguloCuboZ, ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles ComboBox2.SelectedIndexChanged
'Tipo = ComboBox2.Items(ComboBox2.SelectedIndex)
Tipo = ComboBox2.SelectedIndex
Graficar(CadenaSQL, NombreCampo, Tipo, Modo3D, ModoAleatorio, anguloCuboX,
anguloCuboY, anguloCuboZ, ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnDetener.Click
Timer1.Stop()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAuto.Click
Timer1.Interval = 100
Timer1.Start()
End Sub
Private Sub btnManual_Click(sender As Object, e As EventArgs) Handles
btnManual.Click
If cont < 33 Then
ComboBox2.SelectedIndex = cont
Tipo = cont
Sistemas de Informacion 2016A \9 Reportes parte 2 - 14 -

Graficar(CadenaSQL, NombreCampo, Tipo, Modo3D, ModoAleatorio,


anguloCuboX, anguloCuboY, anguloCuboZ, ModoPalete, Perspectiva, ModoLuz)
cont = cont + 1
Else
cont = 0
End If
End Sub
Private Sub btnMostrarGraficos_Click(sender As Object, e As EventArgs) Handles
btnMostrarGraficos.Click
Form2.Show()
End Sub
Private Sub btnSimular_Click(sender As Object, e As EventArgs) Handles
btnSimular.Click
Graficar(CadenaSQL, NombreCampo, Tipo, Modo3D, ModoAleatorio, anguloCuboX,
anguloCuboY, anguloCuboZ, ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub btnIniciar_Click(sender As Object, e As EventArgs) Handles btnIniciar.Click
DataGridView2.ColumnCount = 2
DataGridView2.RowCount = 9
DataGridView2.Columns(0).Width = 120
DataGridView2.Columns(1).Width = 40
Dim fila As Integer
For fila = 0 To DataGridView2.RowCount - 1
DataGridView2.Rows(fila).HeaderCell.Value = fila.ToString
Next
DataGridView2.Columns(0).HeaderText = "PROPIEDAD"
DataGridView2.Columns(1).HeaderText = "Valor"
DataGridView2.Rows(0).Cells(0).Value = "ROT X"
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(0).Value = "ROT Y"
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(0).Value = "Prof z"
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
DataGridView2.Rows(3).Cells(0).Value = "Var "
DataGridView2.Rows(3).Cells(1).Value = VarAngulo

DataGridView2.Rows(4).Cells(0).Value = "3D 1=SI 0= NO"


DataGridView2.Rows(4).Cells(1).Value = Modo3D
DataGridView2.Rows(5).Cells(0).Value = "Aleatorio 1=SI 0= NO"
DataGridView2.Rows(5).Cells(1).Value = ModoAleatorio
DataGridView2.Rows(6).Cells(0).Value = "Palete 0-10"
DataGridView2.Rows(6).Cells(1).Value = ModoPalete
DataGridView2.Rows(7).Cells(0).Value = "Perpectiva 0-100 "
DataGridView2.Rows(7).Cells(1).Value = Perspectiva
DataGridView2.Rows(8).Cells(0).Value = "Modo Luz "
DataGridView2.Rows(8).Cells(1).Value = ModoLuz
End Sub
Private Sub btnobtener_Click(sender As Object, e As EventArgs) Handles
btnobtener.Click
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
Sistemas de Informacion 2016A \9 Reportes parte 2 - 15 -

VarAngulo = DataGridView2.Rows(3).Cells(1).Value
Modo3D = DataGridView2.Rows(4).Cells(1).Value
ModoAleatorio = DataGridView2.Rows(5).Cells(1).Value
ModoPalete = DataGridView2.Rows(6).Cells(1).Value
Perspectiva = DataGridView2.Rows(7).Cells(1).Value
ModoLuz = DataGridView2.Rows(8).Cells(1).Value
Graficar(CadenaSQL, NombreCampo, Tipo, Modo3D, ModoAleatorio, anguloCuboX,
anguloCuboY, anguloCuboZ, ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub TxtRot_KeyDown(sender As Object, e As KeyEventArgs) Handles
TxtRot.KeyDown
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
Select Case e.KeyCode
Case Keys.Right, Keys.X ' fflecha derecha rota al rededdor del x
If anguloCuboX + VarAngulo < 90 Then
anguloCuboX = anguloCuboX + VarAngulo
End If
Case Keys.Left, Keys.A ' fflecha izquierdaderecha rota al rededdor del x
If anguloCuboX - VarAngulo > -90 Then
anguloCuboX = anguloCuboX - VarAngulo
End If
Case Keys.Up, Keys.Y ' flecha arriba a al rededdor del y
If anguloCuboY + VarAngulo < 180 Then
anguloCuboY = anguloCuboY + VarAngulo
End If
Case Keys.Down, Keys.B ' flecha arriba a al rededdor del y
If anguloCuboY - VarAngulo > -180 Then
anguloCuboY = anguloCuboY - VarAngulo
End If
Case Keys.PageUp, Keys.Z ' pagina arriba giro alrededor del eje z
If anguloCuboZ + VarAngulo < 1000 Then
anguloCuboZ = anguloCuboZ + VarAngulo
End If
Case Keys.PageDown, Keys.C ' pagina arriba giro alrededor del eje z
If anguloCuboZ - VarAngulo > 0 Then
anguloCuboZ = anguloCuboZ - VarAngulo
End If
End Select
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
TxtRot.Text = ""
btnobtener_Click(sender, e)
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
btnManual_Click(sender, e)
End Sub
End Class

Elaborar el autmata celular juego de la vida con el control Chart


Sistemas de Informacion 2016A \9 Reportes parte 2 - 16 -

Imports System.Windows.Forms
Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Sub MostrarMatrizFormulario(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As
Integer)
Dim fila, col As Integer
For col = 0 To nc - 1
DataGridView1.Columns(col).Width = 30
DataGridView1.Columns(col).HeaderText = A(0, col)
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
DataGridView1.Rows(fila).Cells(col).Value = A(fila + 1, col)
Next
Next
End Sub

Sub MostrarMatrizJuego(ByVal A(,) As Integer, ByVal nf As Integer, ByVal nc As


Integer)
Dim fila, col As Integer
For fila = 1 To nf - 1
For col = 1 To nc - 1
DataGridView1.Rows(fila).Cells(col).Value = A(fila, col)
Next
Next
End Sub
Sub FormularioAmatriz(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For col = 0 To nc - 1
' DataGridView1.Columns(col).Width = 10
Matriz(0, col) = DataGridView1.Columns(col).HeaderText
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
Matriz(fila + 1, col) = DataGridView1.Rows(fila).Cells(col).Value
Sistemas de Informacion 2016A \9 Reportes parte 2 - 17 -

Next
Next
End Sub

Private Sub btnAbrir_Click(sender As Object, e As EventArgs) Handles btnAbrir.Click


RecuperarMatriz(NombreArchivo, Matriz, nf, nc)
DataGridView1.RowCount = nf
DataGridView1.ColumnCount = nc
ConvertirMatrizCadenaEntero(Matriz, A, nf, nc)
MostrarMatrizFormulario(Matriz, nf, nc)
MostrarMatrizJuego(A, nf, nc)
End Sub

Private Sub BtnIniciar_Click(sender As Object, e As EventArgs) Handles BtnIniciar.Click


DataGridView2.ColumnCount = 2
DataGridView2.RowCount = 11
DataGridView2.Columns(0).Width = 120
DataGridView2.Columns(1).Width = 40
Dim fila As Integer
For fila = 0 To DataGridView2.RowCount - 1
DataGridView2.Rows(fila).HeaderCell.Value = fila.ToString
Next
DataGridView2.Columns(0).HeaderText = "PROPIEDAD"
DataGridView2.Columns(1).HeaderText = "Valor"
DataGridView2.Rows(0).Cells(0).Value = "ROT X"
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(0).Value = "ROT Y"
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(0).Value = "Prof z"
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
DataGridView2.Rows(3).Cells(0).Value = "Var "
DataGridView2.Rows(3).Cells(1).Value = VarAngulo

DataGridView2.Rows(4).Cells(0).Value = "3D 1=SI 0= NO"


DataGridView2.Rows(4).Cells(1).Value = Modo3D
DataGridView2.Rows(5).Cells(0).Value = "tipo"
DataGridView2.Rows(5).Cells(1).Value = Tipo
DataGridView2.Rows(6).Cells(0).Value = "Palete 0-10"
DataGridView2.Rows(6).Cells(1).Value = ModoPalete
DataGridView2.Rows(7).Cells(0).Value = "Perpectiva 0-100 "
DataGridView2.Rows(7).Cells(1).Value = Perspectiva
DataGridView2.Rows(8).Cells(0).Value = "Modo Luz "
DataGridView2.Rows(8).Cells(1).Value = ModoLuz
DataGridView2.Rows(9).Cells(0).Value = "Nfilas "
DataGridView2.Rows(9).Cells(1).Value = nf
DataGridView2.Rows(10).Cells(0).Value = "N Col "
DataGridView2.Rows(10).Cells(1).Value = nc
End Sub
Sub Obtener()
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
Sistemas de Informacion 2016A \9 Reportes parte 2 - 18 -

VarAngulo = DataGridView2.Rows(3).Cells(1).Value
Modo3D = DataGridView2.Rows(4).Cells(1).Value
Tipo = DataGridView2.Rows(5).Cells(1).Value
ModoPalete = DataGridView2.Rows(6).Cells(1).Value
Perspectiva = DataGridView2.Rows(7).Cells(1).Value
ModoLuz = DataGridView2.Rows(8).Cells(1).Value
End Sub

Private Sub btnGraficar_Click(sender As Object, e As EventArgs) Handles


btnGraficar.Click
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub
Sub graficar(A(,) As String, nf As Integer, nc As Integer, tipo As Integer, _
Modo3D As Integer, AnguloX As Integer, AnguloY As Integer, AnguloZ As Integer, _
ModoPalete As Integer, perspectiva As Integer, ModoLuz As Integer)
Form2.Chart1.Series.Clear()
Dim series(nc) As Series
Dim col As Integer
For col = 0 To nc - 1
series(col) = New Series(A(0, col))
Form2.Chart1.Series.Add(series(col))
Form2.Chart1.Series(col).ChartType = tipo
Next
Form2.Chart1.ChartAreas(0).Area3DStyle.Enable3D = Modo3D
Form2.Chart1.ChartAreas(0).Area3DStyle.Inclination = AnguloX ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.Rotation = AnguloY ' eje x
Form2.Chart1.ChartAreas(0).Area3DStyle.PointDepth = AnguloZ ' eje z
Form2.Chart1.Palette = ModoPalete
Form2.Chart1.ChartAreas(0).Area3DStyle.Perspective = Perspectiva
Form2.Chart1.ChartAreas(0).Area3DStyle.LightStyle = ModoLuz
For fila = 1 To nf - 1
For col = 0 To nc - 2
Form2.Chart1.Series(col).Points.AddXY(A(fila, 0), CInt(A(fila, col + 1)))
Next
Next
End Sub

Private Sub BtnObtener_Click(sender As Object, e As EventArgs) Handles


BtnObtener.Click
Obtener()
FormularioAmatriz(Matriz, nf, nc)
graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,
ModoPalete, Perspectiva, ModoLuz)
End Sub
Private Sub btnJugar_Click(sender As Object, e As EventArgs) Handles btnJugar.Click
If contador < ng Then
contador = contador + 1
JuegoVida(A, nf, nc)
MostrarMatrizJuego(A, nf, nc)
ConvertirMatrizEnteroCadena(A, Matriz, nf, nc)
Sistemas de Informacion 2016A \9 Reportes parte 2 - 19 -

graficar(Matriz, nf, nc, Tipo, Modo3D, anguloCuboX, anguloCuboY, anguloCuboZ,


ModoPalete, Perspectiva, ModoLuz)
Else
contador = 0
Timer1.Stop()
MsgBox(" fin del juego")
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Form2.Show()
End Sub
Private Sub VerFomulario2(sender As Object, e As EventArgs) Handles btnForm2.Click
Form2.Show()
End Sub
Private Sub btnForm2_Click(sender As Object, e As EventArgs) Handles
btnForm2.Click
End Sub

Private Sub txtRot_KeyDown(sender As Object, e As KeyEventArgs) Handles


txtRot.KeyDown
anguloCuboX = DataGridView2.Rows(0).Cells(1).Value
anguloCuboY = DataGridView2.Rows(1).Cells(1).Value
anguloCuboZ = DataGridView2.Rows(2).Cells(1).Value
Select Case e.KeyCode
Case Keys.Right, Keys.X ' fflecha derecha rota al rededdor del x
If anguloCuboX + VarAngulo < 90 Then
anguloCuboX = anguloCuboX + VarAngulo
End If
Case Keys.Left, Keys.A ' fflecha izquierdaderecha rota al rededdor del x
If anguloCuboX - VarAngulo > -90 Then
anguloCuboX = anguloCuboX - VarAngulo
End If
Case Keys.Up, Keys.Y ' flecha arriba a al rededdor del y
If anguloCuboY + VarAngulo < 180 Then
anguloCuboY = anguloCuboY + VarAngulo
End If
Case Keys.Down, Keys.B ' flecha arriba a al rededdor del y
If anguloCuboY - VarAngulo > -180 Then
anguloCuboY = anguloCuboY - VarAngulo
End If
Case Keys.PageUp, Keys.Z ' pagina arriba giro alrededor del eje z
If anguloCuboZ + VarAngulo < 1000 Then
anguloCuboZ = anguloCuboZ + VarAngulo
End If
Case Keys.PageDown, Keys.C ' pagina arriba giro alrededor del eje z
If anguloCuboZ - VarAngulo > 0 Then
anguloCuboZ = anguloCuboZ - VarAngulo
End If
End Select
DataGridView2.Rows(0).Cells(1).Value = anguloCuboX
DataGridView2.Rows(1).Cells(1).Value = anguloCuboY
DataGridView2.Rows(2).Cells(1).Value = anguloCuboZ
Sistemas de Informacion 2016A \9 Reportes parte 2 - 20 -

txtRot.Text = ""
BtnObtener_Click(sender, e)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Interval = 100
Timer1.Start()
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click


Timer1.Stop()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
btnJugar_Click(sender, e)
End Sub

CODIGO DEL MODULO 1

Imports System.IO
Module Module1
Public Const maxfilas As Integer = 24
Public Const maxcol As Integer = 60
Public NombreArchivo As String = "E:\datos\MATRIZ60X24.txt"
Public NombreArchivoGraba As String = "E:\datos\notas4x5Salida.txt"
Public Matriz(maxfilas, maxcol) As String
Public anguloCuboX As Integer = 30 '-45
Public anguloCuboY As Integer = 30
Public anguloCuboZ As Integer = 30
Public VarAngulo As Integer = 10
Public Tipo As Integer = 10
Public Modo3D As Integer = 0
Public ModoAleatorio As Integer = 0
Public ModoPalete As Integer = 0
Public Perspectiva As Integer = 0
Public ModoLuz As Integer = 0
Public A(maxfilas, maxcol) As Integer
Public nf As Integer = 24
Public nc As Integer = 60
Public ng As Integer = 200
Public contador As Integer = 0

Sub Main()
Dim I As Integer
Console.Write("juego de la vida de wonway")
Console.Write("Diseo escecario en excel y grabe archivo con bloque de notas ")
Console.Write("juego de la vida de wonway")
RecuperarMatriz(NombreArchivo, Matriz, nf, nc)
ConvertirMatrizCadenaEntero(Matriz, A, nf, nc)
VerPantalla(A, nf, nc)
Console.ReadLine()
For I = 0 To ng
JuegoVida(A, nf, nc)
VerPantalla(A, nf, nc)
Sistemas de Informacion 2016A \9 Reportes parte 2 - 21 -

JuegoVida(A, nf, nc)


System.Threading.Thread.Sleep(10) ' 1 segundo
Next
Console.ReadLine()
End Sub
End Module

CODIGO DEL MODULO 2

Imports System.IO
Module Module2
Sub ConvertirMatrizEnteroCadena(ByVal A(,) As Integer, ByVal Matriz(,) As String,
ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For fila = 1 To nf - 1
For col = 1 To nc - 1
Matriz(fila, col) = A(fila, col)
Next
Next
End Sub
Sub ConvertirMatrizCadenaEntero(ByVal Matriz(,) As String, ByVal A(,) As Integer,
ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For fila = 1 To nf - 1
For col = 1 To nc - 1
A(fila, col) = CInt(Matriz(fila, col))
Next
Next
End Sub
Sub IniciarPantalla(ByVal A(,) As Integer, ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For fila = 0 To nf - 1
For col = 0 To nc - 1
A(fila, col) = 0
Next
Next
End Sub
Sub TranferirMatriz(ByVal A(,) As Integer, ByVal B(,) As Integer, ByVal nf As Integer,
ByVal nc As Integer)
Dim fila, col As Integer
For fila = 1 To nf - 1
For col = 1 To nc - 1
B(fila, col) = A(fila, col)
Next
Next
End Sub

Sub JuegoVida(ByVal A(,) As Integer, ByVal nf As Integer, ByVal nc As Integer)


Dim B(maxfilas, maxcol) As Integer
Dim fila, col, vecinos, x1, y1, x2, y2, fila1, col1 As Integer
For fila = 1 To nf
For col = 1 To nc
Sistemas de Informacion 2016A \9 Reportes parte 2 - 22 -

vecinos = 0
If fila > 1 Then
y1 = fila - 1
Else
y1 = fila
End If

If fila < nf - 1 Then


y2 = fila + 1
Else
y2 = fila
End If
If col > 1 Then
x1 = col - 1
Else
x1 = col
End If
If col < nc Then
x2 = col + 1
Else
x2 = col
End If
For fila1 = y1 To y2
For col1 = x1 To x2
If (fila1 = fila And col1 = col) Then Continue For
If A(fila1, col1) = 1 Then vecinos = vecinos + 1
Next
Next
Select Case vecinos
Case 0
B(fila, col) = 0
Case 1
B(fila, col) = 0
Case 2
B(fila, col) = A(fila, col)
Case 3
B(fila, col) = 1
Case Else
B(fila, col) = 0
End Select
Next
Next
IniciarPantalla(A, nf, nc)
TranferirMatriz(B, A, nf, nc)
End Sub
Sub VerPantalla(ByVal A(,) As Integer, ByVal nf As Integer, ByVal nc As Integer)
Dim fila, col As Integer
For fila = 0 To nf - 1
For col = 0 To nc - 1
Console.SetCursorPosition(col + 1, fila + 1)
If (A(fila, col) > 0) Then
' Console.Write("{0}", ChrW(219))
Sistemas de Informacion 2016A \9 Reportes parte 2 - 23 -

Console.Write("*")
Else
Console.Write(" ")
End If
Next
Next
End Sub
Sub RecuperarMatriz(ByVal nombrearchivo As String, ByRef A(,) As String, ByVal nf As
Integer, ByVal nc As Integer)
Dim srLector As StreamReader
srLector = New StreamReader(nombrearchivo)
Dim fila As Integer, col As Integer
Dim cadena As String = ""
Dim subcadena As String
Dim pos As Integer = 0
Dim inicio As Integer = 1
For fila = 0 To nf - 1
cadena = srLector.ReadLine()
cadena = cadena & Chr(9)
inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
A(fila, col) = subcadena
inicio = pos + 1
Next
Next
Console.WriteLine("Archivo leido satisfactoriamente")
srLector.Close()
End Sub
End Module

REPORTES EN VISUAL BASIC 2012


CAPA presentacin clic derecho y poner informe
Sistemas de Informacion 2016A \9 Reportes parte 2 - 24 -

Buscar informe o report


Elaborar reporte de alumnos

Aparece los siguiente

2 Dar clic derecho e insertar

Aparece lo siguiente presionar en nuevo


Sistemas de Informacion 2016A \9 Reportes parte 2 - 25 -

Elegir base de datos

Luego conjunto de batos


Sistemas de Informacion 2016A \9 Reportes parte 2 - 26 -

Son casi los mismos pasos para realizar una conexin

Aparece lo siguiente
Sistemas de Informacion 2016A \9 Reportes parte 2 - 27 -

Escoja la tabla pagos

Finalizar y luego aceptar


Sistemas de Informacion 2016A \9 Reportes parte 2 - 28 -

Aparece lo siguiente

Ubicarse en el primer recuadro y se ve el smbolo de base de datos


Sistemas de Informacion 2016A \9 Reportes parte 2 - 29 -

En el primer campo poner numero y asi sucesivmente en lso dems

Elija insertar columna a la derecha

Y se llena los dems campos

Poner encabezado a la hoja


Sistemas de Informacion 2016A \9 Reportes parte 2 - 30 -

Se Obtiene

Insertamos una imagen en el encabezado

Seleccione la imagen
Sistemas de Informacion 2016A \9 Reportes parte 2 - 31 -

En opciones de amao de imagen se tiene

Insertar un cuadro de texto


Y escriba informa de paos PUEDE cambia la fuentes la s propiedades del siguiente
cuadro
Sistemas de Informacion 2016A \9 Reportes parte 2 - 32 -

SE Tiene

Poner una lnea de 5 puntos de anncho


Sistemas de Informacion 2016A \9 Reportes parte 2 - 33 -

Acomodar las dimensiones de los campos


Por ejmplo fecha pago es mas ancho

Agregar Report Viewer y arrzstre al formualrioal formulario, si no exsite ete elemento en


la barras de herramientas entonces eligir elemento

Elija el informe preprados y acoplar al formulario(acoplar al contenedor primario)

Y se tiene el informe

Evalue los botones y vea


Por ejemplo diseo de impresin
Sistemas de Informacion 2016A \9 Reportes parte 2 - 34 -

Configurar pagina

Exportar

PRUEBE buscar
Sistemas de Informacion 2016A \9 Reportes parte 2 - 35 -

Para llamar reporte de otro formulario

Public Class Form2


Private Sub btnReporte_Click(sender As Object, e As EventArgs) Handles
btnReporte.Click
Form1.Show()
End Sub
End Class

Formatear el datagridview
Sistemas de Informacion 2016A \9 Reportes parte 2 - 36 -

Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Dim cadenaconexion = "Data
Source=(LocalDB)\v11.0;AttachDbFilename=D:\datos\alumnos.mdf;Integrated
Security=True;Connect Timeout=30"
Dim Conexion As New SqlConnection(cadenaconexion)
Dim DAlumnos As New SqlDataAdapter("SELECT * FROM Alumnos", Conexion)
Dim DataSet As New DataSet()
Private Sub frmNormal_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles MyBase.Load
DAlumnos.Fill(DataSet, "consulta")
DataGridView1.DataSource = DataSet.Tables(0)
End Sub
Private Sub Btnformatear_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btnformatear.Click
'DataGridView1.Columns(1).DefaultCellStyle.Font
Dim cellStyle As New DataGridViewCellStyle
Dim fila As Integer
cellStyle.Font = New Font("ARIAL", 14, FontStyle.Bold)
Me.DataGridView1.ColumnHeadersDefaultCellStyle = cellStyle
DataGridView1.DefaultCellStyle.Font = New Font("ARIAL", 10)
DataGridView1.Columns(1).DefaultCellStyle.Font = New Font("ARIAL Black", 10)
For fila = 0 To DataSet.Tables(0).Rows.Count - 1
DataGridView1.Rows(fila).Cells(0).Style.BackColor = Color.FromArgb(0, 255, 0)
DataGridView1.Rows(fila).Cells(1).Style.BackColor = Color.FromArgb(255, 255, 0)
DataGridView1.Rows(fila).Cells(2).Style.BackColor = Color.FromArgb(0, 255, 255)
DataGridView1.Rows(fila).Cells(0).Style.ForeColor = Color.FromArgb(255, 0, 0)
Next
End Sub
Private Sub Btnformatear_Click_1(sender As Object, e As EventArgs) Handles
Btnformatear.Click
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As
DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Sistemas de Informacion 2016A \9 Reportes parte 2 - 37 -

Dim Fila, Col As Integer


Fila = DataGridView1.CurrentCell.RowIndex
Col = DataGridView1.CurrentCell.ColumnIndex
txtFila.Text = Fila
txtCol.Text = Col
txtValor.Text = DataGridView1.Rows(Fila).Cells(Col).Value
End Sub

Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles


btnIngresar.Click
Dim fila, col As Integer
Fila = DataGridView1.CurrentCell.RowIndex
Col = DataGridView1.CurrentCell.ColumnIndex
Fila = txtFila.Text
col = txtCol.Text
DataGridView1.Rows(fila).Cells(col).Value = txtValor.Text
End Sub
End Class

DATASET CON TRES TABLAS

Imports System.Data.SqlClient
Public Class Form1
Public cadenaconexion As String = "Data
Source=(LocalDB)\v11.0;AttachDbFilename=E:\DATOS\ALUMNOS.mdf;Integrated
Security=True;Connect Timeout=30"
Public conn As SqlConnection = New SqlConnection(cadenaconexion)
Public Opcion As Integer, Pos As Integer
Public codalumno As String
Public nombrealumno As String
Public FechaNac As String
Public ncol As Integer = 3
Public fila, col As Integer
Sistemas de Informacion 2016A \9 Reportes parte 2 - 38 -

Public da As SqlDataAdapter = New SqlDataAdapter("", conn)


Public ds As DataSet = New DataSet

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnIniciar.Click


'da.SelectCommand.CommandText = "SELECT * FROM ALUMNOS"
'da.Fill(ds, "ALUMNOS")
'da.SelectCommand.CommandText = "SELECT * FROM CURSOS"
'da.Fill(ds, "CURSOS")
'da.SelectCommand.CommandText = "SELECT * FROM PAGOS"
'da.Fill(ds, "PAGOS")

da.SelectCommand.CommandText = "SELECT * FROM ALUMNOS;SELECT *


FROM CURSOS; SELECT * FROM PAGOS"
da.Fill(ds, "PAGOS")
DataGridView1.DataSource = ds.Tables(0)
DataGridView2.DataSource = ds.Tables(1)
DataGridView3.DataSource = ds.Tables(2)
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As
DataGridViewCellEventArgs) Handles _
DataGridView1.CellClick, DataGridView2.CellClick, DataGridView3.CellClick
Dim Fila, Col, tabla As Integer
Select Case sender.name
Case "DataGridView1" : tabla = 0
Case "DataGridView2" : tabla = 1
Case "DataGridView3" : tabla = 2
End Select
Fila = sender.CurrentCell.RowIndex
Col = sender.CurrentCell.ColumnIndex
txttabla.Text = tabla
txtFila.Text = Fila
txtcol.Text = Col
txtvalor.Text = sender.Rows(Fila).Cells(Col).Value
End Sub
End Class

CONTROL MULTIMEDIA
control media player
Sistemas de Informacion 2016A \9 Reportes parte 2 - 39 -

Public Class Form1


Private Sub AbrirToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
AbrirToolStripMenuItem.Click
OpenFileDialog1.ShowDialog()
AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName
End Sub

Private Sub CerrarToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles CerrarToolStripMenuItem.Click
'AxWindowsMediaPlayer1.close()
End Sub
End Class
Poner reporductos de msica archivso wav
EJEMPLO DE ANIMACION EN VISUAL BASIC MOVER BOTONES O IMAGE LIST
El control serial port

Public Class Form1


Sistemas de Informacion 2016A \9 Reportes parte 2 - 40 -

Sub GetSerialPortNames()
' Show all available COM ports.
For Each sp As String In My.Computer.Ports.SerialPortNames
ListBox1.Items.Add(sp)
Next
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


GetSerialPortNames()
End Sub
End Class

Ports (Clase)

.NET Framework (current version)


Otras versiones

Proporciona una propiedad y un mtodo para tener acceso a los puertos serie del equipo.
Espacio de nombres: Microsoft.VisualBasic.Devices
Microsoft.VisualBasic.Devices (Espacio de nombres)

.NET Framework (current version

Public Class Form1


Sistemas de Informacion 2016A \9 Reportes parte 2 - 41 -

Sub GetSerialPortNames()
' Show all available COM ports.
For Each sp As String In My.Computer.Ports.SerialPortNames
ListBox1.Items.Add(sp)
Next
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


ListBox1.Items.Add(" MEMORIA FISICA DISPONILLE EN EL EQUIPO " &
My.Computer.Info.AvailablePhysicalMemory)
ListBox1.Items.Add(" SISTEMA OPERATIVO " & My.Computer.Info.ToString)
ListBox1.Items.Add(" SISTEMA OPERATIVO " & My.Computer.Info.OSFullName)

ListBox1.Items.Add(" AUDIO OPERATIVO " & My.Computer.Audio.ToString)


ListBox1.Items.Add("APLICACION " & My.Application.ToString)
ListBox1.Items.Add("FORM " & My.Forms.ToString)
GetSerialPortNames()
End Sub
End Class

If My.Computer.Keyboard.AltKeyDown Then
MsgBox("ALT key down")
Else
MsgBox("ALT key up")
End If

Public Class Form1

Sub GetSerialPortNames()
' Show all available COM ports.
Sistemas de Informacion 2016A \9 Reportes parte 2 - 42 -

For Each sp As String In My.Computer.Ports.SerialPortNames


ListBox1.Items.Add(sp)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListBox1.Items.Add(" MEMORIA FISICA DISPONILLE EN EL EQUIPO " &
My.Computer.Info.AvailablePhysicalMemory)
ListBox1.Items.Add(" SISTEMA OPERATIVO " & My.Computer.Info.ToString)
ListBox1.Items.Add(" SISTEMA OPERATIVO " & My.Computer.Info.OSFullName)
ListBox1.Items.Add(" AUDIO OPERATIVO " & My.Computer.Audio.ToString)
ListBox1.Items.Add("APLICACION " & My.Application.ToString)
ListBox1.Items.Add("FORM " & My.Forms.ToString)
TextBox1.Text = My.Computer.Keyboard.AltKeyDown

GetSerialPortNames()
End Sub
End Class

Desarrollo de aplicaciones con Visual Basic Programar en Visual Basic Procesar


unidades, directorios y archivos
Acceso a archivos con Visual Basic
Fundamentos del sistema de archivos y la E/S de archivos en .NET Framework
Tutorial: Manipular archivos utilizando mtodos de .NET Framework
Tutorial: Manipular archivos y directorios en Visual Basic

Para ver el artculo en ingls, active la casilla Traduccin


Ingls. Tambin puede ver el texto en ingls en una
ventana emergente si pasa el puntero del mouse por
el texto.
Ingls

Tutorial: Manipular archivos y directorios en Visual Basic


Visual Studio 2015
Otras versiones

Este tutorial ofrece una introduccin a los fundamentos de la E/S de archivos en Visual
Basic. Describe cmo crear una aplicacin pequea que enumera y examina los archivos
de texto en un directorio. Para cada archivo de texto seleccionado, la aplicacin
Sistemas de Informacion 2016A \9 Reportes parte 2 - 43 -

proporciona atributos de archivo y la primera lnea de contenido. Hay una opcin para
escribir informacin en un archivo de registro.

Este tutorial utiliza miembros de My.Computer.FileSystem Object, que estn disponibles


en Visual Basic. Vea FileSystem para obtener ms informacin. Al final del tutorial, se
proporciona un ejemplo equivalente que usa clases del espacio de nombres System.IO.

Nota

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de


los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones.
La edicin de Visual Studio que se tenga y la configuracin que se utilice determinan
estos elementos. Para obtener ms informacin, consulta Personalizar el IDE de Visual
Studio.

Para crear el proyecto

1. En el men Archivo, haga clic en Nuevo proyecto.

Aparecer el cuadro de dilogo Nuevo proyecto.

2. En el panel Plantillas instaladas, expanda Visual Basic y, a continuacin, haga


clic enWindows. En el panel central Plantillas, haga clic en Aplicacin de
Windows Forms.

3. En el cuadro Nombre, escriba FileExplorer para establecer el nombre del proyecto


y, a continuacin, haga clic en Aceptar.

Visual Studio agregar el proyecto al Explorador de soluciones y se abrir el


Diseador de Windows Forms.

4. Agregue los controles de la siguiente tabla al formulario y establezca los


correspondientes valores para sus propiedades.

Control Propiedad. Valor

ListBox Name filesListBox

Button Name browseButton

Text Browse

Button Name examineButton


Sistemas de Informacion 2016A \9 Reportes parte 2 - 44 -

Text Examine

CheckBox Name saveCheckBox

Text Guardar resultados

FolderBrowserDialog Name FolderBrowserDialog1

Seleccionar una carpeta y enumerar archivos en una carpeta

1. Cree un controlador de eventos Click para browseButton haciendo doble clic en el


control del formulario. Se abrir el Editor de cdigo.

2. Agregue el cdigo siguiente al controlador de eventos Click.

VB

If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then


' List files in the folder.
ListFiles(FolderBrowserDialog1.SelectedPath)
End If

La llamada FolderBrowserDialog1.ShowDialog abre el cuadro de dilogo Buscar


carpeta. Una vez que el usuario hace clic en Aceptar, la
propiedad SelectedPath se enva como un argumento al mtodo ListFiles, que se
agrega en el paso siguiente.

3. Agregue el siguiente mtodo ListFiles.

VB

Private Sub ListFiles(ByVal folderPath As String)


filesListBox.Items.Clear()

Dim fileNames = My.Computer.FileSystem.GetFiles(


folderPath, FileIO.SearchOption.SearchTopLevelOnly, "*.txt")

For Each fileName As String In fileNames


filesListBox.Items.Add(fileName)
Next
End Sub

Este cdigo primero borra el control ListBox.

A continuacin, el mtodo GetFiles recupera una coleccin de cadenas, una para


cada archivo del directorio. El mtodo GetFiles acepta un argumento de modelo
de bsqueda para recuperar los archivos que coinciden con un modelo
Sistemas de Informacion 2016A \9 Reportes parte 2 - 45 -

determinado. En este ejemplo, nicamente se devuelven los archivos que tienen la


extensin .txt.

A continuacin, las cadenas que devuelve el mtodo GetFiles se agregan al


control ListBox.

4. Ejecute la aplicacin. Haga clic en el botn Examinar. En el cuadro de


dilogo Buscar carpeta, busque una carpeta con archivos .txt y, a continuacin,
seleccione la carpeta y haga clic enAceptar.

ListBox contiene una lista de archivos .txt en la carpeta seleccionada.

5. Detenga la ejecucin de la aplicacin.

Obtener atributos de un archivo y contenido de un archivo de texto

1. Cree un controlador de eventos Click para examineButton haciendo doble clic en el


control del formulario.

2. Agregue el cdigo siguiente al controlador de eventos Click.

VB

If filesListBox.SelectedItem Is Nothing Then


MessageBox.Show("Please select a file.")
Exit Sub
End If

' Obtain the file path from the list box selection.
Dim filePath = filesListBox.SelectedItem.ToString

' Verify that the file was not removed since the
' Browse button was clicked.
If My.Computer.FileSystem.FileExists(filePath) = False Then
MessageBox.Show("File Not Found: " & filePath)
Exit Sub
End If

' Obtain file information in a string.


Dim fileInfoText As String = GetTextForOutput(filePath)

' Show the file information.


MessageBox.Show(fileInfoText)

El cdigo comprueba que un elemento est seleccionado en ListBox. A


continuacin, obtiene la entrada de la ruta de acceso del archivo de ListBox. El
mtodo FileExists se utiliza para comprobar si el archivo todava existe.

La ruta de acceso del archivo se enva como un argumento al


mtodo GetTextForOutput, que se agrega en el paso siguiente. Este mtodo
Sistemas de Informacion 2016A \9 Reportes parte 2 - 46 -

devuelve una cadena que contiene la informacin del archivos. La informacin del
archivo aparece en un MessageBox.

3. Agregue el siguiente mtodo GetTextForOutput.

VB

Private Function GetTextForOutput(ByVal filePath As String) As String


' Verify that the file exists.
If My.Computer.FileSystem.FileExists(filePath) = False Then
Throw New Exception("File Not Found: " & filePath)
End If

' Create a new StringBuilder, which is used


' to efficiently build strings.
Dim sb As New System.Text.StringBuilder()

' Obtain file information.


Dim thisFile As System.IO.FileInfo =
My.Computer.FileSystem.GetFileInfo(filePath)

' Add file attributes.


sb.Append("File: " & thisFile.FullName)
sb.Append(vbCrLf)
sb.Append("Modified: " & thisFile.LastWriteTime.ToString)
sb.Append(vbCrLf)
sb.Append("Size: " & thisFile.Length.ToString & " bytes")
sb.Append(vbCrLf)

' Open the text file.


Dim sr As System.IO.StreamReader =
My.Computer.FileSystem.OpenTextFileReader(filePath)

' Add the first line from the file.


If sr.Peek() >= 0 Then
sb.Append("First Line: " & sr.ReadLine())
End If
sr.Close()

Return sb.ToString
End Function

El cdigo utiliza el mtodo GetFileInfo para obtener los parmetros del


archivo. Los parmetros del archivo se agregan a StringBuilder.

El mtodo OpenTextFileReader lee el contenido del archivo en StreamReader. La


primera lnea del contenido se obtiene de StreamReader y se agrega
a StringBuilder.

4. Ejecute la aplicacin. Haga clic en Browse y vaya a una carpeta que contiene
archivos .txt. Haga clic en Aceptar.
Sistemas de Informacion 2016A \9 Reportes parte 2 - 47 -

Seleccione un archivo en ListBox y, a continuacin, haga clic


en Examine. MessageBoxmuestra la informacin del archivo.

5. Detenga la ejecucin de la aplicacin.

Agregar una entrada de registro

1. Agregue el siguiente cdigo al final del controlador de


eventos examineButton_Click.

VB

If saveCheckBox.Checked = True Then


' Place the log file in the same folder as the examined file.
Dim logFolder As String =
My.Computer.FileSystem.GetFileInfo(filePath).DirectoryName
Dim logFilePath = My.Computer.FileSystem.CombinePath(logFolder, "log.txt")

Dim logText As String = "Logged: " & Date.Now.ToString &


vbCrLf & fileInfoText & vbCrLf & vbCrLf

' Append text to the log file.


My.Computer.FileSystem.WriteAllText(logFilePath, logText, append:=True)
End If

El cdigo establece la ruta del archivo de registro para colocar el archivo de


registro en el mismo directorio que el archivo seleccionado. El texto de la entrada
de registro se establece en la fecha y hora actual seguido de la informacin del
archivo.

El mtodo WriteAllText, con el argumento append establecido en True, se utiliza


para crear la entrada de registro.

2. Ejecute la aplicacin. Vaya a un archivo de texto, seleccinelo en ListBox, active


la casillaGuardar resultados y, a continuacin, haga clic en Examine. Compruebe
que la entrada de registro est escrita en el archivo log.txt.

3. Detenga la ejecucin de la aplicacin.

Utilizar el directorio actual

1. Haga doble clic en el formulario para crear un controlador de eventos


para Form1_Load.

2. Agregue el siguiente cdigo al controlador de eventos.

VB

' Set the default directory of the folder browser to the current directory.
FolderBrowserDialog1.SelectedPath = My.Computer.FileSystem.CurrentDirectory
Sistemas de Informacion 2016A \9 Reportes parte 2 - 48 -

Este cdigo establece el directorio predeterminado del explorador de la carpeta en


el directorio actual.

3. Ejecute la aplicacin. Al hacer clic por primera vez en Examinar, se abre el cuadro
de dilogoBuscar carpeta en el directorio actual.

4. Detenga la ejecucin de la aplicacin.

Habilitar controles de forma selectiva

1. Agregue el siguiente mtodo SetEnabled.

VB

Private Sub SetEnabled()


Dim anySelected As Boolean =
(filesListBox.SelectedItem IsNot Nothing)

examineButton.Enabled = anySelected
saveCheckBox.Enabled = anySelected
End Sub

El mtodo SetEnabled habilita o deshabilita controles dependiendo de si un


elemento se selecciona en ListBox.

2. Cree un controlador de
eventos SelectedIndexChanged para filesListBox haciendo doble clic en el
control ListBox del formulario.

3. Agregue una llamada a SetEnabled en el nuevo controlador de


eventosfilesListBox_SelectedIndexChanged.

4. Agregue una llamada a SetEnabled la final del controlador de


eventos browseButton_Click.

5. Agregue una llamada a SetEnabled la final del controlador de


eventos Form1_Load.

6. Ejecute la aplicacin. La casilla Guardar resultados y el botn Examine se


deshabilitan deshabilitados si no se selecciona un elemento en ListBox.

Ejemplo completo utilizando My.Computer.FileSystem

El ejemplo completo aparece a continuacin.


VB

' This example uses members of the My.Computer.FileSystem


' object, which are available in Visual Basic.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load
Sistemas de Informacion 2016A \9 Reportes parte 2 - 49 -

' Set the default directory of the folder browser to the current directory.
FolderBrowserDialog1.SelectedPath = My.Computer.FileSystem.CurrentDirectory

SetEnabled()
End Sub

Private Sub browseButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles browseButton.Click
If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
' List files in the folder.
ListFiles(FolderBrowserDialog1.SelectedPath)
End If
SetEnabled()
End Sub

Private Sub ListFiles(ByVal folderPath As String)


filesListBox.Items.Clear()

Dim fileNames = My.Computer.FileSystem.GetFiles(


folderPath, FileIO.SearchOption.SearchTopLevelOnly, "*.txt")

For Each fileName As String In fileNames


filesListBox.Items.Add(fileName)
Next
End Sub

Private Sub examineButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles examineButton.Click
If filesListBox.SelectedItem Is Nothing Then
MessageBox.Show("Please select a file.")
Exit Sub
End If

' Obtain the file path from the list box selection.
Dim filePath = filesListBox.SelectedItem.ToString

' Verify that the file was not removed since the
' Browse button was clicked.
If My.Computer.FileSystem.FileExists(filePath) = False Then
MessageBox.Show("File Not Found: " & filePath)
Exit Sub
End If

' Obtain file information in a string.


Dim fileInfoText As String = GetTextForOutput(filePath)

' Show the file information.


MessageBox.Show(fileInfoText)

If saveCheckBox.Checked = True Then


' Place the log file in the same folder as the examined file.
Sistemas de Informacion 2016A \9 Reportes parte 2 - 50 -

Dim logFolder As String =


My.Computer.FileSystem.GetFileInfo(filePath).DirectoryName
Dim logFilePath = My.Computer.FileSystem.CombinePath(logFolder, "log.txt")

Dim logText As String = "Logged: " & Date.Now.ToString &


vbCrLf & fileInfoText & vbCrLf & vbCrLf

' Append text to the log file.


My.Computer.FileSystem.WriteAllText(logFilePath, logText, append:=True)
End If
End Sub

Private Function GetTextForOutput(ByVal filePath As String) As String


' Verify that the file exists.
If My.Computer.FileSystem.FileExists(filePath) = False Then
Throw New Exception("File Not Found: " & filePath)
End If

' Create a new StringBuilder, which is used


' to efficiently build strings.
Dim sb As New System.Text.StringBuilder()

' Obtain file information.


Dim thisFile As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(filePath)

' Add file attributes.


sb.Append("File: " & thisFile.FullName)
sb.Append(vbCrLf)
sb.Append("Modified: " & thisFile.LastWriteTime.ToString)
sb.Append(vbCrLf)
sb.Append("Size: " & thisFile.Length.ToString & " bytes")
sb.Append(vbCrLf)

' Open the text file.


Dim sr As System.IO.StreamReader =
My.Computer.FileSystem.OpenTextFileReader(filePath)

' Add the first line from the file.


If sr.Peek() >= 0 Then
sb.Append("First Line: " & sr.ReadLine())
End If
sr.Close()

Return sb.ToString
End Function

Private Sub filesListBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles filesListBox.SelectedIndexChanged
SetEnabled()
End Sub

Private Sub SetEnabled()


Sistemas de Informacion 2016A \9 Reportes parte 2 - 51 -

Dim anySelected As Boolean =


(filesListBox.SelectedItem IsNot Nothing)

examineButton.Enabled = anySelected
saveCheckBox.Enabled = anySelected
End Sub

Ejemplo completo utilizando System.IO

El siguiente ejemplo equivalente utiliza las clases del espacio de nombres System.IO en
lugar de utilizar los objetos My.Computer.FileSystem.
VB

' This example uses classes from the System.IO namespace.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load
' Set the default directory of the folder browser to the current directory.
FolderBrowserDialog1.SelectedPath =
System.IO.Directory.GetCurrentDirectory()

SetEnabled()
End Sub

Private Sub browseButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles browseButton.Click
If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
' List files in the folder.
ListFiles(FolderBrowserDialog1.SelectedPath)
SetEnabled()
End If
End Sub

Private Sub ListFiles(ByVal folderPath As String)


filesListBox.Items.Clear()

Dim fileNames As String() =


System.IO.Directory.GetFiles(folderPath,
"*.txt", System.IO.SearchOption.TopDirectoryOnly)

For Each fileName As String In fileNames


filesListBox.Items.Add(fileName)
Next
End Sub

Private Sub examineButton_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles examineButton.Click
If filesListBox.SelectedItem Is Nothing Then
MessageBox.Show("Please select a file.")
Exit Sub
Sistemas de Informacion 2016A \9 Reportes parte 2 - 52 -

End If

' Obtain the file path from the list box selection.
Dim filePath = filesListBox.SelectedItem.ToString

' Verify that the file was not removed since the
' Browse button was clicked.
If System.IO.File.Exists(filePath) = False Then
MessageBox.Show("File Not Found: " & filePath)
Exit Sub
End If

' Obtain file information in a string.


Dim fileInfoText As String = GetTextForOutput(filePath)

' Show the file information.


MessageBox.Show(fileInfoText)

If saveCheckBox.Checked = True Then


' Place the log file in the same folder as the examined file.
Dim logFolder As String =
System.IO.Path.GetDirectoryName(filePath)
Dim logFilePath = System.IO.Path.Combine(logFolder, "log.txt")

' Append text to the log file.


Dim logText As String = "Logged: " & Date.Now.ToString &
vbCrLf & fileInfoText & vbCrLf & vbCrLf

System.IO.File.AppendAllText(logFilePath, logText)
End If
End Sub

Private Function GetTextForOutput(ByVal filePath As String) As String


' Verify that the file exists.
If System.IO.File.Exists(filePath) = False Then
Throw New Exception("File Not Found: " & filePath)
End If

' Create a new StringBuilder, which is used


' to efficiently build strings.
Dim sb As New System.Text.StringBuilder()

' Obtain file information.


Dim thisFile As New System.IO.FileInfo(filePath)

' Add file attributes.


sb.Append("File: " & thisFile.FullName)
sb.Append(vbCrLf)
sb.Append("Modified: " & thisFile.LastWriteTime.ToString)
sb.Append(vbCrLf)
sb.Append("Size: " & thisFile.Length.ToString & " bytes")
sb.Append(vbCrLf)
Sistemas de Informacion 2016A \9 Reportes parte 2 - 53 -

' Open the text file.


Dim sr As System.IO.StreamReader =
System.IO.File.OpenText(filePath)

' Add the first line from the file.


If sr.Peek() >= 0 Then
sb.Append("First Line: " & sr.ReadLine())
End If
sr.Close()

Return sb.ToString
End Function

Private Sub filesListBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles filesListBox.SelectedIndexChanged
SetEnabled()
End Sub

Private Sub SetEnabled()


Dim anySelected As Boolean =
(filesListBox.SelectedItem IsNot Nothing)

examineButton.Enabled = anySelected
saveCheckBox.Enabled = anySelected
End Sub

Vea tambin

System.IO
FileSystem
CurrentDirectory
Tutorial: Manipular archivos utilizando mtodos de .NET Framework (Visual Basic)
ImprimirExportar (0)Compartir
EN ESTE ARTCULO
Ejemplo completo utilizando My.Computer.FileSystem

Ejemplo completo utilizando System.IO

Vea tambin

MACROS EN EXCEL (Ver documento adjunto)

Module Module1
Function MAYORNOTAS(N1 As Single, N2 As Single, N3 As Single) As Single
Dim MENOR As Single = N1
Dim SUMA As Single
If N2 < MENOR Then
MENOR = N2
Sistemas de Informacion 2016A \9 Reportes parte 2 - 54 -

End If
If N3 < MENOR Then
MENOR = N3
End If
SUMA = N1 + N2 + N3 - MENOR
SUMA = SUMA / 2.0
Return SUMA
'MAYORNOTAS = SUMA
End Function
Sub MAIN()
Dim RES As Single
RES = MAYORNOTAS(1, 2, 3)
Console.WriteLine(" EL PROMEDIO ES {0}", RES)
Console.ReadLine()
End Sub
End Module

Sistema alumnos
Creacion de tablas
CREATE TABLE ALUMNOS
( cui char(8),
Nombre varchar(20),
Foto varchar(50),
primary key (cui))

insert into alumnos (


cui,nombre, foto) values(
'2014a4','PEREZ/QUISPE,JUAN', 'FOTO1')

DSASD ASDSSD

ALUMNO
S CURSOS
NOMBR CODCURS PROFESO
CUI E FOTO O NOMBRECURSO R
Sistemas de Informacion 2016A \9 Reportes parte 2 - 55 -

SISTEMAS DE
A1 JUAN FOTO1 C1 INFORMACION CRUZ
CARRASC
A2 PEDRO FOTO2 C2 VISUAL BASIC O
AUTOMATIZACION
A3 LUIS FOTO3 C3 INDUSTRIA VELIZ
MARQUIN
A4 JULIO FOTO4 C4 BASE DE DATOS A

LISTADOS POR
MATRICULAS CURSO
CODCURS SISTEMAS DE
NRO CUI O C1 INFORMACION A1
1 A1 C1 A1 JUAN A4
2 A1 C2 A2 PEDRO
3 A2 C1 A3 LUIS
4 A4 C2
5 A1 C3
6 A3 C1 A2
7 A4 C3 VISUAL BASIC
8 A2 C4 A1 JUAN
A4 JULIO

Vous aimerez peut-être aussi