Esempio n. 1
0
				// create XmlDocument
				XmlDocument doc = new XmlDocument();
				try
				{
					// ignore xml doctype + header
Esempio n. 2
0
                    train_list.Add(ti.Number+" "+ti.Type, ti);
                    if (ti.ti2 != null) train_list.Add(ti.ti2.Number+" "+ti.ti2.Type, ti.ti2);
                }
                catch(Exception){};
            }
        }

        public void PrevEntry()
        {
            try
            {
                Entry e = null;
                int help = (int)route.Position;
                do
                {
                    if ((help == 0) || (route.Entrys.Count <= 0) || route.Position < 0)
                    {
                        return;
                    }
                    e = (Entry)route.Entrys[help-1];
                    if (e.m_type == EntryType.OPS_MARKER && e.m_ops_name != "")
                    {
                        marker = e;
                        route.Position = (long)help - 1;
                        // TODO
                        while(route.Position - (long)route.Offset < 0 )
                        {
                            PrevPage();
                        }
                        return;
                    }
                    else
                    {
                        help--;
Esempio n. 3
0
        }

        public void NextEntry()
        {
            NextEntry(true);
        }

        public void NextEntry(bool only_timed_entries)
        {
            try
            {
                if (route.Entrys.Count < 1) return;
                Entry e = null;
                do
                {
                    if ((int)route.Position >= route.Entrys.Count-1)
                    {
                        if ((int)route.Position == route.Entrys.Count-1)
                        {
                            marker = (Entry)route.Entrys[(int)route.Position];
                        }
                        break;
                    }
                    e = (Entry)route.Entrys[(int)route.Position+1];
                    if (/*e.m_type == EntryType.OPS_MARKER && e.m_ops_name != "" &&*/ ((e.m_etd != "" || !only_timed_entries) || e.m_eta != "" ))
                    {
                        route.Position++;
                        marker = e;

                        int counter = 0;

                        // now 11 instead of 12
                        while(route.Position - (long)route.Offset >= 03 )
                        {
                            if (counter > 10)
                            {
                                //MessageBox.Show("Next Page lief mehr als 10 mal?");
                                break;
                            }
                            counter++;
                            NextPage_Buttom();
                        }
                        return;
                    }
                    else
                    {
                        route.Position++;
Esempio n. 4
0
        }

        public bool LoadTrain(string number)
        {
            return false;
        }

        public void LoadTrainDEBUG()
        {
            char c = new char();

            gnt = false;

            route = new Route("3313", "ab Saarbrücken Hbf 14.12.03 - 12.06.04 (Sa) (außer 25.12.03, 26.12.03, 31.12.03, 01.01.04, 10.02.04, 01.05.04, 26.05.04, 27.05.04)");

            Entry e1 = new Entry(EntryType.RADIO_MARKER, "141,9", "60", "60", "- ZF A 66 -", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "141,9", "", "", "Bft Saarbrücken Hbf", "", "13:04", '0', "13:04", '0');
            route.Entrys.Add(e1);
            /*marker = e1;
            route.Position = 1;*/
            marker = null;
            route.Position = -1;

            gnt = true;

            e1 = new Entry(EntryType.OPS_MARKER, "141,8", "", "", "Asig", "A60", "", c, "", c);
            route.Entrys.Add(e1);

            e1 = new Entry(EntryType.OPS_MARKER, "140,8", "", "", "Abzw Saarbrücken Hbf Srg", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.GNT_BEGINNING, "140,6", "90", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "138,4", "110", "", "Jägersfreude Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "137,1", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "136,3", "", "", "Dudweiler", "", "", c, "", c);
            route.Entrys.Add(e1);
            //e1 = new Entry(EntryType.OPS_MARKER, "136,0", "90", "", "", "", "", c, "", c);
            //route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "135,9", "", "", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "133,9", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "133,8", "", "100", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "133,6", "110", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "133,1", "", "", "Sulzbach (Saar)", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "132,9", "", "", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "130,9", "", "", "Sulzbach (Saar) Altenwald Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "130,3", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "129,6", "", "", "Friedrichsthal (Saar)", "", "", c, "", c);
            route.Entrys.Add(e1);
            //e1 = new Entry(EntryType.OPS_MARKER, "129,4", "90", "", "", "", "", c, "", c);
            //route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "129,2", "", "", "Asig", "A50", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "128,8", "", "130", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "128,7", "", "", "Friedr. Mitte Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.TUNNEL_BEGINNING, "128,4", "", "", "Bildstock-T", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "128,2", "", "", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.POSITION_JUMP, "+0,3", "", "", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.TUNNEL_ENDING, "127,9", "", "", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            //e1 = new Entry(EntryType.OPS_MARKER, "127,8", "100", "", "", "", "", c, "", c);
            //route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "127,5", "", "", "Bildstock Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "125,9", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "125,6", "", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "124,9", "", "", "Landsweiler-Reden", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "124,5", "", "", "Asig", "A50", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "123,4", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "122,0", "", "", "Abzw Neunkirchen", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "", "", "", "(Saar) Hbf", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "121,8", "", "", "Zsig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "121,8", "70", "70", "Zsig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "120,8", "", "80", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.RADIO_MARKER, "120,6", "", "", "- ZF A 73 -", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "120,6", "", "", "Neunkirchen", "", "13:18", '0', "13:19", '0');
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "", "", "", "(Saar) Hbf", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "120,5", "", "", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "120,2", "90", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "118,5", "", "", "Wiebelskirchen Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "115,7", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "114,8", "", "", "Ottweiler (Saar)", "", "13:23", '0', "13:23", '5');
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "114,6", "", "", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "114,5", "", "100", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "114,3", "", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "113,9", "100", "130", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "111,6", "", "", "Sbk 34", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "113,3", "110", "140", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "113,2", "", "", "Niederlinxweiler Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "106,8", "", "", "Oberlinxweiler Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "107,6", "", "", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "106,3", "", "", "St Wendel", "", "13:29", '0', "13:30", '0');
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "106,2", "90", "130", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
            //e1 = new Entry(EntryType.OPS_MARKER, "105,7", "100", "", "", "", "", c, "", c);
            //route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "103,1", "", "100", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "103,0", "", "", "Baltersweiler Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "103,0", "", "", "Sbk 30", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "102,5", "", "110", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "101,9", "", "", "El 1", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "101,8", "", "", "El 2", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "100,9", "", "", "Hofeld Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "99,0", "", "", "Sbk 28", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "98,8", "", "", "Namborn Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "97,0", "", "100", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "96,4", "110", "120", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "96,0", "", "", "Sbk 26", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "94,4", "", "", "Walhausen (Saar) Hp", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "92,5", "80", "90", "Esig", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "91,9", "", "100", "", "", "", c, "", c);
            route.Entrys.Add(e1);
            //e1 = new Entry(EntryType.OPS_MARKER, "91,8", "90", "", "", "", "", c, "", c);
            //route.Entrys.Add(e1);
            e1 = new Entry(EntryType.RADIO_MARKER, "91,8", "", "", "- ZF A 78 -", "", "", c, "", c);
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "91,8", "", "", "Türkismühle", "", "13:39", '0', "13:39", '5');
            route.Entrys.Add(e1);
            e1 = new Entry(EntryType.OPS_MARKER, "91,3", "", "", "Asig", "", "", c, "", c);
            route.Entrys.Add(e1);
Esempio n. 5
0
            catch (Exception e)
            {
                // Let the user know what went wrong.
                System.Windows.Forms.MessageBox.Show("Zusi Fahrplan nicht gefunden oder Fehler beim Lesen! ("+e.Message.ToString()+")");
            }
        }

        private string ReadEntry(string strg, EntryPos where, Entry entry, char until)
        {
            string help = strg;
            string jump = "";
            foreach(char c in strg)
            {
                if (char.IsControl(c) || c == until)
                {
                    help = help.Remove(0,1);
                    if (where == EntryPos.ETD)
                    {
                        if (c == '@')
                        {
                            entry.isJump = true;
                            return help;
                        }
                        if (c == until)
                            return help;
                    }
                    else
                    {
                        return help;
                    }
                }
                else
                {
                    switch (where)
                    {
                        case EntryPos.POS_STD:
                            entry.m_position += c.ToString();
                            break;
                        case EntryPos.POS_GNT:
                            entry.m_gnt_speed += c.ToString(); // gnt_speed is ok
                            break;
                        case EntryPos.SPEED_STD:
                            entry.m_speed += c.ToString();
                            break;
                        case EntryPos.SPEED_GNT:
                            entry.m_gnt_speed += c.ToString();
                            break;
                        case EntryPos.OPS_NAME:
                            entry.m_ops_name += c.ToString();
                            break;
                        case EntryPos.OPS_APP:
                            entry.m_ops_speed += c.ToString();
                            break;
                        case EntryPos.POS:
                            entry.m_position += c.ToString();
                            break;
                        case EntryPos.ETA:
                            if (c.ToString() == ".")
                            {
                                entry.m_eta += ":";
                            }

                            else
                            {
                                entry.m_eta += c.ToString();
                            }
                            break;
                        case EntryPos.ETD:
                            if (c.ToString() == ".")
                            {
                                entry.m_etd += ":";
                            }
                            else
                            {
                                entry.m_etd += c.ToString();
                            }
                            break;
                        case EntryPos.SL:
                            if (c == '2')
                            {
                                entry.zack = 2;
                            }
                            else if (c == '1')
                            {
                                entry.zack = 1;
                            }
                            else
                            {
                                entry.zack = 0;
                            }
                            break;
Esempio n. 6
0
                        i--;
                    }

                }
            }
        }

        private void ParseFile(string filename)
        {
            try
            {
                string lastline = "<EMPTY>";
                // Create an instance of StreamReader to read from a file.
                // The using statement also closes the StreamReader.
                using (StreamReader sr = new StreamReader(filename, System.Text.Encoding.UTF7))
                {
                    String line = "";
                    // Read and display lines from the file until the end of
                    // the file is reached.
                    while ((line = sr.ReadLine()) != null)
                    {
                        bool isjump = false;
                        Entry entry;
                        string[] line_elements;

                        if (lastline == "<EMPTY>")
                        {
                            // erste zeile
                            lastline = line;
                            line_elements = line.Split(("\t").ToCharArray(), int.MaxValue);
                            if (line_elements[0] == "")
                                entry = new Entry(EntryType.OPS_MARKER, line_elements[5], line_elements[1], line_elements[3], line_elements[4], "", line_elements[6], new char(), line_elements[7],  new char());
                            else
                                entry = new Entry(EntryType.OPS_MARKER, line_elements[0], line_elements[1], line_elements[3], line_elements[4], "", line_elements[6], new char(), line_elements[7],  new char());
                            try
                            {
                                entry.zack = Convert.ToInt32(line_elements[8]);
                            }
                            catch (Exception) {}
                            route.Entrys.Add(entry);
                            continue;
                        }

                        line_elements = line.Split(("\t").ToCharArray(), int.MaxValue);
                        string[] lastline_elements = lastline.Split(("\t").ToCharArray(), int.MaxValue);

                        // Sprung erkennen
                        if  (line_elements[7] == "@@")
                        {
                            line_elements[7] = "";
                            isjump = true;
                        }

                        // km Angaben mitnehmen
                        if (line_elements[0] == "" && line_elements[2] == "")
                        {
                            // diese zeile hat keine km angaben -> in vorheriger zeile nachschauen
                            if (lastline_elements.Length > 2)
                            {
                                    line_elements[0] = lastline_elements[0];
                                    lastline_elements[0] = "";
                                    line_elements[2] = lastline_elements[2];
                                    lastline_elements[2] = "";
                            }
                        }

                        // nicht 2 positionen in 1 zeile
                        if (line_elements[0] != "" || line_elements[2] != "")
                        {
                            if (line_elements[5] != "")
                            {
                                if (line_elements[0] != "")
                                    entry = new Entry(EntryType.OPS_MARKER, line_elements[0], line_elements[1], line_elements[3], "", "", "", new char(), "",  new char());
                                else // (line_elements[2] != "")
                                    entry = new Entry(EntryType.OPS_MARKER, line_elements[2], line_elements[1], line_elements[3], "", "", "", new char(), "",  new char());

                                try
                                {
                                    entry.zack = Convert.ToInt32(line_elements[8]);
                                }
                                catch (Exception) {}

                                route.Entrys.Add(entry);
                                line_elements[0] = line_elements[5];
                                line_elements[1] = "";
                                line_elements[2] = line_elements[5];
                                line_elements[3] = "";
                            }
                            else //(line_element[5] == "")
                            {
                                if (line_elements[0] == "")
                                    line_elements[0] = line_elements[2];
                            }
                        }
                        else if (line_elements[0] == "" && line_elements[2] == "")
                        {
                            if (line_elements[5] != "")
                            {
                                line_elements[0] = line_elements[5];
                                line_elements[2] = line_elements[5];
                            }
                        }

                        entry = new Entry(EntryType.OPS_MARKER, line_elements[0], line_elements[1], line_elements[3], line_elements[4], "", line_elements[6], new char(), line_elements[7],  new char());
                        entry.isJump = isjump;

                        try
                        {
                            entry.zack = Convert.ToInt32(line_elements[8]);
                        }
                        catch (Exception) {}

                        route.Entrys.Add(entry);

                        lastline = line;
                    }
                }

                DeleteDoubles();

                Console.WriteLine("FILE LOADED!");