delphi4arab منتديات دلفي للعرب

نسخة كاملة : مقدمة إلى لغة باسكال الحديثة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عبارة عن مقدمة بسيطة
للكاتب  Michalis Kamburelis من شركة محرك الألعاب Castle Engine

المقال موجه للمبرمجين و ليس مدخل للمبتدأ يجب على الاقل ان تكون لك معرفة بلغة باسكال القديمة
https://castle-engine.io/modern_pascal_i...ction.html
السلام عليكم شكراً على طرح هدا الكتاب
هده free pascal
لفت انتباهي هذا الكود ولم اهضم operator*

كود :
{$mode objfpc}{$H+}{$J-} uses StrUtils; operator* (const S: string; const A: Integer): string; begin Result := DupeString(S, A); end; begin Writeln('bla' * 10); end
السلام عليكم
اضنها تقوم بنسخ السلسلة

الق نظرة هنا
https://www.freepascal.org/docs-html/ref...23200015.3
(01-05-2018, 09:06 PM)AX302 كتب : [ -> ]السلام عليكم
اضنها تقوم بنسخ السلسلة

الق نظرة هنا
https://www.freepascal.org/docs-html/ref...23200015.3

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

كود :
DupeString ام عن operator* فهي اقرب الى الدالة في هيكليتها وبنائها
(01-05-2018, 08:54 PM)delphi17 كتب : [ -> ]لفت انتباهي هذا الكود ولم اهضم operator*

كود :
{$mode objfpc}{$H+}{$J-} uses StrUtils; operator* (const S: string; const A: Integer): string; begin Result := DupeString(S, A); end; begin Writeln('bla' * 10); end
في هذا الفرع Operator Overloading:

يتحدث عن امكانية اعادة تحميل او تعريف لمعامل موجود مسبق في اللغة, ك *,-,/,+,=:, < وغيرها, بحيث يمكنك استخدامه من نوع بيانات غير المحددة له مسبقا, وفي مثاله هو استخدم دالة موجودة مسبقا وهي dupestring لتكرار قيمة نصية بالعدد الذي تحدده, هكذا كلما استعملت المعامل * مع قيمة نصية فستكرر من خلال الدالة dupestring.
والله اعلم يمكنك البحث اكثر عن operator overloading وستجد شروح مفصلة عنه.
[quote pid='45182' dateline='1525278772']
في هذا الفرع Operator Overloading:

يتحدث عن امكانية اعادة تحميل او تعريف لمعامل موجود مسبق في اللغة, ك *,-,/,+,=:, < وغيرها, بحيث يمكنك استخدامه من نوع بيانات غير المحددة له مسبقا, وفي مثاله هو استخدم دالة موجودة مسبقا وهي dupestring لتكرار قيمة نصية بالعدد الذي تحدده, هكذا كلما استعملت المعامل * مع قيمة نصية فستكرر من خلال الدالة dupestring.
والله اعلم يمكنك البحث اكثر عن operator overloading وستجد شروح مفصلة عنه.

شكراً هذا ايضا ما توصلة اليه وقد جربتها على  lazaurs/freepascal لكن يبقى هنك لبس
[/quote]
شكراً هذا ايضا ما توصلة اليه وقد جربتها على lazaurs/freepascal لكن يبقى هنك لبس
ما هو الغير مفهوم لحد الان ؟
ألقي نظرة على الدرس ربما يفيدك ::: الدرس بلغة كوتلين لكن لا تهم اللغة
https://youtu.be/rfEexTRb51c?list=PLClgJ...DUE6oFhPUs