تطوير البرمجيات لوحات التحكم لغرف اللوحي ويندوز – شكل

أتمتة المنزل eHouse .
إنشاء النموذج الرئيسي (تخطيط من الشاشة اللوحية . وضعت في النموذج الرئيسي لوحات TPanel 24 حقل لجميع أنواع المخرجات الرقمية RM .
وسوف تشكل هذه الأزرار لتتحول RoomManager (أو الكهربائية) .
وبالإضافة إلى ذلك , وسوف تعتمد على لون حالة تلا .
لهذا السبب استخدمنا الأزرار القياسية أو ما شابه نوع TButton , لأنهم لم يكن لديك إمكانية لتغيير لون .
ونحن ندعو لهم ” outputX ” حيث X هو عدد الإخراج .
ولست بحاجة لنشرها , لأنها سوف تفعل ذلك تلقائيا , هذا التطبيق . لكل زر , يجب تعيين الإخراج إلى نفس الحدث (عند _ النقر) – output1Click .
وضعت في النموذج الرئيسي 24 حقل نوع لوحات TPanel لجميع البرامج لتشغيل RM .
وسوف تشكل هذه الأزرار لتبديل RoomManager الحالية (أي , تشغيل / إيقاف الأجهزة الكهربائية للفريق مع تغيير في المدخلات قياس عتبات تستخدم لتنظيم مثل هذه . درجة الحرارة) .
ونحن ندعو لهم ” programX ” حيث X هو عدد الزر .
وبالمثل , لا حاجة لنشر , لأنها سوف تفعل ذلك تلقائيا , هذا التطبيق .
لكل زر , وينبغي أن تعين البرنامج إلى الحدث نفسه (عند _ النقر) – program1Click .
في النموذج الرئيسي من تسميات نصية هي 16 نوعا TLabel لعرض جميع نتائج قياسات RoomManager (مرقمة Label1 إلى Label16) .
وبالمثل كما في الحالات المذكورة أعلاه لا تحتاج إلى نشر .
عرض الشكل النهائي لل  النموذج لإنشاء غرفة لوحة التحكم
التهيئة للنموذج:

/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
الإجراء TForm1 . FormCreate (المرسل: TObject) ;
فار alignx , buttonindex , صف , عمود , ك , الأول: صحيح ;
بدأ
GetComputerName ; / / الحصول على اسم الكمبيوتر أو لوحة – يقرأ
المسار: = getcurrentdir () ; / / الحصول على التطبيق الحالي المسار المحلي الدليل – يقرأ الدليل الذي برنامج
المسار: = stringreplace (مسار , ‘ \ بن ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / الحصول على مسار التطبيق eHouse
remotepath: = المسار ; / / نفس المسار لremoteaccess لinicialization – في بداية الطريق للوصول تعيين جهاز التحكم عن بعد نفسه
loadnames_rm ; أسماء تحكم / / تحميل ehouse1
init_heat_temperature_names ; / / التهيئة heatmanager أسماء
readethernetdevs ; / / تحميل وحدات تحكم إيثرنت أسماء eHouse
الأول: = 1 ;
بينما أنا < ; = Paramcount ل/ / أداء وسيطة سطر الأوامر – عمليات سطر الأوامر
بدأ
إذا نقاط البيع ( ‘ / X: ‘ , أحرف صغيرة (ParamStr (ط))) = 1 ثم / / لوحة العرض – عرض لوحة
form1 . عرض: = chk_int (stringreplace (ParamStr (ط) , ‘ / X: ‘ , ‘ ‘ , [Rfignorecase])) ;
إذا نقاط البيع ( ‘ / S: ‘ , أحرف صغيرة (ParamStr (ط))) = 1 ثم / / لوحة ارتفاع – ارتفاع لوحة
form1 . الطول: = chk_int (stringreplace (ParamStr (ط) , ‘ / S: ‘ , ‘ ‘ , [Rfignorecase])) ;
إذا نقاط البيع ( ‘ / R: ‘ , أحرف صغيرة (ParamStr (ط))) = 1 ثم اسم / / الجهاز (RoomManager) – RoomManger اسم
deviceindex: = RMDeviceIndexByName ((stringreplace (ParamStr (ط) , ‘ / R: ‘ , ‘ ‘ , [Rfignorecase]))) ;
إذا نقاط البيع ( ‘ / A: ‘ , أحرف صغيرة (ParamStr (ط))) = 1 ثم عنوان / / الجهاز (RoomManager) – عنوان RoomManager
deviceindex: = (get_index_rm (stringreplace (ParamStr (ط) , ‘ / A: ‘ , ‘ ‘ , [Rfignorecase]))) ;
إذا نقاط البيع ( ‘ / P: ‘ , أحرف صغيرة (ParamStr (ط))) = 1 ثم وصول مسار / / عن بعد – مسار الوصول البعيد
remotepath: = ((stringreplace (ParamStr (ط) , ‘ / P: ‘ , ‘ ‘ , [Rfignorecase]))) ;
المؤتمر الوطني العراقي (ط) ;
نهاية ;
إذا form1 . عرض < ; 100 form1 ثم . عرض: = 800 ; / / إذا المعلمات خاطئ لحجم مجموعات الافتراضي – الافتراضات
إذا form1 . ارتفاع < ; 100 form1 ثم . الطول: = 600 ;
devicestoupdatestatus: = جمل مركبة (RM [deviceindex] . Adrha) + ‘ – ‘ + جمل مركبة (RM [deviceindex] . adrl) ;
/ / قصر البحث عن RoomManager الوضع الحالي / تصفية الأجهزة الأخرى
/ / التحقق من وجود جهاز واحد للبانيل استغلال أراضي الحد
/ / التحقق فقط حالة CPU RoomManager مرات أقل مختارة وeHouse الخادم
outputbuttonnames (deviceindex) ; / / تهيئة الأزرار وأسماء العلامات – الأحذية , الأزرار والتسميات النصية
form1 . تعليق على الصورة: = ‘ eHouse لوحة التحكم: ‘ + رو [deviceindex] . devname ; / / مجموعة شرح من الأشكال الرئيسية للاسم RoomManager – رأس يظهر اسم RoomManager شكل
timer1 . الفاصل الزمني: = 3000 ; / مهمة دورية / مجموعة الفاصل الزمني بالميلي
timer1 . تمكين: = صحيح ; / / ابدأ المهام الآلي (تحديث الحالة
ك: = 1 ;
buttonindex: = 0 ; / / الزر الحالية (المرئية) مؤشر – العدد الحالي من (الظاهر)
الصف: = 0 ; / / زر في الصف الحالي – عدد من المفتاح الحالي في السطر الحالي
/ / عمود: = 0 ;
alignx: = (form1 . clientWidth – (صفوف) * (+ buttonwidth Xspace)) 2 DIV ; / / مركز أزرار على لوحة – تركز كتل أزرار
لأني: = 0 إلى Form1 . ComponentCount – 1 / / الإخراج الإعداد التلقائي الزر – تكوين تلقائيا على زر الخروج
تبدأ / / لكل كائن على Form1 – لجميع عناصر Form1
إذا كان (form1 . مكونات [أنا] هو TPanel) ثم / / إذا كان الكائن TPanel (زر لدينا) – إذا كان نوع الكائن TPanel (زر)
بدأ
إذا comparetext ((form1 . مكونات [أنا] كما TPanel) . اسم , ‘ إنتاج ‘ + جمل مركبة (ك)) = 0 ثم / / إذا كان اسم تتمثل هذه (الإخراج)
بدأ
الصف: = buttonindex وزارة الدفاع (صفوف) ; / / حساب الصفوف والأعمدة الفهارس – بحساب إحداثيات العمود والصف
عمود: = buttonindex DIV (صفوف) ;
إذا طول (OutputNames [ك – 1])> ; 0 ثم / / لا يظهر الا أزرار ouput مع اسم – لا يظهر الا أزرار مع اسم
بدأ
(Form1 . مكونات [أنا] كما TPanel) . اليسار: + = alignx الصف * (buttonwidth + Xspace) ; / / محور X حساب possition – بحساب موقعها في محور X
(Form1 . مكونات [أنا] كما TPanel) . الأعلى: = + yoffsetouts العمود * (buttonheight + yspace) ; / / حساب possition محور Y – يحسب موقفها في المحور Y
(Form1 . مكونات [أنا] كما TPanel) . عرض: = buttonwidth ; / / مجموعة أزرار العرض – عرض أزرار
(Form1 . مكونات [أنا] كما TPanel) . الطول: = buttonheight ; / / مجموعة أزرار الطول – كمية من الأزرار
(Form1 . مكونات [أنا] كما TPanel) . تعليق على الصورة: = Outputnames [ك – 1] ; / عنوان زر / مجموعة – يحدد نص الزر
(Form1 . مكونات [أنا] كما TPanel) . Bevelinner: = bvRaised ;
(Form1 . مكونات [أنا] كما TPanel) . BevelOuter: = bvRaised ;
(Form1 . مكونات [أنا] كما TPanel) . الخط . الحجم: حجم الخط = ; / / مجموعة الخط حجم زر – يحدد حجم الخط للزر
المؤتمر الوطني العراقي (buttonindex) ; / / الزر التالي مرئية – انظر التالي
نهاية
آخر
بدأ
(Form1 . مكونات [أنا] كما TPanel) . مرئي: = كاذبة ; / / لا = اسم لا تظهر الزر – إزالة مفاتيح بدون اسم
نهاية ;
المؤتمر الوطني العراقي (ك) ; / / زر التالي – زر التالي
نهاية ;
نهاية ;
نهاية ;
/ / / / / / / / / / / / أزرار نفس البرنامج لل – وبالمثل لأزرار لإطلاق برامج
buttonindex: = 0 ;
ك: = 1 ;
لأني: = 0 إلى Form1 . ComponentCount – 1 إلى
بدأ
إذا كان (form1 . مكونات [أنا] هو TPanel) ثم
بدأ
إذا comparetext ((form1 . مكونات [أنا] كما TPanel) . اسم , ‘ برنامج ‘ + جمل مركبة (ك)) = 0 ثم
بدأ

الصف: = buttonindex وزارة الدفاع (صفوف) ;
عمود: = buttonindex DIV (صفوف) ;
إذا طول (ProgramNames [ك – 1])> ; 0 ثم
بدأ
(Form1 . مكونات [أنا] كما TPanel) . اليسار: + = alignx الصف * (buttonwidth + Xspace) ;
(Form1 . مكونات [أنا] كما TPanel) . الأعلى: = + yoffsetprograms العمود * (buttonheight + yspace) ;
(Form1 . مكونات [أنا] كما TPanel) . عرض: = buttonwidth ;
(Form1 . مكونات [أنا] كما TPanel) . الطول: = buttonheight ;
(Form1 . مكونات [أنا] كما TPanel) . تعليق على الصورة: = Programnames [ك – 1] ; / / مجموعة أزرار زر شرح لبرنامج – تعيين اسم البرنامج من أزرار
(Form1 . مكونات [أنا] كما TPanel) . Bevelinner: = bvRaised ;
(Form1 . مكونات [أنا] كما TPanel) . BevelOuter: = bvRaised ;
(Form1 . مكونات [أنا] كما TPanel) . الخط . الحجم: حجم الخط = ;
المؤتمر الوطني العراقي (buttonindex) ;
نهاية
آخر
بدأ
(Form1 . مكونات [أنا] كما TPanel) . مرئي: = كاذبة ;
نهاية ;

المؤتمر الوطني العراقي (ك) ;
نهاية ;
نهاية ;
نهاية ;

ك: = 1 ;
buttonindex: = 0 ;
/ / Alignx: = (form1 . clientWidth – (Labelrows * (labelwidth + + labelresultsize Xspace))) 2 DIV ;
/ / / / / / / Analogicaly لتسميات – وبالمثل , التسمية
لأني: = 0 إلى Form1 . ComponentCount – 1 إلى
بدأ
إذا كان (form1 . مكونات [أنا] هو TLabel) ثم
بدأ
إذا comparetext ((form1 . مكونات [أنا] كما TLabel) . اسم , ‘ ملصق ‘ + جمل مركبة (ك)) = 0 ثم
بدأ

الصف: = buttonindex وزارة الدفاع (labelrows) ;
عمود: = buttonindex DIV (labelrows) ;
إذا طول (LabelNames [ك – 1])> ; 0 ثم / / إذا طول النص التسمية> ; ; 0 – إذا كان الوصف
بدأ
(Form1 . مكونات [أنا] كما TLabel) . اليسار: + = alignx الصف * (labelwidth + + labelresultsize Xspace) ; / / موقع حساب X
(Form1 . مكونات [أنا] كما TLabel) . الأعلى: = + yoffsetlabel العمود * (labelheight + yspace) ; / / حساب الموقع Y
(Form1 . مكونات [أنا] كما TLabel) . عرض: = labelwidth ;
(Form1 . مكونات [أنا] كما TLabel) . الطول: = labelheight ;
(Form1 . مكونات [أنا] كما TLabel) . تعليق على الصورة: = LabelNames [ك – 1] ; / / / تعيين التسمية التوضيحية – رؤوس تسميات مناسبة
(Form1 . مكونات [أنا] كما TLabel) . الخط . اللون: = clwhite ; / / مجموعة اللون الافتراضي لتسمية – يحدد اللون الافتراضي للتسميات
إذا نقاط البيع ( ‘ [ – % ] ‘ , LabelNames [ك – 1])> ; 0 ثم (form1 . مكونات [أنا] كما TLabel) . الخط . اللون: = clyellow ; / / تعيين الألوان لقياس الضوء – لقياس الإضاءة اللون
إذا نقاط البيع ( ‘ [ % ] ‘ , LabelNames [ك – 1])> ; 0 ثم (form1 . مكونات [أنا] كما TLabel) . الخط . اللون: = المصفقون المستأجرون ; / / مجموعة قياس الألوان لفي المئة – لون لقيمة الفائدة
إذا نقاط البيع ( ‘ [C] ‘ , LabelNames [ك – 1])> ; 0 ثم (form1 . مكونات [أنا] كما TLabel) . الخط . اللون: = clwhite ; / / تعيين الألوان لإدارة الحرارة – للقيم درجة حرارة اللون
(Form1 . مكونات [أنا] كما TLabel) . الخط . الحجم: = labelfontsize ; / حجم الخط / لتسمية مجموعة – يحدد حجم الخط المستخدم في تسمية النص
المؤتمر الوطني العراقي (buttonindex) ; / / تسمية مرئية التالي – ظهرت تسمية المقبل
نهاية
آخر
بدأ
(Form1 . مكونات [أنا] كما TLabel) . مرئي: = كاذبة ; / / إخفاء تسميات النص دون – إخفاء التسميات دون textu
نهاية ;
المؤتمر الوطني العراقي (ك) ; / / التسمية التالية – التسمية المقبل
نهاية ;
نهاية ;
نهاية ;
update_status ; / / تحديث لوحة للحصول على مركز الجهاز الحالي من سجلات – تحديثات حالة سائق ملفات السجل من خادم eHouse
نهاية ;
النتيجة النهائية بعد السيارات – تكوين والتنسيب زر في برنامج وإزالة عناصر لا حصر لها (إذا كنت لا تريد لهم على لوحة بسبب القيود المفروضة على حقوق الوصول أو استخدام الإخراج) .
 التأثير النهائي لتوزيع التلقائي للعناصر على نموذج
اقرأ المزيد: أتمتة المنزل – وحدات تحكم eHouse
أتمتة المنزل eHouse الصفحة الرئيسية أتمتة المصنع