mucki-nrw Geschrieben 15. Juli 2011 Teilen Geschrieben 15. Juli 2011 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) { } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 15. Juli 2011 Teilen Geschrieben 15. Juli 2011 Frage (nicht böse gemeint): Wer soll sich das alles durchlesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mucki-nrw Geschrieben 15. Juli 2011 Autor Teilen Geschrieben 15. Juli 2011 Kein Problem! Dachte nur, we wäre hilfreich den gesamten Code vor Augen zu haben :-/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
2K1.INC Geschrieben 15. Juli 2011 Teilen Geschrieben 15. Juli 2011 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 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mucki-nrw Geschrieben 15. Juli 2011 Autor Teilen Geschrieben 15. Juli 2011 Also lasse ich dies am besten komplett weg, oder? Hatte damit eigentlich nur bezwecken wollen: "warten auf benutzereingaben", damit diese möglich sind... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dusk Geschrieben 20. Juli 2011 Teilen Geschrieben 20. Juli 2011 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 20. Juli 2011 Teilen Geschrieben 20. Juli 2011 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.