subroutine لاجراء او دالة او حقل
#1
السلام عليكم ورحمة الله



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


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


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

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

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


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


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



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

يعني كيف اجعل للاجراء اختيارات متعددة بنهايته
إذ جاءوكم من فوقكم ومن أسفل منكم وإذ زاغت الأبصار وبلغت القلوب الحناجر وتظنون بالله الظنون
الرد
#2
وعليكم السلام ورحمة الله

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

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 يمكن البحث عنها في التوثيق.
[-] كل من 1 user says قال شكرا ل sofiane201 على المشاركة المفيدة
  • Delphi4Us
الرد
#3
بارك الله فيك هذا ما احتجت له فقط اين ابحث


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


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

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

حقول وليست اجراءات
إذ جاءوكم من فوقكم ومن أسفل منكم وإذ زاغت الأبصار وبلغت القلوب الحناجر وتظنون بالله الظنون
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف