![]() |
|
طريقة التنقل بأكثر من قيمة في حلقة For..؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : طريقة التنقل بأكثر من قيمة في حلقة For..؟ (/showthread.php?tid=2326) الصفحات:
1
2
|
طريقة التنقل بأكثر من قيمة في حلقة For..؟ - khiro.alg - 19-08-2010 [COLOR="DarkOrange"]السلام عليكم أهلا إخواني - رمضان كريم قبل فترة رأيت حلقة for في السي++ - حيث يمكنك زيدة المتغير في كل مرة بعدد معين مثلا إن كان التنقل بعدد واحد نكتب ++i . وإن أدرنا أكثر نغيرها مثلا لـ i+2 جربت أنا تحويلها للدلفي - وعد عدة محاولات نجحت في ذلك - لكني الآن نسيت الطريقة ![]() لذا أرجـوا لمن عنده الطريقة أن يفيدنا بها وجزاه الله كل خير ------------ للفهم أكثر الطريقة التي جربتها أنا تشبه كالتالي كود : for i:=0 to 10 (i+2) doسلامي لكم...[/COLOR] طريقة التنقل بأكثر من قيمة في حلقة For..؟ - kachwahed - 19-08-2010 وعليكم السلام ورحمة الله PHP كود : varطريقة التنقل بأكثر من قيمة في حلقة For..؟ - husseint - 19-08-2010 السلام عليكم على حسب ما أعرف : الحلقة for في السي++ هي مجرد عداد Counter مثل PHP كود : for (int icounter = x ; counter <= 10 ; counter++ ) {statement } أي أنه يأخذ قيم من نوع Integer عدد صحيح ولكن المسألة مختلفة في دلفي فالحلقة for تقوم باللإنتقال ضمن قيم من نوع ترتيبي وليس شرطاً أن تكون عدداً صحيحاً PHP كود : typeلم نستخدم أعداداً أبداً لأن المسألة تتعلق بنمط ترتيبي وجب أن يكون متتاليا حصراً , **** التصحيح في حال وجود خطأ طريقة التنقل بأكثر من قيمة في حلقة For..؟ - مبرمج مبتدأ - 19-08-2010 السلام عليكم و رحمة الله و بركاته
هذه حلقة for تقوم بكتابة كل الأعداد الزوجية من 0 حتى 100 في لغة الباسكال و يمكن ان تستفيد منها في الدلفي فهي مثلها تماما لاختلاف readln و writeln PHP كود : varطريقة التنقل بأكثر من قيمة في حلقة For..؟ - khiro.alg - 19-08-2010 ليس ذلك ما قصدته إخواني مثلا الطريقة التي تحدثت عنها تكتب هكذا في VB كود : for i=1 to 10 stup2
...........
.......كود : for (int i=1;i<10;i+2 ){.........}أما في الدلفي فأقصد الأمر أن يكون في رأس الحلقة وليس مع كتلة الأوامر طريقة التنقل بأكثر من قيمة في حلقة For..؟ - TF6M - 19-08-2010 ألم تقنعك دلفي ؟ :1- كل لغة برمجة لها Code Syntax يميزها و أن تشابهت . 2- يمكننا أن نفعل نفس الشيئ كالدالة iiF , تجد الشرح & التطبيق في المجلة رقم 2 لـ D4A 3- مثال : PHP كود : Procedure uFor(i:Integer;Const Max:Integer;Step:Byte;MyJob:Pointer);PHP كود : Procedure Job;طريقة التنقل بأكثر من قيمة في حلقة For..؟ - hanipino - 20-08-2010 السلام عليكم اخى TF6M بما انك ذكرت الاسمبلى احببت ان انجز عدد معين من الحلقات كل حلقة ترسل MSG مثلا لاكن بشرط عدم استعمال لا IF ولا THEN ... ... تقريبا وصلت للحل لاكن للاسف بعد الخروج من الحلقة يحدث مشكل يتسبب فى غلق البرنامج لم اجد له حل سوى حل عشوائى pop ds ![]() PHP كود : varالذى لديه طريقة ... يرفقهة ![]() الاسمبلى صعبة لكنها ممتعة . طريقة التنقل بأكثر من قيمة في حلقة For..؟ - TF6M - 20-08-2010 و عليكم السلام و رحمة الله و بركاته 1- "لاكن بشرط عدم استعمال لا IF ولا THEN ... " - يمكن أيضا إستخدام توجيهات المترجم {..... Define$}ا 2- "لم اجد له حل سوى حل عشوائى pop ds" - ما الغرض من إسترجاع قيمة DS ؟ 3- عند إستدعاء دالة & إجراء من الدي يظمن عدم تغير المسجلات ؟ بالطبع ستكون في حالة عمل , لذا وجب علينا حفظ القيم الإبتدائية و إسترجاعها عند المقارنة : PHP كود : varطريقة التنقل بأكثر من قيمة في حلقة For..؟ - hanipino - 20-08-2010 اوووو اخى TF6M رائعة ... ممتازة . ![]() كود : ما الغرض من إسترجاع قيمة DS ؟هو فقط من كان يمنع البرنامج من غلق نفسه بعد حدوث المشكل كود : - عند إستدعاء دالة & إجراء من الدي يظمن عدم تغير المسجلات ؟
[COLOR="Red"]PushAd
PopAd[/COLOR]بارك الله فيك اخى TF6M ساراجع طريقتك جيدا وان لم افهم شىء ساراسلك بالتوفيق . طريقة التنقل بأكثر من قيمة في حلقة For..؟ - mohfa - 20-08-2010 MessageBoxA هي API تحتاج PChar ليس Delphi's internal string PHP كود : var |