dipps
Goto Top

Sortieren von Zeiten

Hallo Leute bin gerade komplett ratlos.
Ich habe 8 Textboxen wo Zeiten über Serial ein getragen werden
Z1.text bis Z2.text

Die Zeiten kommen natürlich immer erst wenn ein Sportler ankommt und dann zb. Bahn 4 wird in Z4 die Zeit eingetragen 00:43.25
nun möchte ich in das erste label oder textbox eine Platzierung eintragen lassen.

dazu muss ich die Zeit denke mal in ein Array schreiben und Sortieren aber eas ist wenn ich 2 Gleiche Zeiten habe? Da muss ja zB. bei Bahn 4 und 5 Platz1 stehen aber ich habe gerade keine Idee wie ich das realiesieren kann.

Content-Key: 260392

Url: https://administrator.de/contentid/260392

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: Dipps
Dipps 19.01.2015 aktualisiert um 15:32:07 Uhr
Goto Top
Hier mein Derzeitiger Code in einem Timer.
Aber Das Problem halt wenn Bahn 4 und 5 gleiche Zeit haben schreibt er Platz 2 anstatt Platz1
double Zeiten = new double[8];
            string tmps = "";  
            int tmpm = 0;
            double tmpss = 0;

            if (BZ1.Text != "")  
            {
                tmps = BZ1.Text;
                tmpm = Convert.ToInt32(tmps.Split(':'));  
                tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                tmpm = tmpm * 60;
                tmpss = tmpss + tmpm;

                Zeiten = tmpss;
            }
            

            if (BZ2.Text != "")  
            {
                tmps = BZ2.Text;
                tmpm = Convert.ToInt32(tmps.Split(':'));  
                tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                tmpm = tmpm * 60;
                tmpss = tmpss + tmpm;
                Zeiten[1] = tmpss;
            }


            if (BZ3.Text != "")  
            {
                tmps = BZ3.Text;
                tmpm = Convert.ToInt32(tmps.Split(':'));  
                tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                tmpm = tmpm * 60;
                tmpss = tmpss + tmpm;
                Zeiten[2] = tmpss;
            }

             
             if (BZ4.Text != "")  
             {

                 tmps = BZ4.Text;
                 tmpm = Convert.ToInt32(tmps.Split(':'));  
                 tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                 tmpm = tmpm * 60;
                 tmpss = tmpss + tmpm;
                 Zeiten[3] = tmpss;
             }

             if (BZ5.Text != "")  
             {
                 tmps = BZ5.Text;
                 tmpm = Convert.ToInt32(tmps.Split(':'));  
                 tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                 tmpm = tmpm * 60;
                 tmpss = tmpss + tmpm;
                 Zeiten[4] = tmpss;
             }

             if (BZ6.Text != "")  
             {
                 tmps = BZ6.Text;
                 tmpm = Convert.ToInt32(tmps.Split(':'));  
                 tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                 tmpm = tmpm * 60;
                 tmpss = tmpss + tmpm;
                 Zeiten[5] = tmpss;
             }

             if (BZ7.Text != "")  
             {
                 tmps = BZ7.Text;
                 tmpm = Convert.ToInt32(tmps.Split(':'));  
                 tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                 tmpm = tmpm * 60;
                 tmpss = tmpss + tmpm;
                 Zeiten[6] = tmpss;
             }

             if (BZ8.Text != "")  
             {
                 tmps = BZ8.Text;
                 tmpm = Convert.ToInt32(tmps.Split(':'));  
                 tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                 tmpm = tmpm * 60;
                 tmpss = tmpss + tmpm;
                 Zeiten[7] = tmpss;
             }

            Array.Sort(Zeiten);

            int leer = 0;
            int z = 0;
            foreach (double str in Zeiten)
            {
                if (Zeiten[z] == 0.00)
                    leer++;

                z++;

            }
            int c = 0;

            foreach (double str in Zeiten)
            {
                if (BZ1.Text != "")  
                {
                    tmps = BZ1.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP1.Text = (c + 1 -leer).ToString();
                }

                if (BZ2.Text != "")  
                {
                    tmps = BZ2.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP2.Text = (c + 1-leer).ToString();
                }

                if (BZ3.Text != "")  
                {
                    tmps = BZ3.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP3.Text = (c + 1 -leer).ToString();
                }

                if (BZ4.Text != "")  
                {
                    tmps = BZ4.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP4.Text = (c + 1 -leer).ToString();
                }

                if (BZ5.Text != "")  
                {
                    tmps = BZ5.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP5.Text = (c + 1-leer).ToString();
                }

                if (BZ6.Text != "")  
                {
                    tmps = BZ6.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP6.Text = (c + 1-leer).ToString();
                }

                if (BZ7.Text != "")  
                {
                    tmps = BZ7.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP7.Text = (c + 1-leer).ToString();
                }

                if (BZ8.Text != "")  
                {
                    tmps = BZ8.Text;
                    tmpm = Convert.ToInt32(tmps.Split(':'));  
                    tmpss = Convert.ToDouble(tmps.Split(':')[1]);  
                    tmpm = tmpm * 60;
                    tmpss = tmpss + tmpm;
                    if (Zeiten[c] == tmpss)
                        BP8.Text = (c + 1-leer).ToString();
                }
                
                c++;

            }
Mitglied: 117643
117643 19.01.2015 um 16:00:33 Uhr
Goto Top
wie wahrscheinlich ist es den das zweimal die gleiche Zeit auftritt? Sonst müsste das vermutlich mit ner unschönen abfrage umgehen...
Mitglied: Dipps
Dipps 19.01.2015 aktualisiert um 16:13:28 Uhr
Goto Top
Dies kann in der Regel schon Vorkommen das 2 Sportler gleichzeitig Anschlagen.
In den Letzten Jahren hatten wir es betimmt bei jeden 3 oder 4 Wettkampf.