مشاهدة النسخة كاملة : HomeWork_07 تمرين تطبيقي
STRELiTZIA
16-02-2009, 11:59 AM
السلام عليكم و رحمة الله
التميرن التطبيقي التابع للدرس رقم 7.
موضوع التمرين :
1- انجاز مثالين بسيطين حول طرق الربط : Static و Dynamic - لكم كل الخيار في برمجتها و يجب ان تكون مختلفة عن التي في الدرس فقط :D
2- انجاز اضافة Plugin تقوم بنسخ الملف المحمل في هذه الاداة : AT4RE FastScanner
يمكنكم طرح اي استسفار و التعاون للوصول الي نتيجة صحيحة :p قبل يوم الاثنين القادم ان شاء الله.
---
رابط الأداة : http://www.at4re.com/f/showthread.php?t=4842
المرفق يحتوي على ملف مصدري لتمكينكم من عمل الــ Plugin
بالتوفيق ان شاء الله
السلام عليكم
إليكم هذه المحاولة
استعلمت الدالة CopyFileA الموجودة في kernel32.dll لنسخ الملف
الملف الناتج يسمى copy.exe
العمل المتبقي (لمن أراد أن يكمل)
ترك الحرية للمستخدم اختيار مكان و اسم الملف الناتج
يمكن أيضا التفكير في إمكانية نسخ الملف byte وراء byte للإنشاء الملف المنسوخ
و السلام عليكم
Goblin
20-02-2009, 01:51 PM
السلام عليكم و رحمة الله و بركاته
لقد طبقت الدرس السابع علي اله حاسبة بسيطة, لكنها غير مكتمله !
المشكلة اني **** ان يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال الDynamic Dll.
فماذا افعل ؟
@STRELiTZIA : اسف علي تاخري فى حل HomeWork #7.
****ا أن يكون الدي عملته هو المطلوب؟؟ .
ملاحظة : إستعملت سكين AlphaControls
Dr.MOT
26-02-2009, 10:47 AM
السلام عليكم ,,
حل التمرين كامل في المرفقات ( النقطة الأولى + الثانيه )
وشكرا جزيلا على التمرين
بالتوفيق
أولا في ما يخص التطبيق الأول كان يعمل على التحميل الديناميكي أما
هدا التطبيق نقوم بتحميل دالة blockinput من user32.dll التي تعمل
على إيقاف كل مداخل النظام :d
STRELiTZIA
26-02-2009, 05:49 PM
بسم الله الرحمن الرحيم
في المرفق حل التمرين بما يخص استعمال Plugin لـــ AT4RE FastScanner مع حماية الأوامر من الاستثناءات exceptions باستعمال try و finally و وضع بعض الفحوص الأساسية و إنشاء فورم Main و أخرى لعمل About.
---------
تعقيب على حلول الإخوة الأعضاء الكرام.
أخي djug :
- حل صحيح و عمل ممتاز بما يخص الــ Plugin
أخي Goblin :
يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال ال Dynamic Dll.
فماذا افعل
الاجابة على سؤالك :
تصحيح ملف المكتبة
function AdditionOperation(a, b : integer): integer; stdcall;
begin
Result := a + b ;
end;
تصحيح الاستدعاء
var ProcessHandle : THandle;
AdditionOperation : function (a, b : integer): integer; stdcall;
begin
if RadioButton1.Checked then
begin
ProcessHandle := Loadlibrary('SimpleDllCalc.dll');
@AdditionOperation := GetProcAddress(ProcessHandle,'AdditionOperation');
Edit3.Text := AdditionOperation(StrToInt(Edit1.Text), StrToInt(Edit2.Text));
FreeLibrary(ProcessHandle);
end ;
أخي tf6 غير مهبول :)
حل صحيح بما يخص التعامل مع المكتبة.... أين حل الــ Plugin ؟
اخي Dr MOT :
حل كامل و جيد أيضا.
------
إليكم سؤال دون أن تقوموا بالتجربة...
أين الصحيح في كتابة الاستعداء التالية للمكتبة ؟
LoadLibrary(‘Test.dll’)
او
LoadLibrary(‘Test’)
bo0oda
26-02-2009, 05:57 PM
loadlibrary(‘test.dll’)
والله اعلم
وهجرب دلوقتى
vBulletin® , Copyright ©2008-2012