المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : 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


بالتوفيق ان شاء الله

djug
20-02-2009, 10:35 AM
السلام عليكم

إليكم هذه المحاولة

استعلمت الدالة CopyFileA الموجودة في kernel32.dll لنسخ الملف

الملف الناتج يسمى copy.exe

العمل المتبقي (لمن أراد أن يكمل)

ترك الحرية للمستخدم اختيار مكان و اسم الملف الناتج



يمكن أيضا التفكير في إمكانية نسخ الملف byte وراء byte للإنشاء الملف المنسوخ



و السلام عليكم

Goblin
20-02-2009, 01:51 PM
السلام عليكم و رحمة الله و بركاته

لقد طبقت الدرس السابع علي اله حاسبة بسيطة, لكنها غير مكتمله !

المشكلة اني **** ان يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال الDynamic Dll.

فماذا افعل ؟

@STRELiTZIA : اسف علي تاخري فى حل HomeWork #7.

TF6M
22-02-2009, 09:10 PM
****ا أن يكون الدي عملته هو المطلوب؟؟ .

ملاحظة : إستعملت سكين AlphaControls

Dr.MOT
26-02-2009, 10:47 AM
السلام عليكم ,,

حل التمرين كامل في المرفقات ( النقطة الأولى + الثانيه )

وشكرا جزيلا على التمرين

بالتوفيق

TF6M
26-02-2009, 11:33 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’)

والله اعلم
وهجرب دلوقتى