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(); }
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; }
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(); }
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(); }