Programmatūras izstrāde vadības paneļiem telpās Windows Tablet – Veidlapa

Mājas automatizācijas ehouse .
Izveidot galveno formu (izkārtojums tablešu ekrāna . Likts uz galveno formu 24 lauki TPanel paneļi visiem digitālās izejām RM veidiem .
Tie būs pogas, lai izrādīties RoomManager (vai elektriskais) .
Turklāt , krāsa būs atkarīga no stāvokļa nolasīšanas .
Šī iemesla dēļ mēs izmantojām standarta pogas vai līdzīga tipa TButton , jo viņiem nav iespēju mainīt krāsu .
Mēs tos saucam ” outputX ” kur X ir vairāki produkcijas .
Man nav nepieciešams jāizvieto , jo tas būs darīt to automātiski , Šis pieteikums . Katrai pogai , izejas jāpiešķir ar paša notikuma (onClick) – output1Click .
Likts uz galveno formu 24 lauki TPanel tipa paneļi visām programmām, lai palaistu RM .
Tie būs pogas komutācijas pašreizējo RoomManager (ti , ieslēgšanas / izslēgšanas elektriskās ierīces no grupas ar izmaiņām mērīšanas ieejām sliekšņu izmanto, lai reglamentētu šādu . temperatūra) .
Mēs tos saucam ” programX ” kur X ir skaitlis no pogas .
Vienādi , Nav nepieciešams izvietot , jo tas būs darīt to automātiski , Šis pieteikums .
Katrai pogai , programma būtu piešķirts to pašu notikumu (onClick) – program1Click .
Uz galvenā formā teksta etiķetes ir 16 veidi TLabel lai parādītu visus mērījumu rezultātus par RoomManager (numurētas Label1 līdz Label16) .
Līdzīgi kā iepriekš minētajos gadījumos, nav nepieciešams izvietot .
Apskatīt galīgo formu  forma, lai izveidotu telpas kontroles paneli
Inicializācijas formā:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
procedūra TForm1 . FormCreate (Sender: TObject) ;
var alignx , buttonindex , rinda , sleja , k , I: skaitlim ;
sākt
GetComputerName ; / / Get vārdu datora vai paneli – lasījuši
ceļš: = getcurrentdir () ; / / Get pašreizējo vietējo ceļu pieteikumu direktoriju – skan direktoriju, kurā programma
ceļš: = stringreplace (ceļš , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Get ceļu pieteikuma ehouse
remotepath: = ceļš ; / / Pats ceļš uz Remoteaccess par inicialization – gada sākumā ceļu kartēšana pašu attālo piekļuvi
loadnames_rm ; / / Load kontrolieris vārdi ehouse1
init_heat_temperature_names ; / / Init HeatManager vārdi
readethernetdevs ; / / Load kontrolieri ethernet ehouse nosaukumi
i: = 1 ;
kamēr es < ; = Paramcount uz / / veikt komandrindas argumentu – apstrādā komandrindas
sākt
ja POS ( ‘ / X: ‘ , mazo (ParamStr (i))) = 1, tad / / paneļu platums – platums paneļa
Form1 . Platums: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
ja POS ( ‘ / S: ‘ , mazo (ParamStr (i))) = 1, tad / / paneļu augstums – augstums no paneļa
Form1 . augstums: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
ja POS ( ‘ / R: ‘ , mazo (ParamStr (i))) = 1, tad / / ierīces nosaukums (RoomManager) – RoomManger nosaukums
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
ja POS ( ‘ /: ‘ , mazo (ParamStr (i))) = 1, tad / / ierīces adresi (RoomManager) – RoomManager adrese
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ /: ‘ , ‘ ‘ , [Rfignorecase]))) ;
ja POS ( ‘ / P: ‘ , mazo (ParamStr (i))) = 1, tad / / attālās piekļuves ceļš – attālās piekļuves ceļš
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
Inc (i) ;
beigas ;
ja Form1 . platums < ; 100 Pēc tam Form1 . platums: = 800 ; / / Ja nepareizi parametri izmēra komplekti noklusējumu – noklusējumus
ja Form1 . augstums < ; 100 Pēc tam Form1 . augstums: = 600 ;
devicestoupdatestatus: = IntToStr (RM [deviceindex] . Adrha) + ‘ – ‘ + IntToStr (RM [deviceindex] . adrl) ;
/ / Limits meklējot pašreizējo statusu RoomManager / izfiltrēt citas ierīces
/ / Pārbaudiet vienā ierīcē pannel par noilguma IZMANTOŠANA
/ / Pārbaudiet tikai par izvēlēto RoomManager reizes mazāk CPU statusu un servera ehouse
outputbuttonnames (deviceindex) ; / / Inicializ pogas un etiķetes nosaukumu – zābaki , pogas un teksta etiķetes
Form1 . paraksts: = ‘ ehouse Control Panel: ‘ + Rm [deviceindex] . devname ; / / Set parakstu no galvenajiem veidiem RoomManager Vārds – galvene rāda nosaukums veidlapas RoomManager
timer1 . Intervāls: = 3000 ; / / Set ciklisks uzdevums intervāls milisekundēs
timer1 . Enabled: = patiess ; / / Start automātisko uzdevumu (statusa atjauninājumu
k: = 1 ;
buttonindex: = 0 ; / / Pašreizējais poga (redzams) indekss – pašreizējais skaits (šķietamais)
rinda: = 0 ; / / Pašreizējais pogu rindā – numurs kārtējā atslēgas pašreizējā rindā
/ / Kolonna: = 0 ;
alignx: = (Form1 . clientWidth – (Rindas) * (buttonwidth + Xspace)) div 2 ; / / Centrs pogas panelī – centrēšanas bloki pogas
par i: = 0 līdz Form1 . ComponentCount – 1 / / Izejas poga automātiska iestatīšana – automātiski konfigurēt pogu Iziet
begin / / katram objektam uz Form1 – par visiem Form1 elementiem
ja (Form1 . Komponentes [i] ir TPanel), tad / / ja objekts ir TPanel (mūsu poga) – ja objekts veids TPanel (poga)
sākt
ja comparetext ((Form1 . komponentes [i] kā TPanel) . nosaukums , ‘ izvade ‘ + IntToStr (k)) = 0, tad / / ja nosaukums sastāv (izejas)
sākt
rinda: = buttonindex MOD (rindas) ; / / Aprēķina rindas un kolonnas indeksu – aprēķina koordinātes kolonnu un rindu
aile: = buttonindex div (rindas) ;
ja garums (OutputNames [k – 1])> ; 0, tad / / parāda tikai ouput pogas ar nosaukumu – tikai parāda pogas ar nosaukumu
sākt
(Form1 . Komponentes [i] kā TPanel) . kreisās: = alignx + rinda * (buttonwidth + Xspace) ; / / Aprēķināt X ass spējīga – aprēķina savu nostāju X asi
(Form1 . Komponentes [i] kā TPanel) . Top: = yoffsetouts + kolonna * (buttonheight + yspace) ; / / Aprēķina Y ass spējīga – aprēķina savu nostāju šajā Y asi
(Form1 . Komponentes [i] kā TPanel) . platums: = buttonwidth ; / / Set platums Pogas – Platums no pogām
(Form1 . Komponentes [i] kā TPanel) . augstums: = buttonheight ; / / Set Pogas Augstums – Daudzums pogām
(Form1 . komponentes [i] kā TPanel) . paraksts: = Outputnames [k – 1] ; / / Set Poga Paraksts – nosaka pogas tekstu
(Form1 . komponentes [i] kā TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponentes [i] kā TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponentes [i] kā TPanel) . fonts . Izmērs: = teksta lielumu ; / / Set Fonta lielums Pogas – nosaka burtu lielumu pogas
Inc (buttonindex) ; / / Next pogas redzama – skat nākamo
beigas
cits
sākt
(Form1 . komponentes [i] kā TPanel) . redzamas: = false ; / / No name = nerādīt poga – noņemt atslēgas bez nosaukuma
beigas ;
Inc (k) ; / / Next pogas – Nākamais poga
beigas ;
beigas ;
beigas ;
/ / / / / / / / / / / / Paši taustiņi programmu – Līdzīgi pogas uzsākt programmas
buttonindex: = 0 ;
k: = 1 ;
par i: = 0 līdz Form1 . ComponentCount – 1
sākt
ja (Form1 . Komponentes [i] ir TPanel) tad
sākt
ja comparetext ((Form1 . komponentes [i] kā TPanel) . nosaukums , ‘ programma ‘ + IntToStr (k)) = 0, tad
sākt

rinda: = buttonindex MOD (rindas) ;
aile: = buttonindex div (rindas) ;
ja garums (ProgramNames [k – 1])> ; 0, tad
sākt
(Form1 . Komponentes [i] kā TPanel) . kreisās: = alignx + rinda * (buttonwidth + Xspace) ;
(Form1 . Komponentes [i] kā TPanel) . Top: = yoffsetprograms + kolonna * (buttonheight + yspace) ;
(Form1 . Komponentes [i] kā TPanel) . platums: = buttonwidth ;
(Form1 . Komponentes [i] kā TPanel) . augstums: = buttonheight ;
(Form1 . komponentes [i] kā TPanel) . paraksts: = Programnames [k – 1] ; / / Set pogu posteņa pogas programmai – nosaka programmas nosaukums pogām
(Form1 . komponentes [i] kā TPanel) . Bevelinner: = bvRaised ;
(Form1 . komponentes [i] kā TPanel) . BevelOuter: = bvRaised ;
(Form1 . komponentes [i] kā TPanel) . fonts . Izmērs: = teksta lielumu ;
Inc (buttonindex) ;
beigas
cits
sākt
(Form1 . komponentes [i] kā TPanel) . redzamas: = false ;
beigas ;

Inc (k) ;
beigas ;
beigas ;
beigas ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . clientWidth – (Labelrows * (labelwidth + labelresultsize + Xspace))) div 2 ;
/ / / / / / / Analogicaly uzlīmēm – Vienādi , etiķete
par i: = 0 līdz Form1 . ComponentCount – 1
sākt
ja (Form1 . Komponentes [i] ir TLabel), tad
sākt
ja comparetext ((Form1 . komponentes [i] kā TLabel) . nosaukums , ‘ etiķete ‘ + IntToStr (k)) = 0, tad
sākt

rinda: = buttonindex MOD (labelrows) ;
aile: = buttonindex div (labelrows) ;
ja garums (LabelNames [k – 1])> ; 0, tad / / ja garums etiķetes tekstu> ; ; 0 – ja apraksts ir
sākt
(Form1 . Komponentes [i] kā TLabel) . kreisās: = alignx + rinda * (labelwidth + labelresultsize + Xspace) ; / / Aprēķināt X vieta
(Form1 . Komponentes [i] kā TLabel) . Top: = yoffsetlabel + kolonna * (labelheight + yspace) ; / / Aprēķina Y vietu
(Form1 . Komponentes [i] kā TLabel) . platums: = labelwidth ;
(Form1 . Komponentes [i] kā TLabel) . augstums: = labelheight ;
(Form1 . komponentes [i] kā TLabel) . paraksts: = LabelNames [k – 1] ; / / / Piešķirt uzlīmju parakstus – virsraksti piemērotas etiķetes
(Form1 . komponentes [i] kā TLabel) . fonts . krāsa: = clwhite ; / / Set noklusējuma krāsa etiķetes – uzstāda noklusēto krāsu uzlīmēm
ja POS ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0, tad (Form1 . komponentes [i] kā TLabel) . fonts . krāsa: = clyellow ; / / Set krāsu gaismas mērīšanai – mērījumiem krāsu apgaismojums
ja POS ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0, tad (Form1 . komponentes [i] kā TLabel) . fonts . krāsa: = Claque ; / / Set krāsu mērījumi procentiem – krāsu vērtības procentu
ja POS ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0, tad (Form1 . komponentes [i] kā TLabel) . fonts . krāsa: = clwhite ; / / Set krāsu temperatūras vadību – krāsu temperatūras vērtībām
(Form1 . komponentes [i] kā TLabel) . fonts . Izmērs: = labelfontsize ; / / Set fonta izmērs etiķetes – nosaka burtu lielumu teksta etiķetes
Inc (buttonindex) ; / / Tālāk redzama etiķete – etiķete parādās nākamais
beigas
cits
sākt
(Form1 . komponentes [i] kā TLabel) . redzamas: = false ; / / Paslēpt teksta etiķetes bez – slēpt etiķetes bez textu
beigas ;
Inc (k) ; / / Nākamais etiķete – Nākamais etiķete
beigas ;
beigas ;
beigas ;
update_status ; / / Update panelis pašreizējo ierīces statusu no baļķiem – atjaunina statuss vadītāja log failus no servera ehouse
beigas ;
Gala rezultāts pēc auto – konfigurēts un pogu izvietojums ar programmu un noņemt neminēts elementus (ja jūs nevēlaties tos būt uz paneļa to ierobežojumu dēļ saistībā ar piekļuvi tiesībām vai izmantot produkcijas) .
 Galīgais efekts no automātiskās sadales elementu uz veidlapā
Lasīt vairāk: Mājas automatizācijas – Kontrolieri ehouse
Mājas automatizācijas ehouse Mājas automatizācijas Ražotājs