delphi4arab منتديات دلفي للعرب

نسخة كاملة : HomeWork_07 تمرين تطبيقي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله
التميرن التطبيقي التابع للدرس رقم 7.

موضوع التمرين :
1- انجاز مثالين بسيطين حول طرق الربط : Static و Dynamic - لكم كل الخيار في برمجتها و يجب ان تكون مختلفة عن التي في الدرس فقط Big Grin
2- انجاز اضافة Plugin تقوم بنسخ الملف المحمل في هذه الاداة : AT4RE FastScanner


يمكنكم طرح اي استسفار و التعاون للوصول الي نتيجة صحيحة :p قبل يوم الاثنين القادم ان شاء الله.

---
رابط الأداة : http://www.at4re.com/f/showthread.php?tid=4842

المرفق يحتوي على ملف مصدري لتمكينكم من عمل الــ Plugin


بالتوفيق ان شاء الله
السلام عليكم

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

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

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

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

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



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



و السلام عليكم
السلام عليكم و رحمة الله و بركاته

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

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

فماذا افعل ؟

@STRELiTZIA : اسف علي تاخري فى حل HomeWork #7.
****ا أن يكون الدي عملته هو المطلوب؟؟ .

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

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

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

بالتوفيق
أولا في ما يخص التطبيق الأول كان يعمل على التحميل الديناميكي أما

هدا التطبيق نقوم بتحميل دالة blockinput من user32.dll التي تعمل
على إيقاف كل مداخل النظام :d
بسم الله الرحمن الرحيم
في المرفق حل التمرين بما يخص استعمال Plugin لـــ AT4RE FastScanner مع حماية الأوامر من الاستثناءات exceptions باستعمال try و finally و وضع بعض الفحوص الأساسية و إنشاء فورم Main و أخرى لعمل About.
---------

تعقيب على حلول الإخوة الأعضاء الكرام.

أخي djug :
- حل صحيح و عمل ممتاز بما يخص الــ Plugin

أخي Goblin :
إقتباس :يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال ال Dynamic Dll.
فماذا افعل


الاجابة على سؤالك :
تصحيح ملف المكتبة
PHP كود :
function AdditionOperation(a, b : integer): integer; stdcall;
begin
Result 
:= a + b ;
end; 

تصحيح الاستدعاء
PHP كود :
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 غير مهبول Smile
حل صحيح بما يخص التعامل مع المكتبة.... أين حل الــ Plugin ؟

اخي Dr MOT :
حل كامل و جيد أيضا.

------

إليكم سؤال دون أن تقوموا بالتجربة...
أين الصحيح في كتابة الاستعداء التالية للمكتبة ؟
PHP كود :
LoadLibrary(‘Test.dll’) 
او
PHP كود :
LoadLibrary(‘Test’) 
strelitzia كتب :
PHP كود :
loadlibrary(‘test.dll’) 
والله اعلم
وهجرب دلوقتى