[frame="10 98"]












عمل برنامج لضغط الملفات وتشفيرها شبيه ببرنامج Winzip

درس عمل برنامج ضغط الملفات
**********
سوف نشرح اليوم درس جميل وهو عمل برنامج لضغط الملفات وتشفيرها شبيه ببرنامج Winzip وغيره من برامج ضغط الملفات فالطريقة سهله وممتعه وتريد قليل من التركز فقط .
**********
نبدأ باسم الله
أولاً نفتح مشروع جديد ونختار خلفية أولون علي اختيارك :
**********
سوف نشرح اليوم درس جميل وهو عمل برنامج لضغط الملفات وتشفيرها شبيه ببرنامج Winzip وغيره من برامج ضغط الملفات فالطريقة سهله وممتعه وتريد قليل من التركز فقط .
**********
نبدأ باسم الله
أولاً نفتح مشروع جديد ونختار خلفية أولون علي اختيارك :

ثانياً نقوم بإدراج 4 أزرار ونسميها كالتالي:
1- إضافة ملف
2- إضافة مجلد
3- حــــــــــذف
4- حــذف الكل
1- إضافة ملف
2- إضافة مجلد
3- حــــــــــذف
4- حــذف الكل

1- ( إضافة ملف)
دبل كلك علي زر إضافة ملف ثم ندرج الطود التالي:
دبل كلك علي زر إضافة ملف ثم ندرج الطود التالي:
كود:
-- Display file browse dialog fAdd = Dialog.FileBrowse(true, "Add File...", _DesktopFolder, "All Files (*.*)|*.*|", "", "", false, true); if fAdd[1] ~= "CANCEL" then -- Split file path sFile = String.SplitPath(fAdd[1]); -- Add file to listbox ListBox.AddItem("ListBox1", sFile.Filename..sFile.Extension, fAdd[1]); end

2- (إضافة مجلد)
دبل كلك علي زر إضافة مجلد ثم ندرج الكود التالي:
دبل كلك علي زر إضافة مجلد ثم ندرج الكود التالي:
كود:
-- Display folder browse dialog folAdd = Dialog.FolderBrowse("Add File(s) From Folder", _DesktopFolder); if folAdd ~= "CANCEL" then -- Set file type(s) tbSearchFiles = {"*.*"}; for index,type in tbSearchFiles do -- Collect file(s) in folder file = File.Find(folAdd, type, false, false, nil); if file ~= nil and file ~="CANCEL" then for j,file_path in file do -- Split file path sFile = String.SplitPath(file_path); -- Add file to listbox ListBox.AddItem("ListBox1", sFile.Filename..sFile.Extension, file_path); end end end end

3- ( حــــذف)
دبل كلك علي زر حذف ثم ندرج الكود التالي:
دبل كلك علي زر حذف ثم ندرج الكود التالي:
كود:
lSelected = ListBox.GetSelected("ListBox1"); if (lSelected) then -- Remove selected from listbox ListBox.DeleteItem("ListBox1", lSelected[1]); end

4- ( حذف الكل)
دبل كلك زر حذف الكل ثم ندرج الكود التالي:
دبل كلك زر حذف الكل ثم ندرج الكود التالي:
كود:
-- Delete all items from listbox ListBox.DeleteItem("ListBox1", -1);

ثم نقوم بإضافة عنصرين :
: ListBox وهو لعرض أسماء الملفات بداخله
Input: لتشفير الملف المضغوط بباسوورد كالتالي :
: ListBox وهو لعرض أسماء الملفات بداخله
Input: لتشفير الملف المضغوط بباسوورد كالتالي :

ثم نختار من Project ثم Global Functions كما في الصور التالية:

ونقوم بإدراج الكود التالي:
كود:
function QueryAllowProjectClose() --this function will be called when the program is exiting confirmation = Dialog.Message("رسالة تأكيد?", "هل تود بالفعل الخروج من البرنامج?", MB_YESNO, MB_ICONEXCLAMATION, MB_DEFBUTTON1); if confirmation == 6 then -- The yes button was pressed, allow program to close (return true) return true; else -- The yes button was NOT pressed, do NOT allow the program to close (Return false) return false; end end

وأخيراً وليس أخراً نقوم بإدراج زر ونسميه (إبدا الضغط) وشرحة هو لضغط الملف بالإضافة لخروج نافذة تحديد مكان حفظ الملف بعد الضغط
دبل كلك الزر ثم ندرج الكود التالي:
دبل كلك الزر ثم ندرج الكود التالي:
كود:
-- Count listbox items (file(s) to add to zip) tFiles = ListBox.GetCount("ListBox1"); if tFiles == 0 then -- Display error message Dialog.Message("خطأ", "لا يوجد ملف في مريع القائمة الرجاء الضغط على اضافة ملف .", MB_OK, MB_ICONINFORMATION); else -- Display save zip file as... dialog sDia = Dialog.FileBrowse(false, "Save Zip File As...", _DesktopFolder, "Zip File (*.zip)|*.zip|", "", "zip", false, false); if sDia[1] ~= "" and sDia[1] ~= "CANCEL" then -- Create a table containing files to add to zip tb_Files = {} for i=1, tFiles do tFile = ListBox.GetItemData("ListBox1", i); Table.Insert(tb_Files, i, tFile); end -- Show status dialog StatusDlg.Show(MB_ICONNONE, false); -- Add files to zip Zip.Add(sDia[1], tb_Files, true, Input.GetText("Input1"), ComboBox.GetItemData("ComboBox1", ComboBox.GetSelected("ComboBox1")), nil, false); -- Hide status dialog StatusDlg.Hide(); end end

وهكذا يصبح الشكل النهائي

وفي النهاية نضغط F5 للمعاينة والتجربة
وللإفادة الأكثر تم رفع الملف المشروح عليه مفتوح المصدر
للتحميل
للتحميل
وفي النهاية ارجوا ان اكون قد وفت في الشرح
فإن صح فمن الله وإن خطأ فمن نفسي والشيطان
ولا تنسونا من صالح دعائكم
فإن صح فمن الله وإن خطأ فمن نفسي والشيطان
ولا تنسونا من صالح دعائكم
مرفق الشرح في كتاب الكترونى
[/frame]
تعليق