delphi4arab منتديات دلفي للعرب
subroutine لاجراء او دالة او حقل - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : subroutine لاجراء او دالة او حقل (/showthread.php?tid=10969)



subroutine لاجراء او دالة او حقل - Delphi4Us - 23-07-2020

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



مشكلة عندما تريد ان تبحث بالانترنت عن معلومة ولا تجد او تعرف الكلمات الدلالية المناسبة لها لانك ستكون كمن يبحث عن سمكة بالمحيط
كنت اقوم ببرمجة قاعدة بيانات و مكون محرك قواعد بيانات خاص بي لادارة هذه البيانات .
البرنامج بسيط ولكن الفكرة نجحت من قراءة وكتابة وحذف واستعلام وفيه ترقيم تلقائي وحفظ بيانات نصية ورقمية ومنطقية
اردت البدء بفكرة وخطوة اولى ربما تتطور وتفتح خطوة اخرى لما بعدها
ومبدئيا هي قواعد بيانات ومحرك قواعد بيانات لبرامج بسيطة كحفظ الاكواد وما شابه
ولو انها تنفع لتخزين كم الف سجل .


المهم اردت اسلوب مشابه لما في الدلفي مثلا في مكوني انا


كود :
data.FiledName(Filed:string):='';

وتركيبة الاجراء 

كود :
procedure FiledName(Filed:string);


اردت ان اضيف توسع لعدة احتمالات مثل ان يكون بعد الاجراء بارمترات او تركيب معين او اي شئ مثل Value هنا


كود :
Data.FiledName(Filed:string).Value := '';



بحيث اذا اختار Value يتم تنفيذ اجراء معين او تحديد عملية ما واذا اختار ToInteger مثلا احول له القيمة لرقم

يعني كيف اجعل للاجراء اختيارات متعددة بنهايته


RE: subroutine لاجراء او دالة او حقل - sofiane201 - 23-07-2020

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

لا أظن ان هذه الطريقة صحيحة

PHP كود :
data.FiledName(Filed:string):=''; 

بالنسبة لهذا

(23-07-2020, 02:12 PM)Delphi4Us كتب : اردت ان اضيف توسع لعدة احتمالات مثل ان يكون بعد الاجراء بارمترات او تركيب معين او اي شئ مثل Value هنا

كود :
Data.FiledName(Filed:string).Value := '';


تلك النقطة وراء الاجراء المسمى FiledName تسمى member access operator وهو كما اعتدنا يستخدم للتنقل الى خصائص أو توابع class أو record.


وفي حالة الاجراء الخاص بك لا يمكن ذلك لأن procedure لا ترجع أي قيمة, أما لو كان الاجراء function وهذا الاجراء يرجع قيمة من نوع TPerson مثلا, يمكن وضع النقطة وراء اسم الاجراء لدخول خصائص القيمة المرجعة.

ساقرب لك, عندما تريد تتعامل مع parameters تابعة لجدول أو كويري, تستخدم احد الاجراءات وهو ParameterByName() وهذا الاجراء يرجع قيمة TFDParam,
والكلاس TFDParam لديه خصائص منها Value و AsString اذا مناداة الاجراء هكذا صحيحة

PHP كود :
myTable.ParameterByName('name').Value:= ''; 

لأن 
إقتباس :myTable.ParamByName('') = TFDParam

لذا ما تحتاجه هو أن يكون الاجراء يرجع قيمة تكون على شكل كلاس أو ريكورد.
أو تستخدم property indexers يمكن البحث عنها في التوثيق.



RE: subroutine لاجراء او دالة او حقل - Delphi4Us - 23-07-2020

بارك الله فيك هذا ما احتجت له فقط اين ابحث


إقتباس :[size=small]لا أظن ان هذه الطريقة صحيحة[/size]


اجل صحيح ، قصدت بها 

كود :
data.FiledName:='';

حقول وليست اجراءات