You are on page 1of 7

CAPA CLIENTE SOLO FRAMES

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)

You might also like