Zum Inhalt springen

C# Fahrstuhl List Porbleme


mucki-nrw

Empfohlene Beiträge

Hallo zusammen,

habe einen Fahrstuhl programmiert und das Problem, dass ich mit Hilfe einer Liste die Anforderungen (Reihenfolge) auf den entsprechenden Etagen geregelt habe. Das klappt soweit auch ganz gut.

Allerdings fährt der FS nach der Abarbeitung der Anforderungen wieder ins DG (erste Anfoderung) es es gibt eine Fehlermeldung (siehe Anhang).

Was mache ich falsch? Habe ich einen Denkfehler oder was vergessen?

Hier mein Code:

public partial class Aufzugssteuerung : Form

    {

        bool _temp_tür_auf = false;

        bool _temp_tür_zu = false;

        bool _temp_Notruf = false;

        int _anzahl_fahrten_wartung = 0;

        List<String> mylist= new List<String>();








        public Aufzugssteuerung()

        {


            InitializeComponent();

            //Liste Abarbeiten    {OGrauf, EGrauf, DG}

            // gib erstes element

            // führe Anfordewrung OG rauf aus ersters Element aus

            // lösche element 

        }




        private void los()

        {

            while (mylist.Count > 0)

            {

                String aktuell;

                aktuell = mylist.ElementAt(0);

                if (aktuell == "OGr") { ogr(); mylist.RemoveAt(0); };

                if (aktuell == "2OGr") { og2r(); mylist.RemoveAt(0); };

                if (aktuell == "2OGh") { og2h(); mylist.RemoveAt(0); };

                if (aktuell == "1OGr") { og1r(); mylist.RemoveAt(0); };

                if (aktuell == "1OGh") { og1h(); mylist.RemoveAt(0); };

                if (aktuell == "EGh") { egh(); mylist.RemoveAt(0); };



            //    mylist.RemoveAt(0);

            //    aktuell = "";

            }

        }




        public void ogr()

        {

            pictureBox_DG_runter.Visible = true;

            pictureBox_DG_runter.Refresh();

            fahrstuhl_zum_DG(this, EventArgs.Empty);                      // ??? Argumente

            pictureBox_DG_runter.Visible = false;

            pictureBox_DG_runter.Refresh();

        }



        public void og2r()

        {

            pictureBox_2OG_runter.Visible = true;

            pictureBox_2OG_runter.Refresh();

            fahrstuhl_zum_2OG(this, EventArgs.Empty);                     // ??? Argumente

            pictureBox_2OG_runter.Visible = false;

            pictureBox_2OG_runter.Refresh();

        }



        public void og2h()

        {

            pictureBox_2OG_hoch.Visible = true;

            pictureBox_2OG_hoch.Refresh();

            fahrstuhl_zum_2OG(this, EventArgs.Empty);                     // ??? Argumente

            pictureBox_2OG_hoch.Visible = false;

            pictureBox_2OG_hoch.Refresh();

        }



        public void og1r()

        {

            pictureBox_1OG_runter.Visible = true;

            pictureBox_1OG_runter.Refresh();

            fahrstuhl_zum_1OG(this, EventArgs.Empty);                     // ??? Argumente

            pictureBox_1OG_runter.Visible = false;

            pictureBox_1OG_runter.Refresh();

        }



        public void og1h()

        {

            pictureBox_1OG_hoch.Visible = true;

            pictureBox_1OG_hoch.Refresh();

            fahrstuhl_zum_1OG(this, EventArgs.Empty);                     // ??? Argumente

            pictureBox_1OG_hoch.Visible = false;

            pictureBox_1OG_hoch.Refresh();

        }



        public void egh()

        {

            pictureBox_EG_hoch.Visible = true;

            pictureBox_EG_hoch.Refresh();

            fahrstuhl_zum_EG(this, EventArgs.Empty);                     // ??? Argumente

            pictureBox_EG_hoch.Visible = false;

            pictureBox_EG_hoch.Refresh();

        }



//og rauf()

    //lampe eins an 

    //warte 3 sec

//}





        private void anf_dg_runter(object sender, EventArgs e)            // Anfoderungsbutton "Fahrt nach unten" im DG

        { mylist.Add("OGr"); los(); Application.DoEvents(); }



        private void anf_2OG_runter(object sender, EventArgs e)           // Anfoderungsbutton "Fahrt nach unten" im 2.OG

        { mylist.Add("2OGr"); los(); Application.DoEvents(); }



        private void anf_2OG_hoch(object sender, EventArgs e)            // Anfoderungsbutton "Fahrt nach oben" im 2.OG

        { mylist.Add("2OGh"); los(); Application.DoEvents(); }



        private void anf_1OG_runter(object sender, EventArgs e)           // Anfoderungsbutton "Fahrt nach unten" im 1.OG

        { mylist.Add("1OGr"); los(); Application.DoEvents(); }



        private void anf_1OG_hoch(object sender, EventArgs e)            // Anfoderungsbutton "Fahrt nach oben" im 1.OG

        { mylist.Add("1OGh"); los(); Application.DoEvents(); }



        private void anf_EG_hoch(object sender, EventArgs e)            // Anfoderungsbutton "Fahrt nach oben" im EG

        { mylist.Add("EGh"); los(); Application.DoEvents(); }









        private void Aufzugssteuerung_Load(object sender, EventArgs e)

        {}


        private void radioButton1_CheckedChanged(object sender, EventArgs e)

        {}


        private void label1_Click(object sender, EventArgs e)

        {}


        private void radioButton9_CheckedChanged(object sender, EventArgs e)

        {}


        private void label5_Click(object sender, EventArgs e)

        { }


        private void label4_Click_2(object sender, EventArgs e)

        {}


        private void label2_Click(object sender, EventArgs e)

        {}








        private void fahrstuhl_zum_DG(object sender, EventArgs e)

        {


            if ((radioButton_FS_EG.Checked == true)                         // Bedingung_1: wenn sich der Fahrstuhl im EG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt


            {

            _temp_tür_auf = true;                                           // Variable auf 1 setzen

            tür_auf();                                                      // Methode "tür_auf" aufrufen

            verzögerungszeit_3sek();                                        // Methode "verzögerungszeit_3sek" aufrufen

            _temp_tür_auf = false;                                          // Variable auf 0 setzen

            tür_auf();                                                      // Methode "tür_auf" aufrufen

            _temp_tür_zu = true;                                            // Variable auf 1 setzen

            tür_zu();                                                       // Methode "tür_zu" aufrufen

            radioButton_FS_1OG.Checked = true;                              // Aktiviere radioButton "1.OG" im Fahrstuhl

            radioButton_EG_1OG.Checked = true;                              // Aktiviere radioButton "1.OG" im Erdgeschoss

            radioButton_1OG_1OG.Checked = true;                             // Aktiviere radioButton "1.OG" im 1.Obergeschoss

            radioButton_2OG_1OG.Checked = true;                             // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

            radioButton_DG_1OG.Checked = true;                              // Aktiviere radioButton "1.OG" im Dachgeschoss

            verzögerungszeit_3sek();                                        // Methode "verzögerungszeit_3sek" aufrufen

            radioButton_FS_2OG.Checked = true;                              // Aktiviere radioButton "2.OG" im Fahrstuhl

            radioButton_EG_2OG.Checked = true;                              // Aktiviere radioButton "2.OG" im Erdgeschoss

            radioButton_1OG_2OG.Checked = true;                             // Aktiviere radioButton "2.OG" im 1.Obergeschoss

            radioButton_2OG_2OG.Checked = true;                             // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

            radioButton_DG_2OG.Checked = true;                              // Aktiviere radioButton "2.OG" im Dachgeschoss

            verzögerungszeit_3sek();                                        // Methode "verzögerungszeit_3sek" aufrufen

            _temp_tür_zu = false;                                           // Variable auf 0 setzen

            tür_zu();                                                       // Methode "tür_zu" aufrufen

            _temp_tür_auf = true;                                           // Variable auf 1 setzen

            tür_auf();                                                      // Methode "tür_auf" aufrufen

            radioButton_FS_DG.Checked = true;                               // Aktiviere radioButton "DG" im Fahrstuhl

            radioButton_EG_DG.Checked = true;                               // Aktiviere radioButton "DG" im Erdgeschoss

            radioButton_1OG_DG.Checked = true;                              // Aktiviere radioButton "DG" im 1.Obergeschoss

            radioButton_2OG_DG.Checked = true;                              // Aktiviere radioButton "DG" im 2.Obergeschoss    

            radioButton_DG_DG.Checked = true;                               // Aktiviere radioButton "DG" im Dachgeschoss

            ping();                                                         // Methode "ping" aufrufen

            _anzahl_fahrten_wartung++;                                      // Variable um Faktor 1 für 1 Fahrt erhöhen

            wartung();                                                      // Methode "wartung" aufrufen

            Application.DoEvents();

            }



            if ((radioButton_FS_1OG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im 1.OG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)              // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

               && (checkBox_FS_Overload.Checked == false)                   // Bedingung_3: wenn keine Overload-Situation eingetreten ist

               && (checkBox_FS_Stromausfall.Checked == false)               // Bedingung_4: wenn es momenan keinen Stromausfall gibt

               && (_temp_Notruf == false))                                  // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                      // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                _temp_tür_zu = true;                                        // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                       // Variable auf 0 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                radioButton_FS_DG.Checked = true;                           // Aktiviere radioButton "DG" im Fahrstuhl

                radioButton_EG_DG.Checked = true;                           // Aktiviere radioButton "DG" im Erdgeschoss

                radioButton_1OG_DG.Checked = true;                          // Aktiviere radioButton "DG" im 1.Obergeschoss

                radioButton_2OG_DG.Checked = true;                          // Aktiviere radioButton "DG" im 2.Obergeschoss    

                radioButton_DG_DG.Checked = true;                           // Aktiviere radioButton "DG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_2OG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im 2.OG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_DG.Checked = true;                           // Aktiviere radioButton "DG" im Fahrstuhl

                radioButton_EG_DG.Checked = true;                           // Aktiviere radioButton "DG" im Erdgeschoss

                radioButton_1OG_DG.Checked = true;                          // Aktiviere radioButton "DG" im 1.Obergeschoss

                radioButton_2OG_DG.Checked = true;                          // Aktiviere radioButton "DG" im 2.Obergeschoss    

                radioButton_DG_DG.Checked = true;                           // Aktiviere radioButton "DG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if (radioButton_FS_DG.Checked == true)                          // wenn sich der Fahrstuhl im DG befindet

            {   ping();                                                     // Methode "ping" aufrufen

                Application.DoEvents();    }   

        }






        private void fahrstuhl_zum_2OG(object sender, EventArgs e)

        {


            if ((radioButton_FS_EG.Checked == true)                         // Bedingung_1: wenn sich der Fahrstuhl im EG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                      // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                _temp_tür_zu = true;                                        // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                       // Variable auf 0 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_1OG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im 1.OG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if (radioButton_FS_2OG.Checked == true)                         // wenn sich der Fahrstuhl im 2.OG befindet

            {   ping();                                                     // Methode "ping" aufrufen

                Application.DoEvents();  }



            if ((radioButton_FS_DG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im DG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)            // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                 // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)             // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                // Bedingung_5: ein Notruf wird momentan nicht ausgeführt   

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }

       }






        private void fahrstuhl_zum_1OG(object sender, EventArgs e)

        {


            if ((radioButton_FS_EG.Checked == true)                         // Bedingung_1: wenn sich der Fahrstuhl im EG befindet

                && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss

                 ping();                                                    // Methode "ping" aufrufen

                 _anzahl_fahrten_wartung++;                                 // Variable um Faktor 1 für 1 Fahrt erhöhen

                 wartung();                                                 // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if (radioButton_FS_1OG.Checked == true)                         // wenn sich der Fahrstuhl im 2.OG befindet

            {   ping();                                                     // Methode "ping" aufrufen

                Application.DoEvents();   }



            if ((radioButton_FS_2OG.Checked == true)                       // Bedingung_1: wenn sich der Fahrstuhl im 2.OG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)             // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

               && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

               && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

               && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_DG.Checked == true)                         // Bedingung_1: wenn sich der Fahrstuhl im DG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)              // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                      // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                _temp_tür_zu = true;                                        // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                       // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen              

                _temp_tür_auf = true;                                       // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen     

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss       

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }

        }






        private void fahrstuhl_zum_EG(object sender, EventArgs e)

        {

            if (radioButton_FS_EG.Checked == true)                         // wenn sich der Fahrstuhl im EG befindet

            {

                ping();                                                    // Methode "ping" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_1OG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im 1.OG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)              // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

                && (checkBox_FS_Overload.Checked == false)                  // Bedingung_3: wenn keine Overload-Situation eingetreten ist

                && (checkBox_FS_Stromausfall.Checked == false)              // Bedingung_4: wenn es momenan keinen Stromausfall gibt

                && (_temp_Notruf == false))                                 // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                      // Variable auf 1 setzen

                tür_auf();                                                 // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                   // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_EG.Checked = true;                          // Aktiviere radioButton "EG" im Fahrstuhl

                radioButton_EG_EG.Checked = true;                          // Aktiviere radioButton "EG" im Erdgeschoss

                radioButton_1OG_EG.Checked = true;                         // Aktiviere radioButton "EG" im 1.Obergeschoss

                radioButton_2OG_EG.Checked = true;                         // Aktiviere radioButton "EG" im 2.Obergeschoss    

                radioButton_DG_EG.Checked = true;                          // Aktiviere radioButton "EG" im Dachgeschoss                   

                ping();                                                    // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                 // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                 // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_2OG.Checked == true)                        // Bedingung_1: wenn sich der Fahrstuhl im 2.OG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)              // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

               && (checkBox_FS_Overload.Checked == false)                   // Bedingung_3: wenn keine Overload-Situation eingetreten ist

               && (checkBox_FS_Stromausfall.Checked == false)               // Bedingung_4: wenn es momenan keinen Stromausfall gibt

               && (_temp_Notruf == false))                                  // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                      // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                _temp_tür_zu = true;                                        // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss 

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                       // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen              

                _temp_tür_auf = true;                                       // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen     

                radioButton_FS_EG.Checked = true;                           // Aktiviere radioButton "EG" im Fahrstuhl

                radioButton_EG_EG.Checked = true;                           // Aktiviere radioButton "EG" im Erdgeschoss

                radioButton_1OG_EG.Checked = true;                          // Aktiviere radioButton "EG" im 1.Obergeschoss

                radioButton_2OG_EG.Checked = true;                          // Aktiviere radioButton "EG" im 2.Obergeschoss    

                radioButton_DG_EG.Checked = true;                           // Aktiviere radioButton "EG" im Dachgeschoss                   

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }



            if ((radioButton_FS_DG.Checked == true)                         // Bedingung_1: wenn sich der Fahrstuhl im DG befindet

               && (checkBox_FS_Lichtschranke.Checked == false)              // Bedingung_2: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

               && (checkBox_FS_Overload.Checked == false)                   // Bedingung_3: wenn keine Overload-Situation eingetreten ist

               && (checkBox_FS_Stromausfall.Checked == false)               // Bedingung_4: wenn es momenan keinen Stromausfall gibt

               && (_temp_Notruf == false))                                  // Bedingung_5: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                       // Variable auf 1 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                      // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen

                _temp_tür_zu = true;                                        // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen

                radioButton_FS_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Fahrstuhl

                radioButton_EG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Erdgeschoss

                radioButton_1OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 1.Obergeschoss

                radioButton_2OG_2OG.Checked = true;                         // Aktiviere radioButton "2.OG" im 2.Obergeschoss    

                radioButton_DG_2OG.Checked = true;                          // Aktiviere radioButton "2.OG" im Dachgeschoss

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                radioButton_FS_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Fahrstuhl

                radioButton_EG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Erdgeschoss

                radioButton_1OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 1.Obergeschoss

                radioButton_2OG_1OG.Checked = true;                         // Aktiviere radioButton "1.OG" im 2.Obergeschoss    

                radioButton_DG_1OG.Checked = true;                          // Aktiviere radioButton "1.OG" im Dachgeschoss 

                verzögerungszeit_3sek();                                    // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                       // Variable auf 1 setzen

                tür_zu();                                                   // Methode "tür_zu" aufrufen              

                _temp_tür_auf = true;                                       // Variable auf 0 setzen

                tür_auf();                                                  // Methode "tür_auf" aufrufen     

                radioButton_FS_EG.Checked = true;                           // Aktiviere radioButton "EG" im Fahrstuhl

                radioButton_EG_EG.Checked = true;                           // Aktiviere radioButton "EG" im Erdgeschoss

                radioButton_1OG_EG.Checked = true;                          // Aktiviere radioButton "EG" im 1.Obergeschoss

                radioButton_2OG_EG.Checked = true;                          // Aktiviere radioButton "EG" im 2.Obergeschoss    

                radioButton_DG_EG.Checked = true;                           // Aktiviere radioButton "EG" im Dachgeschoss                   

                ping();                                                     // Methode "ping" aufrufen

                _anzahl_fahrten_wartung++;                                  // Variable um Faktor 1 für 1 Fahrt erhöhen

                wartung();                                                  // Methode "wartung" aufrufen

                Application.DoEvents();

            }

        }



        private void tür_auf()

        {

            if (_temp_tür_auf == true)

            {

                pictureBox_zu_FS.Visible = false;

                pictureBox_auf_FS.Visible = true;

                pictureBox_auf_FS.Refresh();

            }

            else

            {

                pictureBox_auf_FS.Visible = false;

                pictureBox_auf_FS.Refresh();

            }

        }






        private void tür_zu()

        {

            if (_temp_tür_zu == true)

            {

                pictureBox_auf_FS.Visible = false;

                pictureBox_zu_FS.Visible = true;

                pictureBox_zu_FS.Refresh();

            }

            else

            {

                pictureBox_zu_FS.Visible = false;

                pictureBox_zu_FS.Refresh();

            }

        }






        private void verzögerungszeit_3sek()                                // Verzögerungszeit 3 Sekunden

        {

            double zeit = DateTime.Now.Ticks + (3 * 10000000);

            while (DateTime.Now.Ticks <= zeit)

            { Application.DoEvents(); }

        }






        private void ping()                                                 // Ping-Ausführung

        {

            double zeit = DateTime.Now.Ticks + (1 * 10000000);              // Ping-Ausführungszeit 1 Sekunde 

            while (DateTime.Now.Ticks <= zeit)

            {

                textBox_FS_Ping.Visible = true;

                Application.DoEvents();

            }

            textBox_FS_Ping.Visible = false;

        }






        private void notruf(object sender, EventArgs e)                     // Notruf-Ausführung

        {

            _temp_Notruf = true;                                            // Variable auf 1 setzen

            double zeit = DateTime.Now.Ticks + (3 * 10000000);              // Anzeigedauer textBox_FS_Notruf = 3 Sekunden

            while (DateTime.Now.Ticks <= zeit)

            {

                textBox_FS_Notruf.Visible = true;

                Application.DoEvents();

            }

            textBox_FS_Notruf.Visible = false;


            double zeit1 = DateTime.Now.Ticks + (5 * 10000000);             // Anzeigedauer textBox_FS_Notruf_Hilfe = 5 Sekunden

            while (DateTime.Now.Ticks <= zeit1)

            {

                textBox_FS_Notruf_Hilfe.Visible = true;

                Application.DoEvents();

            }

            textBox_FS_Notruf_Hilfe.Visible = false;

            _temp_Notruf = false;                                           // Variable auf 0 setzen              


        }






        private void brand(object sender, EventArgs e)                      // Brandfall

        {

            fahrstuhl_zum_EG(this, EventArgs.Empty);

        }






        private void wartung()                                              // Wartungsausführung

        {

            if (_anzahl_fahrten_wartung >= 5)                               // Bedingung: mehr als 5 Fahrten durchgeführt

            { textBox_FS_Wartung.Visible = true; }                          // Aktiviere "textBox_FS_Wartung"

        }






        private void tür_auf_button(object sender, EventArgs e)

        {

            if ((checkBox_FS_Overload.Checked == false)                  // Bedingung_1: wenn keine Overload-Situation eingetreten ist

            && (checkBox_FS_Stromausfall.Checked == false)               // Bedingung_2: wenn es momenan keinen Stromausfall gibt

            && (_temp_Notruf == false))                                  // Bedingung_3: ein Notruf wird momentan nicht ausgeführt

            {

                _temp_tür_auf = true;                                    // Variable auf 1 setzen

                tür_auf();                                               // Methode "tür_auf" aufrufen

                ping();                                                  // Methode "ping" aufrufen

                verzögerungszeit_3sek();                                 // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_auf = false;                                   // Variable auf 0 setzen

                Application.DoEvents();

            }

        }






        private void tür_zu_button(object sender, EventArgs e)

        {

            if ((checkBox_FS_Overload.Checked == false)                  // Bedingung_1: wenn keine Overload-Situation eingetreten ist

            && (checkBox_FS_Stromausfall.Checked == false)               // Bedingung_2: wenn es momenan keinen Stromausfall gibt

            && (_temp_Notruf == false)                                   // Bedingung_3: ein Notruf wird momentan nicht ausgeführt

            && (checkBox_FS_Lichtschranke.Checked == false))             // Bedingung_4: wenn die Lichtschranke nicht anspricht (keine Person dazwischen)

            {


                _temp_tür_zu = true;                                     // Variable auf 1 setzen

                tür_zu();                                                // Methode "tür_zu" aufrufen

                verzögerungszeit_3sek();                                 // Methode "verzögerungszeit_3sek" aufrufen

                _temp_tür_zu = false;                                    // Variable auf 0 setzen

                Application.DoEvents();

            }

        }








        private void textBox1_TextChanged(object sender, EventArgs e)

        {


        }








    }

}


Link zu diesem Kommentar
Auf anderen Seiten teilen

   private void verzögerungszeit_3sek()                                // Verzögerungszeit 3 Sekunden

                {

                    double zeit = DateTime.Now.Ticks + (3 * 10000000);

                    while (DateTime.Now.Ticks <= zeit)

                    { Application.DoEvents(); }

                }

hey, ich hab mir mal kurz dein code angeschaut und ich bin entsetzt :P ich glaub dein fehler liegt im dem Code oben bei

Application.DoEvents()

Damit rufst ja alle Events nochmal auf, denk ich zumindest von der Methoden bezeichnung her...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, brauchst du nicht weglassen. DoEvents, wenn es mit VB6 noch identisch ist, bremst das OS nicht aus, zum Beispiel in Endlosschleifen und gibt ihm die Möglichkeit, im Hintergrund weitere Aufgaben zu tätigen.

Ich würde an deiner Stelle den Code überarbeiten. Verwende die EventArgs, dafür sind diese da, mehr Zeilenumbrüche und switch. So kommt man ja gar nicht in deinen Code rein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Regions bieten sich auch an um das ganze übersichtlich zu machen, ganz allgemein.

Es ist zwar Geschmackssache / persöhnlicher Stiel, aber ich halt das auch für überkommentiert. Comments sind Imo dafür da nicht aus dem Code trivial ersichtliches zu erklären, oder zu begin einer Methode knapp zu beschreiben was die Methode macht.

Wie gesagt, is ne Stiel Frage, und da hat jeder irgendwo seinen Eigenen.

Gruß

Sven

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...