![]() |
|
تعديل هذا الكود - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4) +--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18) +---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28) +---- الموضوع : تعديل هذا الكود (/showthread.php?tid=13326) |
تعديل هذا الكود - اسلام الكبابى - 23-09-15 كتبت هذا الكود
كود : Private Sub Command1_Click()وطبعآ يمكن استبدال الجمل الشرطيةالخمسةالمتتالية باستخدام Select Case بدلآ من IF هكذا كود : Select Case NNNوأريد كودآ أسهل من ذلك بحيث لا يمرالبرنامج كل مرة(مع كل قيمة لل I أثناء تنفيذ اللوب) على هذه الجمل الخمسة أوعلى بعضها حتى يتحقق الشرط
كيف يمكن مثلآ أن نجعل متغير يعبرعن رقم الجملة التى سنتوجه اليها فتكتب هذه الجمل الخمسة جملة واحدة بدون أى شرط (GoTo NNN) أى يكون اللوب هكذا
كود : For I = 1 To NNUMولكم ألف شكر RE: تعديل هذا الكود - اسلام الكبابى - 23-09-15 ملحوظة هامة طبعآ من الممكن الاستغناء نهائيآ عن أرقام هذه الجمل وتنفيذ جواب الشرط فى نفس مكان الشرط هكذا مثلآ كود : If NNN = 10 Thenولكنى لا أريدها هكذا لأن هذا الكود اللازم عندما تكون NNN=10 طويل وسأحتاجه فى أكثر من موضع فلا داعى لاعادة كتابته فى كل موضع مرة وانما كلما احتجناه توجهنا لجملة معينة GO TO 10 فنجده مكتوبآ هناك وبالمثل مع باقى الجمل 20 و 30 و 40 و 50 RE: تعديل هذا الكود - Ahmed_Mansoor - 24-09-15 أهلا أخي الكريم , جرب هذه الطريقة : كود : Private Sub Command1_Click()RE: تعديل هذا الكود - اسلام الكبابى - 26-09-15 جزاك الله خيرآ ولكن هذا الكود كود شبيه بالذى كتبته ومازالت نفس المشكلة موجودة كما هى وهى أن البرنامج يمر كل مرة على هذه الجمل الخمسة (أوعلى بعضها حتى يتحقق الشرط) ففى كودى يمر كل مرة(مع كل قيمة لل I أثناء تنفيذ اللوب) على جمل IF الخمسة أوعلى جمل Case الخمسة وفى كودك يمر كل مرة(كلما توجهنا لل Codes مع كل قيمة لل I أثناء تنفيذ اللوب) على جمل ElseIf الخمسة وهذا المرفق يحسب مدة التنفيذ يثبت صحة كلامى ففى جميع الأكواد تجد مدة التنفيذ واحدة تقريبآ RE: تعديل هذا الكود - أبو عمر - 26-09-15 ربما لو توضح اكثر ايش اللي انت تبغاه بالضبط تجد المساعد بشكل اوضح في اي جملة لوب فالاجراء يمر على كل العنصر مالم تحدده باستناء مثلا for i = 0 to 100 next i سيعد معك للمئة But for i = 0 to 10 if i >=10 then exit for next هنا ستوقف عند الرقم عشرة اذا حابب اللوب يتجاوز عن قيم معينة for i = 0 to 100 if i <=10 or i>=50 then else print i next سيتجاوز من الصفر الى العشرة دون طباعة وسيطبع من احدى عشر الى تسع واربعين فقط وسيتجاهل من واحد وخمسين الى مئة وكل ما قدمناه احتمالات فقط وبيس الحل لمشكلتك فحل المشكلة يبدأ من ايضاحك السليم عنها بالتوفيق استاذ اسلام RE: تعديل هذا الكود - اسلام الكبابى - 26-09-15 اللي انا أبغاه بالضبط هو كما ذكرت فى البداية إقتباس :وأريد كودآ أسهل من ذلك بحيث لا يمرالبرنامج كل مرة(مع كل قيمة لل I أثناء تنفيذ اللوب) على هذه الجمل الخمسة أوعلى بعضها حتى يتحقق الشرطفسؤالى لاعلاقة له باللوب وانما سؤالى عن جمل IF الخمسة الموجودة داخله RE: تعديل هذا الكود - اسلام الكبابى - 26-09-15 مازالت هناك خمسة جمل متتالية نمر عليهم فى كل مرة If NNN = 10 Then Call sub10 If NNN = 20 Then Call sub20 If NNN = 30 Then Call sub30 If NNN = 40 Then Call sub40 If NNN = 50 Then Call sub50 و مدة التنفيذ هى نفس مدة الأكواد السابقة تقريبآ |