Está en la página 1de 8

INSTITUTO SUPERIOR TECNOLÓGICO PRIVADO CIBERTEC

DIRECCIÓN ACADEMICA
NOTA
CURSO : PROGRAMACIÓN ORIENTADA A OBJETOS I
SECCIÓN : T3VN-T3VC-T3VT
SEMESTRE : 2022-I
GRUPO : 01
PROFESOR : Manuel Torres
FECHA : 19/06/2022
DURACIÓN : 90 minutos

CASO DE LABORATORIO (CL2)


Consideraciones generales
- Inicie el proyecto denominado POOI_CL2_XXXX (donde XXXX serán sus apellidos)
- La solución se administrará en un solo proyecto, y donde, cada problema deberá
implementarse en un formulario.

Tenga presente que el logro es que usted, utilizando las librerías del .NET Framework, implemente una
aplicación de Windows que contenga en su estructura controles de Windows, librerías y componentes que
permita el manejo de base de datos, manejo de serialización, compresión y servicios de encriptamiento.

Consolidado
Pregunt Puntaje Llenar solo en caso de Recalificación justificada
a Máximo Obtenido Sustento Puntaje
1 07
2 07
3 06
Nota Recalificada

IST – CIBERTEC 1|P á g i n a


Rúbrica
Importar las Diseña la
Proceso Comprimir Proceso Guardar (4
Puntos librerías GUI
(7 puntos) puntos)
(1 puntos) (1punto)
Proceso donde permita Proceso donde permita
comprimir el contenido del almacenar el contenido
Importar las
textBox almacenando en del textBox en un Solo diseña la
7 Puntos librerías en forma
un archivo zip en forma archivo de texto en GUI
correcta
correcta. forma satisfactoria

Pregunta 1
Implemente un programa que permita almacenar y comprimir los datos de un formulario
en un archivo secuencial y un archivo zip respectivamente. Realiza los siguientes
procesos:

 Dibuja la GUI.
 Importar las librerías de trabajo respectivos.
 Programa el botón Guardar donde almacena el contenido del textBox (asigne las
propiedades para que el control textBox sea multilínea) en un archivo de texto.
 Programa el botón Comprimir donde comprima el contenido del control TextBox
almacenando en un archivo de extensión zip.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.IO;
using System.IO.Compression;

namespace appCL201_T3VN
{
public partial class frmCompresion : Form
{
public frmCompresion()
{
InitializeComponent();
}

private void tsComprimir_Click(object sender, EventArgs e)


{
SaveFileDialog sv = new SaveFileDialog();
sv.Filter = "Archivo ZIP|*.zip";
if (sv.ShowDialog() == DialogResult.OK)
{

MemoryStream ms = new MemoryStream();


StreamWriter sw = new StreamWriter(ms);
sw.Write(txtEditor.Text);
sw.Flush();

FileStream fs = new FileStream(sv.FileName, FileMode.Create);

IST – CIBERTEC 2|P á g i n a


GZipStream zip = new GZipStream(fs, CompressionMode.Compress);
zip.Write(ms.ToArray(), 0, ms.ToArray().Length);
zip.Close();
fs.Close();
}
}

private void tsDescomprimir_Click(object sender, EventArgs e)


{
OpenFileDialog op = new OpenFileDialog();
op.Filter = "Archivo ZIP|*.zip";
if (op.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(op.FileName, FileMode.Open);
GZipStream zip = new GZipStream(fs, CompressionMode.Decompress);

byte[] info = new byte[4096];


zip.Read(info, 0, info.Length);

MemoryStream ms = new MemoryStream();


ms.Write(info, 0, info.Length);

ms.Position = 0;
StreamReader sr = new StreamReader(ms);
txtEditor.Text = sr.ReadToEnd();
zip.Close();
fs.Close();
}
}

private void tsSalir_Click(object sender, EventArgs e)


{
Dispose();
}

private void btnGuardar_Click(object sender, EventArgs e)


{

SaveFileDialog sv = new SaveFileDialog();


sv.Filter = "Archivo de texto|*.txt";
if (sv.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(sv.FileName);
sw.Write(txtEditor.Text);
sw.Close();
}
}
}
}

IST – CIBERTEC 3|P á g i n a


CRITERIOS RUBRICA DE EVALUACION
Crea la clase,
Crea la clase, diseña el
diseña el formulario
Crea la clase, formulario y defina la
y defina la
diseña el formulario colección. Implementa
colección.
y defina la el método Agregar
Implementa el Crea la
MANTENI colección. donde agrega un
método Agregar y clase,
NMIENTO Implementa el objeto a la colección,
método Modificar. diseña el
- método Agregar y evalúa que el código
Implementa el formulario
SERIALIZ método Modificar. no se repita.
método Serializar, y y define la
ACION Implementa el Implementa el método
el método colección
JSON método Serializar, Modificar donde
Deserializar, donde de tipo
(07 donde guardamos actualiza los datos del
buscamos el archivo Vendedor.
puntos) el contenido de la registro por su código.
json y lo abrimos
colección en un En ambos casos
para guardarlo en la
archivo json. visualice los resultados
colección y
en el dataGridView
visualizar la lista.
(7 puntos) (5.5 puntos) (4 puntos) (1 punto)

IST – CIBERTEC 4|P á g i n a


Pregunta 2
Implemente un programa donde permite Serializar y Deserializar el contenido de una
colección en un archivo json.
Para desarrollar este programa, realice las siguientes tareas:
1. Crea la clase Vendedor, defina los atributos y su constructor (la definición de sus
atributos queda a criterio del alumno).
2. Dibuja la GUI, tal como se muestra en la figura. Agrega elementos al combo División
(Electrodomésticos, Línea Blanca, Juguetes, etc.).
3. Agrega las librerías y defina la colección de tipo Vendedor.
4. Programa el botón Agregar, verifica que el código no se repita en la colección,
instancia la clase y agregarla a la colección.
5. Programa el botón Modificar, donde modifica los datos de un registro de la
colección por su código. En ambos casos visualiza la colección en el control
DataGridView.
6. Programa el botón Serializar, donde almacenamos el contenido de la colección en
un archivo json, utilice un cuadro de dialogo para ejecutar el proceso
7. Programa el botón Deserializar, donde buscamos el archivo json, de la colección, el
contenido del archivo se guardará en la colección, visualizando en el DatagridView.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace appCL202_T3VN
{
public partial class pregunta2 : Form
{
List<Vendedor> aVendedor = new List<Vendedor>();
public pregunta2()
{
InitializeComponent();
cboDivision.Items.Add("Electrodomésticos");

IST – CIBERTEC 5|P á g i n a


cboDivision.Items.Add("Línea Blanca");
cboDivision.Items.Add("Juguetes");
}

private void btnAgregar_Click(object sender, EventArgs e)


{
Vendedor objV = new Vendedor()
{
cod_ven = txtCodigo.Text,
nom_ven = txtNombre.Text,
dir_ven = txtDireccion.Text,
fco_ven = DateTime.Parse(dtFecha.Text),
div_ven = cboDivision.Text
};
aVendedor.Add(objV);
dgVendedores.DataSource = aVendedor.ToArray();
}

void limpiar()
{
txtCodigo.Clear();
txtNombre.Clear();
txtDireccion.Clear();
cboDivision.SelectedIndex = -1;
txtNombre.Focus();
}

private void btnModificar_Click(object sender, EventArgs e)


{
foreach (Vendedor em in aVendedor)
{
if (em.cod_ven == txtCodigo.Text)
{
em.nom_ven = txtNombre.Text;
em.dir_ven = txtDireccion.Text;
em.fco_ven = DateTime.Parse(dtFecha.Text);
em.div_ven = cboDivision.Text;
break;
}
}
dgVendedores.DataSource = aVendedor.ToArray();
limpiar();
}

private void btnSerializar_Click(object sender, EventArgs e)


{
SaveFileDialog sv = new SaveFileDialog();
sv.Filter = "Archivo Json|*.json";
if (sv.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(sv.FileName, FileMode.Create);
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(List<Vendedor>));
js.WriteObject(fs, aVendedor);
fs.Close();
}
}

private void btnDeserializar_Click(object sender, EventArgs e)


{
OpenFileDialog op = new OpenFileDialog();
op.Filter = "Archivo JSON|*.json";
if (op.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(op.FileName, FileMode.Open);

IST – CIBERTEC 6|P á g i n a


DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(List<Vendedor>));
aVendedor = (List<Vendedor>)js.ReadObject(fs);
dgVendedores.DataSource = aVendedor.ToArray();
fs.Close();
}
}
}
}

CRITERIOS RUBRICA DE EVALUACION


Define la cadena de
conexión en el archivo
Define la cadena de Define la cadena
de configuración del
conexión en el de conexión en el Solo diseña
proyecto. Realiza la
archivo de archivo de el
conexión en forma
configuración del configuración del formulario
satisfactoria.
CONEXIÓ proyecto. Realiza la proyecto. Realiza o
Implementa el
N CON conexión en forma la conexión en implement
procedimiento
BASE DE satisfactoria. forma a el
almacenado según lo
DATOS Implementa el satisfactoria. procedimie
solicitado. Diseña el
(06 procedimiento Implementa el nto
formulario según el
puntos) almacenado según lo procedimiento almacenad
modelo propuesto.
solicitado. Diseña el almacenado o
Realiza la consulta
formulario según el según lo solicitado.
haciendo la llamada al
modelo propuesto. solicitado.
procedimiento
almacenado.
(6 puntos) (4 puntos) (3 puntos) (1.5
punto)

IST – CIBERTEC 7|P á g i n a


Pregunta 3

Implementa un programa que permita listar los registros de la tabla PEDIDO, de la base
de datos Negocios, filtrando entre dos fechas del campo FEC_PED. Para desarrollar el
programa realice las tareas.

1. Crea el procedimiento almacenado donde liste los registros de pedidos, filtrando


entre dos fechas del campo FEC_PED. Agrega los parámetros al procedimiento
almacenado.
2. Dibuja la GUI, tal como se muestra
3. Importar las librerías
4. Programa el botón Consulta, donde ejecuta el procedimiento almacenado y
agregando los valores a sus parámetros, visualizando los registros de la operación
en forma correcta.

IST – CIBERTEC 8|P á g i n a

También podría gustarte