![]() |
|
كيف انشئ نوع مثل Byte ? - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف انشئ نوع مثل Byte ? (/showthread.php?tid=5335) |
كيف انشئ نوع مثل Byte ? - ALmuhhnad - 22-06-2013 السلام عليكم ورحمة الله بوركاتة أنشئ نوع بهذه الطريقة : PHP كود : typeلكن عندما استعمل النوع السابق بهذه الصيغة : PHP كود : var[Error] Unit1.pas(95): Constant expression violates subrange bounds السبب ان الناتج اكبر من نطاق النوع نفسه .. السؤال الآن كيف اجعله يكمل العدد يعني مثلا : لدي : 2* 55 = 110 واالنوع الذي استعمله اعلى قيمة فيه 99 يتم إكمال العد بعد ان يصل إلى اعلى قيمة كأن يصبح 2 * 55 = 11 لان 110 - 99 = 11 اعتذر على قصور توصيل السؤال .. فانا مستعجل @@" شكراً لحسن القراءة . كيف انشئ نوع مثل Byte ? - S.FATEH - 22-06-2013 السلام عليكم لماذا لم تستخدم array ؟؟ ما الذي تريد الوصول اليه اخي لم افهم المقصود كيف انشئ نوع مثل Byte ? - ALmuhhnad - 22-06-2013 وعليكم السلام ورحمة الله إقتباس :لماذا لم تستخدم array ؟؟هذا فقط اسم النوع لا دخل له بالمصفوفات ... **** عندما يكون الناتج العملية اكبر من نطاق النوع مثلا انا وضعت نوع بهذا الشكل : PHP كود : typeووضعت عملية جمع مثلاً : PHP كود : varكيف حصل الناتج السابق (19) بعد جمع 90 + 20 اصبح = 110 ولكن النوع الذي وضعته اكبر قيمة له 99 لذلك عملية الجمع السابقة بعد ان وصل العدد إلى 99 يكون العدد الذي يليه هو 0 يعني : 90 + 9 = 99 90 + 10 = 0 90 + 11 = 1 90 + 20 = 19 اتمنى وصلت القكرة وشكراً لحسن القراءة كيف انشئ نوع مثل Byte ? - S.FATEH - 22-06-2013 عفوا اخي حتى الان لم توضح ماذا تريد او ماذا تجرب تحقيقه لماذا تصر على استخدام Rang اذا اردت شيئ يمكن اعادة استخدامه من برنامجك فالاصح ان تجعل class يحمل ماذا تريد ؟؟ كيف انشئ نوع مثل Byte ? - ALmuhhnad - 22-06-2013 وعليكم السلام هممم ... انا حتى الآن لا اعرف الاصح .. لكن اعرف الصح على الاقل ^^ بالنسبة لفكرتي دعني ابسطها لك اكثر .. لدي حلقة مكونة من 10 ارقام 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 كود : http://im41.gulfup.com/rsmuU.pngPHP كود : typeلكن هذا النوع من عشر ارقام لما اجي ادخل له 11 رقم او اكثر يحدث خطأ : إقتباس : [Error] Unit1.pas(95): Constant expression violates subrange boundsوانا أريـد بدلاً من حدوث هذا الخطاً ان يكمل الدورة بالعد 11 يعني لما يصل الرقم إلى 9 ينتقل للبداية 0 وبعدها 1 فلو وضعت هذه مثلاً : PHP كود : var.. مثال آخر في واقع الحيات .. عدد ايام الاسبوع 7 فلو كنا باليوم الاول "السبت" واسئلتك ما هو اليوم بعد مرور 10 ايام ؟ ماذا ستقول وما هي الطريقة التي اتبعتها في طريقة الحساب (السبت = 1) , (الأحد = 2) , (الأثنين = 3) , (الثلثاء = 4) , (الأربعاء = 5) , (الخميس = 6) , الجمعة = 7) السبت(1), الأحد(2), الاثنين(3), الثلثاء(4), الاربعاء(5), الخميس(6), الجمعة(7), السبت(8), الأحد(9), الاثنين(10) الآن نقول انه سيكون يوم الاثنين ..... مثال آخر بنمط رياضيات : عد لي من 1 إلى 15 بنمط النوع الذي انشأته سابقاً : PHP كود : type...... اعتقد لا يوجد توضيح اكثر من ذلك ... ^^" بنسبة لما أريـد استعماله , ليس لشيء معين لكن أريـد ان اعرف كيف يتم إنشاء مثل هذا النوع ... وشكراً لحسن القراءة كيف انشئ نوع مثل Byte ? - Agmcz - 22-06-2013 السلام عليكم هذا بالنسبة للمشاركة الأولى كود : type
numArr = 0..99;
procedure TForm1.Button1Click(Sender: TObject);
var
n, nn, nnn : numArr;
begin
n := 22;
nn := 2;
nnn := n * nn mod 99;
ShowMessage(IntToStr(nnn));
end;كيف انشئ نوع مثل Byte ? - S.FATEH - 22-06-2013 السلام عليكم اخي الذي تريد فعله يسمى بالـ Recursion مثل الموجود هنا ان شاء الله احاول معها لاني لا اتعامل مع Recurcive function كثير ا كيف انشئ نوع مثل Byte ? - Agmcz - 22-06-2013 بالنسبة للمساركة رقم 3 هذا أحد الحلول PHP كود : typeوالنتائج 90 + 9 = 99 90 + 10 = 0 90 + 11 = 1 90 + 20 = 10 كيف انشئ نوع مثل Byte ? - ALmuhhnad - 23-06-2013 شكراً لكم اخي [S.FATEH ,ghost-dz] بالنسبة لجواب اخي ghost-dz .. فعلاً هذا هو بالضبط .. لكن لو اردت دمجه مع النوع .. بدلاً من إستخدام الامر mod كل مرة يكون فيها العدد اكبر او عندما أريـد استعمال هذا النوع هل هناك طريقة لوضع دالة مع النوع نفسه تعمل عمل الامر mod او ما شابه ؟ |