Forbairt Bogearraí le haghaidh Rialú Painéil seomraí do Windows Tablet – Foirm

Uathoibriú Baile eHouse .
Cruthaigh an fhoirm is mó (leagan amach an scáileán tablet . Curtha ar an bhFoirm is mó painéil TPanel 24 réimsí le haghaidh gach cineál na n-aschur digiteach RM .
Beidh siad seo na cnaipí dul amach RoomManager (nó leictreach) .
Ina theannta sin , Beidh an dath ag brath ar staid an léamh amach .
Ar an gcúis seo a úsáid le linn na cnaipí caighdeánach nó TButton den chineál céanna , toisc nach bhfuil siad an deis a athrú ar an dath .
Glaoch orainn iad a ” outputX ” áit a bhfuil X an uimhir d'aschur .
Ní gá dom a imscarfar , toisc go mbeidh sé é a dhéanamh go huathoibríoch , leis an iarratas seo . I gcás gach cnaipe , Ní mór an t-aschur a shannadh chuig an ócáid ​​chéanna (onClick) – output1Click .
Curtha ar an bhFoirm príomh 24 réimsí painéil chineál TPanel do gach clár a reáchtáil RM .
Beidh siad seo ar na cnaipí a lascadh an RoomManager reatha (ie , ar / as gléasanna leictreacha an ghrúpa le athrú ar an ionchur a thomhas de na tairseacha a úsáidtear le haghaidh rialú den sórt sin . teocht) .
Glaoch orainn iad a ” programX ” áit a bhfuil X an uimhir ar an gcnaipe .
Mar an gcéanna , aon ghá le leas a , toisc go mbeidh sé é a dhéanamh go huathoibríoch , leis an iarratas seo .
I gcás gach cnaipe , Ba chóir an clár a shannadh chuig an ócáid ​​chéanna (onClick) – program1Click .
Ar an bhfoirm is mó de lipéid text 16 cineálacha TLabel a thaispeáint go léir na torthaí tomhais de RoomManager (uimhriú Label1 go Label16) .
Gcaoi chéanna, ní mar atá sa chás thuas ní gá a imscaradh .
Féach ar an fhoirm deiridh don  bhfoirm a chruthú painéal rialú seomra
Initialization den bhfoirm:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
nós imeachta TForm1 . FormCreate (Seoltóir: TObject) ;
var alignx , buttonindex , as a chéile , colún , k , i: slánuimhir ;
tús a chur
GetComputerName ; / / Faigh an t-ainm ríomhaire nó painéal – Léann an
cosán: = getcurrentdir () ; / / Faigh an t-eolaire i bhfeidhm faoi láthair áitiúil cosán – Léann an t-eolaire ina bhfuil an clár
cosán: = stringreplace (cosán , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Faigh cosán eHouse t-iarratas
remotepath: = cosán ; / / An cosán céanna remoteaccess do inicialization – ag tús an cosán mapáilte le haghaidh an rochtain chéanna iargúlta
loadnames_rm ; Ainmneacha rialtóir / / Luchtaigh ehouse1
init_heat_temperature_names ; / / Tosaithe HeatManager ainmneacha
readethernetdevs ; / / Luchtaigh rialaitheoirí ainmneacha eHouse ethernet
i: = 1 ;
agus i < ; = Paramcount go / / argóint ar an líne orduithe a dhéanamh – próisis na n-orduithe
tús a chur
más féidir ( ‘ / X: ‘ , cás íochtair (ParamStr (i))) = 1 ansin / / painéal leithead – leithead an phainéil
form1 . Leithead: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
más féidir ( ‘ / S: ‘ , cás íochtair (ParamStr (i))) = 1 ansin / / painéal airde – airde an phainéil
form1 . airde: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
más féidir ( ‘ / R: ‘ , cás íochtair (ParamStr (i))) = 1 ansin ainm / / gléas (RoomManager) – RoomManger ainm
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
más féidir ( ‘ / A: ‘ , cás íochtair (ParamStr (i))) = 1 ansin seoladh / / gléas (RoomManager) – Seoladh RoomManager
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ / A: ‘ , ‘ ‘ , [Rfignorecase]))) ;
más féidir ( ‘ / P: ‘ , cás íochtair (ParamStr (i))) = 1 cosán ansin rochtain / / iargúlta – cosán cianrochtana
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (i) ;
deireadh ;
más rud é form1 . leithead < ; 100 form1 ansin . leithead: = 800 ; / / Má tá paraiméadair mícheart le haghaidh méid Leagann réamhshocraithe – mainneachtainí
más rud é form1 . airde < ; 100 form1 ansin . airde: = 600 ;
devicestoupdatestatus: = IntToStr (RM [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (RM [deviceindex] . adrl) ;
/ / Teorainn cuardach le haghaidh RoomManager stádas reatha / scagadh amach gléasanna eile
/ / Seiceáil do gléas pannel aonair do ÚSÁID theorannú
/ / Seiceáil ach an stádas LAP an RoomManager roghnaithe uaire níos lú agus eHouse freastalaí
outputbuttonnames (deviceindex) ; / / Túsaigh cnaipí agus ainmneacha lipéid – buataisí , cnaipí agus lipéid téacs
form1 . fotheideal: = ‘ Painéal Rialúcháin eHouse: ‘ + Rm [deviceindex] . devname ; / / Set fotheideal de na foirmeacha is mó de Ainm RoomManager – header Léiríonn ainm an RoomManager fhoirm
timer1 . Eatramh: = 3000 ; / Eatramh tasc / Set timthriallach i milleasoicindí
timer1 . Cumasaithe: dílse ; / / Tosaigh tascanna uathoibríoch (cothrom le dáta stádais
k: = 1 ;
buttonindex: = 0 ; / Cnaipe (infheicthe) / Reatha innéacs – an líon reatha na (dealraitheach)
as a chéile: = 0 ; Cnaipe / / Reatha i ndiaidh a chéile – roinnt de na príomh reatha sa líne reatha
/ / Colún: = 0 ;
alignx: = (form1 . clientWidth – (Sraitheanna) * (buttonwidth + Xspace)) div 2 ; / / Ionad cnaipí ar phainéal – láraithe cnaipí bloic
do i: = 0 go form1 . ComponentCount – 1 / / Aschur thus cnaipe uathoibríoch – go huathoibríoch chumrú an cnaipe Scoir
tosú / / do gach rud ar form1 – do gach gné den Form1
más rud é (form1 . Comhpháirteanna [i] Is TPanel) ansin / / má tá an réad TPanel (ár cnaipe) – má tá an TPanel cineál réada (cnaipe)
tús a chur
más rud é comparetext ((form1 . comhpháirteanna [i] mar TPanel) . ainm , ‘ aschur ‘ + IntToStr (k)) = 0 ansin / / má tá ainm éard (aschur)
tús a chur
as a chéile: = buttonindex mod (sraitheanna) ; / / Ríomh sraitheanna agus colúin innéacsanna – Ríomhann comhordanáidí an colún agus as a chéile
colún: = buttonindex div (sraitheanna) ;
más rud é fad (OutputNames [k – 1])> ; 0 ansin / Taispeánann / ach cnaipí ouput leis an ainm – ach léiríonn cnaipí leis an ainm
tús a chur
(Form1 . Comhpháirteanna [i] mar TPanel) . chlé: = alignx + chéile * (buttonwidth + Xspace) ; / / Ríomh possition ais X – Ríomhann a seasamh sa ais X
(Form1 . Comhpháirteanna [i] mar TPanel) . barr: = yoffsetouts + gcolún * (buttonheight + yspace) ; / / Ríomh an possition ais Y – Ríomhann a seasamh sa ais Y
(Form1 . Comhpháirteanna [i] mar TPanel) . leithead: = buttonwidth ; / / Set Buttons Leithead – Leithead na cnaipí
(Form1 . Comhpháirteanna [i] mar TPanel) . airde: = buttonheight ; / / Set Buttons Airde – Méid na cnaipí
(Form1 . comhpháirteanna [i] mar TPanel) . fotheideal: = Outputnames [k – 1] ; / Caption Button / Set – Leagann an téacs cnaipe
(Form1 . comhpháirteanna [i] mar TPanel) . Bevelinner: = bvRaised ;
(Form1 . comhpháirteanna [i] mar TPanel) . BevelOuter: = bvRaised ;
(Form1 . comhpháirteanna [i] mar TPanel) . cló . Méid: = fontsize ; / / Set Button Cló – Leagann an clómhéid an cnaipe
inc (buttonindex) ; / / Ar Aghaidh cnaipe feiceáil – féach ar an chéad cheann eile
deireadh
eile
tús a chur
(Form1 . comhpháirteanna [i] mar TPanel) . infheicthe: bréagach ; / / Nach bhfuil aon = ainm a thaispeáint cnaipe – eochracha a bhaint gan ainm
deireadh ;
inc (k) ; / / Cnaipe Ar Aghaidh – cnaipe seo chugainn
deireadh ;
deireadh ;
deireadh ;
/ / / / / / / / / / / / Na cnaipí céanna don chlár – Mar an gcéanna do na cnaipí ar chláir a sheoladh
buttonindex: = 0 ;
k: = 1 ;
do i: = 0 go form1 . ComponentCount – 1 a ghabhann le
tús a chur
más rud é (form1 . Comhpháirteanna [i] Is TPanel) ansin
tús a chur
más rud é comparetext ((form1 . comhpháirteanna [i] mar TPanel) . ainm , ‘ Clár ‘ + IntToStr (k)) = 0 ansin
tús a chur

as a chéile: = buttonindex mod (sraitheanna) ;
colún: = buttonindex div (sraitheanna) ;
más rud é fad (ProgramNames [k – 1])> ; 0 ansin
tús a chur
(Form1 . Comhpháirteanna [i] mar TPanel) . chlé: = alignx + chéile * (buttonwidth + Xspace) ;
(Form1 . Comhpháirteanna [i] mar TPanel) . barr: = yoffsetprograms + gcolún * (buttonheight + yspace) ;
(Form1 . Comhpháirteanna [i] mar TPanel) . leithead: = buttonwidth ;
(Form1 . Comhpháirteanna [i] mar TPanel) . airde: = buttonheight ;
(Form1 . comhpháirteanna [i] mar TPanel) . fotheideal: = Programnames [k – 1] ; / / Set cnaipí fotheideal cnaipe do chlár – Leagann an t-ainm de na cnaipí chláir
(Form1 . comhpháirteanna [i] mar TPanel) . Bevelinner: = bvRaised ;
(Form1 . comhpháirteanna [i] mar TPanel) . BevelOuter: = bvRaised ;
(Form1 . comhpháirteanna [i] mar TPanel) . cló . Méid: = fontsize ;
inc (buttonindex) ;
deireadh
eile
tús a chur
(Form1 . comhpháirteanna [i] mar TPanel) . infheicthe: bréagach ;
deireadh ;

inc (k) ;
deireadh ;
deireadh ;
deireadh ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (form1 . clientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) div 2 ;
/ / / / / / / Analogicaly do Lipéid – Mar an gcéanna , an lipéad
do i: = 0 go form1 . ComponentCount – 1 a ghabhann le
tús a chur
más rud é (form1 . Comhpháirteanna [i] Is TLabel) ansin
tús a chur
más rud é comparetext ((form1 . comhpháirteanna [i] mar TLabel) . ainm , ‘ lipéad ‘ + IntToStr (k)) = 0 ansin
tús a chur

as a chéile: = buttonindex mod (labelrows) ;
colún: = buttonindex div (labelrows) ;
más rud é fad (LabelNames [k – 1])> ; 0 ansin / / má tá fad an téacs lipéad> ; ; 0 – má tá an cur síos
tús a chur
(Form1 . Comhpháirteanna [i] mar TLabel) . chlé: = alignx + chéile * (labelwidth + labelresultsize + Xspace) ; / / X Ríomh suíomh
(Form1 . Comhpháirteanna [i] mar TLabel) . barr: = yoffsetlabel + gcolún * (labelheight + yspace) ; / / Ríomh an suíomh Y
(Form1 . Comhpháirteanna [i] mar TLabel) . leithead: = labelwidth ;
(Form1 . Comhpháirteanna [i] mar TLabel) . airde: = labelheight ;
(Form1 . comhpháirteanna [i] mar TLabel) . fotheideal: = LabelNames [k – 1] ; / / / Shannadh fotheidil lipéad – ceanntásca lipéid oiriúnacha
(Form1 . comhpháirteanna [i] mar TLabel) . cló . dath: = clwhite ; Dath réamhshocraithe / / Set do lipéad – Leagann an dath réamhshocraithe le haghaidh lipéid
más féidir ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0 ansin (form1 . comhpháirteanna [i] mar TLabel) . cló . dath: = clyellow ; Dath / / Set do thomhas éadrom – le haghaidh an tomhais soilsiú dath
más féidir ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0 ansin (form1 . comhpháirteanna [i] mar TLabel) . cló . dath: = Claque ; Tomhais dath / / Set le haghaidh faoin gcéad – dath ar an luach an leasa
más féidir ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0 ansin (form1 . comhpháirteanna [i] mar TLabel) . cló . dath: = clwhite ; / / Set dath do bhainistíocht teocht – le haghaidh luachanna dath teocht
(Form1 . comhpháirteanna [i] mar TLabel) . cló . Méid: = labelfontsize ; / Clómhéid / Set do lipéad – Leagann an clómhéid ar an lipéad téacs
inc (buttonindex) ; / / Lipéid le feiceáil Aghaidh – lipéad cosúil chugainn
deireadh
eile
tús a chur
(Form1 . comhpháirteanna [i] mar TLabel) . infheicthe: bréagach ; / / Folaigh lipéid téacs gan – lipéid i bhfolach gan textu
deireadh ;
inc (k) ; / / Lipéad Aghaidh – lipéad seo chugainn
deireadh ;
deireadh ;
deireadh ;
update_status ; / / Nuashonrú painéal do stádas gléas reatha ó logs – nuashonruithe ar stádas an tiománaí na comhaid a logáil isteach ó na eHouse freastalaí
deireadh ;
An toradh deiridh i ndiaidh uathoibríoch – cumraithe agus socrúcháin cnaipe ag an gclár agus a bhaint gnéithe thab (mura bhfuil tú ag iarraidh iad a bheith ar an bpainéal mar gheall ar na srianta ar na cearta rochtana nó úsáid an t-aschur) .
 An éifeacht deiridh an dáileadh uathoibríoch na n-eilimintí ar an bhFoirm
Léigh níos mó: Uathoibriú Baile – Rialaitheoirí eHouse
Uathoibriú Baile eHouse Monaróir Uathoibriú Baile