コード例 #1
0
        private void btnVistaPrevia_Click(object sender, System.EventArgs e)
        {
            int j = 0;
            int k = 0;

            double[] x  = new double[12];
            double[] y  = new double[12];
            double[] x1 = new double[12];
            double[] y1 = new double[12];

            crvInfAgregados.Visible = true;
            dsInfAgregados1.Clear();

            // cryRepAgregados1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;
            cryRepAgregados1.SetDataSource(dsInfAgregados1);

            sqlDAInfAgregados.SelectCommand.Parameters["@IdObra"].Value   = cmbIdObra.SelectedValue.ToString();
            sqlDAInfAgregados.SelectCommand.Parameters["@FolioIni"].Value = (chbTodos.Checked ? " " : txtFolioIni.Text);
            sqlDAInfAgregados.SelectCommand.Parameters["@FolioFin"].Value = (chbTodos.Checked ? "zzzzz" : txtFolioIni.Text);
            sqlDAInfAgregados.Fill(dsInfAgregados1, "AgregadosRep");
            //sqlDAInfAgregadosMal.SelectCommand.Parameters["@IdFolioIni"].Value = txtFolioIni.Text;
            //sqlDAInfAgregadosMal.SelectCommand.Parameters["@IdFolioFin"].Value = txtFolioFin.Text;
            //sqlDAInfAgregadosMal.Fill(dsInfAgregados1, "AgregadosMal");
            sqlDAFirmas.Fill(dsFirmas1, "Firmas");
            sqlDANorma.Fill(dsInfAgregados1, "Normas");
            cryRepAgregados1.SetDataSource(dsInfAgregados1);
            cryRepAgregados1.SetParameterValue("@F1", dsFirmas1.Tables[0].Rows[0][1].ToString());
            cryRepAgregados1.SetParameterValue("@F2", dsFirmas1.Tables[0].Rows[1][1].ToString());
            cryRepAgregados1.SetParameterValue("@F3", dsFirmas1.Tables[0].Rows[2][1].ToString());
            cryRepAgregados1.SetParameterValue("@F4", dsFirmas1.Tables[0].Rows[3][1].ToString());
            cryRepAgregados1.SetParameterValue("@F5", dsFirmas1.Tables[0].Rows[4][1].ToString());
            cryRepAgregados1.SetParameterValue("@C1", dsFirmas1.Tables[0].Rows[0][2].ToString());
            cryRepAgregados1.SetParameterValue("@C2", dsFirmas1.Tables[0].Rows[1][2].ToString());
            cryRepAgregados1.SetParameterValue("@C3", dsFirmas1.Tables[0].Rows[2][2].ToString());
            cryRepAgregados1.SetParameterValue("@C4", dsFirmas1.Tables[0].Rows[3][2].ToString());
            cryRepAgregados1.SetParameterValue("@C5", dsFirmas1.Tables[0].Rows[4][2].ToString());
            cryRepAgregados1.SetParameterValue("@Finura", dsInfAgregados1.Tables["AgregadosRep"].Rows[0][21].ToString(), "Subreport2");
            cryRepAgregados1.SetParameterValue("@Material", dsInfAgregados1.Tables["AgregadosRep"].Rows[0][6].ToString(), "Subreport2");
            cryRepAgregados1.SetParameterValue("@Tamaño", txtTamaño.Text, "Subreport2");
            cryRepAgregados1.SetParameterValue("@Duplicado", chbDuplicado.Checked);
            cryRepAgregados1.SetParameterValue("@Leyenda", chbLeyenda.Checked);
            cryRepAgregados1.SetParameterValue("@LabLey", chbLab.Checked);
            cryRepAgregados1.SetParameterValue("@Ineco", chbLab1.Checked);
            cryRepAgregados1.SetParameterValue("@Respaldo", chbRespaldo.Checked);

            memGraphics.CreateDoubleBuffer(this.CreateGraphics(),
                                           this.ClientRectangle.Width, this.ClientRectangle.Height);

            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "");
            SetSize();
            int    ejex;
            double MaxX = 0;

            CurveItem curve;
            string    folio;
            int       rens;

            for (int m = 0; m < dsInfAgregados1.Tables["AgregadosRep"].Rows.Count; m++)
            {
                sqlDAInfAgregadosMal.SelectCommand.Parameters["@IdFolioIni"].Value = dsInfAgregados1.Tables["AgregadosRep"].Rows[m][0].ToString().Trim();
                sqlDAInfAgregadosMal.SelectCommand.Parameters["@IdFolioFin"].Value = dsInfAgregados1.Tables["AgregadosRep"].Rows[m][0].ToString().Trim();
                sqlDAInfAgregadosMal.Fill(dsInfAgregados1, "AgregadosMal");

                folio = "Folio = '" + dsInfAgregados1.Tables["AgregadosRep"].Rows[m][0].ToString().Trim() + "'";
                DataRow[] filas;
                filas = dsInfAgregados1.Tables["AgregadosMal"].Select(folio);
                rens  = filas.Length;
                int Material = (filas[0][6].ToString() == "Arena" ? 1 : 2);
                if (Material == 1)
                {
                    ejex = 4;
                    MaxX = 25;
                }
                else
                {
                    ejex = 2;
                    MaxX = 40;
                }
                //Curva que pasa
                string acotacion = "Pasa";
                for (k = 0; k < 12; k++)
                {
                    x[k] = y[k] = 0;
                }
                k = 0;
                for (j = 11; j > 1 - 1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][7].ToString() != "")
                    {
                        x[k]   = double.Parse(filas[j][ejex].ToString());
                        y[k++] = double.Parse(filas[j][7].ToString());
                    }
                }
                curve                 = myPane.AddCurve(acotacion, x, y, Color.Blue, SymbolType.Circle);
                curve.Line.Width      = 2.0F;
                curve.Line.Style      = DashStyle.Dash;
                curve.Symbol.PenWidth = 6.0F;
                curve.Symbol.Fill     = new Fill(Color.Blue);
                //Limite inferior
                acotacion = "Li";
                for (k = 0; k < 12; k++)
                {
                    x1[k] = y1[k] = 0;
                }
                k = 0;
                for (j = 11; j > 1 - 1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][8].ToString() != "")
                    {
                        x1[k]   = double.Parse(filas[j][ejex].ToString());
                        y1[k++] = double.Parse(filas[j][8].ToString());
                    }
                }
                curve                 = myPane.AddCurve(acotacion, x1, y1, Color.Red, SymbolType.Diamond);
                curve.Line.Width      = 2.0F;
                curve.Symbol.Fill     = new Fill(Color.Red);
                curve.Symbol.PenWidth = 6.0F;
                //Limite superior
                acotacion = "Ls";
                for (k = 0; k < 12; k++)
                {
                    x1[k] = y1[k] = 0;
                }
                k = 0;
                for (j = 11; j > 1 - 1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][9].ToString() != "")
                    {
                        x1[k]   = double.Parse(filas[j][ejex].ToString());
                        y1[k++] = double.Parse(filas[j][9].ToString());
                    }
                }
                curve                 = myPane.AddCurve(acotacion, x1, y1, Color.DarkGreen, SymbolType.Triangle);
                curve.Line.Width      = 2.0F;
                curve.Symbol.PenWidth = 6.0F;
                curve.Symbol.Fill     = new Fill(Color.DarkGreen);

                acotacion = "Pasa";
                for (k = 0; k < 12; k++)
                {
                    x[k] = y[k] = 0;
                }
                k = 0;
                for (j = 11; j > 1 - 1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][5].ToString() != "")
                    {
                        ArrowItem arrow = new ArrowItem(Color.Gray, 0, float.Parse(filas[j][ejex].ToString()), 0, float.Parse(filas[j][ejex].ToString()), 100);
                        arrow.CoordinateFrame = CoordType.AxisXYScale;
                        arrow.PenWidth        = 0F;
                        myPane.ArrowList.Add(arrow);
                    }
                }
                //                myPane.XAxis.ScaledMinorTic(0);
                //                myPane.XAxis.IsMinorInsideTic = false;
                //                myPane.XAxis.TicSize = 0;
                //                myPane.XAxis.IsShowGrid = false;
                //                myPane.XAxis.IsInsideTic = false;
                //                myPane.XAxis.ScaleFontSpec.Angle = 0;
                //                myPane.XAxis.NumDec = 0;
                //                myPane.XAxis.Min = 1;
                //                myPane.XAxis.Max = MaxX;

                ////				MessageBox.Show(myPane.XAxis.ScaleFormat.ToString()); //esta buena
                //                myPane.XAxis.Type = AxisType.Log;
                ////				myPane.XAxis.PickLogScale();

                //                myPane.XAxis.ScaleFormat = "{0:d###.##}";
                //                myPane.XAxis.IsShowTitle = false;
                //                myPane.XAxis.ScaleFontSpec.FontColor = Color.White;

                //            myPane.YAxis.IsShowGrid = true;
                //            myPane.YAxis.ScaleFontSpec.Angle = 90;
                //            myPane.YAxis.Min = 0;
                //            myPane.YAxis.Max = 100;

                //            myPane.Legend.IsVisible = false;
                //            myPane.PaneFill = new Fill( Color.White, Color.White, 0F );
                //            myPane.AxisChange( this.CreateGraphics() );

                //            pictureBox1.Image = Image.FromHbitmap(myPane.Image.GetHbitmap());
                //            MemoryStream ms = new MemoryStream();
                //            pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                //            byte[] arrImage = ms.GetBuffer();
                //            ms.Close();

                //            myPane.Image.Dispose();
                //            pictureBox1.Image.Dispose();
                //            dsInfAgregados1.Grafica.AddGraficaRow(txtFolioIni.Text,arrImage);

                guardagrafica(dsInfAgregados1.Tables["AgregadosRep"].Rows[m][0].ToString().Trim(), MaxX);
                myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "");
                SetSize();
            }

            crvInfAgregados.ReportSource = cryRepAgregados1;
            //crvInfAgregados.RefreshReport();
        }
コード例 #2
0
        private void btnVistaPrevia_Click(object sender, System.EventArgs e)
        {
            int    resi   = 0;
            string grado  = "   ";
            string gradot = "   ";
            char   cGrado;

            gradot = cmbGrado.SelectedValue.ToString().Trim();
            int Longitud = gradot.Length;

            grado = "";
            for (int i = 0; i < Longitud; i++)
            {
                cGrado = System.Convert.ToChar(gradot.Substring(i, 1));
                if (char.IsNumber(cGrado))
                {
                    grado = grado + System.Convert.ToString(cGrado);
                }
            }
            grado = grado + " f*p  ";
            crvRepAnalisis.Visible = true;
            cryRepAnalBlockC1.SetDataSource(dsAnalBlock1);

            try
            {
                CrystalDecisions.Shared.ParameterValues pvCollection = new CrystalDecisions.Shared.ParameterValues();

                CrystalDecisions.Shared.ParameterDiscreteValue pdvRes = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvRes.Value = float.Parse(grado.Substring(0, 3)) * float.Parse(dsUnidad1.Tables["unidad"].Rows[cmbUnidad.SelectedIndex][2].ToString());
                CrystalDecisions.Shared.ParameterDiscreteValue pdvTip = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvTip.Value = cmbTipo.SelectedValue.ToString();

                CrystalDecisions.Shared.ParameterDiscreteValue pdvLab = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvLab.Value = cmbNoEco.Text;

                CrystalDecisions.Shared.ParameterDiscreteValue pdvCra = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvCra.Value = dsBuscaObra1.Tables["Obra"].Rows[cmbIdObra.SelectedIndex][3].ToString();
                CrystalDecisions.Shared.ParameterDiscreteValue pdvDir = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvDir.Value = dsBuscaObra1.Tables["Obra"].Rows[cmbIdObra.SelectedIndex][1].ToString();
                CrystalDecisions.Shared.ParameterDiscreteValue pdvObr = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvObr.Value = txtIdobra.Text;
                CrystalDecisions.Shared.ParameterDiscreteValue pdvZon = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvZon.Value = dsBuscaObra1.Tables["Obra"].Rows[cmbIdObra.SelectedIndex][4].ToString();
                CrystalDecisions.Shared.ParameterDiscreteValue pdvLoc = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pdvLoc.Value = dsBuscaObra1.Tables["Obra"].Rows[cmbIdObra.SelectedIndex][5].ToString();

                pvCollection.Clear();
                pvCollection.Add(pdvRes);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Res"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvTip);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Tip"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvLab);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Lab"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvCra);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Cra"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvDir);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Dir"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvObr);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Obr"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvZon);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Zon"].ApplyCurrentValues(pvCollection);
                pvCollection.Clear();
                pvCollection.Add(pdvLoc);
                cryRepAnalBlockC1.DataDefinition.ParameterFields["@Loc"].ApplyCurrentValues(pvCollection);
            }
            catch (Exception ex1)
            {
                MessageBox.Show("parametro" + ex1.Message);
            }
            dsAnalBlock1.Clear();
            sqlDAAnalisis.SelectCommand.Parameters["@IdObra"].Value   = (cmbIdObra.SelectedValue.ToString() == "Todas" ? "%" : txtIdobra.Text);
            sqlDAAnalisis.SelectCommand.Parameters["@FechaIni"].Value = dtpIni.Text;
            sqlDAAnalisis.SelectCommand.Parameters["@FechaFin"].Value = dtpFin.Text;
            sqlDAAnalisis.SelectCommand.Parameters["@Tipo"].Value     = cmbTipo.SelectedValue.ToString();
            sqlDAAnalisis.SelectCommand.Parameters["@Largo"].Value    = txtLargo.Text;
            sqlDAAnalisis.SelectCommand.Parameters["@Ancho"].Value    = txtAncho.Text;
            sqlDAAnalisis.SelectCommand.Parameters["@Peralte"].Value  = txtPeralte.Text;
            sqlDAAnalisis.SelectCommand.Parameters["@IdUnidad"].Value = 1;
            sqlDAAnalisis.SelectCommand.Parameters["@NoEco"].Value    = cmbNoEco.SelectedValue.ToString();
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value    = 3;
            sqlDAAnalisis.SelectCommand.Parameters["@Grado"].Value    = cmbGrado.SelectedValue.ToString(); //grado;
            sqlDAAnalisis.SelectCommand.Parameters["@Como"].Value     = cmbComo.SelectedValue.ToString();
            sqlDAAnalisis.SelectCommand.Parameters["@TMuestra"].Value = true;
            sqlDAAnalisis.SelectCommand.Parameters["@Prove"].Value    = (cmbProve.SelectedValue.ToString() == "Todos" ? "%" : cmbProve.SelectedValue);
            sqlDAAnalisis.Fill(dsAnalBlock1, "GraficaFinal");
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value = 1;
            sqlDAAnalisis.Fill(dsAnalBlock1, "Analisis");
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value = 2;
            sqlDAAnalisis.Fill(dsAnalBlock1, "Grafica1");
            sqlDAAnalisis.SelectCommand.Parameters["@TMuestra"].Value = false;
            sqlDAAnalisis.SelectCommand.Parameters["@IdUnidad"].Value = cmbUnidad.SelectedValue.ToString();
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value    = 1;
            sqlDAAnalisis.Fill(dsAnalBlock1, "Analisis1");
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value = 2;
            sqlDAAnalisis.Fill(dsAnalBlock1, "Grafica11");
            sqlDAAnalisis.SelectCommand.Parameters["@Datos"].Value = 3;
            sqlDAAnalisis.Fill(dsAnalBlock1, "GraficaFinal1");

            int cuantos = dsAnalBlock1.GraficaFinal.Rows.Count;

            cuantos = dsAnalBlock1.Grafica1.Rows.Count;
            cuantos = dsAnalBlock1.Analisis.Rows.Count;

            double[] gaus;
            gaus = new double[24];
            double[] ee;
            ee = new double[24];
            double[] nuevoee;
            nuevoee = new double[24];
            double moda   = 0;
            int    indice = 1;

            for (int i = 1; i <= 23; i++)
            {
                nuevoee[i] = 0;
                ee[i]      = double.Parse(dsAnalBlock1.Tables["GraficaFinal"].Rows[0][i].ToString());
                if (moda < ee[i])
                {
                    indice = i;
                    moda   = ee[i];
                }
            }
            indice = 12;
            for (int i = 1; i <= 23; i++)
            {
                if (1 <= (i - (12 - indice)) && (i - (12 - indice)) <= 23)
                {
                    nuevoee[(i - (12 - indice))] = gaus[i] * (moda + 2);
                }
            }
            float res = float.Parse(grado.ToString().Substring(0, 3).Trim()) * float.Parse(dsUnidad1.Tables["unidad"].Rows[cmbUnidad.SelectedIndex][2].ToString());

            sqlDATitulo.SelectCommand.Parameters["@ResistenciaKg"].Value = res.ToString();
            sqlDATitulo.SelectCommand.Parameters["@IdUnidad"].Value      = cmbUnidad.SelectedValue.ToString();
            sqlDATitulo.SelectCommand.Parameters["@Hoja"].Value          = int.Parse(dsAnalBlock1.Tables["GraficaFinal"].Rows[0][24].ToString());
            sqlDATitulo.SelectCommand.Parameters["@Incre"].Value         = 0.15;
            sqlDATitulo.Fill(dsAnalBlock1, "titulo");

            cuantos = dsAnalBlock1.Analisis1.Rows.Count;
            int Lineas = dsAnalBlock1.GraficaFinal.Rows.Count;

            double res1 = 0;
            double res2 = 0;

            for (int i = 0; i < cuantos; i++)
            {
                if (!string.IsNullOrEmpty(dsAnalBlock1.Tables["Analisis1"].Rows[i]["ee1"].ToString()))
                {
                    res2 = float.Parse(dsAnalBlock1.Tables["Analisis1"].Rows[i]["ee1"].ToString());
                    res1 = (res2 > res1 ? res2 : res1);
                }
            }
            //res1 = Math.Truncate((res1 / cuantos) * 10) / 10;
            sqlDATitulo.SelectCommand.Parameters["@ResistenciaKg"].Value = res1.ToString();
            sqlDATitulo.SelectCommand.Parameters["@IdUnidad"].Value      = 1;
            sqlDATitulo.SelectCommand.Parameters["@Hoja"].Value          = int.Parse(dsAnalBlock1.Tables["GraficaFinal"].Rows[0][24].ToString());
            sqlDATitulo.SelectCommand.Parameters["@Incre"].Value         = 0.1;
            sqlDATitulo.Fill(dsAnalBlock1, "titulo1");

            memGraphics.CreateDoubleBuffer(this.CreateGraphics(), this.ClientRectangle.Width, this.ClientRectangle.Height);

            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "Edad en días", "Frecuencia");
            SetSize();
            CurveItem curve;

            double incdec = 0.1;

            for (int j = 0; j < Lineas; j++)
            {
                for (int i = 0; i <= 21; i++)
                {
                    nuevoee[i] = double.Parse(dsAnalBlock1.Tables["GraficaFinal"].Rows[j][i + 1].ToString());
                    ee[i]      = res * (incdec * i);
                }
                if (j == 0)
                {
                    curve             = myPane.AddCurve("Reducida", ee, nuevoee, Color.DarkSeaGreen, SymbolType.Square);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.DarkSeaGreen);
                }
                if (j == 1)
                {
                    curve             = myPane.AddCurve("Completa", ee, nuevoee, Color.Cyan, SymbolType.Circle);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.Cyan);
                }
                if (j == 2)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal"].Rows[j][0].ToString(), ee, nuevoee, Color.DarkSlateBlue, SymbolType.Diamond);
                    curve.Line.Width  = 3.5F;
                    curve.Symbol.Fill = new Fill(Color.DarkSlateBlue);
                }
                if (j == 3)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal"].Rows[j][0].ToString(), ee, nuevoee, Color.Brown, SymbolType.TriangleDown);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.Brown);
                }
                if (j == 4)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal"].Rows[j][0].ToString(), ee, nuevoee, Color.DarkMagenta, SymbolType.Triangle);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.DarkMagenta);
                }
            }

            myPane.XAxis.IsMinorInsideTic    = true;
            myPane.XAxis.TicSize             = float.Parse((res * 0.05).ToString());
            myPane.XAxis.IsShowGrid          = true;
            myPane.XAxis.IsInsideTic         = true;
            myPane.XAxis.ScaleFontSpec.Angle = 0;
            myPane.XAxis.NumDec             = 0;
            myPane.XAxis.Step               = float.Parse((res * 0.05).ToString());
            myPane.XAxis.ScaleFontSpec.Size = 10;
            myPane.XAxis.Min      = res * 0.1; //cambiar
            myPane.XAxis.Max      = res * 22 * 0.1;
            myPane.XAxis.Type     = AxisType.Linear;
            myPane.XAxis.StepAuto = true;
            //                myPane1.XAxis.MinorStepAuto = true;
            myPane.XAxis.TitleFontSpec.Family    = "Times New Roman";
            myPane.XAxis.TitleFontSpec.Size      = 12;
            myPane.XAxis.IsShowTitle             = false;
            myPane.XAxis.ScaleFontSpec.FontColor = Color.Black;
            myPane.XAxis.IsMinorTic = true;

            myPane.YAxis.IsMinorInsideTic    = true;
            myPane.XAxis.IsInsideTic         = true;
            myPane.YAxis.IsShowGrid          = true;
            myPane.YAxis.ScaleFontSpec.Angle = 90;
            myPane.YAxis.ScaleFontSpec.Size  = 10;
            myPane.YAxis.Min     = 0;
            myPane.YAxis.Max     = Math.Round((moda / 10)) * 10;
            myPane.YAxis.TicSize = 10;
            myPane.YAxis.TitleFontSpec.Family = "Times New Roman";
            myPane.YAxis.ScaleFontSpec.Family = "Times New Roman";
            myPane.Legend.IsVisible           = true;
            myPane.Legend.Location            = LegendLoc.InsideTopRight;
            myPane.Legend.FontSpec.Size       = 10;
            myPane.PaneFill = new Fill(Color.White, Color.White, 2F);
            myPane.AxisChange(this.CreateGraphics());

            pictureBox2.Image       = Image.FromHbitmap(myPane.Image.GetHbitmap());
            pictureBox2.BorderStyle = BorderStyle.None;
            MemoryStream ms1 = new MemoryStream();

            pictureBox2.Image.Save(ms1, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] arrImage1 = ms1.GetBuffer();
            ms1.Close();
            dsAnalBlock1.GraficaFinal.Rows[0]["Imagen1"] = arrImage1;

            Lineas = dsAnalBlock1.GraficaFinal1.Rows.Count;
            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "Edad en días", "Frecuencia");
            SetSize();
            incdec = 0.1;
            for (int j = 0; j < Lineas; j++)
            {
                for (int i = 0; i <= 21; i++)
                {
                    nuevoee[i] = double.Parse(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][i + 1].ToString());
                    ee[i]      = res * (incdec * i);
                }
                //if (j == 0)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][0].ToString(), ee, nuevoee, Color.DarkSeaGreen, SymbolType.Square);
                //    curve.Line.Width = 2.5F;
                //    curve.Symbol.Fill = new Fill(Color.DarkSeaGreen);
                //}
                if (j == 1)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][0].ToString(), ee, nuevoee, Color.Cyan, SymbolType.Circle);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.Cyan);
                }
                if (j == 2)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][0].ToString(), ee, nuevoee, Color.DarkSlateBlue, SymbolType.Diamond);
                    curve.Line.Width  = 3.5F;
                    curve.Symbol.Fill = new Fill(Color.DarkSlateBlue);
                }
                if (j == 3)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][0].ToString(), ee, nuevoee, Color.Brown, SymbolType.TriangleDown);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.Brown);
                }
                if (j == 4)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["GraficaFinal1"].Rows[j][0].ToString(), ee, nuevoee, Color.DarkMagenta, SymbolType.Triangle);
                    curve.Line.Width  = 2.5F;
                    curve.Symbol.Fill = new Fill(Color.DarkMagenta);
                }
            }

            myPane.XAxis.IsMinorInsideTic    = true;
            myPane.XAxis.TicSize             = float.Parse((res * 0.05).ToString());
            myPane.XAxis.IsShowGrid          = true;
            myPane.XAxis.IsInsideTic         = true;
            myPane.XAxis.ScaleFontSpec.Angle = 0;
            myPane.XAxis.NumDec             = 0;
            myPane.XAxis.Step               = float.Parse((res * 0.05).ToString());
            myPane.XAxis.ScaleFontSpec.Size = 10;
            myPane.XAxis.Min      = res * 0.1; //cambiar
            myPane.XAxis.Max      = res * 22 * 0.1;
            myPane.XAxis.Type     = AxisType.Linear;
            myPane.XAxis.StepAuto = true;
            //                myPane1.XAxis.MinorStepAuto = true;
            myPane.XAxis.TitleFontSpec.Family    = "Times New Roman";
            myPane.XAxis.TitleFontSpec.Size      = 12;
            myPane.XAxis.IsShowTitle             = false;
            myPane.XAxis.ScaleFontSpec.FontColor = Color.Black;
            myPane.XAxis.IsMinorTic = true;

            myPane.YAxis.IsMinorInsideTic    = true;
            myPane.XAxis.IsInsideTic         = true;
            myPane.YAxis.IsShowGrid          = true;
            myPane.YAxis.ScaleFontSpec.Angle = 90;
            myPane.YAxis.ScaleFontSpec.Size  = 10;
            myPane.YAxis.Min     = 0;
            myPane.YAxis.Max     = Math.Round((moda / 10)) * 10;;
            myPane.YAxis.TicSize = 10;
            myPane.YAxis.TitleFontSpec.Family = "Times New Roman";
            myPane.YAxis.ScaleFontSpec.Family = "Times New Roman";
            myPane.Legend.IsVisible           = false;
//                myPane.Legend.Location = LegendLoc.InsideTopRight;
            myPane.Legend.FontSpec.Size = 10;
            myPane.PaneFill             = new Fill(Color.White, Color.White, 2F);
            myPane.AxisChange(this.CreateGraphics());

            pictureBox4.Image       = Image.FromHbitmap(myPane.Image.GetHbitmap());
            pictureBox4.BorderStyle = BorderStyle.None;
            MemoryStream ms2 = new MemoryStream();

            pictureBox4.Image.Save(ms2, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] arrImage2 = ms2.GetBuffer();
            arrImage2 = ms2.GetBuffer();
            ms2.Close();
            myPane.Image.Dispose();
            pictureBox4.Image.Dispose();
            dsAnalBlock1.GraficaFinal1.Rows[0]["Imagen2"] = arrImage2;

            Lineas = dsAnalBlock1.Grafica1.Rows.Count;
            incdec = 0.1;
            double[] eex;
            eex = new double[12];
            double[] neey;
            neey = new double[12];
            int    hoja  = int.Parse(dsAnalBlock1.Grafica1.Rows[0][0].ToString());
            int    hoaa  = hoja;
            int    ij    = 0;
            double mayor = 0;

            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "Frecuencias");
            SetSize();
            for (int m = 0; m < dsAnalBlock1.Grafica1.Rows.Count; m++)
            {
                if (hoaa != int.Parse(dsAnalBlock1.Grafica1.Rows[m][0].ToString()))     // && ij >= Lineas)
                {
                    guardagrafica(res, hoaa, 1, mayor);
                    myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "Frecuencias");
                    SetSize();
                    ij    = 0;
                    hoaa  = int.Parse(dsAnalBlock1.Grafica1.Rows[m][0].ToString());
                    mayor = 0;
                }
                for (int i = 0; i <= 11; i++)
                {
                    neey[i] = double.Parse(dsAnalBlock1.Tables["Grafica1"].Rows[m][i + 2].ToString());
                    eex[i]  = double.Parse(dsAnalBlock1.titulo.Rows[0][i + 2].ToString());
                    mayor   = (neey[i] > mayor ? neey[i] : mayor);
                }
                if (ij == 0)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.DarkSeaGreen, SymbolType.Square);
                    curve.Symbol.Fill = new Fill(Color.DarkSeaGreen);
                    curve.Line.Width  = 2.5F;
                }
                if (ij == 1)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.Cyan, SymbolType.Circle);
                    curve.Symbol.Fill = new Fill(Color.Cyan);
                    curve.Line.Width  = 2.5F;
                }
                //if (ij == 2)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.DarkSlateBlue, SymbolType.Diamond);
                //    curve.Line.Width = 3.5F;
                //    curve.Symbol.Fill = new Fill(Color.DarkSlateBlue);
                //}
                //if (ij == 3)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.Brown, SymbolType.TriangleDown);
                //    curve.Symbol.Fill = new Fill(Color.Brown);
                //    curve.Line.Width = 2.5F;
                //}
                //if (ij == 4)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.DarkMagenta, SymbolType.TriangleDown);
                //    curve.Symbol.Fill = new Fill(Color.DarkMagenta);
                //    curve.Line.Width = 2.5F;
                //}
                ij++;
            }
            guardagrafica(res, hoaa, 1, mayor);

            Lineas = dsAnalBlock1.Grafica11.Rows.Count;
            hoja   = int.Parse(dsAnalBlock1.Grafica11.Rows[0][0].ToString());
            hoaa   = hoja;
            ij     = 0;
            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "Frecuencias");
            SetSize();
            for (int m = 0; m < dsAnalBlock1.Grafica11.Rows.Count; m++)
            {
                if (hoaa != int.Parse(dsAnalBlock1.Grafica11.Rows[m][0].ToString()))      //&& ij >= Lineas)
                {
                    guardagrafica(res, hoaa, 2, mayor);
                    myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "Frecuencias");
                    SetSize();
                    ij    = 0;
                    hoaa  = int.Parse(dsAnalBlock1.Grafica11.Rows[m][0].ToString());
                    mayor = 0;
                }
                for (int i = 0; i <= 11; i++)
                {
                    neey[i] = double.Parse(dsAnalBlock1.Tables["Grafica11"].Rows[m][i + 2].ToString());
                    eex[i]  = double.Parse(dsAnalBlock1.titulo.Rows[0][i + 2].ToString());
                    mayor   = (neey[i] > mayor ? neey[i] : mayor);
                }
                if (ij == 0)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["Grafica11"].Rows[m][1].ToString(), eex, neey, Color.DarkSeaGreen, SymbolType.Square);
                    curve.Symbol.Fill = new Fill(Color.DarkSeaGreen);
                    curve.Line.Width  = 2.5F;
                }
                if (ij == 1)
                {
                    curve             = myPane.AddCurve(dsAnalBlock1.Tables["Grafica11"].Rows[m][1].ToString(), eex, neey, Color.Cyan, SymbolType.Circle);
                    curve.Symbol.Fill = new Fill(Color.Cyan);
                    curve.Line.Width  = 2.5F;
                }
                //if (ij == 2)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica11"].Rows[m][1].ToString(), eex, neey, Color.DarkSlateBlue, SymbolType.Diamond);
                //    curve.Line.Width = 3.5F;
                //    curve.Symbol.Fill = new Fill(Color.DarkSlateBlue);
                //}
                //if (ij == 3)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.Brown, SymbolType.TriangleDown);
                //    curve.Symbol.Fill = new Fill(Color.Brown);
                //    curve.Line.Width = 2.5F;
                //}
                //if (ij == 4)
                //{
                //    curve = myPane.AddCurve(dsAnalBlock1.Tables["Grafica1"].Rows[m][1].ToString(), eex, neey, Color.DarkMagenta, SymbolType.TriangleDown);
                //    curve.Symbol.Fill = new Fill(Color.DarkMagenta);
                //    curve.Line.Width = 2.5F;
                //}
                ij++;
            }
            guardagrafica(res, hoaa, 2, mayor);

            resi = System.Convert.ToInt32(Math.Floor(res));
            // Establece el valor actual de parameter1 en el subinforme en 10
            cryRepAnalBlockC1.SetParameterValue("@reskg", res.ToString(), "Gauss");
            cryRepAnalBlockC1.SetParameterValue("@Unidad", cmbUnidad.Text);
            cryRepAnalBlockC1.SetParameterValue("@Unidad", cmbUnidad.Text, "Gauss");
            cryRepAnalBlockC1.SetParameterValue("@Equi", dsUnidad1.Tables["unidad"].Rows[cmbUnidad.SelectedIndex][2].ToString());
            cryRepAnalBlockC1.SetParameterValue("@Prueba", cmbPrueba.Text);
            cryRepAnalBlockC1.SetParameterValue("@Grado", cmbGrado.SelectedValue.ToString());
            cryRepAnalBlockC1.SetParameterValue("@Indice", resi);
            cryRepAnalBlockC1.SetParameterValue("@Como", cmbComo.SelectedValue);
            cryRepAnalBlockC1.SetParameterValue("@Largo", txtLargo.Text);
            cryRepAnalBlockC1.SetParameterValue("@Ancho", txtAncho.Text);
            cryRepAnalBlockC1.SetParameterValue("@Peralte", txtPeralte.Text);
            cryRepAnalBlockC1.SetParameterValue("@Lab1", chbLab.Checked);
            cryRepAnalBlockC1.SetParameterValue("@Prove", cmbProve.SelectedValue.ToString());


            crvRepAnalisis.ReportSource = cryRepAnalBlockC1;
        }
コード例 #3
0
        private void btnVistaPrevia_Click(object sender, System.EventArgs e)
        {
            int j = 0;
            int k = 0;

            crvInfAsfaltico.Visible = true;

            CryRepAsfalto1.SetDataSource(dsInfAsfaltico1);

            dsInfAsfaltico1.Clear();
            dsFirmas1.Clear();
            sqlDAInfAsfaltico.SelectCommand.Parameters["@IdObra"].Value   = cmbIdObra.SelectedValue.ToString();
            sqlDAInfAsfaltico.SelectCommand.Parameters["@FolioIni"].Value = (chbTodos.Checked ? "  " : txtFolioIni.Text);
            sqlDAInfAsfaltico.SelectCommand.Parameters["@FolioFin"].Value = (chbTodos.Checked ? "zzzzz" : txtFolioIni.Text);
            sqlDAInfAsfaltico.Fill(dsInfAsfaltico1, "AsfalticoRep");
            sqlDAFirmas.Fill(dsFirmas1, "Firmas");
            sqlDANorma.SelectCommand.Parameters["@IdNorma"].Value = 15;
            sqlDANorma.Fill(dsInfAsfaltico1, "Normas");
            CryRepAsfalto1.SetParameterValue("@F1", dsFirmas1.Tables[0].Rows[0][1].ToString());
            CryRepAsfalto1.SetParameterValue("@F2", dsFirmas1.Tables[0].Rows[1][1].ToString());
            CryRepAsfalto1.SetParameterValue("@F3", dsFirmas1.Tables[0].Rows[2][1].ToString());
            CryRepAsfalto1.SetParameterValue("@F4", dsFirmas1.Tables[0].Rows[3][1].ToString());
            CryRepAsfalto1.SetParameterValue("@F5", dsFirmas1.Tables[0].Rows[4][1].ToString());
            CryRepAsfalto1.SetParameterValue("@C1", dsFirmas1.Tables[0].Rows[0][2].ToString());
            CryRepAsfalto1.SetParameterValue("@C2", dsFirmas1.Tables[0].Rows[1][2].ToString());
            CryRepAsfalto1.SetParameterValue("@C3", dsFirmas1.Tables[0].Rows[2][2].ToString());
            CryRepAsfalto1.SetParameterValue("@C4", dsFirmas1.Tables[0].Rows[3][2].ToString());
            CryRepAsfalto1.SetParameterValue("@C5", dsFirmas1.Tables[0].Rows[4][2].ToString());
            CryRepAsfalto1.SetParameterValue("@Lab", chbLab.Checked);
            CryRepAsfalto1.SetParameterValue("@Duplicado", chbDuplicado.Checked);
            CryRepAsfalto1.SetParameterValue("@Leyenda", chbLeyenda.Checked);
            CryRepAsfalto1.SetParameterValue("@Respaldo", chbRespaldo.Checked);

            int ejex, rens = 0;


            memGraphics.CreateDoubleBuffer(this.CreateGraphics(),
                                           this.ClientRectangle.Width, this.ClientRectangle.Height);

            myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "");
            SetSize();
            TextItem texe = new TextItem();
            double   MaxX = 0, MinX = 0;

            CurveItem curve;

            ejex = 2;
            string folio;

            for (int m = 0; m < dsInfAsfaltico1.Tables["AsfalticoREP"].Rows.Count; m++)
            {
                sqlDAInfAsfalticoMal.SelectCommand.Parameters["@FolioIni"].Value = dsInfAsfaltico1.Tables["AsfalticoREP"].Rows[m][0].ToString().Trim();
                sqlDAInfAsfalticoMal.SelectCommand.Parameters["@FolioFin"].Value = dsInfAsfaltico1.Tables["AsfalticoREP"].Rows[m][0].ToString().Trim();
                sqlDAInfAsfalticoMal.Fill(dsInfAsfaltico1, "AsfalticoMal");

                folio = "Folio = '" + dsInfAsfaltico1.Tables["AsfalticoREP"].Rows[m][0].ToString().Trim() + "'";
                DataRow[] filas;
                filas = dsInfAsfaltico1.Tables["AsfalticoMal"].Select(folio);
                rens  = filas.Length;
                double[] x  = new double[rens];
                double[] y  = new double[rens];
                double[] x1 = new double[rens];
                double[] y1 = new double[rens];
                MaxX = double.Parse(filas[0][2].ToString());
                MinX = double.Parse(filas[rens - 1][2].ToString());
                //Curva que pasa
                string acotacion = "Pasa";
                for (k = 0; k < rens; k++)
                {
                    x[k] = y[k] = 0;
                }
                k = 0;
                for (j = (rens - 1); j > -1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][5].ToString() != "")
                    {
                        x[k]   = double.Parse(filas[j][ejex].ToString());
                        y[k++] = double.Parse(filas[j][5].ToString());
                    }
                }
                curve                 = myPane.AddCurve(acotacion, x, y, Color.Blue, SymbolType.Triangle);
                curve.Line.Width      = 1.0F;
                curve.Line.Style      = DashStyle.Solid;
                curve.Symbol.PenWidth = 3.0F;
                curve.Symbol.Fill     = new Fill(Color.Blue);
                //Limite inferior
                acotacion = "Proyecto";
                for (k = 0; k < rens; k++)
                {
                    x1[k] = y1[k] = 0;
                }
                k = 0;
                for (j = rens - 1; j > -1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][6].ToString() != "")
                    {
                        x1[k]   = double.Parse(filas[j][ejex].ToString());
                        y1[k++] = double.Parse(filas[j][6].ToString());
                    }
                }
                curve                 = myPane.AddCurve(acotacion, x1, y1, Color.Red, SymbolType.Star);
                curve.Line.Width      = 1.0F;
                curve.Line.Style      = DashStyle.Solid;
                curve.Symbol.PenWidth = 6.0F;
                curve.Symbol.Fill     = new Fill(Color.Red);
                //Limite superior
                acotacion = "L1";
                for (k = 0; k < rens; k++)
                {
                    x1[k] = y1[k] = 0;
                }
                k = 0;
                for (j = (rens - 1); j > -1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][3].ToString() != "0")
                    {
                        x1[k]   = double.Parse(filas[j][ejex].ToString());
                        y1[k++] = double.Parse(filas[j][3].ToString());
                    }
                }
                curve                  = myPane.AddCurve(acotacion, x1, y1, Color.DarkGreen, SymbolType.Empty);
                curve.Line.Width       = 1.0F;
                curve.Symbol.IsVisible = false;
                //Limite inferior
                acotacion = "L2";
                for (k = 0; k < rens; k++)
                {
                    x1[k] = y1[k] = 0;
                }
                k = 0;
                for (j = (rens - 1); j > -1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][4].ToString() != "0.00")
                    {
                        x1[k]   = double.Parse(filas[j][ejex].ToString());
                        y1[k++] = double.Parse(filas[j][4].ToString());
                    }
                }
                curve                  = myPane.AddCurve(acotacion, x1, y1, Color.Brown, SymbolType.Empty);
                curve.Line.Width       = 1.0F;
                curve.Symbol.IsVisible = false;

                int    si    = -3;
                string acota = "";
                acotacion = "Pasa";
                for (k = 0; k < rens; k++)
                {
                    x[k] = y[k] = 0;
                }
                k = 0;
                for (j = (rens - 1); j > -1; j--)
                {
                    if (filas[j][ejex].ToString() != "" &&
                        filas[j][3].ToString() != "")
                    {
                        ArrowItem arrow = new ArrowItem(Color.Gray, 0, float.Parse(filas[j][ejex].ToString()), 0, float.Parse(filas[j][ejex].ToString()), 100);
                        arrow.CoordinateFrame = CoordType.AxisXYScale;
                        arrow.PenWidth        = 0.0F;
                        //if (filas[j][ejex].ToString() == "0.425")
                        //    arrow.PenWidth = 3.0F;
                        //if (float.Parse(filas[j][ejex].ToString()) == 4.75)
                        //    arrow.PenWidth = 3.0F;
//                        filas = dsInfAsfaltico1.Tables["AsfalticoMal"].Select(folio);

                        acota = dsInfAsfaltico1.Tables["AsfalticoMal"].Rows[j][ejex].ToString().Trim();
                        int lacota = acota.Length - 1;
                        acota = (acota.Substring(lacota, 1) == "0" ? acota.Substring(0, lacota) : acota);
                        myPane.ArrowList.Add(arrow);

                        texe = new TextItem(acota, float.Parse(dsInfAsfaltico1.Tables["AsfalticoMal"].Rows[j][ejex].ToString()), si);
//                        si = (si == -2 ? -6 : -2);
                        texe.FontSpec.IsBold     = true;
                        texe.FontSpec.FrameColor = Color.White;
                        texe.FontSpec.Size       = 10;
                        texe.FontSpec.Family     = "Times New Roman";
                        //                        texe.FontSpec.Angle = 270;
                        myPane.TextList.Add(texe);
                        //texe = new TextItem(dsInfAsfaltico1.Tables["AsfalticoMal"].Rows[j][ejex + 1].ToString(), float.Parse(dsInfAsfaltico1.Tables["AsfalticoMal"].Rows[j][ejex].ToString()), 105);
                        //texe.FontSpec.IsBold = false;
                        //texe.FontSpec.FrameColor = Color.White;
                        //texe.FontSpec.Size = 9;
                        //texe.FontSpec.Family = "Times New Roman";
                        //myPane.TextList.Add(texe);
                    }
                }

                guardagrafica(dsInfAsfaltico1.Tables["AsfalticoREP"].Rows[m][0].ToString().Trim(), MinX, MaxX);
                myPane = new GraphPane(new Rectangle(10, 10, 10, 10), "", "", "");
                SetSize();
            }

            //myPane.XAxis.IsMinorInsideTic = false;
            //myPane.XAxis.IsShowGrid = true;
            //myPane.XAxis.ScaleFontSpec.Angle = 0;
            //myPane.XAxis.Min = MinX;
            //myPane.XAxis.Max = MaxX;
            //myPane.XAxis.Type = AxisType.Log;
            //myPane.XAxis.ScaleFormat = "{0:d###.##}";
            //myPane.XAxis.ScaleFontSpec.FontColor = Color.White;
            //myPane.XAxis.Title = "MALLA NÚMERO";
            //myPane.YAxis.IsShowGrid = true;
            //myPane.YAxis.ScaleFontSpec.Angle = 90;
            //myPane.YAxis.Min = 0;
            //myPane.YAxis.Max = 100;
            //myPane.YAxis.Title = "% QUE PASA";


            //myPane.Legend.IsVisible = false;
            //myPane.Title = "GRAFICA DE COMPOSICION GRANULOMETRICA";
            //myPane.PaneFill = new Fill( Color.White, Color.White, 0F );
            //myPane.AxisChange( this.CreateGraphics() );

            //pictureBox1.Image = Image.FromHbitmap(myPane.Image.GetHbitmap());
            //MemoryStream ms = new MemoryStream();
            //pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            //byte[] arrImage = ms.GetBuffer();
            //ms.Close();

            //myPane.Image.Dispose();
            //pictureBox1.Image.Dispose();
            //dsInfAsfaltico1.Grafica.AddGraficaRow(txtFolioIni.Text,arrImage);
            //			CryRepAsfalto1.SetParameterValue("@MaxX", MaxX);
            crvInfAsfaltico.ReportSource = CryRepAsfalto1;

            //crvInfAsfaltico.RefreshReport();
        }
コード例 #4
0
ファイル: InfMexDis.cs プロジェクト: andresp11/LancNeoAPL
        private void btnVistaPrevia_Click(object sender, EventArgs e)
        {
            double[,] datos = new double[45, 36];
            double[,] media = new double[5, 35];
            double[] ua   = new double[30];
            double[] va   = new double[30];
            double[] xa   = new double[30];
            double[] ya   = new double[30];
            double[] wa   = new double[30];
            double[] za   = new double[30];
            double[] xaa  = new double[2];
            double[] C200 = new double[2];
            double   min  = 0;
            double   max  = 330;

            int[]  ren = new int[45];
            int[]  dic = new int[30];
            int    col, d1, d2, renm, dia, ren28, ren07, ren03, ren01;
            string Etiqueta = " Edad", Titulo;
            double suma;

            dsDatos1.Clear();
            dsGraDis1.Clear();


            /*           if (chbTodas.Checked == false)
             *         {
             *
             *             cryInfGrDiCo1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait;
             *             cryInfGrDiCo1.SetDataSource(dsGraDis1);
             *
             *             sqlDADatos.SelectCommand.Parameters["@IdObra"].Value = txtIdobra.Text;
             *             sqlDADatos.SelectCommand.Parameters["@FechaIni"].Value = dtpIni.Text;
             *             sqlDADatos.SelectCommand.Parameters["@FechaFin"].Value = dtpFin.Text;
             *             sqlDADatos.SelectCommand.Parameters["@TipoCon"].Value = cmbTipo.SelectedValue;
             *             sqlDADatos.SelectCommand.Parameters["@IdUnidad"].Value = cmbUnidad.SelectedValue;
             *             sqlDADatos.SelectCommand.Parameters["@Resis1"].Value = txtResis1.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Resis2"].Value = txtResis2.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Resis3"].Value = txtResis3.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Resis4"].Value = txtResis4.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan15EE"].Value = txtLan15EE.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan20EE"].Value = txtLan20EE.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan25EE"].Value = txtLan25EE.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan30EE"].Value = txtLan30EE.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan1507"].Value = txtLan1507.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2007"].Value = txtLan2007.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2507"].Value = txtLan2507.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan3007"].Value = txtLan3007.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan1503"].Value = txtLan1503.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2003"].Value = txtLan2003.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2503"].Value = txtLan2503.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan3003"].Value = txtLan3003.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan1501"].Value = txtLan1501.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2001"].Value = txtLan2001.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan2501"].Value = txtLan2501.Text;
             *             sqlDADatos.SelectCommand.Parameters["@Lan3001"].Value = txtLan3001.Text;
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 0;
             *             sqlDADatos.SelectCommand.Parameters["@IdConcretera"].Value = (cmbConcretera.SelectedValue.ToString() == "Todas" ? "%" : cmbConcretera.SelectedValue);
             *             sqlDADatos.SelectCommand.Parameters["@IdPlanta"].Value = cmbPlanta.SelectedValue.ToString();
             *             sqlDADatos.Fill(dsDatos1, "InfDistribucion");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 1;
             *             sqlDADatos.Fill(dsDatos1, "Total");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 2;
             *             sqlDADatos.Fill(dsDatos1, "Media");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 3;
             *             sqlDADatos.Fill(dsDatos1, "Erre");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 4;
             *             sqlDADatos.Fill(dsDatos1, "Semanal");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 5;
             *             sqlDADatos.Fill(dsGraDis1, "Estadisticos");
             *             sqlDADatos.SelectCommand.Parameters["@IdReporte"].Value = 6;
             *             sqlDADatos.Fill(dsDatos1, "Barra");
             *         }
             *         else
             *         {*/

            cryInfGrDiCo1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait;
            cryInfGrDiCo1.SetDataSource(dsGraDis1);

            sqlDADatosT.SelectCommand.Parameters["@IdObra"].Value       = txtIdobra.Text;
            sqlDADatosT.SelectCommand.Parameters["@FechaIni"].Value     = dtpIni.Text;
            sqlDADatosT.SelectCommand.Parameters["@FechaFin"].Value     = dtpFin.Text;
            sqlDADatosT.SelectCommand.Parameters["@TipoCon"].Value      = cmbTipo.SelectedValue;
            sqlDADatosT.SelectCommand.Parameters["@IdUnidad"].Value     = cmbUnidad.SelectedValue;
            sqlDADatosT.SelectCommand.Parameters["@Inc7aEE"].Value      = textBox4.Text;
            sqlDADatosT.SelectCommand.Parameters["@Inc3aEE"].Value      = textBox3.Text;
            sqlDADatosT.SelectCommand.Parameters["@Inc1aEE"].Value      = textBox2.Text;
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value    = 0;
            sqlDADatosT.SelectCommand.Parameters["@IdConcretera"].Value = (cmbConcretera.SelectedValue.ToString() == "Todas" ? "%" : cmbConcretera.SelectedValue);
            sqlDADatosT.SelectCommand.Parameters["@IdPlanta"].Value     = cmbPlanta.SelectedValue.ToString();
            sqlDADatosT.Fill(dsDatos1, "InfDistribucion");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 1;
            sqlDADatosT.Fill(dsDatos1, "Total");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 2;
            sqlDADatosT.Fill(dsDatos1, "Media");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 3;
            sqlDADatosT.Fill(dsDatos1, "Erre");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 4;
            sqlDADatosT.Fill(dsDatos1, "Semanal");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 5;
            sqlDADatosT.Fill(dsGraDis1, "Estadisticos");
            sqlDADatosT.SelectCommand.Parameters["@IdReporte"].Value = 6;
            sqlDADatosT.Fill(dsDatos1, "Barra");
            //}
            int renDatos = dsDatos1.InfDistribucion.Rows.Count;

            col = renm = ren28 = ren07 = ren03 = ren01 = 0;
            int d1ant = int.Parse(dsDatos1.InfDistribucion.Rows[0]["d1"].ToString());

            for (int i = 0; i < 45; i++)
            {
                ren[i] = 0;
            }
            for (int i = 0; i < renDatos; i++)
            {
                d1 = int.Parse(dsDatos1.InfDistribucion.Rows[i]["d1"].ToString());
                if (d1 == d1ant)
                {
                    dia = int.Parse(dsDatos1.InfDistribucion.Rows[i]["Dia"].ToString());
                    if (dia > 6 && dia < 14)
                    {
                        dia = dia - 1;
                    }
                    else if (dia > 13 && dia < 21)
                    {
                        dia = dia - 2;
                    }
                    else if (dia > 20 && dia < 28)
                    {
                        dia = dia - 3;
                    }
                    else if (dia > 27 && dia < 35)
                    {
                        dia = dia - 4;
                    }
                    datos[ren[dia], 35]    = d1;
                    datos[ren[dia]++, dia] = double.Parse(dsDatos1.InfDistribucion.Rows[i]["Resul"].ToString());
                }
                else
                {
                    renm = ren[0];
                    for (int j = 0; j < 35; j++)
                    {
                        if (renm < ren[j])
                        {
                            renm = ren[j];
                        }
                    }
                    datos[renm, 35] = d1ant;
                    ren28           = (d1ant >= 14 ? renm : ren28);
                    ren07           = (d1ant == 07 ? renm : ren07);
                    ren03           = (d1ant == 03 ? renm : ren03);
                    ren01           = (d1ant == 01 ? renm : ren01);
                    renm            = renm + 4;
                    for (int j = 0; j < 35; j++)
                    {
                        ren[j] = renm;
                    }
                    d1ant = d1;
                    dia   = int.Parse(dsDatos1.InfDistribucion.Rows[i]["Dia"].ToString());
                    if (dia > 6 && dia < 14)
                    {
                        dia = dia - 1;
                    }
                    else if (dia > 13 && dia < 21)
                    {
                        dia = dia - 2;
                    }
                    else if (dia > 20 && dia < 28)
                    {
                        dia = dia - 3;
                    }
                    else if (dia > 27 && dia < 35)
                    {
                        dia = dia - 4;
                    }
                    datos[ren[dia], 35]    = d1;
                    datos[ren[dia]++, dia] = double.Parse(dsDatos1.InfDistribucion.Rows[i]["Resul"].ToString());
                }
                renm = ren[0];
                for (int j = 0; j < 35; j++)
                {
                    if (renm < ren[j])
                    {
                        renm = ren[j];
                    }
                }
                datos[renm, 35] = d1ant;
                ren28           = (d1ant >= 14 ? renm : ren28);
                ren07           = (d1ant == 07 ? renm : ren07);
                ren03           = (d1ant == 03 ? renm : ren03);
                ren01           = (d1ant == 01 ? renm : ren01);
            }

            renDatos = dsDatos1.Media.Rows.Count;
            for (int i = 0; i < renDatos; i++)
            {
                d2 = d1 = int.Parse(dsDatos1.Media.Rows[i]["d1"].ToString());
                if (d1 >= 14)
                {
                    d1 = ren28;
                }
                else if (d1 == 07)
                {
                    d1 = ren07;
                }
                else if (d1 == 03)
                {
                    d1 = ren03;
                }
                else if (d1 == 01)
                {
                    d1 = ren01;
                }
                dia = int.Parse(dsDatos1.Media.Rows[i]["Dia"].ToString());
                if (dia > 6 && dia < 14)
                {
                    dia = dia - 1;
                }
                else if (dia > 13 && dia < 21)
                {
                    dia = dia - 2;
                }
                else if (dia > 20 && dia < 28)
                {
                    dia = dia - 3;
                }
                else if (dia > 27 && dia < 35)
                {
                    dia = dia - 4;
                }
                datos[d1 + 1, 35]  = d2;
                datos[d1 + 1, dia] = double.Parse(dsDatos1.Media.Rows[i]["Resul"].ToString());
            }
            ren01    = (ren01 == 0 ? 40 : ren01);
            renDatos = dsDatos1.Semanal.Rows.Count;
            for (int i = 0; i < renDatos; i++)
            {
                d2 = d1 = int.Parse(dsDatos1.Semanal.Rows[i]["d1"].ToString());
                if (d1 >= 14)
                {
                    d1 = ren28;
                }
                else if (d1 == 07)
                {
                    d1 = ren07;
                }
                else if (d1 == 03)
                {
                    d1 = ren03;
                }
                else if (d1 == 01)
                {
                    d1 = ren01;
                }
                dia = int.Parse(dsDatos1.Semanal.Rows[i]["Dia"].ToString());
                if (dia <= 6)
                {
                    dia = 5;
                }
                else if (dia > 6 && dia < 14)
                {
                    dia = 11;
                }
                else if (dia > 13 && dia < 21)
                {
                    dia = 17;
                }
                else if (dia > 20 && dia < 28)
                {
                    dia = 23;
                }
                else if (dia > 27 && dia < 35)
                {
                    dia = 29;
                }
                datos[d1 + 2, 35]  = d2;
                datos[d1 + 2, dia] = double.Parse(dsDatos1.Semanal.Rows[i]["Resul"].ToString());
            }
            renDatos = dsDatos1.Erre.Rows.Count;
            for (int i = 0; i < renDatos; i++)
            {
                d2 = d1 = int.Parse(dsDatos1.Erre.Rows[i]["d1"].ToString());
                if (d1 >= 14)
                {
                    d1 = ren28;
                }
                else if (d1 == 07)
                {
                    d1 = ren07;
                }
                else if (d1 == 03)
                {
                    d1 = ren03;
                }
                else if (d1 == 01)
                {
                    d1 = ren01;
                }
                dia = int.Parse(dsDatos1.Erre.Rows[i]["Dia"].ToString());
                if (dia > 6 && dia < 14)
                {
                    dia = dia - 1;
                }
                else if (dia > 13 && dia < 21)
                {
                    dia = dia - 2;
                }
                else if (dia > 20 && dia < 28)
                {
                    dia = dia - 3;
                }
                else if (dia > 27 && dia < 35)
                {
                    dia = dia - 4;
                }
                datos[d1 + 3, 35]  = d2;
                datos[d1 + 3, dia] = double.Parse(dsDatos1.Erre.Rows[i]["Resul"].ToString());
            }
            for (int i = 0; i < 34; i++)
            {
                suma = 0;
                for (int j = 0; j < 34; j++)
                {
                    suma = suma + datos[i, j];
                }
                if (datos[i, 35] >= 14)
                {
                    Etiqueta = "Edad especificada";
                }
                else if (datos[i, 35] == 7)
                {
                    Etiqueta = "7 días";
                }
                else if (datos[i, 35] == 3)
                {
                    Etiqueta = "3 días";
                }
                else if (datos[i, 35] == 1)
                {
                    Etiqueta = "1 día";
                }
                Titulo = "n"; // System.Convert.ToString(i + 1);
                if (suma > 0)
                {
                    //					if (i == (ren28 == 0 ? 90 : ren28) + 1 || i == ren07 + 1 || i == ren03 + 1 || i == ren01 + 1)
                    //						Titulo = "TOTAL";
                    if (i == (ren28 == 0 ? 90 : ren28) + 1 || i == ren07 + 1 || i == ren03 + 1 || i == ren01 + 1)
                    {
                        Titulo = "Media";
                    }
                    if (i == (ren28 == 0 ? 90 : ren28) + 2 || i == ren07 + 2 || i == ren03 + 2 || i == ren01 + 2)
                    {
                        Titulo = "Media Semanal";
                    }
                    if (i == (ren28 == 0 ? 90 : ren28) + 3 || i == ren07 + 3 || i == ren03 + 3 || i == ren01 + 3)
                    {
                        Titulo = "R";
                    }
                    dsGraDis1.Gradis.AddGradisRow(i.ToString(), datos[i, 0], datos[i, 1], datos[i, 2], datos[i, 3],
                                                  datos[i, 4], datos[i, 5], datos[i, 6], datos[i, 7], datos[i, 8], datos[i, 9], datos[i, 10], datos[i, 11],
                                                  datos[i, 12], datos[i, 13], datos[i, 14], datos[i, 15], datos[i, 16], datos[i, 17], datos[i, 18], datos[i, 19],
                                                  datos[i, 20], datos[i, 21], datos[i, 22], datos[i, 23], datos[i, 24], datos[i, 25], datos[i, 26], datos[i, 27],
                                                  datos[i, 28], datos[i, 29], datos[i, 30], Etiqueta.Trim(), Titulo);
                    if (i == ren28 + 1 && ren28 != 0)
                    {
                        for (int j = 0; j < 30; j++)
                        {
                            ua[j] = datos[i, j];
                        }
                    }
                    if (i == ren07 + 1 && ren07 != 0)
                    {
                        for (int j = 0; j < 30; j++)
                        {
                            va[j] = datos[i, j];
                        }
                    }
                    if (i == ren07 + 3 && ren07 != 0)
                    {
                        for (int j = 0; j < 30; j++)
                        {
                            za[j] = datos[i, j];
                        }
                    }
                    if (i == ren03 + 1 && ren03 != 0)
                    {
                        for (int j = 0; j < 30; j++)
                        {
                            wa[j] = datos[i, j];
                        }
                    }
                    if (i == ren01 + 1 && ren01 != 0)
                    {
                        for (int j = 0; j < 30; j++)
                        {
                            ya[j] = datos[i, j];
                        }
                    }
                }
            }
            DateTime dias = dtpIni.Value;
            int      dmes = 0;

            for (int i = 0; i < 35; i++)
            {
                if (dias.AddDays(i).DayOfWeek.ToString() != DayOfWeek.Sunday.ToString())
                {
                    dic[dmes++] = dias.AddDays(i).Day;
                }
            }
            dsGraDis1.Dias.AddDiasRow(dic[0], dic[1], dic[2], dic[3],
                                      dic[4], dic[5], dic[6], dic[7], dic[8], dic[9], dic[10], dic[11],
                                      dic[12], dic[13], dic[14], dic[15], dic[16], dic[17], dic[18], dic[19],
                                      dic[20], dic[21], dic[22], dic[23], dic[24], dic[25], dic[26], dic[27],
                                      dic[28], dic[29]);

            memGraphics.CreateDoubleBuffer(this.CreateGraphics(),
                                           this.ClientRectangle.Width, this.ClientRectangle.Height);

            myPane = new GraphPane(new Rectangle(10, 10, 10, 10),
                                   "CARTA DE CONTROL Y DISTRIBUCIÓN DE FRECUENCIAS", "", "");
            SetSize();

            for (int j = 0; j < 30; j++)
            {
                xa[j] = j + 1;
            }

            CurveItem curve;

            curve             = myPane.AddCurve("E. E:", xa, ua, Color.Black, SymbolType.Circle);
            curve.Line.Width  = 2.5F;
            curve.Symbol.Fill = new Fill(Color.Black);
            for (int j = 29; j >= 0; j--)
            {
                if (ua[j] == 0)
                {
                    curve.Points.Remove(j);
                }
            }
            curve             = myPane.AddCurve("7 días", xa, va, Color.Blue, SymbolType.Circle);
            curve.Line.Width  = 2.5F;
            curve.Symbol.Fill = new Fill(Color.White);
            for (int j = 29; j >= 0; j--)
            {
                if (va[j] == 0)
                {
                    curve.Points.Remove(j);
                }
            }
            curve             = myPane.AddCurve("3 días", xa, wa, Color.Brown, SymbolType.Square);
            curve.Line.Width  = 2.5F;
            curve.Symbol.Fill = new Fill(Color.Red);
            for (int j = 29; j >= 0; j--)
            {
                if (wa[j] == 0)
                {
                    curve.Points.Remove(j);
                }
            }
            curve             = myPane.AddCurve("1 día", xa, ya, Color.DarkRed, SymbolType.Square);
            curve.Line.Width  = 2.5F;
            curve.Symbol.Fill = new Fill(Color.White);
            curve.Symbol.Size = 8;
            for (int j = 29; j >= 0; j--)
            {
                if (ya[j] == 0)
                {
                    curve.Points.Remove(j);
                }
            }
            curve             = myPane.AddCurve("R", xa, za, Color.DarkMagenta, SymbolType.Star);
            curve.Line.Width  = 1.0F;
            curve.Symbol.Fill = new Fill(Color.DarkMagenta);
            curve.Line.Style  = System.Drawing.Drawing2D.DashStyle.DashDot;
            curve.IsY2Axis    = true;
            for (int j = 29; j >= 0; j--)
            {
                if (za[j] == 0)
                {
                    curve.Points.Remove(j);
                }
            }
            //			curve.Line.IsSmooth = true;
            xaa[0]                  = 0;
            xaa[1]                  = 30;
            C200[0]                 = 200;
            C200[1]                 = 200;
            curve                   = myPane.AddCurve("C200", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 2.5F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Solid;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            C200[0]                 = 230;
            C200[1]                 = 230;
            curve                   = myPane.AddCurve("C230", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 2.5F;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            C200[0]                 = 260;
            C200[1]                 = 260;
            curve                   = myPane.AddCurve("C260", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 2.5F;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            C200[0]                 = 40;
            C200[1]                 = 40;
            curve                   = myPane.AddCurve("C040", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 1.0F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Dash;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            curve.IsY2Axis          = true;
            xaa[0]                  = 6.5;
            xaa[1]                  = 6.5;
            C200[0]                 = 100;
            C200[1]                 = 300;
            curve                   = myPane.AddCurve("C6.5", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 4.0F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Solid;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            xaa[0]                  = 12.5;
            xaa[1]                  = 12.5;
            C200[0]                 = 100;
            C200[1]                 = 300;
            curve                   = myPane.AddCurve("C13.5", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 4.0F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Solid;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            xaa[0]                  = 18.5;
            xaa[1]                  = 18.5;
            C200[0]                 = 100;
            C200[1]                 = 300;
            curve                   = myPane.AddCurve("C20.5", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 4.0F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Solid;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;
            xaa[0]                  = 24.5;
            xaa[1]                  = 24.5;
            C200[0]                 = 100;
            C200[1]                 = 300;
            curve                   = myPane.AddCurve("C13.5", xaa, C200, Color.Black, SymbolType.Empty);
            curve.Line.Width        = 4.0F;
            curve.Line.Style        = System.Drawing.Drawing2D.DashStyle.Solid;
            curve.Symbol.Fill       = new Fill(Color.White);
            curve.Symbol.FrameColor = Color.White;


            myPane.Y2Axis.IsShowGrid         = true;
            myPane.Y2Axis.Step               = 10;
            myPane.Y2Axis.Min                = min;
            myPane.Y2Axis.Max                = 200;
            myPane.Y2Axis.IsVisible          = true;
            myPane.Y2Axis.ScaleFontSpec.Size = 6;
            myPane.XAxis.IsShowGrid          = true;
            myPane.XAxis.IsTic               = true;
            myPane.XAxis.ScaleFontSpec.Angle = 0;
            myPane.XAxis.Min                 = 0;
            myPane.XAxis.Max                 = 30;
            myPane.XAxis.IsVisible           = false;
            myPane.YAxis.IsShowGrid          = true;
            myPane.YAxis.ScaleFontSpec.Angle = 90;
            myPane.YAxis.Min                 = 100;
            myPane.YAxis.Max                 = 300;

            //			myPane.YAxis.MaxAuto = true;
            myPane.Legend.IsVisible = false;
            myPane.PaneFill         = new Fill(Color.White, Color.White, 0F);

            myPane.AxisChange(this.CreateGraphics());
            pictureBox1.Image = Image.FromHbitmap(myPane.Image.GetHbitmap());
            MemoryStream ms = new MemoryStream();

            pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] arrImage = ms.GetBuffer();
            ms.Close();

            myPane.Image.Dispose();
            pictureBox1.Image.Dispose();
            dsGraDis1.Grafica.AddGraficaRow(arrImage);

            memGraphics1.CreateDoubleBuffer(this.CreateGraphics(),
                                            this.ClientRectangle.Width, this.ClientRectangle.Height);

            myPane1 = new GraphPane(new Rectangle(10, 10, 10, 10),
                                    " ", "", "");
            SetSize1();

            renDatos = dsDatos1.Barra.Rows.Count;
            double[] xxa = new double[renDatos];
            double[] yya = new double[renDatos];
            for (int i = 0; i < renDatos; i++)
            {
                xxa[i] = double.Parse(dsDatos1.Barra.Rows[i][0].ToString());
                yya[i] = double.Parse(dsDatos1.Barra.Rows[i][1].ToString());
            }

            CurveItem curve1;

            curve1 = myPane1.AddBar("Cantidad", yya, xxa, Color.Black);
            curve1.Bar.FrameWidth = 12.0F;
            curve1.Symbol.Fill    = new Fill(Color.Black);

            myPane1.BarBase                   = BarBase.Y;
            myPane1.XAxis.IsShowGrid          = true;
            myPane1.XAxis.ScaleFontSpec.Angle = 0;
            myPane1.XAxis.Min                 = 0;
            myPane1.XAxis.Max                 = 30;
            myPane1.XAxis.MaxAuto             = true;
            myPane1.XAxis.ScaleFontSpec.Size  = 30;
            myPane1.XAxis.IsVisible           = false;
            myPane1.XAxis.IsShowGrid          = true;
            myPane1.YAxis.IsShowGrid          = true;
            myPane1.YAxis.ScaleFontSpec.Angle = 90;
            myPane1.YAxis.Min                 = 100;
            myPane1.YAxis.Max                 = 300;
            //			myPane1.YAxis.MaxAuto = true;
            myPane1.YAxis.IsVisible  = false;
            myPane1.Legend.IsVisible = false;
            //			myPane.YAxis.ScaleFontSpec.Size = 10;
            myPane1.PaneFill = new Fill(Color.White, Color.White, 0F);

            myPane1.AxisChange(this.CreateGraphics());
            pictureBox2.Image = Image.FromHbitmap(myPane1.Image.GetHbitmap());
            pictureBox2.Image.RotateFlip(RotateFlipType.RotateNoneFlipX);
            MemoryStream ms1 = new MemoryStream();

            pictureBox2.Image.Save(ms1, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] arrImage1 = ms1.GetBuffer();
            ms1.Close();

            myPane1.Image.Dispose();
            pictureBox2.Image.Dispose();
            dsGraDis1.Barras.AddBarrasRow(arrImage1);


            crvGraDis.Visible = true;
            cryInfGrDiCo1.SetParameterValue("@Tip", dsTipo1.Tables[0].Rows[cmbTipo.SelectedIndex][1].ToString());
            cryInfGrDiCo1.SetParameterValue("@Rev", 0);
            cryInfGrDiCo1.SetParameterValue("@Fecha", dtpIni.Value.AddDays(20));
            cryInfGrDiCo1.SetParameterValue("@Resistencias", txtResis1.Text.Trim() + " " + txtResis2.Text.Trim() + " " + txtResis3.Text.Trim() + " " + txtResis4.Text.Trim());
            cryInfGrDiCo1.SetParameterValue("@Resis1", txtResis1.Text.Trim());
            cryInfGrDiCo1.SetParameterValue("@Resis2", txtResis2.Text.Trim());
            cryInfGrDiCo1.SetParameterValue("@Resis3", txtResis3.Text.Trim());
            cryInfGrDiCo1.SetParameterValue("@Resis4", txtResis4.Text.Trim());
            cryInfGrDiCo1.SetParameterValue("Inc15EE", txtLan15EE.Text);
            cryInfGrDiCo1.SetParameterValue("Inc1507", txtLan1507.Text);
            cryInfGrDiCo1.SetParameterValue("Inc1503", txtLan1503.Text);
            cryInfGrDiCo1.SetParameterValue("Inc1501", txtLan1501.Text);
            cryInfGrDiCo1.SetParameterValue("Inc20EE", txtLan20EE.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2007", txtLan2007.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2003", txtLan2003.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2001", txtLan2001.Text);
            cryInfGrDiCo1.SetParameterValue("Inc25EE", txtLan25EE.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2507", txtLan2507.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2503", txtLan2503.Text);
            cryInfGrDiCo1.SetParameterValue("Inc2501", txtLan2501.Text);
            cryInfGrDiCo1.SetParameterValue("Inc30EE", txtLan30EE.Text);
            cryInfGrDiCo1.SetParameterValue("Inc3007", txtLan3007.Text);
            cryInfGrDiCo1.SetParameterValue("Inc3003", txtLan3003.Text);
            cryInfGrDiCo1.SetParameterValue("Inc3001", txtLan3001.Text);
            cryInfGrDiCo1.SetParameterValue("@Lab", chbLab.Checked);
            cryInfGrDiCo1.SetParameterValue("@Con", cmbConcretera.Text);
            cryInfGrDiCo1.SetParameterValue("@Pla", cmbPlanta.Text);
            cryInfGrDiCo1.SetParameterValue("@IdObra", txtIdobra.Text);



            crvGraDis.ReportSource = cryInfGrDiCo1;
            // crvGraDis.RefreshReport();
        }