لطالما بحث عن طريقة لادراج لغة باتش سكربت لبناء وتصميم واجهات المستخدم كما توجد في لغات مختلفة في ال بداية حاول تقليد بيئة الدوت نت وحاولت ادراج ملفات xml لكن هذه الطريقة تحتاج الى وقت ولغة باش سكربت ليست مصممة لبناء تطبيقات سطح المكتب من زاوية اخرى سنشهد ان باتش سكربت لها الاحقية في التحكم بجميع خصائص نظام التشغيل الويندوز ويمكن دمج هذه اللغة داخل تطبيقات سطح المكتب ، لكن هذا غير كافي لي كمبرمج لذا قررت البحث اكثر في استغلال ميزاتها في الوصول الى جميع التطبيقات المتواجدة داخل هذا النظام خلال بحثي اثار اهتمامي تطبيق ياتي مع الويندوز وهو hta هذا التطبيق الرائع له ميزة جميلة جدا تسمح له بانشاء تطبيقات سطح المكتب مستخدما html4 ويمكن ادراج javascript وايضا css2 وvbscript اي كل ما يحتاج الية المصمم لبناء تطبيق على نواة IE
دورة لتعلم html
في البداية سنقوم بانشاء ملف فارغ بامتداد bat وسيكون هذا الملف اشبه بالسرفر او المحرك الاساسي لتطبيقنا مستخدمين محرر النصوص او نوت باد ++ او اي محرر نصوص اخر يدعم الاكتمال الذاتي كان افضل هذه الطريقة تشبه الى حد ما طريقة الكترون لبناء تطبيقات سطح المكتب لمختلف انظمة التشغيل
دورة لتعلم الكترون
فقط هذه المرة سنقوم بانشاء ملف يحتوي على كود التشغيل وكود التصميم معا في داخل ملف bat قم بوضع الكود التالي
<!-- :: Batch section
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
الكود يعني انك تشغل التطبيق mshta.exe وتقوم بادخال عليه كود معين في حلقة مفرغة لكل عنصر ان صح التعبير بالعربي
لتعلم باتش سكربت هناك دورة قد تفيدكم هناك مشكلة في الصوت والعيب في يوتوب
الان سنظيف كود خاص بالتصميم داخل ملف باتش سكربت وسيكون الكود كالتالي
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
الكود يحتوي على فانكشن وثلاث ازرار كل زر يقوم باغلاق البرنامج
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
يمكن ايضا اخي الكريم كتابة هذه الفانكشن بvbscript ان كنت تجد هذه اللغة افضل للاستعمال
function closeHTA(reply)
set fso = new createObject("Scripting.FileSystemObject")
fso.GetStandardStream(1).WriteLine(reply)
window.close()
end function
set fso = new createObject("Scripting.FileSystemObject")
fso.GetStandardStream(1).WriteLine(reply)
window.close()
end function
يمكنك ايضا اخي الكريم من تعلم هذه السلسلة الخاصة بvbscript
وفي الاخير ليكون الملف بالكامل كالتالي :
<!-- :: Batch section
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
هناك العديد من النماذج والطرق لاستخدام هذه اللغة بشكل سلسل وافضل ستجد في هذه القناة العديد من الدروس الخاصة بالبرمجة
THE DEVELOPER
هذه مجمعتين لتعلم البرمجة وتطويرها
https://www.facebook.com/groups/devearab/
https://www.facebook.com/groups/jinus/
https://www.facebook.com/groups/devearab/
https://www.facebook.com/groups/jinus/
0 تعليقات