Software Development Control Panels kambarių Windows Tablet – Forma

Home Automation eHouse .
Sukurti pagrindinę formą (tabletės ekrano išdėstymas . Ant pagrindinė forma 24 laukai TPanel paneliai, naudojami visų skaitmeniniai išėjimai RM .
Tai sudarys mygtukus pasirodyti RoomManager (ar elektros) .
Papildomai , spalva priklausys nuo nuskaitymo būklę .
Dėl šios priežasties mes standartiniai mygtukai ar panašius TButton , nes jie neturi galimybės keisti spalvą .
Mes vadiname juos ” outputX ” kur X yra produkcijos skaičius .
Man nereikia, kurie turi būti dislokuoti , , nes jis darys automatiškai , ši paraiška . Kiekvienam mygtukui , produkcija turi būti priskirtas tą patį įvykį (onclick) – output1Click .
Ant pagrindinė forma 24 laukai TPanel tipo plokštės su visomis programomis paleisti RM .
Tai sudarys mygtukus perjungimo esamą RoomManager (ty , įjungti / išjungti elektros prietaisų grupės matavimo sąnaudų ribinės pokyčio už tokį . temperatūra) .
Mes vadiname juos ” programX ” kur X yra mygtuko numeris .
Panašiai , nėra būtinybės operuoti , , nes jis darys automatiškai , ši paraiška .
Kiekvienam mygtukui , programa turėtų būti priskirtas tą patį įvykį (onclick) – program1Click .
Į pagrindinį užrašu forma yra 16 rūšių TLabel rodyti visus rezultatų matavimų RoomManager (Label16 Label1 sunumeruoti) .
Panašiai kaip ir pirmiau nurodytais atvejais nereikia diegti .
Pamatyti galutinį formą  formą, norėdami sukurti kambario valdymo skydelį
Pradės formos:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
procedūra TForm1 . FormCreate (Sender: TObject) ;
var alignx , buttonindex , eilė , skiltis , k , i: integer ;
pradėti
GetComputerName ; / / Gauti kompiuterio ar skydu pavadinimą – skaito
kelias: = getcurrentdir () ; / / Gauti esamą vietinę kelio Programų katalogas – skaito katalogą, kuriame programa
kelias: = stringreplace (kelias , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Gauti kelią paraiškos eHouse
remotepath: = kelias ; / / Tas pats kelias RemoteAccess už inicialization – kelio pradžioje priskirti dėl tos pačios nuotolinės prieigos
loadnames_rm ; / / Įkelti valdiklių pavadini ehouse1
init_heat_temperature_names ; / / Init HeatManager vardai
readethernetdevs ; / / Įkelti valdikliai Ethernet eHouse pavadinimai
i: = 1 ;
o aš < ; = Paramcount / / atlikti komandinės eilutės argumentas – apdoroja komandų eilutę
pradėti
jei POS ( ‘ / X: ‘ , mažosiomis raidėmis (ParamStr (i))) = 1 tada / / panelė plotis – plokštės plotis
Form1 . Plotis: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
jei POS ( ‘ / S: ‘ , mažosiomis raidėmis (ParamStr (i))) = 1 tada / / panelė aukštis – plokštės aukštis
Form1 . aukštis: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
jei POS ( ‘ / R: ‘ , mažosiomis raidėmis (ParamStr (i))) = 1 tada / / įrenginio pavadinimas (RoomManager) – RoomManger vardas
deviceindex: = RMDeviceIndexByName (. (stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
jei POS ( ‘ / A: ‘ , mažosiomis raidėmis (ParamStr (i))) = 1 / / prietaisas adresas (RoomManager) – RoomManager adresas
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ / A: ‘ , ‘ ‘ , [Rfignorecase]))) ;
jei POS ( ‘ / P: ‘ , mažosiomis raidėmis (ParamStr (i))) = 1, tada / / nuotolinės prieigos kelias – nuotolinės prieigos kelias
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (i) ;
pabaiga ;
jei Form1 . plotis < ; 100 tada form1 . Plotis: = 800 ; / / Jei neteisingai parametrai dydžio nustato numatytąjį – pagal nutylėjimą
jei Form1 . aukštis: < ; 100 tada form1 . aukštis: = 600 ;
devicestoupdatestatus: = IntToStr (rm [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (rm [deviceindex] . adrl) ;
/ / Riba ieškoti dabartinės būklės RoomManager / filtruoti kitus prietaisus
/ / Tikrinama, vienetinę pannel senaties PANAUDOJIMAS
/ / Tikrinama tik pasirinktą RoomManager kartų mažiau procesoriaus būseną ir serverio eHouse
outputbuttonnames (deviceindex) ; / / Inicjalizacja mygtukus ir etikečių – batai , mygtukai ir teksto etiketės
Form1 . antraštė: = ‘ eHouse Control Panel: ‘ + Rm [deviceindex] . devname ; / / Nustatykite caption iš pagrindinių formų RoomManager pavadinimas – antraštė rodo formos RoomManager pavadinimą
Timer1 . Intervalas: = 3000 ; / / Nustatykite ciklinis užduotis intervalas milisekundėmis
Timer1 . Įjungtas: = true ; / / Pradėti automatinį užduotis (būsenos atnaujinimas
k: = 1 ;
buttonindex: = 0 ; / / Dabartinis mygtukas (matomo) indeksas – dabartinis skaičius (tariamasis)
eilutė: = 0 ; / / Dabartinė mygtuką eilutėje – numeris dabartinio rakto į esamą eilutę
/ / Skiltis: = 0 ;
alignx: = (form1 . ClientWidth – (Įrašų) * (buttonwidth + Xspace)) div 2 ; / / Centras mygtukai ant skydelio – centravimo blokai mygtukai
i: = 0 Form1 . ComponentCount – 1 / / išėjimas mygtukas automatinis nustatymas – automatiškai konfigūruoti mygtuką EXIT
pradėti / / kiekvieno objekto Form1 – visų Form1 elementams
if (Form1 . Komponentai [i] yra TPanel), tada / / jei objektas yra TPanel (Mūsų mygtukas) – jei objektas tipas TPanel (mygtukas)
pradėti
jei comparetext ((Form1 . komponentai [i] kaip TPanel) . pavadinimas , ‘ produkcija ‘ + IntToStr (k)) = 0 tada / / jei pavadinimas (iš išvesties)
pradėti
eilutė: = buttonindex mod (eilučių) ; / / Apskaičiuokite Eilutės ir stulpeliai indeksai – apskaičiuoja kolonėlės ir eilutės koordinates
stulpelis: = buttonindex div (eilučių) ;
jei ilgis (OutputNames [k – 1])> ; 0 tada / / tik parodo ouput mygtukus, kurių pavadinimas – rodo tik mygtukus su pavadinimu
pradėti
(Form1 . Komponentai [i] kaip TPanel) . kairės: = alignx + eilutė * (buttonwidth + Xspace) ; / / Apskaičiuokite X ašis possition – apskaičiuoja savo poziciją X ašyje
(Form1 . Komponentai [i] kaip TPanel) . viršų: = yoffsetouts + stulpelyje * (buttonheight + yspace) ; / / Apskaičiuokite ant y ašies possition – apskaičiuoja savo poziciją Y ašyje
(Form1 . Komponentai [i] kaip TPanel) . Plotis: = buttonwidth ; / / Nustatykite Plotis mygtukai – Mygtukų plotis
(Form1 . Komponentai [i] kaip TPanel) . aukštis: = buttonheight ; / / Nustatykite mygtukai Aukštis – Mygtukų kiekis
(Form1 . komponentai [i] kaip TPanel) . caption: = Outputnames [k – 1] ; / / Set mygtukas Antraštė – nustato mygtuko tekstą
(Form1 . komponentai [i] kaip TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponentai [i] kaip TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponentai [i] kaip TPanel) . šriftas . Dydis: = Šrifto dydis ; / / Nustatykite Šrifto dydis mygtuką – nustato šrifto dydį mygtuką
inc (buttonindex) ; / / Matomas "Next" mygtuką – peržiūrėti kitą
pabaiga
kitas
pradėti
(Form1 . komponentai [i] kaip TPanel) . matomi: = False ; / / NO NAME = nerodo mygtuką – pašalinti raktus be pavadinimo
pabaiga ;
inc (k) ; / / "Next" mygtuką – kitas mygtukas
pabaiga ;
pabaiga ;
pabaiga ;
/ / / / / / / / / / / / Tie patys mygtukai programos – Panašiai mygtukus paleisti programas
buttonindex: = 0 ;
k: = 1 ;
i: = 0 Form1 . ComponentCount – Nuo 1 iki
pradėti
if (Form1 . Komponentai [i] yra TPanel), tada
pradėti
jei comparetext ((Form1 . komponentai [i] kaip TPanel) . pavadinimas , ‘ programa ‘ + IntToStr (k)) = 0 tada
pradėti

eilutė: = buttonindex mod (eilučių) ;
stulpelis: = buttonindex div (eilučių) ;
jei ilgis (ProgramNames [k – 1])> ; 0 tada
pradėti
(Form1 . Komponentai [i] kaip TPanel) . kairės: = alignx + eilutė * (buttonwidth + Xspace) ;
(Form1 . Komponentai [i] kaip TPanel) . viršų: = yoffsetprograms + stulpelyje * (buttonheight + yspace) ;
(Form1 . Komponentai [i] kaip TPanel) . Plotis: = buttonwidth ;
(Form1 . Komponentai [i] kaip TPanel) . aukštis: = buttonheight ;
(Form1 . komponentai [i] kaip TPanel) . caption: = Programnames [k – 1] ; / / SET mygtuką viršelio programos mygtukai – nustato programos mygtuką pavadinimą
(Form1 . komponentai [i] kaip TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponentai [i] kaip TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponentai [i] kaip TPanel) . šriftas . Dydis: = Šrifto dydis ;
inc (buttonindex) ;
pabaiga
kitas
pradėti
(Form1 . komponentai [i] kaip TPanel) . matomi: = False ;
pabaiga ;

inc (k) ;
pabaiga ;
pabaiga ;
pabaiga ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . ClientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) 2 sk ;
/ / / / / / / Analogicaly etikečių – Panašiai , etiketė
i: = 0 Form1 . ComponentCount – Nuo 1 iki
pradėti
if (Form1 . Komponentai [i] yra TLabel), tada
pradėti
jei comparetext ((Form1 . komponentai [i] kaip TLabel) . pavadinimas , ‘ etiketė ‘ + IntToStr (k)) = 0 tada
pradėti

eilutė: = buttonindex mod (labelrows) ;
stulpelis: = buttonindex div (labelrows) ;
jei ilgis (LabelNames [k – 1])> ; 0 tada / / jei etiketės tekstu ilgis> ; ; 0 – jei aprašymas
pradėti
(Form1 . Komponentai [i] kaip TLabel) . kairės: = alignx + eilutė * (labelwidth + labelresultsize + Xspace) ; / / Apskaičiuokite X vieta
(Form1 . Komponentai [i] kaip TLabel) . viršų: = yoffsetlabel + stulpelyje * (labelheight + yspace) ; / / Apskaičiuokite Y vietą
(Form1 . Komponentai [i] kaip TLabel) . Plotis: = labelwidth ;
(Form1 . Komponentai [i] kaip TLabel) . aukštis: = labelheight ;
(Form1 . komponentai [i] kaip TLabel) . caption: = LabelNames [k – 1] ; / / / Priskirti etikečių antraštes – antraštes tinkami etiketės
(Form1 . komponentai [i] kaip TLabel) . šriftas . spalva: = clwhite ; / / Nustatyti pagal nutylėjimą spalvos etiketės – nustato numatytąjį etikečių spalvą
jei POS ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0 tada (Form1 . komponentai [i] kaip TLabel) . šriftas . spalva: = clyellow ; / / Nustatykite spalva šviesos matavimo – spalvų apšvietimo matavimo
jei POS ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0 tada (Form1 . komponentai [i] kaip TLabel) . šriftas . spalva: = Claque ; / / Nustatykite spalva matavimas proc – spalva interesų vertę
jei POS ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0 tada (Form1 . komponentai [i] kaip TLabel) . šriftas . spalva: = clwhite ; / / Nustatykite spalvų temperatūros valdymo – spalvų temperatūros vertės
(Form1 . komponentai [i] kaip TLabel) . šriftas . Dydis: = labelfontsize ; / / Nustatyti šrifto dydis etiketės – nustato šrifto dydį teksto etiketės
inc (buttonindex) ; / / Kitas matoma etiketė – etiketė rodomas šalia
pabaiga
kitas
pradėti
(Form1 . komponentai [i] kaip TLabel) . matomi: = False ; / / Slėpti teksto etiketes be – paslėpti etiketes be textu
pabaiga ;
inc (k) ; / / Kitas etiketė – Kitas etiketė
pabaiga ;
pabaiga ;
pabaiga ;
update_status ; / / Atnaujinti dabartinės būsenos įrenginiai panelė iš rąstų – atnaujinamas žurnalo failus iš serverio eHouse vairuotojo padėtis
pabaiga ;
Galutinis rezultatas po auto – sukonfigūruotas ir mygtukas apgyvendinimas programą ir pašalinti neapsakomas elementus (jei nenorite, kad jie turi ant skydo dėl prieigos teisių apribojimų ar naudoti produkcijos) .
 Galutinis efektas elementų automatinio paskirstymo forma
Plačiau paskaitykite čia: Home Automation – Valdikliai eHouse
Home Automation eHouse Namų automatikos Gamintojas