Software Development pre izby ovládacích panelov systému Windows Tablet – Forma

Domáce automatizácie eHouse .
Vytvorte hlavný formulár (dispozície tabliet obrazovky . Umiestnený na hlavnej formulári 24 polí TPanel panelov pre všetky typy digitálnych výstupov RM .
Tie budú tvoriť tlačidla pre zapnutie sa RoomManager (alebo elektrické) .
Navyše , farba bude závisieť od stavu prečítať .
Z tohto dôvodu sme použili štandardné tlačidlá alebo podobného typu tna , pretože nemajú možnosť zmeniť farbu .
Hovoríme im ” outputX ” kde X je počet výstupov .
Nepotrebujem byť nasadené , pretože to bude robiť to automaticky , táto aplikácia . Pre každé tlačidlo , výstup musí byť priradený k rovnakej udalosti (onclick) – output1Click .
Umiestnený na hlavnej formulári 24 pole panelov TPanel typ pre všetky programy spustiť RM .
Tie budú tvoriť tlačidla pre prepínanie aktuálne RoomManager (tj , Zapnutie / vypnutie elektrických zariadení skupiny so zmenou v meracích vstupov týchto prahových hodnôt používa na reguláciu ako . teplota) .
Hovoríme im ” programX ” kde X je číslo tlačidla .
Podobne , nie je potrebné nasadiť , pretože to bude robiť to automaticky , táto aplikácia .
Pre každé tlačidlo , Program by mal byť priradený k rovnakej udalosti (onclick) – program1Click .
Na hlavnej forma textové popisky sú 16 druhy TLabel na zobrazenie všetkých výsledkov meraní RoomManager (číslované Label1 až Label16) .
Podobne ako vo vyššie uvedených prípadoch nie je potrebné nasadiť .
Zobraziť konečnú podobu pre  tvorí vytvoriť izba ovládacieho panela
Inicializácia formy:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
Postup TForm1 . FormCreate (Sender: TObject) ;
var alignx , buttonindex , riadok , stĺpec , k , i: integer ;
začať
GetComputerName ; / / Získať názov počítača alebo panel – číta
Cesta: = getcurrentdir () ; / / Získať aktuálne miestne cesta adresár aplikácie – prečíta adresár, v ktorom je program
Cesta: = stringreplace (cesta , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Získanie cestu aplikácie eHouse
remotepath: = cesta ; / / Rovnaká cesta pre RemoteAccess pre inicializáciu – na začiatku cesty mapované na rovnakú vzdialený prístup
loadnames_rm ; / / Load regulátor názvy ehouse1
init_heat_temperature_names ; / / Init HeatManager názvy
readethernetdevs ; / / Load regulátory ethernet eHouse názvy
i: = 1 ;
kým i < ; = Paramcount k / / vykonať argument príkazového riadku – spracováva príkazového riadku
začať
ak pos ( ‘ / X: ‘ , malé písmená (ParamStr (i))) = 1 then / / šírka panelu – šírka panelu
form1 . Šírka: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
ak pos ( ‘ / S: ‘ , malé písmená (ParamStr (i))) = 1 then / / panel výška – Výška panelu
form1 . výška: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
ak pos ( ‘ / R: ‘ , malé písmená (ParamStr (i))) = 1 then / / názov zariadenia (RoomManager) – RoomManger meno
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
ak pos ( ‘ /: ‘ , malé písmená (ParamStr (i))) = 1 then / / adresa zariadenia (RoomManager) – RoomManager adresa
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ /: ‘ , ‘ ‘ , [Rfignorecase]))) ;
ak pos ( ‘ / P: ‘ , malé písmená (ParamStr (i))) = 1 then / / vzdialený prístup cesta – vzdialený prístup cesta
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (i) ;
koniec ;
ak Form1 . šírka < ; 100 potom Form1 . šírka: = 800 ; / / Ak je zlé parametre pre veľkosť nastaví predvolené – predvolené
ak Form1 . výška < ; 100 potom Form1 . výška: = 600 ;
devicestoupdatestatus: = IntToStr (rm [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (rm [deviceindex] . adrl) ;
/ / Limit vyhľadávanie aktuálneho stavu RoomManager / vyfiltrovať ďalšie zariadenia
/ / Kontrola jedného prístroja PANEL pre obmedzenie VYUŽITIE
/ / Kontrola iba stav vybrané RoomManager krát menej CPU a servera eHouse
outputbuttonnames (deviceindex) ; / / Inicializácia tlačidiel a etikety mena – boots , Tlačidlá a textové štítky
form1 . titulok: = ‘ eHouse Ovládací panel: ‘ + Rm [deviceindex] . drevnatej ; / / Set titulok z hlavných foriem RoomManager mena – záhlavie zobrazuje názov formulára RoomManager
Timer1 . Interval: = 3000 ; / / Set cyklické úlohy interval v milisekundách
Timer1 . Povolené: = true ; / / Spustiť automatické úlohy (aktualizácia stavu
k: = 1 ;
buttonindex: = 0 ; / / Aktuálne Tlačidlo (viditeľné) index – aktuálny počet (zdanlivý)
riadok: = 0 ; / / Aktuálne tlačidlo v rade – číslo aktuálneho kľúča v aktuálnom riadku
/ / Stĺpce: = 0 ;
alignx: = (Form1 . clientWidth – (Riadky) * (buttonwidth + Xspace)) div 2 ; / / Centrum tlačidlá na paneli – strediaci bloky tlačidla
pre i: = 0 až form1 . ComponentCount – 1 / / Output Tlačidlo automatické nastavenie – automaticky nakonfigurovať tlačidlo Exit
begin / / pre každý objekt na Form1 – pre všetky prvky Form1
if (Form1 . Komponenty [i] je TPanel) then / / ak je objekt TPanel (náš odkaz) – ak je objekt typu TPanel (tlačidlo)
začať
ak comparetext ((Form1 . zložky [i] as TPanel) . názov , ‘ výstup ‘ + IntToStr (k)) = 0 then / / ak názov obsahuje (výstup)
začať
riadok: = buttonindex mod (riadky) ; / / Výpočet riadkov a stĺpcov indexy – vypočíta súradnice stĺpcov a riadkov
stĺpec: = buttonindex div (riadky) ;
ak dĺžka (OutputNames [k – 1])> ; 0 then / / Len ukazuje, Výstupné tlačidla s názvom – zobrazuje iba tlačidlá s názvom
začať
(Form1 . Komponenty [i] as TPanel) . vľavo: = alignx + r * (buttonwidth + Xspace) ; / / Výpočet os X úlohu hrá – vypočíta svoju pozíciu v osi X
(Form1 . Komponenty [i] as TPanel) . top: = yoffsetouts + column * (buttonheight + yspace) ; / / Výpočet osi Y úlohu hrá – vypočíta svoju pozíciu v osi Y
(Form1 . Komponenty [i] as TPanel) . šírka: = buttonwidth ; / / Set Šírka Tlačidlá – Šírka tlačidiel
(Form1 . Komponenty [i] as TPanel) . výška: = buttonheight ; / / Set Tlačidlá Výška – Výška tlačidiel
(Form1 . zložky [i] as TPanel) . titulok: = Outputnames [k – 1] ; / / Tlačidlo nastavenia Caption – nastaví text tlačidla
(Form1 . zložky [i] as TPanel) . Bevelinner: = bvRaised ;
(Form1 . zložky [i] as TPanel) . BevelOuter: = bvRaised ;
(Form1 . zložky [i] as TPanel) . písmo . Veľkosť: = veľkosť fontu ; / / Set Veľkosť písma Button – nastaví veľkosť písma pre tlačidlo
inc (buttonindex) ; / / Ďalšie tlačidlo viditeľné – pozri ďalšie
koniec
inde
začať
(Form1 . zložky [i] as TPanel) . viditeľné: = false ; / / No name = nezobrazovať tlačidlo – odobrať kľúče bez názvu
koniec ;
inc (k) ; / / Ďalšie tlačidlo – ďalšie tlačidlo
koniec ;
koniec ;
koniec ;
/ / / / / / / / / / / / Rovnaké Tlačidlá pre program – Podobne pre tlačidlá na spúšťanie programov
buttonindex: = 0 ;
k: = 1 ;
pre i: = 0 až form1 . ComponentCount – 1 až
začať
if (Form1 . Komponenty [i] je TPanel), potom
začať
ak comparetext ((Form1 . zložky [i] as TPanel) . názov , ‘ program ‘ + IntToStr (k)) = 0, potom
začať

riadok: = buttonindex mod (riadky) ;
stĺpec: = buttonindex div (riadky) ;
ak dĺžka (ProgramNames [k – 1])> ; 0, potom
začať
(Form1 . Komponenty [i] as TPanel) . vľavo: = alignx + r * (buttonwidth + Xspace) ;
(Form1 . Komponenty [i] as TPanel) . top: = yoffsetprograms + column * (buttonheight + yspace) ;
(Form1 . Komponenty [i] as TPanel) . šírka: = buttonwidth ;
(Form1 . Komponenty [i] as TPanel) . výška: = buttonheight ;
(Form1 . zložky [i] as TPanel) . titulok: = Programnames [k – 1] ; / / Set Tlačidlá Tlačidlo titulok pre program – nastaví názov programu tlačidiel
(Form1 . zložky [i] as TPanel) . Bevelinner: = bvRaised ;
(Form1 . zložky [i] as TPanel) . BevelOuter: = bvRaised ;
(Form1 . zložky [i] as TPanel) . písmo . Veľkosť: = veľkosť fontu ;
inc (buttonindex) ;
koniec
inde
začať
(Form1 . zložky [i] as TPanel) . viditeľné: = false ;
koniec ;

inc (k) ;
koniec ;
koniec ;
koniec ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . clientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) div 2 ;
/ / / / / / / Analogicaly pre štítky – Podobne , štítok
pre i: = 0 až form1 . ComponentCount – 1 až
začať
if (Form1 . Komponenty [i] je TLabel), potom
začať
ak comparetext ((Form1 . zložky [i] as TLabel) . názov , ‘ štítok ‘ + IntToStr (k)) = 0, potom
začať

riadok: = buttonindex mod (labelrows) ;
stĺpec: = buttonindex div (labelrows) ;
ak dĺžka (LabelNames [k – 1])> ; 0 then / / ak dĺžka textu štítkov> ; ; 0 – v prípade, že popis je
začať
(Form1 . Komponenty [i] as TLabel) . vľavo: = alignx + r * (labelwidth + labelresultsize + Xspace) ; / / Výpočet X zaradenie
(Form1 . Komponenty [i] as TLabel) . top: = yoffsetlabel + column * (labelheight + yspace) ; / / Výpočet umiestnenie Y
(Form1 . Komponenty [i] as TLabel) . šírka: = labelwidth ;
(Form1 . Komponenty [i] as TLabel) . výška: = labelheight ;
(Form1 . zložky [i] as TLabel) . titulok: = LabelNames [k – 1] ; / / / Priradenie štítkov titulkami – záhlavie vhodné štítky
(Form1 . zložky [i] as TLabel) . písmo . Farba: = clwhite ; / / Nastaviť predvolené farby pre štítok – nastavuje predvolenú farbu pre tlač etikiet
ak pos ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0, potom (Form1 . zložky [i] as TLabel) . písmo . Farba: = clyellow ; / / Nastavenie farby pre meranie svetla – pre meranie farieb osvetlenia
ak pos ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0, potom (Form1 . zložky [i] as TLabel) . písmo . Farba: = Claque ; / / Set pre meranie farieb na percentá – Farba na hodnotu záujmu
ak pos ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0, potom (Form1 . zložky [i] as TLabel) . písmo . Farba: = clwhite ; / / Nastavenie farby pre riadenie teploty – hodnôt farebnej teploty
(Form1 . zložky [i] as TLabel) . písmo . Veľkosť: = labelfontsize ; / / Set veľkosť písma pre štítok – nastaví veľkosť písma pre text popisku
inc (buttonindex) ; / / Next viditeľné označenie – štítok sa zobrazí ďalšie
koniec
inde
začať
(Form1 . zložky [i] as TLabel) . viditeľné: = false ; / / Skryť textové popisky bez – skryť štítky bez edited
koniec ;
inc (k) ; / / Next štítok – ďalšie štítok
koniec ;
koniec ;
koniec ;
update_status ; / / Update panel na aktuálny stav zariadenia z guľatiny – aktualizuje stav vodiča súborov protokolu zo servera eHouse
koniec ;
Konečný výsledok po auto – konfigurovať a tlačidlo umiestnenie v programe a odstráňte nespočetné prvky (ak nechcete, aby sa na paneli z dôvodu obmedzenia práv prístupu alebo použitia výstupu) .
 Výsledný efekt na automatickú distribúciu prvkov vo formulári
Prečítajte si viac: Domáce automatizácie – Radiče eHouse
Domáce automatizácie eHouse Domáce automatizácie výrobcu