Δευτέρα 8 Φεβρουαρίου 2016

Αναθεώρηση 153


Τρίτη έκδοση του Χειριστή Γεγονότων.

Σε αυτή την έκδοση έχουν προστεθεί οι ετικέτες Ιδιωτικό και Δημόσιο οι οποίες στις κλάσεις δουλεύουν όπως στην C++, δηλαδή οι ιδιωτικές (μεταβλητές, συναρτήσεις, τμήματα, πίνακες και άλλες ομάδες) φαίνονται εντός των τμημάτων και των συναρτήσεων μόνο.

Στη κλάση Χειριστής_Γεγονότων υπάρχει ιδιωτική κλάση Στοιχείο_Ελέγχου. που χρησιμοποιείται στη συνάρτηση Στοιχείο_Πλήκτρο.

Τώρα μπορούμε να πούμε ότι ολοκληρώθηκε η γλώσσα!





Φορμα 80,40
Οθόνη 1, 0
Πένα 14
Αναφορά 2, "Χειριστής Γεγονότων"
Αναφορά "Χρησιμοποίησε πλήκρα 1, 2 και Δείκτης (ποντίκι) Αριστερά, και για έξοδο Δείκτης Δεξιά"
Οθόνη, 2
Κλάση Υπηρεσία_Δείκτη {
Ιδιωτικό:
      αθροιστής, το_κουμπί_μου
Δημόσιο:
      όνομα$="Πλήκτρο_Δείκτη"
      Πίνακας αναφ$()
      Τμήμα Υπηρεσία_Δείκτη {
            Διάβασε .το_κουμπί_μου
            .όνομα$<=μορφή$("{0}({1})", .όνομα$, .το_κουμπί_μου)
      }
      Τμήμα καταχώρησε {
            .αθροιστής++
            Πίνακας .αναφ$(.αθροιστής)
            Διάβασε .αναφ$(.αθροιστής-1)
      }
      Συνάρτηση Επιβεβαίωση {
            =Δείκτης=.το_κουμπί_μου
      }
      Συνάρτηση αθροιστής {
            =.αθροιστής-1
      }
}
Κλάση Υπηρεσία_Πλήκτρου {
Ιδιωτικό:
      αθροιστής, το_κουμπί_μου
Δημόσιο:
      όνομα$="Πλήκτρο",
      Πίνακας αναφ$()
      Τμήμα Υπηρεσία_Πλήκτρου {
            Διάβασε .το_κουμπί_μου
            .όνομα$<=μορφή$("{0}({1})", .όνομα$, .το_κουμπί_μου)
      }
      Τμήμα καταχώρησε {
            .αθροιστής++
            Πίνακας .αναφ$(.αθροιστής)
            Διάβασε .αναφ$(.αθροιστής-1)
      }
      Συνάρτηση Επιβεβαίωση {
            =Πατημένο(.το_κουμπί_μου)
      }
      Συνάρτηση αθροιστής {
            =.αθροιστής-1
      }
}
Κλάση Χειριστής_Γεγονότων {
Ιδιωτικό:
      αθροιστής, αθροιστής_γεγονότων
      Πίνακας Γεγονότα()
      Κλάση Στοιχείο_Ελέγχου {
      Ιδιωτικό:
            αναφ$,
            αναγνωριστικό, ονομασία$, Επιτρέπεται=Αληθής
       Δημόσιο:
            Τμήμα Σύνδεσε {
                  Διάβασε .αναφ$
            }
            Τμήμα Στοιχείο_Ελέγχου {
                  Διάβασε .αναγνωριστικό
                  Διάβασε .ονομασία$
            }
            Συνάρτηση Ονομασία$ {
                  =.ονομασία$
            }
            Συνάρτηση Κάλεσε_Πίσω {
                  Διάβασε περιγραφή$
                  Ένωσε Ισχνή .αναφ$ Στη αναφ
                  =αναφ.Ερώτημα(.αναγνωριστικό, περιγραφή$, &Αυτό)
            }
      }
Δημόσιο:
      Επιτρέπω_Γεγονότα
      Συνάρτηση Στοιχείο_Πλήκτρο {
         .αθροιστής++
         Διάβασε περιγραφή$
         φτιάξε_με =.Στοιχείο_Ελέγχου(.αθροιστής,περιγραφή$)
         φτιάξε_με.Σύνδεσε &Αυτό
         =φτιάξε_με
      }
      Συνάρτηση Λίστα_Γεγονότων {
            χειριστής=.αθροιστής_γεγονότων
            .αθροιστής_γεγονότων++
            Πίνακας .Γεγονότα(.αθροιστής_γεγονότων)
            Διάβασε .Γεγονότα(χειριστής)
            =χειριστής
      }
      Τμήμα καταχώρησε {
           Διάβασε χειριστής, αναφ$
            .Γεγονότα(χειριστής).καταχώρησε αναφ$
      }
     Συνάρτηση Παρατήρησε {
     Αν Δεν .Επιτρέπω_Γεγονότα Τότε =Αληθής : Έξοδος
     Τύπωσε "Παρατηρώ για Γεγονότα"
           Για ν=0 Έως .αθροιστής_γεγονότων-1 {
                 Για .Γεγονότα(ν) {
                        Αν .Επιβεβαίωση() Τότε {
                              Για μ=0 Έως .αθροιστής() {
                                    Για Αυτό {
                                          Ένωσε Ισχνή .αναφ$(μ) στη Σύνδεση
                                          Κάλεσε Σύνδεση.Κάλεσε_Πίσω(.όνομα$)
                                     }
                                }
                        }
                 }
           }
     }
      Συνάρτηση Ερώτημα {
            Διάβασε αναγνωριστικό, περιγραφή$, &Στοιχείο_Ελέγχου
            Τύπωσε υπό "Μέσα στο Χειριστής_Γεγονότων";
            Τύπωσε υπό
            Τύπωσε μέρος "Έλαβα ένα ερώτημα από το Στοιχείο_Ελέγχου με αριθμό "; αναγνωριστικό
            Τύπωσε
            Τύπωσε μέρος "Λέει:"; περιγραφή$
            Τύπωσε
            Για Στοιχείο_Ελέγχου {
                  Τύπωσε μέρος "Πήρα αυτή την ονομασία:";.ονομασία$()
                  Τύπωσε
                  =0
            }          
      }
}
Χειριστής_Γεγονότων=Χειριστής_Γεγονότων() \\ δημιουργούμε τον χειριστή
β1=Χειριστής_Γεγονότων.Στοιχείο_Πλήκτρο("Πλήκτρο 1") \\ δημιουργούμε υποκείμενα
β2=Χειριστής_Γεγονότων.Στοιχείο_Πλήκτρο("Πλήκτρο 2")
β3=Χειριστής_Γεγονότων.Στοιχείο_Πλήκτρο("Πλήκτρο 3")


Για Χειριστής_Γεγονότων {
      Πάτα_πλήκτρο_ένα=.Λίστα_Γεγονότων(Υπηρεσία_Πλήκτρου(49))
      .καταχώρησε Πάτα_πλήκτρο_ένα, ισχνη$(β1) \\καταχώρησε γεγονός στο υποκείμενο
      .καταχώρησε Πάτα_πλήκτρο_ένα, ισχνη$(β2)
      .καταχώρησε .Λίστα_Γεγονότων(Υπηρεσία_Πλήκτρου(50)) , ισχνή$(β1)
      .καταχώρησε .Λίστα_Γεγονότων(Υπηρεσία_Δείκτη(1)) , ισχνη$(β3)
      .Επιτρέπω_Γεγονότα=Αληθής
}
Κάθε 150 {
      Αν Χειριστής_Γεγονότων.Παρατήρησε() Τότε Έξοδος
      Αν Δείκτης=2 Τότε Έξοδος
}


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.