Ανάπτυξη Λογισμικού για πίνακες ελέγχου δωμάτια για Windows Tablet – Μορφή

Αυτοματισμού eHouse .
Δημιουργήστε την κύρια μορφή (διάταξη της οθόνης tablet . Τοποθετημένος στο κεντρικό Έντυπο 24 πεδία πάνελ TPanel για όλους τους τύπους των ψηφιακών εξόδων RM .
Αυτές θα αποτελέσουν τα κουμπιά για να αποδειχθεί RoomManager (ή ηλεκτρική) .
Εξάλλου , το χρώμα θα εξαρτηθεί από την κατάσταση της ανάγνωσης .
Για το λόγο αυτό χρησιμοποιούνται τα βασικά κουμπιά ή παρόμοιο τύπο TButton , επειδή δεν έχουν τη δυνατότητα να αλλάξετε το χρώμα .
Καλούμε τους ” outputX ” όπου Χ είναι ο αριθμός της παραγωγής .
Δεν χρειάζεται να αναπτυχθεί , γιατί θα το κάνει αυτόματα , παρούσα αίτηση . Για κάθε κουμπί , η έξοδος θα πρέπει να ανατεθεί στην ίδια εκδήλωση (onClick) – output1Click .
Τοποθετημένος στην κύρια πεδία Έντυπο 24 πάνελ τύπου TPanel για όλα τα προγράμματα για να τρέξει RM .
Αυτές θα αποτελέσουν τα κουμπιά για την ενεργοποίηση του τρέχοντος RoomManager (δηλ. , on / off ηλεκτρικές συσκευές της ομάδας με μία αλλαγή στις είσοδοι μέτρησης των κατωφλίων που χρησιμοποιούνται για τη ρύθμιση τέτοιων . θερμοκρασία) .
Καλούμε τους ” programX ” όπου Χ είναι ο αριθμός του κουμπιού .
Ομοίως , Δεν χρειάζεται να αναπτύξει , γιατί θα το κάνει αυτόματα , παρούσα αίτηση .
Για κάθε κουμπί , το πρόγραμμα θα πρέπει να ανατεθεί στην ίδια εκδήλωση (onClick) – program1Click .
Στην κύρια μορφή των ετικετών κειμένου είναι 16 τύποι TLabel για να εμφανίσετε όλα τα αποτελέσματα των μετρήσεων του RoomManager (αριθμημένες Label1 να Label16) .
Ομοίως όπως στις ανωτέρω περιπτώσεις, δεν χρειάζεται να αναπτύξει .
Δείτε την τελική μορφή για το  σχηματίσουν να δημιουργήσουν περιθώρια πίνακα ελέγχου
Η προετοιμασία της μορφής:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
διαδικασία TForm1 . FormCreate (Αποστολέας: TObject) ;
var alignx , buttonindex , σειρά , στήλη , k , i: integer ;
αρχίζουν
GetComputerName ; / / Πάρτε το όνομα του υπολογιστή ή του πίνακα – διαβάζει το
διαδρομή: getcurrentdir = () ; / / Αποκτήστε το τρέχον τοπικό κατάλογο εφαρμογή μονοπάτι – διαβάζει τον κατάλογο στον οποίο το πρόγραμμα
διαδρομή: = stringreplace (διαδρομή , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Get πορεία της εφαρμογής eHouse
remotepath: = διαδρομή ; / / Η ίδια διαδρομή για RemoteAccess για inicialization – κατά την έναρξη της διαδρομής χαρτογραφηθεί για την ίδια απομακρυσμένη πρόσβαση
loadnames_rm ; / / Load ονόματα ελεγκτή ehouse1
init_heat_temperature_names ; / / Init HeatManager ονόματα
readethernetdevs ; / / Load ελεγκτές ethernet ονόματα eHouse
i: = 1 ;
ενώ i < ; = Paramcount να / / εκτελέσει εντολή όρισμα της γραμμής – επεξεργάζεται τη γραμμή εντολών
αρχίζουν
αν pos ( ‘ / X: ‘ , πεζά (ParamStr (i))) = 1, τότε / / πλάτος του πίνακα – πλάτος του πάνελ
Φόρμα1 . Πλάτος: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
αν pos ( ‘ / S: ‘ , πεζά (ParamStr (i))) = 1, τότε / / πίνακας ύψος – ύψος του πάνελ
Φόρμα1 . ύψος: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
αν pos ( ‘ / R: ‘ , πεζά (ParamStr (i))) = 1, τότε / / το όνομα συσκευής (RoomManager) – RoomManger όνομα
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
αν pos ( ‘ / Α: ‘ , πεζά (ParamStr (i))) = 1, τότε / / συσκευή διεύθυνση (RoomManager) – Διεύθυνση RoomManager
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ / Α: ‘ , ‘ ‘ , [Rfignorecase]))) ;
αν pos ( ‘ / P: ‘ , πεζά (ParamStr (i))) = 1, τότε / / απομακρυσμένη διαδρομή πρόσβασης – απομακρυσμένη πρόσβαση μονοπάτι
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (θ) ;
τέλος ;
αν Φόρμα1 . πλάτος < ; 100 τότε Φόρμα1 . πλάτος: = 800 ; / / Αν λάθος παραμέτρους για το μέγεθος θέτει προεπιλογή – προεπιλογές
αν Φόρμα1 . ύψος < ; 100 τότε Φόρμα1 . ύψος: = 600 ;
devicestoupdatestatus: = IntToStr (rm [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (rm [deviceindex] . adrl) ;
/ / Οριακές αναζήτηση για την τρέχουσα κατάσταση RoomManager / φιλτράρετε άλλες συσκευές
/ / Έλεγχος για pannel μόνο συσκευή για τον περιορισμό ΧΡΗΣΙΜΟΠΟΙΗΣΗ
/ / Έλεγχος μόνο την κατάσταση της επιλεγμένης RoomManager φορές λιγότερο CPU και eHouse σέρβερ
outputbuttonnames (deviceindex) ; / / Αρχικοποίηση κουμπιά και ετικέτες ονομάτων – μπότες , κουμπιά και ετικέτες κειμένου
Φόρμα1 . λεζάντα: = ‘ eHouse Πίνακα Ελέγχου: ‘ + Rm [deviceindex] . devname ; / / Ορισμός λεζάντα από τις κύριες μορφές της Ονομασία RoomManager – κεφαλίδα δείχνει το όνομα του RoomManager μορφή
timer1 . Διάστημα: = 3000 ; / / Ορισμός διάστημα κυκλική εργασία σε χιλιοστά του δευτερολέπτου
timer1 . Enabled: = true ; / / Έναρξη αυτόματης εργασίες (ενημέρωση της κατάστασής
k: = 1 ;
buttonindex: = 0 ; / / Τρέχουσα κουμπί (ορατό) δείκτη – ο σημερινός αριθμός των (φαινομενική)
σειρά: = 0 ; / / Η τρέχουσα κουμπί στη γραμμή – αριθμός του τρέχοντος κλειδιού στην τρέχουσα γραμμή
/ / Στήλη: = 0 ;
alignx: = (Φόρμα1 . clientWidth – (Σειρές) * (+ buttonwidth Xspace)) div 2 ; / / Κέντρο κουμπιά στον πίνακα – κεντράρισμα μπλοκ κουμπιά
για i: = 0 έως Φόρμα1 . ComponentCount – 1 / / Έξοδος κουμπί αυτόματης ρύθμισης – διαμορφώσει αυτόματα το κουμπί Έξοδος
αρχίζουν / / για κάθε αντικείμενο για Φόρμα1 – για όλα τα στοιχεία της Φόρμα1
αν (Φόρμα1 . Εξαρτήματα [i] είναι TPanel) then / / αν το αντικείμενο είναι TPanel (κουμπί μας) – αν ο τύπος TPanel αντικείμενο (κουμπί)
αρχίζουν
αν comparetext ((Φόρμα1 . συστατικά [i] ως TPanel) . όνομα , ‘ παραγωγή ‘ + IntToStr (k)) = 0 τότε / / αν αποτελούνται όνομα (έξοδος)
αρχίζουν
σειρά: buttonindex = mod (σειρές) ; / / Υπολογισμός γραμμές και στήλες δείκτες – υπολογίζει τις συντεταγμένες της στήλης και γραμμής
στήλη: = buttonindex div (σειρές) ;
αν το μήκος (OutputNames [k – 1])> ; 0 τότε / / εμφανίζει μόνο τα κουμπιά φωτεινότητά με το όνομα – δείχνει μόνο τα κουμπιά με το όνομα
αρχίζουν
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . αριστερά: = + alignx σειρά * (buttonwidth + Xspace) ; / / Υπολογισμός possition άξονα Χ – υπολογίζει τη θέση του στον άξονα Χ
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . κορυφή: = yoffsetouts + στήλη * (buttonheight + yspace) ; / / Υπολογίζεται η θέση την άξονα Υ – υπολογίζει τη θέση του στον άξονα Υ
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . πλάτος: = buttonwidth ; / / Σετ Κουμπιά Πλάτος – Πλάτος από τα κουμπιά
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . ύψος: = buttonheight ; / / Ύψος Σετ Κουμπιά – Το ποσό των κουμπιών
(Φόρμα1 . συστατικά [i] ως TPanel) . λεζάντα: Outputnames = [k – 1] ; / / Σετ Caption Button – θέτει το κείμενο κουμπί
(Φόρμα1 . συστατικά [i] ως TPanel) . Bevelinner: = bvRaised ;
(Φόρμα1 . συστατικά [i] ως TPanel) . BevelOuter: = bvRaised ;
(Φόρμα1 . συστατικά [i] ως TPanel) . γραμματοσειρά . Μέγεθος: = Γράμματα ; / / Ορισμός γραμματοσειράς Μέγεθος Button – ορίζει το μέγεθος της γραμματοσειράς για το κουμπί
inc (buttonindex) ; / / Κουμπί Επόμενο ορατό – δείτε την επόμενη
τέλος
αλλιώς
αρχίζουν
(Φόρμα1 . συστατικά [i] ως TPanel) . ορατό: = false ; / / Όχι = όνομα δεν δείχνουν το κουμπί – αφαιρέσει τα κλειδιά χωρίς όνομα
τέλος ;
inc (κ) ; / / Κουμπί Επόμενο – επόμενο κουμπί
τέλος ;
τέλος ;
τέλος ;
/ / / / / / / / / / / / Τα ίδια κουμπιά για το πρόγραμμα – Ομοίως για τα κουμπιά για την έναρξη προγραμμάτων
buttonindex: = 0 ;
k: = 1 ;
για i: = 0 έως Φόρμα1 . ComponentCount – 1 έως
αρχίζουν
αν (Φόρμα1 . Εξαρτήματα [i] είναι TPanel) τότε
αρχίζουν
αν comparetext ((Φόρμα1 . συστατικά [i] ως TPanel) . όνομα , ‘ πρόγραμμα ‘ + IntToStr (k)) = 0, τότε
αρχίζουν

σειρά: buttonindex = mod (σειρές) ;
στήλη: = buttonindex div (σειρές) ;
αν το μήκος (ProgramNames [k – 1])> ; 0 τότε
αρχίζουν
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . αριστερά: = + alignx σειρά * (buttonwidth + Xspace) ;
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . κορυφή: = yoffsetprograms + στήλη * (buttonheight + yspace) ;
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . πλάτος: = buttonwidth ;
(Φόρμα1 . Εξαρτήματα [i] ως TPanel) . ύψος: = buttonheight ;
(Φόρμα1 . συστατικά [i] ως TPanel) . λεζάντα: Programnames = [k – 1] ; / / Σετ κουμπιά λεζάντα κουμπί για το πρόγραμμα – θέτει το όνομα του από τα κουμπιά του προγράμματος
(Φόρμα1 . συστατικά [i] ως TPanel) . Bevelinner: = bvRaised ;
(Φόρμα1 . συστατικά [i] ως TPanel) . BevelOuter: = bvRaised ;
(Φόρμα1 . συστατικά [i] ως TPanel) . γραμματοσειρά . Μέγεθος: = Γράμματα ;
inc (buttonindex) ;
τέλος
αλλιώς
αρχίζουν
(Φόρμα1 . συστατικά [i] ως TPanel) . ορατό: = false ;
τέλος ;

inc (κ) ;
τέλος ;
τέλος ;
τέλος ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Φόρμα1 . clientWidth – (Labelrows * (labelwidth + + labelresultsize Xspace))) div 2 ;
/ / / / / / / Analogicaly για ετικέτες – Ομοίως , η ετικέτα
για i: = 0 έως Φόρμα1 . ComponentCount – 1 έως
αρχίζουν
αν (Φόρμα1 . Εξαρτήματα [i] είναι TLabel) τότε
αρχίζουν
αν comparetext ((Φόρμα1 . συστατικά [i] ως TLabel) . όνομα , ‘ επιγραφή ‘ + IntToStr (k)) = 0, τότε
αρχίζουν

σειρά: buttonindex = mod (labelrows) ;
στήλη: = buttonindex div (labelrows) ;
αν το μήκος (LabelNames [k – 1])> ; 0 τότε / / αν το μήκος του κειμένου της ετικέτας> ; ; 0 – εάν η περιγραφή είναι
αρχίζουν
(Φόρμα1 . Εξαρτήματα [i] ως TLabel) . αριστερά: = + alignx σειρά * (labelwidth + + labelresultsize Xspace) ; / / Υπολογισμός θέση Χ
(Φόρμα1 . Εξαρτήματα [i] ως TLabel) . κορυφή: = yoffsetlabel + στήλη * (labelheight + yspace) ; / / Υπολογίζεται η θέση Υ
(Φόρμα1 . Εξαρτήματα [i] ως TLabel) . πλάτος: = labelwidth ;
(Φόρμα1 . Εξαρτήματα [i] ως TLabel) . ύψος: = labelheight ;
(Φόρμα1 . συστατικά [i] ως TLabel) . λεζάντα: LabelNames = [k – 1] ; / / / Εκχώρηση λεζάντες ετικέτας – κεφαλίδες κατάλληλες ετικέτες
(Φόρμα1 . συστατικά [i] ως TLabel) . γραμματοσειρά . χρώμα: = clwhite ; / / Ορισμός προεπιλεγμένο χρώμα για την ετικέτα – ορίζει το προεπιλεγμένο χρώμα για τις ετικέτες
αν pos ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0 τότε (Φόρμα1 . συστατικά [i] ως TLabel) . γραμματοσειρά . χρώμα: = clyellow ; / / Σετ χρώμα για μέτρηση φωτός – για τη μέτρηση του φωτισμού χρώματος
αν pos ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0 τότε (Φόρμα1 . συστατικά [i] ως TLabel) . γραμματοσειρά . χρώμα: = Claque ; / / Ορισμός χρώματος για τη μέτρηση τοις εκατό – χρώμα για την αξία των τόκων
αν pos ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0 τότε (Φόρμα1 . συστατικά [i] ως TLabel) . γραμματοσειρά . χρώμα: = clwhite ; / / Ορισμός χρώματος για τη διαχείριση της θερμοκρασίας – για τις τιμές της θερμοκρασίας χρώματος
(Φόρμα1 . συστατικά [i] ως TLabel) . γραμματοσειρά . Μέγεθος: = labelfontsize ; / / Ορισμός μέγεθος της γραμματοσειράς για την ετικέτα – καθορίζει το μέγεθος της γραμματοσειράς για την ετικέτα κειμένου
inc (buttonindex) ; / / Επόμενο ορατό ετικέτα – ετικέτα εμφανίζεται δίπλα
τέλος
αλλιώς
αρχίζουν
(Φόρμα1 . συστατικά [i] ως TLabel) . ορατό: = false ; / / Απόκρυψη ετικετών κειμένου χωρίς – αποκρύψετε ετικέτες χωρίς textu
τέλος ;
inc (κ) ; / / Επόμενο ετικέτα – επόμενη ετικέτα
τέλος ;
τέλος ;
τέλος ;
update_status ; / / Ενημέρωση του πίνακα για την τρέχουσα κατάσταση της συσκευής από κορμούς – ενημερώνει την κατάσταση του οδηγού των αρχείων καταγραφής από το eHouse σέρβερ
τέλος ;
Το τελικό αποτέλεσμα μετά την αυτόματη – ρυθμιστεί και τοποθέτηση κουμπί από το πρόγραμμα και αφαιρέστε ανείπωτη στοιχεία (αν δεν θέλετε να έχουν στον πίνακα λόγω των περιορισμών σχετικά με τα δικαιώματα πρόσβασης ή τη χρήση της εξόδου) .
 Το τελικό αποτέλεσμα της αυτόματης διανομής των στοιχείων σχετικά με το έντυπο
Διαβάστε περισσότερα: Αυτοματισμού – Ελεγκτές eHouse
Αυτοματισμού eHouse Αρχική Κατασκευαστής Αυτοματισμού