Example #1
0
        private void StackPanel_Tapped(object sender, TappedRoutedEventArgs e)
        {
            PerfilViga              pe  = new PerfilViga(2);
            Modulo                  mo  = new Modulo(23000000);
            FuerzaYDistancia        fu  = new FuerzaYDistancia(500.0, 2.0);
            FuerzaYDistancia        fu2 = new FuerzaYDistancia(501.0, 3.0);
            List <FuerzaYDistancia> fus = new List <FuerzaYDistancia>();

            fus.Add(fu);
            fus.Add(fu2);
            CalculadorPorTablas calc = new CalculadorPorTablas(pe, mo, fus, "a");
        }
    /**
     *
     */
    public CalculadorPorTablas(PerfilViga perfilViga, Modulo modulo, Primitivos primitivos, List <Momento> momentos, List <FuerzaYDistancia> fuerzasYDistancias, List <CargaDistribuida> cargasDistribuidas, string tipoDiagrama)
    {
        //Iniciación y declaración de variables
        this.perfilViga         = perfilViga;
        this.modulo             = modulo;
        this.fuerzasYDistancias = fuerzasYDistancias;
        this.cargasDistribuidas = cargasDistribuidas;
        this.tipoDiagrama       = tipoDiagrama;
        this.momentos           = momentos;
        this.primitivos         = primitivos;

        LlamarMetodosAsync();
    }
    /**
     * @param fuerzaYDistancia
     * @param perfilViga
     * @param modulo
     * @return
     */
    private async System.Threading.Tasks.Task CalcularDeflexionAsync(List <FuerzaYDistancia> fuerzaYDistancia, PerfilViga perfilViga, Modulo modulo, string tipoDiagama)
    {
        Windows.Storage.StorageFile archivo = await BuscarArchivoAsync("formulariodedeflexionesparacalculoportablas.csv");

        List <string[]> texto = await LeerArchivoAsync(archivo);

        string[] formulasYDatos = await BuscarRenglonDeFormulasAsync(texto, tipoDiagama);

        //Guarda la ruta del diagrama que necesitará la interfaz, la ruta está en el archivo
        GuardarRutaDiagrama(formulasYDatos[1]);
        ConvertirFormularioAFormulas(formulasYDatos);
        this.deflexiones = new List <double>();
        foreach (string formula in this.formulas)
        {
            try
            {
                Expression e         = new Expression(formula);
                double     resultado = (double)e.Evaluate();
                deflexiones.Add(resultado);
            }
            catch (NCalc.EvaluationException e)
            {
                throw new ArithmeticException("Hubo un error al operar los datos", e);
            }
        }
    }