الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماذا تعنى هذه الكلمات فى لغه دلفى

مغلق
بدأه Siner في 3 سبتمبر 2005 · 5 رد · 842 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كل هذه الكلمات لا اعرف فى ماذا تستخدم وماذا تعنى:

Stdcall, cdecl ,halt ,{$I+} ,{$I-}, st$R *.DFM, {$IMAGEBASE $10000000}

وهناك سؤال اخر : :rolleyes:

هل الدلفى به خاصيه AutoComplete لأى داله او كلمه محجوزة مثل VB وكيف اعرف الدوال البسيطة مثل دوال التعامل مع السلاسل النصيه ودوال التعامل مع الملفات.. وهكذا لأنى كلما حاولت كتابه اى اسم داله لا اعرف ان افرق هل هو معروف لدى الدلفى ام لا :blink:

ارجو الصبر على لآنى مازلت اتعلم هذه اللغه :)

تم تعديل هذه المشاركة بواسطة Siner في 3 سبتمبر 2005 في 16:53

لآ إله إلا الله محمد رسول الله

#2

ولماذا لا يمكن ان اشغل اكتر من مشروع فى نفس الوقت ايضا

وهل هناك قاموس لتلك الوظائف او الدوال او التوابع الموجوده بالدلفى لأعرف صيغه كل منها ومتى استخدمها

وشكرا

لآ إله إلا الله محمد رسول الله

#3

stdcall تستخدم لتصريح عن التوابع المصدرة من dll

لاستخدام التقنية القياسية لتمرير الوسائط في win32 بدلا من تقنية تمرير الوسائط المحسنة register

(التقنية الافتراضية لدلفي ) والاستثناء الوحيد في حال كنا نريد استخدام هذه المكتبات من تطبيقات دلفي فقط

{$i+} {$i-} يستخدم لتوجيه المترجم لفحص اخطاء الادخال والاخراج

*.Dfm ملف نصي يحوي على خصائص المكونات الموضوعة على الفورم والتي تغيرت أثناء التصميم

اما إذا كان قصدك {$R *.dfm} فهو توجيه للمترجم لاستخدام ملف Dfm لتوصيف المكونات

cdecl عرف يستخدمه عندما نريد استخدام توابع مشتركة مع مكتبات كتبت في C أو ++C لانه الافتراضي في مترجمات C و ++C

halt اعتقد انه يستخدم لايقاف تحميل الوحدات في الذاكرة وتحميل الوح

Ctrl + Space من أجل AutoComplete

لااعرف إن كان هناك قاموس لتلك الوظائف ولكن أغلبها موصف في تعليمات دلفي

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#4

مرحبا بكم جميعا :D .

بالنسبة لجميع هذه المصطلحات فهي معرفة في ملف المساعدة لديلفي, معظمها لا يهم المستعمل المبتدىء في ديلفي.

ماعدا ما يسمى ب Function Call Convention.

وهي طريقة استدعاء الدوال والإجراءات في البرنامج التطبيقي .

سنعطي نظرة مبسطة فقط لهذه المفاهيم في استدعاء الدوال. و هي

  • convention Pascal
  • convention Register
  • convention Stdcall
  • convention Cdecl
  • convention Safecall

هذه الموجهات تهتم ب ثلاث نقاط و هي

-ترتيب الباراميترات بالذاكرة أثناء تمريرها للدالة.

- من سيتكلف بتحرير الذاكرة المحجوزة للباراميترات.

- هل هذه الباراميترات ستمر عبر سجلات المعالج Processor Registers أم لا و بأية ترتيب.

*pascal: هي طريقة اإستدعاء الإفتراضية في ديلفي إذا ما عطل موجه التحسين لكود. تقوم هذه الموجهة بتمرير البارامترات للدالة عبر المكدسة Stack بنفس الترتيب عند تعريف الدالة. هذه الموجة لا تستعمل ووجودها في دلفي فقط للتوافقية مع الإصدارات السابقة.

*Register: على عكس الموجهة السابقة فالباراميترات تمرر لسجلات المعالج إن أمكن ذلك والسجلات المستعملة على التوالي في هذا الترتيب هي: EAX و EDX و ECX. إذا كانت الدالة تملك أكثر من ثلاث بابراميترات ف الباقي يمرر في المكدسة وفق نفس النهج للإستدعاء Pascal.

pascal و Register تتكلف الدالة بتحرير الذاكلرة المحجوزة بالمكدس.

* stdcall: هي الطريقة المستعملة افتراضيا من ويندوز في كل ملفات DLL و طبعا حتى في دوال API. هذا ما جعلها الطريقة الإفتراضية من بين هذه الطرق الخمسة. وهي الطريقة التي يجب استعمالها عند تعريف الدوال في DLL بديلفي إذا أردت أن تستخدم ملفاتك DLl في مشاريع أخرى مبنية بلغات غير ديلفي.

هذه الطريقة تعتمد على المكدسة في تمرير الباراميترات وفق الترتيب العكسي في تعريف الدالة عكس Pascal التي تحترم نفس الترتيب.على الدالة أن تحرر الذاكرة المحجوزة.

* cdecl: هي الطريقة المعتمدة في المصرفات C و ++C. تعتبرها ديلفي أقل كفاءة من StdCall.. فهي على غرار stdcall تممر الباراميترات بنفس الطريقة العكسية غير ان تحرير الذاكرة سيكون من أختصاص البرنامج التطبيقي و ليس للدالة.

*safecall: مثلها مثل StdCall غير أنها تستعمل في مناهج Automation لأنها تمرر معلومات حول Errors COM interprocessus عبر Notifications

..

عملية استرجاع باراميترات الخروج تعتمد على نفس خاصية برارميترات الدخول عند التمرير في كل من هذه الطرق.

لكي نتفصل في شرح الطرق يجب أن نخوض أكثر في البرمجة ب ASM..

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#5

إضافة صغيرة

الملف التفيذي EXE عندما ينفذه الوندوز

{$IMAGEBASE $10000000

أوامر برنامجك في الذاكرة تبدأ من الموقع 10000000

عادة تكون {$IMAGEBASE $00400000} عند عدم كتابتها

بإختصار تخبر ويندوز أين يضع برنامجك في الذاكرة

تم تعديل هذه المشاركة بواسطة DeltaAziz في 4 سبتمبر 2005 في 18:00

d4baa0.gif
#6

السلام عليكم

والله انا عاجز لكم جميعا عن الشكر لآنكم فعلا وضحتم لى اشياء كثيرة ومفيده فعلا

الف شكر لجميع اخوانى

لآ إله إلا الله محمد رسول الله

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…