Software Development juhtpaneelidele ruumid Windows tahvelarvuti – Vorm

Home Automation eHouse .
Loo põhivormiks (paigutus tablett ekraan . Asetatakse peamine vorm 24 väljad TPanel paneelid kõikidele digitaalväljundite RM .
Need moodustavad nuppe, et lülitada välja RoomManager (või elektriliselt) .
Veel , värv sõltub riigi luges .
Sel põhjusel me kasutada standard nupud vms tüüpi TButton , sest neil ei ole võimalik muuta värvi .
Me nimetame neid ” outputX ” kus X on number väljund .
Ma ei vaja lähetatud , sest ta teeb seda automaatselt , Selle rakenduse . Iga nupp , väljund tuleb määrata sama sündmus (onClick) – output1Click .
Asetatakse peamine vorm 24 väljad TPanel tüüpi paneelid kõik programmid käivitada RM .
Need moodustavad nupud vahetada praeguse RoomManager (st , sisse / välja elektriseadmeid rühma, kuid muutunud mõõtmise sisendite piirmäärade kasutatakse, et reguleerida selliseid . temperatuur) .
Me nimetame neid ” programX ” kus X on number nupp .
Sarnaselt , pole vaja opereerida , sest ta teeb seda automaatselt , Selle rakenduse .
Iga nupp , Programmi tuleks määrata sama sündmus (onClick) – program1Click .
On põhivormiks tekst etiketid on 16 liiki TLabel kuvada kõik mõõtmistulemused RoomManager (nummerdatud Label1 et Label16) .
Samamoodi nagu eespool nimetatud juhul ei pea kasutama .
Vaata lõplik vorm  moodustada teha ruumi juhtpaneelil
Initialization kujul:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
menetluse TForm1 . FormCreate (Sender: TObject) ;
var alignx , buttonindex , rida , veerg , k , i: integer ;
algama
GetComputerName ; / / Siia nimi arvuti või paneeli – loeb
tee: = getcurrentdir () ; / / Siia praeguse kohaliku tee rakenduse kataloogi – loeb kataloog, kuhu programm
tee: = stringreplace (tee , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Siia teele taotluse eHouse
remotepath: = tee ; / / Sama teed RemoteAccess jaoks inicialization – alguses mahamärgitud rada sama kaugjuurdepääsu
loadnames_rm ; / / Load kontroller nimed ehouse1
init_heat_temperature_names ; / / Init HeatManager nimed
readethernetdevs ; / / Load kontrollerid Ethernet eHouse nimed
i: = 1 ;
kuigi ma < ; = Paramcount kuni / / täidab käsurea argument – töötleb käsurealt
algama
kui pos ( ‘ / X: ‘ , väiketähtedeks (ParamStr (i))) = 1, siis / / paneeli laius – laiusega paneel
Form1 . Laius: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
kui pos ( ‘ / S: ‘ , väiketähtedeks (ParamStr (i))) = 1, siis / / Paneeli kõrgus – kõrgus paneel
Form1 . kõrgus: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
kui pos ( ‘ / R: ‘ , väiketähtedeks (ParamStr (i))) = 1, siis / / seadme nimi (RoomManager) – RoomManger nimi
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
kui pos ( ‘ /: ‘ , väiketähtedeks (ParamStr (i))) = 1, siis / / seadme aadress (RoomManager) – RoomManager aadress
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ /: ‘ , ‘ ‘ , [Rfignorecase]))) ;
kui pos ( ‘ / P: ‘ , väiketähtedeks (ParamStr (i))) = 1, siis / / kaugjuurdepääsu tee – kaugjuurdepääsu tee
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
kasvata (i) ;
lõpp ;
kui Form1 . laius < ; 100 siis Form1 . laius: = 800 ; / / Kui vale parameetrid suurus seab vaikimisi – vaikeseaded
kui Form1 . kõrgus < ; 100 siis Form1 . kõrgus: = 600 ;
devicestoupdatestatus: = IntToStr (rm [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (rm [deviceindex] . ADRL) ;
/ / Limit otsivad hetkeseisu RoomManager / välja filtreerida teiste seadmetega
/ / Saate ühe seadme pannel piirang KASUTAMINE
/ / Kontrollib ainult staatuse valitud RoomManager korda vähem CPU ja server eHouse
outputbuttonnames (deviceindex) ; / / Vorminda nupud ja etiketid nimed – saapad , nupud ja tekst etiketid
Form1 . Caption: = ‘ eHouse Control Panel: ‘ + Rm [deviceindex] . devname ; / / Set caption peamisi vorme RoomManager nimi – Päis näitab nime kujul RoomManager
Timer 1 . Intervall: = 3000 ; / / Set tsükliline ülesanne intervall millisekundites
Timer 1 . Lubatud: = true ; / / Start automaatne ülesanded (olekuteabeuuendus
k: = 1 ;
buttonindex: = 0 ; / / Praegune nupp (nähtav) indeks – praegune arv (näiline)
rida: = 0 ; / / Praegune nuppu reas – mitmed praegused võtme aktiivses reas
/ / Veerg: = 0 ;
alignx: = (Form1 . clientWidth – (Ridu) * (buttonwidth + Xspace)) Div 2 ; / / Center nuppude paneel – tsentreerimine plokid nupud
for i: = 0 kuni Form1 . ComponentCount – 1 / / väljund nuppu automaathäälestust – automaatselt konfigureerida Exit nupp
algab / / iga objekti kohta Form1 – kõikide osade jaoks Form1
if (Form1 . Komponendid [i] on TPanel) siis / / kui objekt on TPanel (meie nuppu) – kui objekti tüüp TPanel (nupp)
algama
kui comparetext ((Form1 . komponente [i] nagu TPanel) . nimi , ‘ väljund ‘ + IntToStr (k)) = 0, siis / / kui nimi koosneda (väljund)
algama
rida: = buttonindex mod (read) ; / / Arvutada ridade ja veergude indeksid – arvutab koordinaadid veerus ja reas
veerg: = buttonindex div (read) ;
kui pikkus (OutputNames [k – 1])> ; 0, siis / / näitab ainult väljundisse nupud nimi – näitab ainult nupud nimi
algama
(Form1 . Komponendid [i] nagu TPanel) . Vasakult: = alignx + rida * (buttonwidth + Xspace) ; / / Arvutab X telje positsioon – arvutab asukoha X-teljel
(Form1 . Komponendid [i] nagu TPanel) . top: = yoffsetouts + veerg * (buttonheight + yspace) ; / / Arvutatakse Y telje positsioon – arvutab asukoha Y-teljel
(Form1 . Komponendid [i] nagu TPanel) . laius: = buttonwidth ; / / Set laiusega nupud – Laius nupud
(Form1 . Komponendid [i] nagu TPanel) . kõrgus: = buttonheight ; / / Set nupud Kõrgus – Summa nupud
(Form1 . komponente [i] nagu TPanel) . Caption: = Outputnames [k – 1] ; / / SET Caption – seab nupu tekst
(Form1 . komponente [i] nagu TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponente [i] nagu TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponente [i] nagu TPanel) . font . Suurus: = fontsize ; / / Set Fondi suurus Button – seab kirjasuurus nuppu
kasvata (buttonindex) ; / / Järgmine nupp nähtav – näha järgmist
lõpp
teine
algama
(Form1 . komponente [i] nagu TPanel) . nähtav: = false ; / / Ei nimi = ei näita nupp – eemalda võtmed ilma nimeta
lõpp ;
kasvata (k) ; / / Järgmine nupp – Järgmine nupp
lõpp ;
lõpp ;
lõpp ;
/ / / / / / / / / / / / Sama nupud programmi – Sama ka nupud käivitada programme
buttonindex: = 0 ;
k: = 1 ;
for i: = 0 kuni Form1 . ComponentCount – 1
algama
if (Form1 . Komponendid [i] on TPanel), siis
algama
kui comparetext ((Form1 . komponente [i] nagu TPanel) . nimi , ‘ programm ‘ + IntToStr (k)) = 0, siis
algama

rida: = buttonindex mod (read) ;
veerg: = buttonindex div (read) ;
kui pikkus (ProgramNames [k – 1])> ; 0, siis
algama
(Form1 . Komponendid [i] nagu TPanel) . Vasakult: = alignx + rida * (buttonwidth + Xspace) ;
(Form1 . Komponendid [i] nagu TPanel) . top: = yoffsetprograms + veerg * (buttonheight + yspace) ;
(Form1 . Komponendid [i] nagu TPanel) . laius: = buttonwidth ;
(Form1 . Komponendid [i] nagu TPanel) . kõrgus: = buttonheight ;
(Form1 . komponente [i] nagu TPanel) . Caption: = Programnames [k – 1] ; / / Set nupu pealkiri nupud programmi – määrab programmi nime nupud
(Form1 . komponente [i] nagu TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponente [i] nagu TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponente [i] nagu TPanel) . font . Suurus: = fontsize ;
kasvata (buttonindex) ;
lõpp
teine
algama
(Form1 . komponente [i] nagu TPanel) . nähtav: = false ;
lõpp ;

kasvata (k) ;
lõpp ;
lõpp ;
lõpp ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . clientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) Div 2 ;
/ / / / / / / Analogicaly siltide – Sarnaselt , Valmistaja
for i: = 0 kuni Form1 . ComponentCount – 1
algama
if (Form1 . Komponendid [i] on TLabel), siis
algama
kui comparetext ((Form1 . komponente [i] nagu TLabel) . nimi , ‘ silt ‘ + IntToStr (k)) = 0, siis
algama

rida: = buttonindex mod (labelrows) ;
veerg: = buttonindex div (labelrows) ;
kui pikkus (LabelNames [k – 1])> ; 0, siis / / kui pikkus sildi tekst> ; ; 0 – kui kirjeldus on
algama
(Form1 . Komponendid [i] nagu TLabel) . Vasakult: = alignx + rida * (labelwidth + labelresultsize + Xspace) ; / / Arvutab X asukohta
(Form1 . Komponendid [i] nagu TLabel) . top: = yoffsetlabel + veerg * (labelheight + yspace) ; / / Arvutatakse Y asukohta
(Form1 . Komponendid [i] nagu TLabel) . laius: = labelwidth ;
(Form1 . Komponendid [i] nagu TLabel) . kõrgus: = labelheight ;
(Form1 . komponente [i] nagu TLabel) . Caption: = LabelNames [k – 1] ; / / / Määra etikett tekste – päised sobivad etiketid
(Form1 . komponente [i] nagu TLabel) . font . värv: = clwhite ; / / Set vaikevärv etikett – seab vaikevärv sildid
kui pos ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0, siis (Form1 . komponente [i] nagu TLabel) . font . värv: = clyellow ; / / Set värvi valguse mõõtmine – mõõtmiseks värvi valgustus
kui pos ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0, siis (Form1 . komponente [i] nagu TLabel) . font . värv: = Claque ; / / Set värvi mõõtmise protsenti – värvi väärtus huvi
kui pos ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0, siis (Form1 . komponente [i] nagu TLabel) . font . värv: = clwhite ; / / Set värvi temperatuuri juhtimine – värvi temperatuur väärtused
(Form1 . komponente [i] nagu TLabel) . font . Suurus: = labelfontsize ; / / Set kirjasuuruse etikett – seab kirjasuurus tekstipealdise
kasvata (buttonindex) ; / / Järgmine nähtav silt – silt ilmub
lõpp
teine
algama
(Form1 . komponente [i] nagu TLabel) . nähtav: = false ; / / Peida tekst etiketid ilma – peida sildid ilma textu
lõpp ;
kasvata (k) ; / / Järgmine silt – Järgmise etikett
lõpp ;
lõpp ;
lõpp ;
update_status ; / / Update paneel praegune seade staatuse logisid – uuendused staatuse juht logifailide server eHouse
lõpp ;
Lõpptulemus pärast auto – konfigureeritud ja nuppude asetusega programmi ja eemaldage ütlemata elemendid (kui sa ei taha, et neil paneeli tõttu õiguste piiramine juurdepääsu või kasutada toodangu) .
 Lõplik mõju automaatse levitamise elemendid vorm
Loe lisaks: Home Automation – Kontrollerid eHouse
Home Automation eHouse Home Automation Tootja