(13-08-2019, 11:25 AM)delphi17 كتب : ماذا تقصد ؟ هل تعني في نفس الدالة او شى اخر
راجع delphi overload function ايضا
في نفس الدالة وليس دالة مطابقة في الاسم مختلفة في الوظيفه ,, لا اقصد Overload وسبق لي من فترة القراءة عنها ولم اطبق وعلى الاغلب Overload هي فقط نمط من OOP .
فقط قرأت ما قرأت في كتاب لغة C ووجدت ما استفسر عنه في دلفي
وعليكم السلام ورحمة الله وبركاته.
الدالة (Function) في الدلفي لا يمكنها ارجاع أكثر من قيمة.
لكن هناك بعض الحيل من بينها :
1- ارجاع قيمة داخل الدالة لمتغير عام.
2- انشاء دالة من نوع Record.
PHP كود :
type TMyRecord = record First: integer; Second: string; end;
function MyFunction: TMyRecord; begin result.First := 1; result.Second := 'Hello'; end;
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك. تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
كل من 1 user says قال شكرا ل أبو معاذ على المشاركة المفيدة1 user says Thank You to أبو معاذ for this post • Delphi4Us
(15-08-2019, 09:29 AM)ELARAPY كتب : الكود الذي قرأته خاص بلغة C وارجاع قيمتين باستخدام المؤشرات
في الصورة المرفقة void تقابلها procedure في لغة باسكال
أما عن إرجاعه قيمتين، هي لم ترجع قيمتين وإنما عدلت على القيمين عبر المؤشر (أخذت عنوان القيمة ثم قام بالتعديل)
أقرب ترجمة له هو كالتالي:
PHP كود :
program Project1;
uses sysutils, Math;
var hours: integer; minutes: integer;
proceudre minutesDevision(var hourspointer: integer; var minutespointer: integer); begin hourspointer := Floor(minutespointer / 60); minutespointer := minutespointer mod 60; end;