Buscar este blog

domingo, 19 de abril de 2015

Seminario de DLL


Lic. Alfredo Enrique Zelaya Mejia
Contador y Auditor
Visite nuestra pagina web aqui


se utiliza Visual Studio


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MiLibreriaDeClases
{
    public class Calculos
    {
        /* numeros primos
         * ejemplo, el numero 6 no es primo ya que es divisble entre 2, 3 y 6
         * sin embargo el 5 sí es primo
         * aqui se usa MOD = muestra el residuo de una division
         */

        /* creamos un metodo para el calculo del numero primo
         * este meto de booleano, retorna true o false
         */

        public bool NumeroPrimo(int numero)
        {
            bool EsPrimo = true;

            for (int i = numero - 1; i >= 2; i--)
         
            // i-- significa que la variable i disminuye una unidad por cada vuelta
         
            {
                if (numero % i == 0)
                {
                    // no es primo

                    EsPrimo = false;
                    break; //se sale del ciclo for

                }// cierr del if




            }// cierre del ciclo for

            if (EsPrimo)
                return true;
            else
                return false;

   
        }// llave de cierre del metodo del calculo del numero primo


        /* meotod para calcular el factorial de un nuemro
         * n! = n*n-1*n-2*n-3*...*1
         * 5! = 5*4*3*2*1 = 120
         */

        public long Factorial(int numero)
        {
            long fact = 1;

            for (int i = 1; i <= numero; i++)
            {
                fact = fact * i;

            }// cierre del ciclo for del emtodo factorial

            return fact;
            // retona el factorial del numero

        }// llave de cierre del metodo factorial

        /* este es un metodo de nos permite convertir temparaturas entre diferentes
         * sistemas tales como centigrados, farengeit, kelvin, etc
         */

        public double Temperatura(float grados, int tipo)
        {
            double temp = 0;
            switch (tipo) //  es el equivalente de la estructura hagase segun el caso
            {
                case 1:// convertir de °C a °F
                       // °F = 9 * °C / 5 + 32
                    temp = 9 * grados / 5 + 32;
                    break;
                case 2:// convertir de °F a °C
                       // °C = (°F-32)*(5/9)
                    temp = (grados - 32) * (5 / 9);
                    break;
                case 3:// convetir de °K a °C
                       // °C = °K -273.15
                    temp = grados - 273.15;
                    break;
                default:
                    temp = 0;
                    break;

            } // cierre de switch

            return temp;

        } // cierre del metodo de temparutra




    }//llave de cierre de la clase de calculo


    public class Funciones
    {
        /*
         * se creara un meto de devuelva un calculo de un descuento
         */

        public float CalcularDesucento(float monto, float porc)
        {
            float desc = 0;
            desc = monto * (porc / 100);





            return desc;

        } // cierr del metood CalcularDesucento


        public float CalcularRenta(float monto)
        {

            return monto * 0.1f;// f indica que el numero que se esta digitando es un float

        }// cierre del metodo calculo de renta



    }// cierre de la clase funciones


    public class Autor
    {
        string _nombre = "Lic. Alfredo Zelaya";
        string _fecha = "19 Abr 2015";
        public string pAutor
        // propiedad de lectura que devuelve el autor
        // de la DLL

        {
            get { return _nombre;  }
        }// cierre de la propiedad pAutor

        public string pFecha
        {
            get { return _fecha; }
        }// cierre de la propiedad pFecha



    }// fin de la clase Autor



}//cierre de la DLL



despues de generado el archivo DLL se procede a elaborar el formulario, esto lo hacemos de la siguiente manera:


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 MiLibreriaDeClases;//refencia de la DLL donde estan todos los metodos

namespace UsarDLL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       
        // Instancia de la clase Calculos de la DLL
        Calculos cal = new Calculos();

        // Instancia de la clase funcione de la DLL
        Funciones fun = new Funciones();

        // Instancia de la clase Autor de la DLL
        Autor aut = new Autor();

        private void btnPrimo_Click(object sender, EventArgs e)
        {
            int numero = int.Parse(txtValor1.Text);
            bool EsPrimo = cal.NumeroPrimo(numero);
            if (EsPrimo)
                txtResultado.Text = "El numero es primo";
            else//False
                txtResultado.Text = "el numero no es primo";
        }

        private void btnFactorial_Click(object sender, EventArgs e)
        {
            int numero = int.Parse(txtValor1.Text);
            long fact = cal.Factorial(numero);
            txtResultado.Text = fact.ToString();
        }

        private void btnTemp_Click(object sender, EventArgs e)
        {
            float grados = float.Parse(txtValor1.Text);
            int tipo = int.Parse(txtValor2.Text);
            double temp = cal.Temperatura(grados, tipo);
            /* cuando el tipo es 1 = es de C a F
             * cuando el tipo es 2 = es de F a C
             * cuando el tipo es 3 = es de K a C
             */

            txtResultado.Text = temp.ToString();

        }

        private void btnDesc_Click(object sender, EventArgs e)
        {
            float monto = float.Parse(txtValor1.Text);
            float porc = float.Parse(txtValor2.Text);
            float desc = fun.CalcularDesucento(monto, porc);

            txtResultado.Text = "Descuento: " + desc.ToString();

        }

        private void btnRenta_Click(object sender, EventArgs e)
        {
            float monto = float.Parse(txtValor1.Text);
            float renta = fun.CalcularRenta(monto);
            txtResultado.Text = "Renta: " + renta.ToString();
        }

        private void btnAutor_Click(object sender, EventArgs e)
        {
            txtResultado.Text = aut.pAutor + " - " + aut.pFecha;
        }

       


    }
}


No hay comentarios:

Publicar un comentario