Example #1
0
        /// <summary>
        /// Pärchen Zeile hinzufügen
        /// </summary>
        /// <returns></returns>
        private void AddPaarLine(string aLine, Int32 aCount)
        {
            string sDatum;
            string sTyp    = "";
            string sLength = "";
            string sEmm    = "";

            string[] data = aLine.Split(new Char[] { ' ', '\t' });
            sDatum = data[0] + ' ' + data[1];
            sEmm   = data[3] + ' ' + data[4];
            //Typ auslesen
            sTyp = data[3].Substring(16, 2);
            //Längenangabe extrahieren
            sLength = data[3].Substring(4, 2);
            LengthInfo info = vLengthList.Find(x => x.Length == sLength);

            sLength = sLength + " hex / " + int.Parse(sLength, System.Globalization.NumberStyles.HexNumber);

            Int64 xDiff = ((DateTime.Now).Subtract(new DateTime(Convert.ToInt32(data[0].Substring(0, 4)), Convert.ToInt32(data[0].Substring(5, 2)), Convert.ToInt32(data[0].Substring(8, 2)),
                                                                Convert.ToInt32(data[1].Substring(0, 2)), Convert.ToInt32(data[1].Substring(3, 2)), Convert.ToInt32(data[1].Substring(6, 2))))).Ticks;

            //EMM formatieren mit Leerzeichen
            string sOrigEmm = sEmm;

            if (vCardCode != "")
            {
                sEmm = sEmm.Replace(vCardCode, "xxxxxxxx");
            }
            if (vCamType == OSCAM)
            {
                sEmm = sEmm.Insert(18, " ");
                sEmm = sEmm.Insert(16, " ");
            }
            else
            {
                sEmm = sEmm.Insert(10, " ");
            }
            sEmm = sEmm.Insert(8, " ");
            sEmm = sEmm.Insert(6, " ");
            sEmm = sEmm.Insert(4, " ");
            PaarListView.Items.Add(new ListViewItem(new string[] { sDatum, CalcDatum(sDatum), aCount.ToString(),
                                                                   sTyp, sLength, CalcCheckSum(sEmm), sEmm, sOrigEmm }));
        }
Example #2
0
        /// <summary>
        /// Analyse des EMM's
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            int      lineNr = 1;
            int      Count  = 1;
            string   sDatum;
            string   sEmmTyp;
            string   sTyp         = "";
            string   sCard        = "";
            string   sBox         = "";
            string   sLength      = "";
            string   sDescription = "";
            string   sEmm         = "";
            string   sOrigEmm     = "";
            DateTime firstDate    = new DateTime();
            DateTime lastDate     = new DateTime();

            listView1.Items.Clear();
            vDoubles.Clear();
            vDoubleCount.Clear();
            foreach (string line in TextBox.Lines)
            {
                string   corrLine = RemoveDoubleSpaceCharacters(line); //doppelte Leerzeichen entfernen
                string[] data     = corrLine.Split(new Char[] { ' ', '\t' });
                if (data.Count() == 5)
                {
                    if ((!dateCheckBox.Checked) || (dateTimePicker.Value <= new DateTime(Convert.ToInt32(data[0].Substring(0, 4)), Convert.ToInt32(data[0].Substring(5, 2)), Convert.ToInt32(data[0].Substring(8, 2)),
                                                                                         Convert.ToInt32(data[1].Substring(0, 2)), Convert.ToInt32(data[1].Substring(3, 2)), Convert.ToInt32(data[1].Substring(6, 2)))))
                    {
                        if ((!vDoubles.Contains(data[3])) || (!doubleCheckBox.Checked))
                        {
                            //Datum merken
                            if (listView1.Items.Count == 0)
                            {
                                firstDate = new DateTime(Convert.ToInt32(data[0].Substring(0, 4)), Convert.ToInt32(data[0].Substring(5, 2)), Convert.ToInt32(data[0].Substring(8, 2)),
                                                         Convert.ToInt32(data[1].Substring(0, 2)), Convert.ToInt32(data[1].Substring(3, 2)), Convert.ToInt32(data[1].Substring(6, 2)));
                            }
                            lastDate = new DateTime(Convert.ToInt32(data[0].Substring(0, 4)), Convert.ToInt32(data[0].Substring(5, 2)), Convert.ToInt32(data[0].Substring(8, 2)),
                                                    Convert.ToInt32(data[1].Substring(0, 2)), Convert.ToInt32(data[1].Substring(3, 2)), Convert.ToInt32(data[1].Substring(6, 2)));

                            //Einträge auslesen
                            sDatum   = data[0] + ' ' + data[1];
                            sEmmTyp  = data[2];
                            sEmm     = data[3] + ' ' + data[4];
                            sOrigEmm = sEmm;
                            //prüfen ob Card Key enthalten
                            if ((vCardCode != "") && (data[3].Contains(vCardCode)))
                            {
                                //sCard = "1";
                                sCard = CountStrings(data[3], vCardCode).ToString();
                            }
                            else
                            {
                                sCard = "";
                            }
                            //prüfen ob Box Key enthalten
                            if ((vBoxCode != "") && (data[3].Contains(vBoxCode)))
                            {
                                //sBox = "1";
                                sCard = CountStrings(data[3], vBoxCode).ToString();
                            }
                            else
                            {
                                sBox = "";
                            }
                            //Typ auslesen
                            sTyp = data[3].Substring(16, 2);
                            //Längenangabe extrahieren
                            sLength = data[3].Substring(4, 2);
                            LengthInfo info = vLengthList.Find(x => x.Length == sLength);
                            sLength = sLength + " hex / " + int.Parse(sLength, System.Globalization.NumberStyles.HexNumber);
                            if (KeyCheckBox.Checked)
                            {
                                if (vCardCode != "")
                                {
                                    sEmm = sEmm.Replace(vCardCode, "xxxxxxxx");
                                }
                                if (vBoxCode != "")
                                {
                                    sEmm = sEmm.Replace(vBoxCode, "xxxxxxxx");
                                }
                            }
                            //sDescription = CreateDescription(sEmm);
                            if (info != null)
                            {
                                sDescription = info.Text;
                            }
                            else
                            {
                                sDescription = "";
                            }

                            //EMM formatieren mit Leerzeichen
                            if (vCamType == OSCAM)
                            {
                                sEmm = sEmm.Insert(18, " ");
                                sEmm = sEmm.Insert(16, " ");
                            }
                            else
                            {
                                sEmm = sEmm.Insert(10, " ");
                            }
                            sEmm = sEmm.Insert(8, " ");
                            sEmm = sEmm.Insert(6, " ");
                            sEmm = sEmm.Insert(4, " ");
                            ListViewItem listItem = listView1.Items.Add(new ListViewItem(new string[] { Convert.ToString(lineNr), Convert.ToString(Count), sDatum, sEmmTyp, sTyp, sCard, sBox, sLength, sDescription, sEmm, sOrigEmm }));
                            listItem.BackColor = Color.White; //Hintergrund weiß zeichnen
                            vDoubles.Add(data[3]);
                            vDoubleCount.Add(1);
                        }
                        else
                        {
                            if (doubleCheckBox.Checked)
                            {
                                vDoubleCount[vDoubles.IndexOf(data[3])] += 1;
                                lastDate = new DateTime(Convert.ToInt32(data[0].Substring(0, 4)), Convert.ToInt32(data[0].Substring(5, 2)), Convert.ToInt32(data[0].Substring(8, 2)),
                                                        Convert.ToInt32(data[1].Substring(0, 2)), Convert.ToInt32(data[1].Substring(3, 2)), Convert.ToInt32(data[1].Substring(6, 2)));
                            }
                        }
                    }
                    lineNr++;
                }
            }
            //wenn keine Doubles dann die Anzahl aktualisieren
            if (doubleCheckBox.Checked)
            {
                int count = 0;
                foreach (ListViewItem item in listView1.Items)
                {
                    item.SubItems[1].Text = vDoubleCount[count].ToString();
                    count++;
                }
            }
            //Zeit ausgeben erster Eintrag bis jetzt
            if (firstDate != DateTime.MinValue)
            {
                Int64    lTicks = (DateTime.Now).Subtract(firstDate).Ticks;
                TimeSpan ts     = TimeSpan.FromTicks(lTicks);
                TimeStripLabel.Text = "Dauer: " + ts.Days + " Tage " + ts.Hours + " Stunden " + ts.Minutes + " Minuten (" + Math.Round(ts.TotalHours, 2).ToString() + " h)";
            }
            else
            {
                TimeStripLabel.Text = "Dauer: --";
            }
            //Zeit ausgeben erster Eintrag bis letzter Eintrag
            if ((firstDate != DateTime.MinValue) && (lastDate != DateTime.MinValue))
            {
                Int64    lTicks = (lastDate).Subtract(firstDate).Ticks;
                TimeSpan ts     = TimeSpan.FromTicks(lTicks);
                LogTimeStripLabel.Text = "Logdauer: " + ts.Days + " Tage " + ts.Hours + " Stunden " + ts.Minutes + " Minuten (" + Math.Round(ts.TotalHours, 2).ToString() + " h)";
            }
            else
            {
                LogTimeStripLabel.Text = "Logdauer: --";
            }
        }