Code Monkey home page Code Monkey logo

proyecto's Introduction

UNIVERSIDAD DE INVESTIGACION Y DESARROLLO - UDI
AUTORES: Laura Daniela Pinzón Lizarazo y Anahis Enith Rodríguez Suescún
DOCENTE: Michael Sneider Puentes Palacio
GRUPO: 4L
PROYECTO DE PROGRAMACIÓN SEGUNDO CORTE

Contenido

  1. Lenguaje utilizado.
  2. ¿Cómo instalar el programa?
  3. Herramientas utilizadas.
  4. Video ilustrativo.

Lenguaje utilizado.

Este proyecto está desarrollado en lenguaje C# en Visual Studio 2019.

¿Cómo instalar el programa?

Para la instalación del software se deben seguir los siguientes pasos.

  1. Tenemos la visualización del programa en la pantalla.

    Ima1

  2. Damos clic en Clone or download y seleccionamos la opción Download ZIP para poder descargar el software.

    Ima2 Ima3

  3. Al descargarlo, nos dirigimos al lugar donde quedó descargado el software y descomprimimos el archivo. Al tener ya descomprimido el archivo, abrimos la carpeta y descomprimimos también los dos archivos que aparecen comprimidos.

    Ima4 Ima5

  4. Por último, abrimos el archivo que dice ProyectoCorte1 .

    Ima6

    Aquí una explicación detallada: https://youtu.be/3I9m5sT4Q6Y
    

    VideoInstalar

Herramientas utilizadas.

Las herramientas utilizadas en el proyecto se explicarán acontinuación:

En la parte del diseño principal utilizamos herramientas como label, textBox, comboBox, button, panel y colorDialog. Estás, a su vez cumplian con algunos requisitos pedidos para una mejor visualización del programa.

Primero, asignamos a cada label su respectivo textBox o comboBox, esto para saber que datos y tipo de datos debemos ingresar en cada uno.

Ima7

Segundo, agrupamos las diferentes herramientas en su respectivo groupBox, el título de los groupBox se encuentra centrado por lo que para que quede de esa forma nos basamos del código encontrado en esta página.

Ima8

Tercero, cada uno de los button que aparecen en el diseño tienen una configuración diferente. Por ejemplo, el button llamado Agregar, permite que al ingresar todos los datos correspondientes se guarden pero si no se ha llenado ningún dato deberá mostrar un mensaje que diga Por favor, llene todos los campos.

Ima9

Para lograr esto, usamos el siguiente código.

if (TB_NombreSerie.Text!="" || TB_NumeroTemp.Text!="" || TB_NumeroCap.Text!="" || TB_GeneroSerie.Text.ToUpper()!=""|| comboBox1.Text!="")
{
     //Código completo
}else
{
     MessageBox.Show(Res.mjsAdvertencia,Res.mjsError, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

En caso de que queramos cambiar el color al diseño principal, damos clic en el button Color, este nos mostrará una paleta de colores, donde podremos escoger el color que deseemos.

Ima10 Ima11

ColorDialog color = new ColorDialog();
color.ShowDialog();
this.BackColor = color.Color;

Por otra parte, algunos textBox y el comboBox, tienen una condición especial:

  1. Para los textBox que reciben datos numéricos, estos solo podran ser de tipo int, si llegado el caso se ingresa algún dato tipo string, saldrá el siguiente mensaje Sólo se permiten números. Esto lo hicimos con ayuda del evento KeyPress y dentro de él llamamos a una clase que realizamos, la cual nos permitía hacer las validaciones de si era un dígito.

Un ejemplo es el siguiente:

private void TB_NumeroTemp_KeyPress(object sender, KeyPressEventArgs e)
{
   cs_Validaciones.SoloNumeros(e);
}

Ima12

  1. Si queremos que el texto digitado se convierta todo en mayúscula, usamos:
private void TB_GeneroSerie_Leave(object sender, EventArgs e)
{
   TB_GeneroSerie.Text = TB_GeneroSerie.Text.ToUpper();
}

Ima13

  1. Y si en el comboBox queremos que los datos ingresados se guarden y se muestren en una lista.
comboBox1.Items.Add(comboBox1.Text);
comboBox1.Text = " ";

Continuando con las herramientas utilizadas, tenemos el panel que recibe todos los datos del userControl. Este userControl recibe los datos de un segundo formulario, nuestro primer formulario es donde ingresamos por primera vez los datos, en nuestro caso (los datos de una serie), y nuestro segundo formulario muestra los mismos datos ingresados pero con la opción de modificar algún dato que queramos y en este formulario también utilizamos una herramienta adicional que es un checkBox.

Ima14 Ima15 Ima16

Este parte de código es para agregar los datos al userControl.
UserControl1 miUC = new UserControl1(TB_NombreSerie.Text, misRegistros, contador,this);
panel1.Controls.Add(miUC);
miUC.Location = new System.Drawing.Point(9, valor);
valor = valor + miUC.Size.Height;
TodoUC.Add(miUC);

Otras de las herramientas utilizadas se encuentran en nuestras DLL.

En nuestra primera DLL llamada DLL_Numero la utilizamos para calcular la raiz de un número. Al ingresar un número de varios dígitos, se suman cada uno de los dígitos hasta que quede solo un dígito.

int nume = int.Parse(numero);
int acum = 0;
do
{
   acum = 0;
   while (nume > 0)
{
   var cifra = nume % 10;
   acum += cifra;
   nume = nume / 10;
}
   nume = acum;
} 
while (acum > 10);
return acum;

Ima17

Y en nuestra segunda DLL llamada DLL_Graficador permite graficar los datos (Nombre de la serie y Número de temporadas) en un chart. Al actualizar alguno de los datos del segundo formulario que están en la gráfica, los datos en el chart también se modifican.

Agregar datos al chart
this.chart1.Series["Nombre de la serie"].Points.AddXY(nombreSerie,numTemporadas);

Ima18

Además, en nuestro software utilizamos la herencia en diferentes formularios.Como bien sabemos la herencia se identifica con : . Lo que hicimos fue crear varios formularios llamados h_about,h_informacion,h_llenarDatos y h_formularioBase (este será el que heredará todas sus características a los demás formularios).

En el formulario h_formularioBase, escribimos este código:

DialogResult RTA = MessageBox.Show(Res.mjs_Information, Res.mjs_Advertencia, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (RTA == DialogResult.Yes)
{
h_about F = new h_about(base.BackColor);
F.Show();
}

Este código, si lo queremos tener en los otros formularios, ya no será necesario copiarlo en cada uno de ellos porque al momento de hacer herencia, todos los formularios a los que el h_formularioBase haya hecho herencia, tendrán las características de ese formulario.

h_llenardatos : h_formularioBase   //  h_informacion : h_formularioBase  //  h_about : h_formularioBase

El formulario h_about, tendrá una característica adicional, porque nos permitirá escribir algo en un textBox.

Ima19 Ima20
Ima21 Ima22

Y para tener acceso directo a estos formularios desde el diseño principal, en nuestro diseño principal agregamos unos button correspondiente a los formularios.

Ima23

Finalmente, nuestro diseño principal tiene la opción de cambiar de idioma cada uno de los label, textBox, button y message. Los idiomas escogidos fueron español, inglés y francés.

Ima24 Ima25 Ima26

NOTA: 
Hay que tener en cuenta que para hacer el cambio de idioma, es necesario hacer un resource tanto en las dll como en el proyecto, para cada idioma se hace un resource diferente. En cada *resource* colocamos todos las herramientas que queramos que se aplique el cambio de idioma y el texto que va a tener en cada idioma.

Para realizar el cambio de idioma usamos:

if (CB_Idioma.SelectedIndex == 1)
{
//Idioma inglés.
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Renombrar("en-US");
}
if(CB_Idioma.SelectedIndex == 2)
{
//Idioma francés.
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Renombrar("fr-FR");
}
if (CB_Idioma.SelectedIndex == 0)
{
//Idioma por defecto español.
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-CO");
Renombrar("es-CO");
}

Video.

   Demostración del software: https://www.youtube.com/watch?v=hcsmGwW2GPs

VideoFuncionalidad

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.