Este proyecto está desarrollado en lenguaje C# en Visual Studio 2019.
Para la instalación del software se deben seguir los siguientes pasos.
-
Tenemos la visualización del programa en la pantalla.
-
Damos clic en
Clone or download
y seleccionamos la opciónDownload ZIP
para poder descargar el software. -
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.
-
Por último, abrimos el archivo que dice ProyectoCorte1 .
Aquí una explicación detallada: https://youtu.be/3I9m5sT4Q6Y
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.
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.
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
.
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.
ColorDialog color = new ColorDialog();
color.ShowDialog();
this.BackColor = color.Color;
Por otra parte, algunos textBox y el comboBox, tienen una condición especial:
- 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);
}
- 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();
}
- 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.
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;
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);
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.
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.
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.
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");
}
Demostración del software: https://www.youtube.com/watch?v=hcsmGwW2GPs