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

مؤشرات الدوال والإجراءات (الدوال والإجراءات الديناميكية)

مغلق
بدأه mostaphadj في 5 يونيو 2007 · 6 رد · 848 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
bachirk كتب:
البرنامج لدي يستدعي unit اسمها u1

تحوي الدالة a

function a:longint;
begin
a:=1000;

اريد ان انفذ البرنامج

واثناء تنفيذ البرنامج اغير 1000 في الدالة واجعلها 100

اريد ان يأخذ البرنامج هذا التغيير في الحسبان بدون اعادة تشغيله

أنا لم أفهم سؤلك جيدا الأخ BachirK مع ذلك قد أتمكن من الإجابة :

يوجد في دلفي ما يسما بمؤشرات الدوال والإجراءات أو الدوال والإجراءات الديناميكية "لست متأكد من اسمها العلمي وأرجو التصحيح لمن لديه العلم بذلك" هي عبارة دوال وإجراءات يمكن تغيير عملها ديناميكيا بعد تنفيذ البرنامج كلما أتت الحاجة دون اللجوء إلى التغيير في المصدر وإعادة تجميع البرنامج. وفكرتها هي التصريح بمؤشرات بحيث تسمح بتغيير التأشير على دوال أو إجراءات مختلفة تمت برمجتها مسبقا " هنا أقول مسبقا أي قبل تنفيذ البرنامج".

كيف يتم ذلك ؟ .

- أولا قم بتشكيل نمط خاص من نمط دالة أو إجراء كما يلي:


TFunction=Function:Integer; // نمط دالة
أو
// TProcedure=Procedure;// نمط إجراء
أو
// TProcedure=Procedure(Sender: TObject);// يمكن تحديد البارامترات
// مع العلم يجب إسناد دالة لها نفس البارامترات
Type

بعد ذلك قم بالتصريح بمتغير جديد من النمط الذي أنشأته سابقا كما يلي:


VarFunction:TFunction;
Var

#2

اذا كان الهدف من الفكرة هو نفس الهدف الذي اقصده وهو مسابقة خوارزميات بدالفي

لقد وجدت حل اخر وهو

عند كتابة الدالة في برنامج المسابقة يقوم البرنامج بنسخ الدالة الى ملف باسكال

حيث ملف البسكال معد مسبقا لتلقي المعطيات من ملف txt ويعيد لنفس الملف النتائج

مثلا يكون لدينا ثلاث ملفات

برنامج دالفي الذي تكتب فيه الدالة بعد ما تقرأ السؤال

ملف pas تنقل اليه الدالة من برنامج دالفي

ولكي يقوم دالفي من التحقق من صحة الدالة يقوم بتحويل ملف pas الى ملف تنفيذي

بعد ان نقل له الدالة

هذا الملف pas معد مسبقا لتلقي المعطيات في ملف text

ويقوم بارجاع النتائج في نفس الملف txt

ثم يقوم دالفي بوضع المعطيات في ملف txt

ثم ينفذ الملف التنفيذي الناتج عن ملف الباسكال

ثم يرى النتائج التي وضعها في txt

تم تعديل هذه المشاركة بواسطة bachirk في 5 يونيو 2007 في 14:53

#3
bachirk كتب:
اذا كان الهدف من الفكرة هو نفس الهدف الذي اقصده وهو مسابقة خوارزميات بدالفي

عن اي مسابقة تتحدث ؟ تقصد موقع الاخ ايوب ؟

d4baa0.gif
#4
اقتباس
عن اي مسابقة تتحدث ؟ تقصد موقع الاخ ايوب ؟

موقع الاخ ايوب رائع وانا مشارك فيه

لكن اردت مسابقة كبيرة في موقع الاخ ايوب التصحيح يتم من الاعضاء ربما انت واحد منهم

لكن تخيل ان المشتركين الف من يستطيع تصحيح الف خورزمية .

انا اقصد برنامج دالفي يجري مسابقة اتوماتكيا

اي انك تضع الاسئلة والتوقيت في قاعدة بيانات

وهو يقوم بكل شئ وحده مثل TOPCODER

حيث البرنامج يقوم بالتصحيح وطرح الاسئلة الخ حتى الاعلان على الفائز

#5
bachirk كتب:
لكن اردت مسابقة كبيرة في موقع الاخ ايوب التصحيح يتم من الاعضاء ربما انت واحد منهم

لكن تخيل ان المشتركين الف من يستطيع تصحيح الف خورزمية .

انا اقصد برنامج دالفي يجري مسابقة اتوماتكيا

ولما لم تقد هذا في سؤالك من قبل :lol:

هناك حلين

1

تبرمج Parser للغة الباسكال المستخدمة في دلفي

كمثال فقط، هناك من عمل ذلك باستخدام PHP

http://bero.0ok.de/blog/projects/php-pascal/

2

تستخدم حل جاهز، هناك محرك باسكال يسمى Pascal Script

http://www.remobjects.com/?ps

d4baa0.gif
#6

الاجانب لم يتركو لنا شئ نخترعه

#7
bachirk كتب:
الاجانب لم يتركو لنا شئ نخترعه

بل تركوا...

الفرق بيننا وبينهم اننا متكاسلين...

بالمناسبة تصفح موقع نفس الشخص ولاحظ انجازاته...

d4baa0.gif

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

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

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

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

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

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