Software għall-Iżvilupp għall-kmamar Bordijiet Kontroll għall-Windows Pillola – Formola

Awtomazzjoni Home eHouse .
Oħloq il-forma prinċipali (tqassim tal-iskrin pillola . Jitqiegħed fis-Formola prinċipali pannelli TPanel 24 oqsma għat-tipi kollha ta 'outputs diġitali RM .
Dawn jiffurmaw l-buttuni biex inbiddlu l RoomManager (jew elettriċi) .
Minbarra , il-kulur se jiddependi fuq l-istat tal-qara .
Għal din ir-raġuni aħna użati l-buttuni standard jew TButton tip simili , minħabba li ma jkollhom il-possibbiltà li jibdlu l-kulur .
Aħna jsejħulhom ” outputX ” fejn X huwa n-numru ta 'l-output .
I m'għandhomx bżonn jiġu skjerati , għaliex se tagħmel dan awtomatikament , din l-applikazzjoni . Għal kull buttuna , l-output għandu jiġi assenjat għall-istess avveniment (onclick) – output1Click .
Jitqiegħed fis-Formola prinċipali 24 oqsma pannelli tip TPanel għall-programmi kollha li jimxu RM .
Dawn jiffurmaw l-buttuni biex jaqilbu l RoomManager kurrenti (ie , on / off tagħmir elettriku tal-grupp ma 'bidla fl-inputs tal-kejl tal-limiti użati biex jirregolaw tali . temperatura) .
Aħna jsejħulhom ” programX ” fejn X huwa n-numru tal-buttuna .
Bl-istess mod , ebda ħtieġa biex jiġu skjerati , għaliex se tagħmel dan awtomatikament , din l-applikazzjoni .
Għal kull buttuna , il-programm għandu jiġi assenjat lill-istess avveniment (onclick) – program1Click .
Fuq il-forma prinċipali ta 'tikketti test huma 16 tipi TLabel għall-wiri-riżultati kollha tal-kejl ta' RoomManager (nnumerati Label1 sa Label16) .
Bl-istess mod bħal fil-każijiet ta 'hawn fuq m'għandhomx bżonn biex jiġu skjerati .
Ara l-forma finali għall-  jiffurmaw biex joħolqu pannell tal-kontroll tal-kamra
Inizjalizzazzjoni tal-formola:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
Proċedura TForm1 . FormCreate (Sender: TObject) ;
var alignx , buttonindex , ringiela , kolonna , k , i: numru sħiħ ;
tibda
GetComputerName ; / / Niżżel l-isem tal-kompjuter jew bord – jaqra l-
triq: = getcurrentdir () ; / / Niżżel l-kurrent direttorju lokali applikazzjoni triq – jaqra l-direttorju fejn il-programm
triq: = stringreplace (passaġġ , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Get triq ta 'eHouse applikazzjoni
remotepath: = passaġġ ; / / Il-passaġġ istess għall remoteaccess għall inicialization – fil-bidu tal-passaġġ mapping għall-aċċess remot istess
loadnames_rm ; Ismijiet / / Tagħbija kontrollur ehouse1
init_heat_temperature_names ; / / Heatmanager Iniz ismijiet
readethernetdevs ; / / Tagħbija kontrolluri ismijiet eHouse ethernet
i: = 1 ;
filwaqt li i < ; = Paramcount għal / / iwettaq l-argument linja tal-kmand – proċessi tal-linja tal-kmand
tibda
jekk pos ( ‘ / X: ‘ , zghar (ParamStr (i))) = 1, imbagħad / / pannell wisa – wisa 'tal-panel
Form1 . Wisa ': = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
jekk pos ( ‘ / S: ‘ , zghar (ParamStr (i))) = 1, imbagħad / / pannell għoli – għoli tal-panel
Form1 . għoli: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
jekk pos ( ‘ / R: ‘ , zghar (ParamStr (i))) = 1, imbagħad isem / / mezz (RoomManager) – Isem RoomManger
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
jekk pos ( ‘ / A: ‘ , zghar (ParamStr (i))) = 1, imbagħad indirizz / / mezz (RoomManager) – Indirizz RoomManager
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ / A: ‘ , ‘ ‘ , [Rfignorecase]))) ;
jekk pos ( ‘ / P: ‘ , zghar (ParamStr (i))) = 1, imbagħad triq / / remoti aċċess – triq remoti aċċess
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (i) ;
aħħar ;
jekk Form1 . wisa < ; 100 allura Form1 . wisa ': = 800 ; / / Jekk parametri żbaljati għad-daqs settijiet default – nuqqasijiet
jekk Form1 . għoli < ; 100 allura Form1 . għoli: = 600 ;
devicestoupdatestatus: = IntToStr (rm [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (rm [deviceindex] . adrl) ;
/ / Limitu tiftix għal RoomManager istatus attwali / jiffiltraw apparati oħra
/ / Iċċekkja għal apparat pannel uniku għall-UTILIZZAZZJONI limitazzjoni
/ / Iċċekkja biss l-istatus tal-CPU drabi magħżula RoomManager inqas u eHouse server
outputbuttonnames (deviceindex) ; / / Initialize buttuni u ismijiet tikketti – boots , buttuni u tikketti test
Form1 . caption: = ‘ Control Panel eHouse: ‘ + Rm [deviceindex] . devname ; / / Set caption mill-forom prinċipali ta 'Isem RoomManager – header turi l-isem tal-RoomManager formola
timer1 . Intervall: = 3000 ; / / Set ċikliku kompitu intervall fl millisekondi
timer1 . Iffaċilitati: = vera ; / / Bidu kompiti awtomatiċi (aġġornament istatus
k: = 1 ;
buttonindex: = 0 ; / / Kurrenti buttuna (viżibbli) indiċi – in-numru attwali tal-(apparenti)
ringiela: = 0 ; Buttuna / / Kurrenti fir-ringiela – Numru tal-kodiċi attwali fil-linja attwali
/ / Kolonna: = 0 ;
alignx: = (Form1 . clientWidth – (Ringieli) * (buttonwidth + Xspace)) div 2 ; / / Center buttuni fuq panel – buttuni centering blokki
għall i: = 0 sa Form1 . ComponentCount – 1 / / Output setup buttuna awtomatiku – awtomatikament kkonfigurat l-buttuna Ħruġ
tibda / / għal kull oġġett fuq Form1 – għall-elementi kollha ta 'l-Form1
jekk (Form1 . Komponenti [i] hija TPanel) imbagħad / / jekk l-oġġett huwa TPanel (buttuna tagħna) – jekk it-TPanel tip oġġett (buttuna)
tibda
jekk comparetext ((Form1 . Komponenti [i] bħala TPanel) . Isem , ‘ output ‘ + IntToStr (k)) = 0 Imbagħad / / jekk isem jikkonsistu (output)
tibda
ringiela: = buttonindex mod (ringieli) ; / / Ikkalkula ringieli u indiċi kolonni – tikkalkula l-koordinati tal-kolonna u ringiela
Kolonna: = buttonindex div (ringieli) ;
jekk (tul OutputNames [k – 1])> ; 0 allura / / biss juri buttuni ouput mal-isem – turi biss buttuni bl-isem
tibda
(Form1 . Komponenti [i] bħala TPanel) . xellug: = alignx + ringiela * (buttonwidth + Xspace) ; / / POŻIZZJONI Ikkalkula assi X – tikkalkula l-pożizzjoni tiegħu fl-assi X
(Form1 . Komponenti [i] bħala TPanel) . top: = yoffsetouts + kolonna * (buttonheight + yspace) ; / / Ikkalkula l-POŻIZZJONI assi Y – tikkalkula l-pożizzjoni tiegħu fl-assi Y
(Form1 . Komponenti [i] bħala TPanel) . wisa ': = buttonwidth ; / / Set Buttuni Wisa – Wisa 'tal-buttuni
(Form1 . Komponenti [i] bħala TPanel) . għoli: = buttonheight ; / / Set Buttuni-għoli – L-ammont ta 'buttuni
(Form1 . Komponenti [i] bħala TPanel) . caption: = Outputnames [k – 1] ; / Caption / Set Button – tistabbilixxi t-test buttuna
(Form1 . Komponenti [i] bħala TPanel) . Bevelinner: = bvRaised ;
(Form1 . Komponenti [i] bħala TPanel) . BevelOuter: = bvRaised ;
(Form1 . Komponenti [i] bħala TPanel) . font . Daqs: = fontsize ; / / Set Button Daqs Font – tistabbilixxi d-daqs tat-tipa għall-buttuna
inc (buttonindex) ; / / Buttuna li jmiss viżibbli – ara l-li jmiss
aħħar
inkella
tibda
(Form1 . Komponenti [i] bħala TPanel) . viżibbli: = foloz ; / / L-ebda = isem ma jurux buttuna – tneħħi ċwievet mingħajr isem
aħħar ;
inc (k) ; / / Li jmiss buttuna – jmiss buttuna
aħħar ;
aħħar ;
aħħar ;
/ / / / / / / / / / / / Il-buttuni istess għall-programm – Bl-istess mod għall-buttuni biex iniedu programmi
buttonindex: = 0 ;
k: = 1 ;
għall i: = 0 sa Form1 . ComponentCount – 1 sa
tibda
jekk (Form1 . Komponenti [i] hija TPanel) imbagħad
tibda
jekk comparetext ((Form1 . Komponenti [i] bħala TPanel) . Isem , ‘ programm ‘ + IntToStr (k)) = 0 Imbagħad
tibda

ringiela: = buttonindex mod (ringieli) ;
Kolonna: = buttonindex div (ringieli) ;
jekk (tul ProgramNames [k – 1])> ; 0 allura
tibda
(Form1 . Komponenti [i] bħala TPanel) . xellug: = alignx + ringiela * (buttonwidth + Xspace) ;
(Form1 . Komponenti [i] bħala TPanel) . top: = yoffsetprograms + kolonna * (buttonheight + yspace) ;
(Form1 . Komponenti [i] bħala TPanel) . wisa ': = buttonwidth ;
(Form1 . Komponenti [i] bħala TPanel) . għoli: = buttonheight ;
(Form1 . Komponenti [i] bħala TPanel) . caption: = Programnames [k – 1] ; Buttuna buttuni / / Set caption għall-programm – jistabbilixxi l-isem tal-buttuni tal-programm
(Form1 . Komponenti [i] bħala TPanel) . Bevelinner: = bvRaised ;
(Form1 . Komponenti [i] bħala TPanel) . BevelOuter: = bvRaised ;
(Form1 . Komponenti [i] bħala TPanel) . font . Daqs: = fontsize ;
inc (buttonindex) ;
aħħar
inkella
tibda
(Form1 . Komponenti [i] bħala TPanel) . viżibbli: = foloz ;
aħħar ;

inc (k) ;
aħħar ;
aħħar ;
aħħar ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . clientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) div 2 ;
/ / / / / / / Analogicaly għall Tikketti – Bl-istess mod , it-tikketta
għall i: = 0 sa Form1 . ComponentCount – 1 sa
tibda
jekk (Form1 . Komponenti [i] hija TLabel) imbagħad
tibda
jekk comparetext ((Form1 . Komponenti [i] bħala TLabel) . Isem , ‘ tikketta ‘ + IntToStr (k)) = 0 Imbagħad
tibda

ringiela: = buttonindex mod (labelrows) ;
Kolonna: = buttonindex div (labelrows) ;
jekk (tul LabelNames [k – 1])> ; 0 allura / / jekk it-tul ta 'test tikketta> ; ; 0 – jekk id-deskrizzjoni tkun
tibda
(Form1 . Komponenti [i] bħala TLabel) . xellug: = alignx + ringiela * (labelwidth + labelresultsize + Xspace) ; / / X lokazzjoni Ikkalkula
(Form1 . Komponenti [i] bħala TLabel) . top: = yoffsetlabel + kolonna * (labelheight + yspace) ; / / Ikkalkula l-post Y
(Form1 . Komponenti [i] bħala TLabel) . wisa ': = labelwidth ;
(Form1 . Komponenti [i] bħala TLabel) . għoli: = labelheight ;
(Form1 . Komponenti [i] bħala TLabel) . caption: = LabelNames [k – 1] ; / / / Jassenja captions tikketta – headers tikketti adattati
(Form1 . Komponenti [i] bħala TLabel) . font . kulur: = clwhite ; / / Set default kulur għall-tikketta – tistabbilixxi l-kulur default għal tikketti
jekk pos ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0 allura (Form1 . Komponenti [i] bħala TLabel) . font . kulur: = clyellow ; Kulur / / Set għall-kejl tad-dawl – għall-kejl ta 'dawl bil-kulur
jekk pos ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0 allura (Form1 . Komponenti [i] bħala TLabel) . font . kulur: = Claque ; / / Set kulur kejl għall-mija – kulur għall-valur ta 'interess
jekk pos ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0 allura (Form1 . Komponenti [i] bħala TLabel) . font . kulur: = clwhite ; / / Set kulur għall-ġestjoni tat-temperatura – għall-valuri tat-temperatura tal-kulur
(Form1 . Komponenti [i] bħala TLabel) . font . Daqs: = labelfontsize ; / / Set font daqs għat-tikketta – tistabbilixxi d-daqs tat-tipa għall-tikketta test
inc (buttonindex) ; / / Tikketta viżibbli jmiss – tikketta tidher jmiss
aħħar
inkella
tibda
(Form1 . Komponenti [i] bħala TLabel) . viżibbli: = foloz ; / / Hide tikketti test mingħajr – hide tikketti mingħajr textu
aħħar ;
inc (k) ; / / Li jmiss tikketta – jmiss tikketta
aħħar ;
aħħar ;
aħħar ;
update_status ; / / Aġġornament panel għall-istatus attwali mill-apparat zkuk – taġġorna l-istatus tas-sewwieq tal-log fajls mill-eHouse server
aħħar ;
Ir-riżultat aħħari wara auto – konfigurati u t-tqegħid buttuna mill-programm u neħħi l-elementi untold (jekk inti ma tridx li jkollhom fuq il-panel minħabba restrizzjonijiet fuq id-drittijiet ta 'aċċess jew l-użu ta' l-output) .
 L-effett finali tad-distribuzzjoni awtomatika ta 'elementi fuq il-Formola
Aqra iktar dwar dan: Awtomazzjoni Home – Kontrolluri eHouse
Awtomazzjoni Home eHouse Manifattur Awtomazzjoni Home