Professional Documents
Culture Documents
FRMAGREGAR CURSOS
Public Class FrmAgregarCursos
Private MiArchivo As String = Application.StartupPath + "\cursos.txt"
Private Sub btngrabar_Click(sender As Object, e As EventArgs) Handles btngrabar.Click
Dim Curso As New CapaLogica.DAOCursos
Dim registro As String = txtcodigo.Text + "," + txtnombre.Text + "," + txtcosto.Text
If Curso.Registrar(MiArchivo, registro) Then
MessageBox.Show("Registrado")
frmListadoCursos.Show()
Me.Dispose()
Else
MessageBox.Show("Error")
End If
End Sub
End Class
AGREGAR ALUMNOSCURSO
Public Class FrmAlumnosporCurso
Sub configurar()
With dgvlista.Columns
.Add(0, "Numero")
.Add(1, "Alumno")
.Add(2, "Fecha Matricula")
.Add(3, "Tipo")
End With
End Sub
Sub LeerCursos()
Dim cursos As New CapaLogica.DAOCursos
Dim ArrayCursos As ArrayList = cursos.ListaCursos(Application.StartupPath + "\cursos.txt")
'llenar el combo cursos
For Each obj As CapaEntidades.classCurso In ArrayCursos
cbocurso.Items.Add(obj.nombre)
Next
End Sub
Sub LeerAlumnosMatriculados()
Dim matriculados As New CapaLogica.DAOMatriculas
Dim ArrayMatriculados As ArrayList =
matriculados.ListaAlumnosMatriculados(Application.StartupPath + "\matriculas.txt", cbocurso.Text)
'llenar el DataGrrid con los matriculados
For Each obj As CapaEntidades.ClassMatricula In ArrayMatriculados
dgvlista.Rows.Add(obj.numero, obj.alumno, obj.fechamat, obj.tipomat)
Next
End Sub
Private Sub FrmAlumnosporCurso_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LeerCursos()
configurar()
End Sub
Private Sub btnconsulta_Click(sender As Object, e As EventArgs) Handles btnconsulta.Click
dgvlista.Rows.Clear()
LeerAlumnosMatriculados()
End Sub
End Class
AGREGAR LISTADO CURSOS
Public Class frmListadoCursos
Private Sub btnCerrar_Click(sender As System.Object, e As System.EventArgs) Handles btnCerrar.Click
Me.Dispose()
End Sub
Private Sub frmListadoCursos_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim texto As New CapaLogica.DAOCursos
Dim archivo As String = Application.StartupPath + "\cursos.txt"
txtLista.AppendText(texto.LeerTodo(archivo))
End Sub
End Class
AGREGAR MENU
Public Class frmMenu
Private Sub ListadoDeCursosToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs)
Handles ListadoDeCursosToolStripMenuItem.Click
frmListadoCursos.MdiParent = Me
frmListadoCursos.Show()
End Sub
Private Sub RelacionDeCursosToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs)
Handles RelacionDeCursosToolStripMenuItem.Click
FrmRelacionCursos.MdiParent = Me
FrmRelacionCursos.Show()
End Sub
Private Sub RelacionDeAlumnosToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs)
Handles RelacionDeAlumnosToolStripMenuItem.Click
FrmRelacionAlumnos.MdiParent = Me
FrmRelacionAlumnos.Show()
End Sub
Private Sub RelacionDeAlumnosMatriculadosToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles RelacionDeAlumnosMatriculadosToolStripMenuItem.Click
FrmAlumnosporCurso.MdiParent = Me
FrmAlumnosporCurso.Show()
End Sub
Private Sub RegistrosDeCursosToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
RegistrosDeCursosToolStripMenuItem.Click
FrmAgregarCursos.MdiParent = Me
FrmAgregarCursos.Show()
End Sub
Private Sub frmMenu_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
AGREGAR RELACION ALUMNO
Public Class FrmRelacionAlumnos
Sub configurar()
With dgvlista.Columns
.Add(0, "codigo")
.Add(1, "nombre")
.Add(2, "apellidos")
.Add(3, "telefono")
.Add(4, "Email")
End With
End Sub
Sub mostrarDatos()
configurar()
Dim cursos As New CapaLogica.DAOAlumnos
Dim lista As ArrayList = cursos.ListaCursos(Application.StartupPath + "\alumnos.txt")
For Each obj As CapaEntidades.ClassAlumno In lista
dgvlista.Rows.Add(obj.codigo, obj.nombre, obj.apellidos, obj.telefon, obj.email)
Next
End Sub
Private Sub FrmRelacionAlumnos_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
mostrarDatos()
End Sub
End Class
AGREGAR FRMRELACION CURSO
Public Class FrmRelacionCursos
Sub configurar()
With dgvlista.Columns
.Add(0, "codigo")
.Add(1, "nombre")
.Add(2, "costo")
End With
End Sub
Sub mostrarDatos()
configurar()
Dim cursos As New CapaLogica.DAOCursos
Dim lista As ArrayList = cursos.ListaCursos(Application.StartupPath + "\cursos.txt")
For Each obj As CapaEntidades.classCurso In lista
dgvlista.Rows.Add(obj.codigo, obj.nombre, obj.costo)
Next
End Sub
Private Sub FrmRelacionCursos_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
mostrarDatos()
End Sub
End Class
CAPA DATOS LLAMAR Y LEER EL ARCHIVO .TXT
DATOS.VB
Imports System.IO
Public Class Datos
Private MiArchivo As FileStream
Private MiStream As StreamReader
Public Function Leer(archivo As String) As String
MiArchivo = File.Open(archivo, FileMode.Open, FileAccess.Read)
MiStream = New StreamReader(MiArchivo)
Dim contenido As String = MiStream.ReadToEnd
Cerrar()
Return contenido
End Function
'en el examen nos sera de mucha ayuda
Public Function LeerPorLineas(archivo As String) As StreamReader
MiArchivo = File.Open(archivo, FileMode.Open, FileAccess.Read)
MiStream = New StreamReader(MiArchivo)
Return MiStream
End Function
'cerrar mi string y mi archivo
Public Sub Cerrar()
MiStream.Close()
MiArchivo.Close()
End Sub
End Class
CAPA ENTIDADES VAN ENCAPSULADAS
CLASS MATRICULA
Public Class ClassMatricula
Private _numero As Integer
Private _alumno As String
Private _fechamat As Date
Private _tipomat As String
Private _curso As String
Public Property curso() As String
Get
Return _curso
End Get
Set(ByVal value As String)
_curso = value
End Set
End Property
Public Property tipomat() As String
Get
Return _tipomat
End Get
Set(ByVal value As String)
_tipomat = value
End Set
End Property
Public Property fechamat() As Date
Get
Return _fechamat
End Get
Set(ByVal value As Date)
_fechamat = value
End Set
End Property
Public Property alumno() As String
Get
Return _alumno
End Get
Set(ByVal value As String)
_alumno = value
End Set
End Property
Public Property numero() As Integer
Get
Return _numero
End Get
Set(ByVal value As Integer)
_numero = value
End Set
End Property
End Class
CAPA LOGICA LEE ARCHIVOS .TXT
DAOALUMNOS
Imports System.IO
Public Class DAOAlumnos
Public Function LeerTodo(archivo As String) As String
Dim datos As New CapaDatos.Datos
Dim alumnos As String = datos.Leer(archivo)
Return alumnos
End Function
Public Function ListaCursos(archivo As String) As ArrayList
Dim datos As New CapaDatos.Datos
'abrir el archivo para recien poder tomar todos sus datos
Dim sr As System.IO.StreamReader = datos.LeerPorLineas(archivo)
Dim obj As CapaEntidades.ClassAlumno
Dim MiArray As New ArrayList
Dim linea() As String '<........vector
'bucle o ciclo repetitivo
While sr.Peek <> -1
obj = New CapaEntidades.ClassAlumno
linea = Split(sr.ReadLine, ",")
obj.codigo = linea(0)
obj.nombre = linea(1)
obj.apellidos = linea(2)
obj.telefon = linea(3)
obj.email = linea(4)
MiArray.Add(obj) 'nos sirve para agragando datos a un arrayList
End While
datos.Cerrar() 'nos permite cerrar el archivo de texto el cual esta con el nombre datos
Return MiArray 'para retornar los valores encapsulados en el arrayList
End Function
Public Function Registrar(ByVal archivo As String, ByVal dato As String) As Boolean
Try
'acciones
Dim MiFile As FileStream = File.Open(archivo, FileMode.Append, FileAccess.Write)
Dim sw As New StreamWriter(MiFile)
sw.Write(Environment.NewLine + dato)
sw.Close()
MiFile.Close()
Return True
Catch ex As Exception
'acciones a realizar si hay un error en el bloque anterior
Return False
End Try
End Function
End Class
DAOCURSO
Imports System.IO
Public Class DAOCursos
Public Function LeerTodo(archivo As String) As String
Dim datos As New CapaDatos.Datos
Dim Cursos As String = datos.Leer(archivo)
Return Cursos
End Function
Public Function ListaCursos(archivo As String) As ArrayList
Dim datos As New CapaDatos.Datos
'abrir el archivo para recien poder tomar todos sus datos
Dim sr As System.IO.StreamReader = datos.LeerPorLineas(archivo)
Dim obj As CapaEntidades.classCurso
Dim MiArray As New ArrayList
Dim linea() As String '<........vector
'bucle o ciclo repetitivo
While sr.Peek <> -1
obj = New CapaEntidades.classCurso
linea = Split(sr.ReadLine, ",")
obj.codigo = linea(0)
obj.nombre = linea(1)
obj.costo = linea(2)
MiArray.Add(obj) 'nos sirve para agragando datos a un arrayList
End While
datos.Cerrar() 'nos permite cerrar el archivo de texto el cual esta con el nombre datos
Return MiArray 'para retornar los valores encapsulados en el arrayList
End Function
Public Function Registrar(ByVal archivo As String, ByVal dato As String) As Boolean
Try
'acciones
Dim MiFile As FileStream = File.Open(archivo, FileMode.Append, FileAccess.Write)
Dim sw As New StreamWriter(MiFile)
sw.Write(Environment.NewLine + dato)
sw.Close()
MiFile.Close()
Return True
Catch ex As Exception
'acciones a realizar si hay un error en el bloque anterior
Return False
End Try
End Function
End Class
DAOMATRICULAS
Public Class DAOMatriculas
Public Function ListaAlumnosMatriculados(ByVal archivo As String, ByVal curso As String) As ArrayList
Dim datos As New CapaDatos.Datos
'abrir el archivo para recien poder tomar todos sus datos
Dim sr As System.IO.StreamReader = datos.LeerPorLineas(archivo)
Dim obj As CapaEntidades.ClassMatricula
Dim MiArray As New ArrayList
Dim linea() As String '<........vector
'bucle o ciclo repetitivo
While sr.Peek <> -1
obj = New CapaEntidades.ClassMatricula
linea = Split(sr.ReadLine, ",")
If linea(2) = curso Then
obj.numero = linea(0)
obj.alumno = linea(1)
obj.fechamat = linea(3)
obj.tipomat = linea(4)
MiArray.Add(obj)
End If
End While
datos.Cerrar() 'nos permite cerrar el archivo de texto el cual esta con el nombre datos
Return MiArray
End Function
End Class
objetivos app atravez de clase obtener el archivo.txt
para acceder al archivo.txt
Imports System.IO---->clase
Filestream___acceder a un arfchivo
open----acceso de lectura,escribir y lectura y escritura
streamreader----lee por linea el contenido y lo alamcena en bytes
arraylist--coleccion dinamica
vector---coleccion no dinamica
readtoend------lee de inicio a fin
return----regresa
dao
DATA ACCESS OBJET__ACCESO DE OBEJETO A DATOS
me.dispose---elimina completamente cualquier contenido
startuppath----define la ruta del archivo
CapaDatos---- se modifica solamente al trabajar con base de datos,etc
alumno.txt
_________________________________________
1,Juan,Perez,945678,xx@gmail.com
2,Maria,Julca,65346,xxx@hotmail.com
3,Eva,Salas,98645,zz@gmail.com
4,Mario,Geldres,999555,rrr@hotmail.com
codalumno
*En CapaEntidades, crear la clase classAlumno y crear sus campos y propiedades.
*En CapaLogica, crear la clase DAOAlumnos y el mtodo ListaAlumnos (similar a listaCursos).
*en CapaCliente,Agregar un formulario frmRelacionAlumnos (similar a frmRelacionCursos)