Example #1
0
        public CMensaje montarMensaje2()
        {
            int tam = (listaEB.Count - 1) * 7;

            byte[] datos = new byte[tam];
            int    cont  = 0;

            byte[] aux         = new byte[8];
            int    numPaquetes = (int)listaEB[0].Byte_3;
            int    numDatos    = (int)listaEB[0].Byte_1;

            for (int i = 1; i < listaEB.Count && i <= numPaquetes; i++)
            {
                for (int j = 1; j < 8 && cont < tam && cont < numDatos; j++)
                {
                    aux         = listaEB[i].getDatos();
                    datos[cont] = aux[j];
                    cont++;
                }
            }
            byte[] auxiliarBytes = new byte[numDatos];
            for (int i = 0; i < numDatos; i++)
            {
                auxiliarBytes[i] = datos[i];
            }
            CMensaje mensajeRetorno = new CMensaje();

            mensajeRetorno.setDatos(auxiliarBytes);
            string id1 = pasaByteToString(listaEB[0].Byte_6);
            string id2 = pasaByteToString(listaEB[0].Byte_5);

            mensajeRetorno.setId(listaEB[0].Id_0 + id1 + id2 + listaEB[0].Id_3);
            mensajeRetorno.Tipo = listaEB[0].Tipo;
            return(mensajeRetorno);
        }
Example #2
0
        public void exportar()
        {
            List <string> mensajesExportar = new List <string>();
            String        id = txPF.Text + " " + txPS.Text;

            if (Program.gFrmPpal.listBox2.Items.Count > 0)
            {
                for (int i = 0; i < Program.gFrmPpal.listBox2.Items.Count; i++)
                {
                    string aux = (string)Program.gFrmPpal.listBox2.Items[i];
                    if (aux.Contains(id))
                    {
                        mensajesExportar.Add(aux);
                    }
                }
            }
            else
            {
                for (int i = 0; i < Program.gFrmPpal.listBox1.Items.Count; i++)
                {
                    string aux = (string)Program.gFrmPpal.listBox1.Items[i];
                    if (aux.Contains(id))
                    {
                        mensajesExportar.Add(aux);
                    }
                }
            }


            List <CMensaje> listaCMensajes = new List <CMensaje>();

            for (int i = 0; i < mensajesExportar.Count; i++)
            {
                string   idMensajes_0 = mensajesExportar[i].Substring(10, 2);
                string   idMensajes_1 = mensajesExportar[i].Substring(13, 2);
                string   idMensajes_2 = mensajesExportar[i].Substring(16, 2);
                string   idMensajes_3 = mensajesExportar[i].Substring(19, 2);
                string   datos        = mensajesExportar[i].Substring(23, 23);
                string   tiempo       = mensajesExportar[i].Substring(0, 7);
                CMensaje m            = new CMensaje();
                m.Id = idMensajes_0 + idMensajes_1 + idMensajes_2 + idMensajes_3;
                byte[] b = stringDatosTobyte(datos);
                m.setDatos(b);
                m.Tiempo = tiempo;
                listaCMensajes.Add(m);
            }

            //Desglosar Mensajes para sacar SPN

            foreach (CMensaje m in listaCMensajes)
            {
                CIdenti identi = new CIdenti();
                identi.datos  = pasaBytesToString(m.getDatos());
                identi.PF     = txPF.Text;
                identi.PS     = txPS.Text;
                identi.SAhex  = txSA.Text;
                identi.tiempo = m.Tiempo;
                parametrosAuxiliar(identi.PF + identi.PS, identi);
            }

            //--------------------------//

            this.saveFileDialog1.ShowDialog();
            string name = this.saveFileDialog1.FileName;

            if (!name.Trim().Equals("") && this.saveFileDialog1.CheckPathExists)
            {
                ListViewItem        it;
                List <ListViewItem> lista = new List <ListViewItem>();
                ListViewItem.ListViewSubItemCollection itc;
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    if (listView1.Items[i].Checked)
                    {
                        it = listView1.Items[i];
                        lista.Add(it);
                    }
                }

                //Cargar en lista resto de mensajes

                if (lista.Count <= 0)
                {
                    //No hay ningun elemento seleccionado
                }
                else
                {
                    List <string> listaAuxiliar = new List <string>();
                    foreach (ListViewItem item in lista)
                    {
                        itc = item.SubItems;
                        listaAuxiliar.Add(itc[1].Text);
                        //dsMensajes1.MensajesExport2.Columns.Add(itc[1].Text + " - " + itc[0].Text);
                        //dsMensajes1.MensajesExport2.SPNColumn.ColumnName = itc[1].Text + " - " + itc[0].Text;
                        //dsMensajes1.MensajesExport.AddMensajesExportRow(itc[0].Text, itc[1].Text, itc[2].Text, itc[3].Text, itc[4].Text, "");
                        dsMensajes1.MensajesExport2.AddMensajesExport2Row(itc[2].Text + " - " + itc[5].Text);
                    }
                    foreach (ListViewItem item2 in general)
                    {
                        itc = item2.SubItems;
                        if (listaAuxiliar.Contains(itc[1].Text))
                        {
                            dsMensajes1.MensajesExport2.Columns.Add(itc[1].Text + " - " + itc[0].Text);
                            dsMensajes1.MensajesExport2.AddMensajesExport2Row(itc[2].Text + " - " + itc[5].Text);
                            //dsMensajes1.MensajesExport2.SPNColumn.ColumnName = itc[1].Text + " - " + itc[0].Text;
                        }

                        //dsMensajes1.MensajesExport.AddMensajesExportRow(itc[0].Text, itc[1].Text, itc[2].Text, itc[3].Text, itc[4].Text, "");
                    }
                    dsMensajes1.MensajesExport2.WriteXml(name);
                }
            }
        }
Example #3
0
        //Cuando se haga click en la lista Extendido
        private void listBox2_Click(object sender, EventArgs e)
        {
            try
            {
                if (hiloActivo == false)
                {
                    string fila   = (string)listBox2.SelectedItem;
                    string tiempo = fila.Substring(0, 10);
                    tiempo = tiempo.Trim();
                    string id            = fila.Substring(10, 11);
                    string datos         = fila.Substring(23, 23);
                    string mensajeString = id + " " + datos;
                    if (id.Substring(3, 2).Equals("EC"))
                    {
                        //Montar multipaquete

                        CMensaje mensajeEC = new CMensaje();
                        mensajeEC.Tipo = "01";
                        id             = id.Replace(" ", "");
                        mensajeEC.Id   = id;
                        mensajeEC.setDatos(pasaStringToBytes(datos));
                        listaEB.Add(mensajeEC);
                        bool correcto = true;
                        mensajeEC.Tiempo = tiempo;

                        //buscar X EB siempre que no encuentre 1 EC
                        for (int i = listBox2.SelectedIndex + 1; i < this.listBox2.Items.Count && correcto; i++)
                        {
                            fila          = listBox2.Items[i].ToString();
                            id            = fila.Substring(10, 11);
                            datos         = fila.Substring(23, 23);
                            mensajeString = id + " " + datos;
                            if (id.Substring(3, 2).Equals("EB"))
                            {
                                CMensaje mensajeEB = new CMensaje();
                                mensajeEB.Tipo = "01";
                                id             = id.Replace(" ", "");
                                mensajeEB.Id   = id;
                                mensajeEB.setDatos(pasaStringToBytes(datos));
                                if (!listaEB.Contains(mensajeEB))
                                {
                                    listaEB.Add(mensajeEB);
                                }
                            }
                            else if (id.Substring(3, 2).Equals("EC"))
                            {
                                correcto = false;
                            }
                        }

                        //var lista = from string s in this.listBox2.Items where s.Contains("EC") select s;

                        //MontarMultiPaquete
                        if (compruebaLista2())
                        {
                            //dsMensajes.mensajesRow filaAux = this.dsMensajes.mensajes.NewmensajesRow();
                            CMensaje mensajeAuxiliar = montarMensaje2();
                            identi.identificador = mensajeAuxiliar.Id;
                            identi.SAhex         = string.Format(mensajeAuxiliar.Id_3);
                            identi.PF            = string.Format(mensajeAuxiliar.Id_1);
                            identi.PS            = string.Format(mensajeAuxiliar.Id_2);
                            identi.PGNhex        = identi.PF + identi.PS;
                            string datosAuxiliar2 = pasaBytesToString(mensajeAuxiliar.getDatos());
                            identi.datos = datosAuxiliar2.Substring(0, 2) + datosAuxiliar2.Substring(2, 2)
                                           + datosAuxiliar2.Substring(4, 2) + datosAuxiliar2.Substring(6, 2)
                                           + datosAuxiliar2.Substring(8, 2) + datosAuxiliar2.Substring(10, 2)
                                           + datosAuxiliar2.Substring(12, 2) + datosAuxiliar2.Substring(14, 2)
                                           + datosAuxiliar2.Substring(16, 2) + datosAuxiliar2.Substring(18, 2);
                            prioridad(identi.identificador);
                            identi.PFint = int.Parse(identi.PF, System.Globalization.NumberStyles.HexNumber);

                            Form2 form = new Form2(this.identi);
                            form.ShowDialog();
                            listaEB.Clear();
                        }


                        //Form2 form = new Form2(this.identi);
                        //form.ShowDialog();
                    }
                    else if (id.Substring(3, 2).Equals("EB"))
                    {
                        //Ignorar
                    }
                    else
                    {
                        //Mensaje Normal
                        identi.identificador = mensajeString;
                        identi.SAhex         = id.Substring(9, 2);
                        identi.PF            = id.Substring(3, 2);
                        identi.PS            = id.Substring(6, 2);
                        identi.PGNhex        = identi.PF + identi.PS;
                        identi.datos         = datos.Substring(0, 2) + datos.Substring(3, 2)
                                               + datos.Substring(6, 2) + datos.Substring(9, 2)
                                               + datos.Substring(12, 2) + datos.Substring(15, 2)
                                               + datos.Substring(18, 2) + datos.Substring(21, 2);
                        prioridad(identi.identificador);
                        identi.PFint  = int.Parse(identi.PF, System.Globalization.NumberStyles.HexNumber);
                        identi.tiempo = tiempo;
                        Form2 form = new Form2(this.identi);
                        form.ShowDialog();
                    }
                }
            }
            catch (Exception exce)
            {
                MessageBox.Show("No hay mensajes");
            }
        }