Phát triển phần mềm kiểm soát phòng Panels cho Windows Tablet – Mẫu

Home Automation eHouse .
Tạo hình thức chính (bố trí của màn hình máy tính bảng . Đặt trên Form chính tấm TPanel 24 cánh đồng cho tất cả các loại của các kết quả đầu ra kỹ thuật số RM .
Những điều này sẽ tạo thành các nút để chuyển RoomManager (hoặc điện) .
Ngoài ra , màu sắc sẽ phụ thuộc vào trạng thái của đọc .
Vì lý do này, chúng tôi sử dụng các nút tiêu chuẩn hoặc loại tương tự TButton , bởi vì họ không có khả năng thay đổi màu sắc .
Chúng tôi gọi họ ” outputX ” trong đó X là số lượng đầu ra .
Tôi không cần phải được triển khai , bởi vì nó sẽ tự động làm điều đó , ứng dụng này . Đối với mỗi nút , đầu ra phải được giao cho cùng một sự kiện (onClick) – output1Click .
Đặt trên Form chính 24 cánh đồng TPanel tấm kiểu cho tất cả các chương trình để chạy RM .
Đây sẽ hình thành các nút để chuyển đổi RoomManager hiện tại (tức , bật / tắt các thiết bị điện của nhóm với một sự thay đổi trong các yếu tố đầu vào đo các ngưỡng được sử dụng để điều chỉnh như vậy . nhiệt độ) .
Chúng tôi gọi họ ” programX ” trong đó X là số của các nút .
Tương tự như vậy , không có nhu cầu triển khai , bởi vì nó sẽ tự động làm điều đó , ứng dụng này .
Đối với mỗi nút , chương trình này nên được giao cho cùng một sự kiện (onClick) – program1Click .
Hình thức chính của nhãn văn bản 16 loại TLabel để hiển thị tất cả các kết quả của các phép đo của RoomManager (số Label1 Label16) .
Tương tự như trong các trường hợp trên không cần phải triển khai .
Xem các hình thức cuối cùng cho  hình thành để tạo ra bảng điều khiển phòng
Khởi tạo các hình thức:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
thủ tục TForm1 . FormCreate (Tên người gửi: TObject) ;
var alignx , buttonindex , hàng , cột , k , i: số nguyên ;
bắt đầu
GetComputerName ; / / Lấy tên của máy tính hoặc bảng điều khiển – đọc
đường dẫn: = getcurrentdir () ; / / Lấy đường dẫn thư mục ứng dụng hiện tại địa phương – đọc các thư mục mà chương trình
đường dẫn: = stringreplace (con đường , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Lấy đường dẫn của eHouse ứng dụng
remotepath: = con đường ; / / Cùng một con đường cho RemoteAccess cho inicialization – vào lúc bắt đầu của con đường ánh xạ cho cùng một truy cập từ xa
loadnames_rm ; / / Load bộ điều khiển tên ehouse1
init_heat_temperature_names ; / / Init heatmanager tên
readethernetdevs ; / / Load bộ điều khiển ethernet tên eHouse
i: = 1 ;
trong khi i < ; = Paramcount / / thực hiện đối số dòng lệnh – xử lý dòng lệnh
bắt đầu
nếu pos ( ‘ / X: ‘ , chữ thường (ParamStr (i))) = 1 sau đó / / bảng chiều rộng – chiều rộng của bảng điều khiển
Form1 . Chiều rộng: = chk_int (stringreplace (ParamStr (i) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
nếu pos ( ‘ / S: ‘ , chữ thường (ParamStr (i))) = 1 sau đó / / bảng điều khiển chiều cao – chiều cao của bảng điều khiển
Form1 . chiều cao: = chk_int (stringreplace (ParamStr (i) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
nếu pos ( ‘ / R: ‘ , chữ thường (ParamStr (i))) = 1 sau đó / / tên thiết bị (RoomManager) – RoomManger tên
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (i) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
nếu pos ( ‘ / A: ‘ , chữ thường (ParamStr (i))) = 1 sau đó địa chỉ / / thiết bị (RoomManager) – RoomManager địa chỉ
deviceindex: = (get_index_rm (stringreplace (ParamStr (i) , ‘ / A: ‘ , ‘ ‘ , [Rfignorecase]))) ;
nếu pos ( ‘ / P: ‘ , chữ thường (ParamStr (i))) = 1 sau đó / / đường dẫn truy cập từ xa – đường dẫn truy cập từ xa
remotepath: = ((stringreplace (ParamStr (i) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
inc (i) ;
cuối ;
nếu Form1 . chiều rộng < ; 100 sau đó Form1 . width: = 800 ; / / Nếu các thông số kích thước sai cho đặt mặc định – mặc định
nếu Form1 . chiều cao < ; 100 sau đó Form1 . chiều cao: = 600 ;
devicestoupdatestatus: = IntToStr (rm deviceindex . Adrha) + ‘ – ‘ + IntToStr (rm deviceindex . adrl) ;
/ / Giới hạn tìm kiếm RoomManager tình trạng hiện tại / lọc ra các thiết bị khác
/ / Kiểm tra cho thiết bị duy nhất cảm ứng giới hạn Utilisation
/ / Kiểm tra tình trạng của CPU RoomManager lựa chọn thời điểm ít và eHouse máy chủ
outputbuttonnames (deviceindex) ; / / Khởi tạo các nút và nhãn tên – khởi động , nút và nhãn văn bản
Form1 . chú thích: = ‘ eHouse Control Panel: ‘ + Rm [deviceindex] . devname ; / / Thiết lập tiêu đề của hình thức chính của Name RoomManager – tiêu đề cho thấy tên của RoomManager hình thức
timer1 . Interval: = 3000 ; / / Thiết lập chu kỳ nhiệm vụ khoảng thời gian trong mili giây
timer1 . Kích hoạt: = true ; / / Bắt đầu nhiệm vụ tự động (trạng thái cập nhật
k: = 1 ;
buttonindex: = 0 ; / / Chỉ số nút (nhìn thấy được) – số lượng hiện tại của (rõ ràng)
hàng: = 0 ; / / Nút liên tiếp – số lượng các khóa hiện tại trên dòng hiện tại
/ / Cột: = 0 ;
alignx: = (Form1 . clientWidth – (Rows) * (buttonwidth + Xspace)) div 2 ; / / Trung tâm nút trên bảng điều khiển – khối trung nút
i: = 0 đến Form1 . ComponentCount – 1 / / đầu ra nút tự động thiết lập – tự động cấu hình nút Exit
bắt đầu / / cho từng đối tượng trên Form1 – cho tất cả các yếu tố của Form1
if (Form1 . Các thành phần [i] là TPanel) sau đó / / nếu đối tượng là TPanel (nút bấm) – nếu các loại đối tượng TPanel (nút)
bắt đầu
nếu comparetext ((Form1 . các thành phần [i] như TPanel) . tên , ‘ đầu ra ‘ + IntToStr (k)) = 0 sau đó / / nếu tên bao gồm (đầu ra)
bắt đầu
hàng: = buttonindex mod (hàng) ; / / Tính toán các hàng và cột chỉ số – tính toán tọa độ của dòng và cột
cột: = buttonindex div (hàng) ;
nếu chiều dài (OutputNames [k – 1])> ; 0 sau đó / / Chỉ hiển thị nút ouput với tên – chỉ hiển thị các nút với tên
bắt đầu
(Form1 . Các thành phần [i] như TPanel) . bên trái: = alignx + hàng * (buttonwidth + Xspace) ; / / Tính toán possition trục X – tính toán vị trí của nó ở trên trục X
(Form1 . Các thành phần [i] như TPanel) . top: = yoffsetouts + cột (buttonheight + yspace) ; / / Tính toán possition trục Y – tính toán vị trí của nó ở trên trục Y
(Form1 . Các thành phần [i] như TPanel) . chiều rộng: = buttonwidth ; / / Set Buttons Rộng – Chiều rộng của các nút
(Form1 . Các thành phần [i] như TPanel) . chiều cao: = buttonheight ; / / Set Buttons Chiều Cao – Số lượng nút
(Form1 . các thành phần [i] như TPanel) . chú thích: = Outputnames [k – 1] ; / / Set Nút Caption – thiết lập các văn bản nút
(Form1 . các thành phần [i] như TPanel) . Bevelinner: = bvRaised ;
(Form1 . các thành phần [i] như TPanel) . BevelOuter: = bvRaised ;
(Form1 . các thành phần [i] như TPanel) . font chữ . Kích thước: = fontsize ; / / Set Font Size Nút – thiết lập kích thước phông chữ cho các nút
inc (buttonindex) ; / / Tiếp theo nút nhìn thấy được – xem tiếp theo
cuối
khác
bắt đầu
(Form1 . các thành phần [i] như TPanel) . có thể nhìn thấy: = false ; / / Không có = tên không hiển thị nút – loại bỏ các phím không có tên
cuối ;
inc (k) ; / / Tiếp theo nút – Tiếp theo là nút
cuối ;
cuối ;
cuối ;
/ / / / / / / / / / / / Cùng một nút cho chương trình – Tương tự như vậy cho các nút để khởi động các chương trình
buttonindex: = 0 ;
k: = 1 ;
i: = 0 đến Form1 . ComponentCount – 1 tới
bắt đầu
if (Form1 . Các thành phần [i] là TPanel) sau đó
bắt đầu
nếu comparetext ((Form1 . các thành phần [i] như TPanel) . tên , ‘ chương trình ‘ + IntToStr (k)) = 0 sau đó
bắt đầu

hàng: = buttonindex mod (hàng) ;
cột: = buttonindex div (hàng) ;
nếu chiều dài (ProgramNames [k – 1])> ; 0 sau đó
bắt đầu
(Form1 . Các thành phần [i] như TPanel) . bên trái: = alignx + hàng * (buttonwidth + Xspace) ;
(Form1 . Các thành phần [i] như TPanel) . top: = yoffsetprograms + cột (buttonheight + yspace) ;
(Form1 . Các thành phần [i] như TPanel) . chiều rộng: = buttonwidth ;
(Form1 . Các thành phần [i] như TPanel) . chiều cao: = buttonheight ;
(Form1 . các thành phần [i] như TPanel) . chú thích: = Programnames [k – 1] ; / / Set nút chú thích nút cho chương trình – đặt tên của các nút của chương trình
(Form1 . các thành phần [i] như TPanel) . Bevelinner: = bvRaised ;
(Form1 . các thành phần [i] như TPanel) . BevelOuter: = bvRaised ;
(Form1 . các thành phần [i] như TPanel) . font chữ . Kích thước: = fontsize ;
inc (buttonindex) ;
cuối
khác
bắt đầu
(Form1 . các thành phần [i] như TPanel) . có thể nhìn thấy: = false ;
cuối ;

inc (k) ;
cuối ;
cuối ;
cuối ;

k: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (Form1 . clientWidth – (Labelrows (labelwidth + labelresultsize + Xspace))) div 2 ;
/ / / / / / / Analogicaly cho nhãn – Tương tự như vậy , nhãn
i: = 0 đến Form1 . ComponentCount – 1 tới
bắt đầu
if (Form1 . Các thành phần [i] là TLabel) sau đó
bắt đầu
nếu comparetext ((Form1 . các thành phần [i] là TLabel) . tên , ‘ nhãn ‘ + IntToStr (k)) = 0 sau đó
bắt đầu

hàng: = buttonindex mod (labelrows) ;
cột: = buttonindex div (labelrows) ;
nếu chiều dài (LabelNames [k – 1])> ; 0 sau đó / / nếu chiều dài của văn bản nhãn> ; ; 0 – nếu mô tả là
bắt đầu
(Form1 . Các thành phần [i] là TLabel) . bên trái: = alignx + hàng * (labelwidth + labelresultsize + Xspace) ; / / Tính toán X vị trí
(Form1 . Các thành phần [i] là TLabel) . top: = yoffsetlabel + cột * (labelheight + yspace) ; / / Tính toán vị trí Y
(Form1 . Các thành phần [i] là TLabel) . chiều rộng: = labelwidth ;
(Form1 . Các thành phần [i] là TLabel) . chiều cao: = labelheight ;
(Form1 . các thành phần [i] là TLabel) . chú thích: = LabelNames [k – 1] ; / / / Gán chú thích nhãn – tiêu đề phù hợp nhãn
(Form1 . các thành phần [i] là TLabel) . font chữ . color: = clwhite ; / / Thiết lập mặc định màu sắc cho nhãn – thiết lập màu mặc định cho các nhãn
nếu pos ( ‘ [ – % ] ‘ , LabelNames [k – 1])> ; 0 sau đó (Form1 . các thành phần [i] là TLabel) . font chữ . color: = clyellow ; / / Thiết lập màu sắc để đo ánh sáng – để đo lường của ánh sáng màu
nếu pos ( ‘ [ % ] ‘ , LabelNames [k – 1])> ; 0 sau đó (Form1 . các thành phần [i] là TLabel) . font chữ . color: = Claque ; / / Set màu đo cho phần trăm – màu cho giá trị của lãi suất
nếu pos ( ‘ [C] ‘ , LabelNames [k – 1])> ; 0 sau đó (Form1 . các thành phần [i] là TLabel) . font chữ . color: = clwhite ; / / Thiết lập màu sắc để quản lý nhiệt độ – cho các giá trị nhiệt độ màu
(Form1 . các thành phần [i] là TLabel) . font chữ . Kích thước: = labelfontsize ; / / Thiết lập kích thước phông chữ cho nhãn – thiết lập kích thước phông chữ cho nhãn văn bản
inc (buttonindex) ; / / Tiếp theo có thể nhìn thấy nhãn – nhãn xuất hiện bên cạnh
cuối
khác
bắt đầu
(Form1 . các thành phần [i] là TLabel) . có thể nhìn thấy: = false ; / / Ẩn nhãn văn bản mà không cần – nhãn ẩn mà không textu
cuối ;
inc (k) ; / / Tiếp theo nhãn – tiếp theo nhãn
cuối ;
cuối ;
cuối ;
update_status ; / / Cập nhật bảng điều khiển cho tình trạng thiết bị hiện nay từ các bản ghi – cập nhật trạng thái của trình điều khiển của các tập tin đăng nhập từ máy chủ eHouse
cuối ;
Kết quả cuối cùng sau khi tự động – cấu hình và vị trí nút bởi chương trình và loại bỏ các yếu tố không kể xiết (nếu bạn không muốn họ có trên bảng điều khiển do những hạn chế về quyền truy cập hoặc sử dụng đầu ra) .
 Hiệu quả cuối cùng của tự động phân phối của các yếu tố trên Form
Đọc thêm: Home Automation – Bộ điều khiển eHouse
Home Automation eHouse Trang chủ Tự động hóa sản xuất