コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
 void asyncZjistovani()
 {
     while (true)
     {
         if (Convert.ToInt32(zjisteni.cas) < Convert.ToInt32(DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString()))
         {
             zjisteni = SortAndTellClosestToTime(nacist());
             tabule.ChangeData(zjisteni);
         }
         System.Threading.Thread.Sleep(5000);
     }
 }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
 public NadrazniTabule(Label druhVlaku, Label cestaVlaku, Label konecVlaku, Label cas, Label odjezdVlaku, Label zpozdeniVlaku, Label cisloVlaku, Image obrazecek, Vlak vstupnivlacek)
 {
     druhVlacku     = druhVlaku;
     cestaVlacku    = cestaVlaku;
     konecVlacku    = konecVlaku;
     casVlacku      = cas;
     odjezdVlacku   = odjezdVlaku;
     zpozdeniVlacku = zpozdeniVlaku;
     cisloVlacku    = cisloVlaku;
     vlacek         = vstupnivlacek;
     svetlo         = obrazecek;
     Inicializace();
 }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
 public NadrazniTabule(Vlak vstupnivlacek)
 {
     vlacek = vstupnivlacek;
     new System.Threading.Thread(asyncPres)
     {
         IsBackground = true
     }.Start();
     new System.Threading.Thread(asyncHodiny)
     {
         IsBackground = true
     }.Start();
     new System.Threading.Thread(asyncZpozdeni)
     {
         IsBackground = true
     }.Start();
     Inicializace();
 }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
        public MainWindow(Vlak input, string aktualniZastavka, string nastupiste, string kolej, string zpozden)
        {
            InitializeComponent();
            for (int i = 0; i < input.jizda.trasa.Length - 1; i++)
            {
                if (input.jizda.trasa[i] == aktualniZastavka)
                {
                    input.jizda.aktualniZastavka = i;
                }
                input.jizda.aktualniStanice = aktualniZastavka;
            }
            input.cas             = input.jizda.casy[input.AktualniPoloha()].casOdjezdu;
            input.kolejVlaku      = kolej;
            input.nastupisteVlaku = nastupiste;
            input.zpozdeni        = int.Parse(zpozden);
            tabule = new NadrazniTabule(typ, pres, cil, hodiny, odjezd, spozdeni, cislo, svitidlo, input);

            this.Show();
            //new System.Threading.Thread(asyncZjistovani).Start();
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
 public void ChangeData(Vlak vlak)
 {
     konecVlacku.Dispatcher.Invoke(() => Exit());
     konecVlacku.Dispatcher.Invoke(() => vlacek = vlak);
     konecVlacku.Dispatcher.Invoke(() => Inicializace());
 }
コード例 #6
0
ファイル: MainWindow.xaml.cs プロジェクト: TekuSP/Tabula
        public static Vlak[] nacist()
        {
            StreamReader sr         = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/.tabula/test.vlk");
            int          pocetRadku = 0;

            while (!sr.EndOfStream)
            {
                pocetRadku++;
                sr.ReadLine();
            }
            sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/.tabula/test.vlk");
            Vlak[]         docasny = new Vlak[pocetRadku];
            Queue <string> system  = new Queue <string>();
            TrainType      mark    = TrainType.Os;
            Company        firma   = Company.CD;

            pocetRadku = 0;
            while (!sr.EndOfStream)
            {
                string[] temp2 = sr.ReadLine().Split(',');
                foreach (var item in temp2)
                {
                    system.Enqueue(item);
                }
                if (pocetRadku != 0)
                {
                    system.Dequeue();
                }
                string temp = system.Dequeue();
                #region Chujo Switch
                switch (temp)
                {
                case "CD":
                    firma = Company.CD;
                    break;

                case "LE":
                    firma = Company.LE;
                    break;

                case "RJ":
                    firma = Company.RJ;
                    break;
                }
                #endregion
                string nazevVlaku = system.Dequeue();
                temp = system.Dequeue();
                #region Chujo Switch
                switch (temp)
                {
                case "Os":
                    mark = TrainType.Os;
                    break;

                case "Sp":
                    mark = TrainType.Sp;
                    break;

                case "R":
                    mark = TrainType.R;
                    break;

                case "Ex":
                    mark = TrainType.Ex;
                    break;

                case "IC":
                    mark = TrainType.IC;
                    break;

                case "EC":
                    mark = TrainType.EC;
                    break;

                case "SC":
                    mark = TrainType.SC;
                    break;

                case "LE":
                    mark = TrainType.LE;
                    break;

                case "EN":
                    mark = TrainType.EN;
                    break;

                case "RJ":
                    mark = TrainType.RJ;
                    break;

                case "Mv":
                    mark = TrainType.Mv;
                    break;

                case "Rx":
                    mark = TrainType.Rx;
                    break;
                }
                #endregion
                string cisloVlaku = system.Dequeue();
                Dictionary <string, UltimatniInformace> databaze = new Dictionary <string, UltimatniInformace>();
                databaze.Add(system.Dequeue(), new UltimatniInformace("", system.Dequeue()));
                for (int i = 0; i < system.Count + i - 1; i++)
                {
                    string prijezd       = system.Dequeue();
                    string nazevstanicky = system.Dequeue();
                    string odjezd        = system.Dequeue();
                    databaze.Add(nazevstanicky, new UltimatniInformace(prijezd, odjezd));
                }
                docasny[pocetRadku] = new Vlak(cisloVlaku, mark, new JizdniRad(databaze), "1", "1", firma, databaze.Keys.ToArray <string>()[0], nazevVlaku);
                pocetRadku++;
            }
            return(docasny);
        }