إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

ايجاد الاسماء المشتركة في قائمتين ( ListBox ) ؟

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • ايجاد الاسماء المشتركة في قائمتين ( ListBox ) ؟

    بسم الله الرحمن الرحيم
    بهذا الكود المميز للاستاذ الفاضل / ابوبلقيس
    نستطبع ايجاد الارقام المشتركة في القائمتان

    -----------
    كود PHP:
    con1 ListBox.GetCount("ListBox1");
    con2 ListBox.GetCount("ListBox2");
    a=0;
    if 
    con1==con2 then
      
    for i=1con1 do
        
    txt1 tonumber(ListBox.GetItemText("ListBox1"i));
        for 
    i=1,con1 do
          
    txt2 tonumber(ListBox.GetItemText("ListBox2"i));
          if 
    i<con1 and txt1==txt2 then
            a
    =txt1;
            elseif 
    i>=con1 and txt1==txt2 then
              b
    =txt1;
              if 
    b>a then
                a
    =b;
              
    end
          end
        end
      end
    end
    if a>0 then
      Input
    .SetText("Input1"a);
      else
       
    Input.SetText("Input1""áÇ íæÌÏ ÃÚÏÇÏ ãÔÊÑßÉ"); 
    end 
    -----------
    ما هو الكود لتحديد الاسماء المشتركة في قائمتين ؟؟
    ------------


    موفقين بإذن الله ... لكم مني أجمل تحية .

  • #2
    السلام عليكم ورحمة الله وبركاته
    تفضل
    هذا الكود الجامع و الذى يمكنك استخدامه مع أى نوع من البيانات أيا كانت
    نصوص .... ارقام .... مزيج منهما ... لا يهم
    دون الحاجة لأى تعديلات
    الكود يستخدم حلقة واحدة لضمان سرعة التنفيذ تحسبا لضخامة عدد العناصر فى القائمتين

    كود PHP:
    lc1 ListBox.GetCount("ListBox1");
    matches = {}
    for 
    1,lc1 do
    text1 =ListBox.GetItemText("ListBox1"i)
    if( 
    ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)) ~= -1 then
    Table
    .Insert(matches1text1);
    end
    end

    Dialog
    .Message("Notice"Table.Concat(matches" - "1TABLE_ALL)); 
    يمكنك معاينة الملف المفتوح المرفق
    خالص تحياتى
    الملفات المرفقة
    التعديل الأخير تم بواسطة المـهاجر; الساعة 05-02-2017, 05:42 AM.

    تعليق


    • #3
      السلام عليكم ورحمة الله وبركاته

      ننضم للموضوع لنستفيد
      شكرا للاساتذة على العلم النافع

      تعليق


      • #4
        المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
        السلام عليكم ورحمة الله وبركاته
        تفضل
        هذا الكود الجامع و الذى يمكنك استخدامه مع أى نوع من البيانات أيا كانت
        نصوص .... ارقام .... مزيج منهما ... لا يهم
        دون الحاجة لأى تعديلات
        الكود يستخدم حلقة واحدة لضمان سرعة التنفيذ تحسبا لضخامة عدد العناصر فى القائمتين

        كود PHP:
        lc1 ListBox.GetCount("ListBox1");
        lc2 ListBox.GetCount("ListBox2"); 
        matches = {}
        for 
        1,lc1 do
        text1 =ListBox.GetItemText("ListBox1"i)
        if( 
        ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)) ~= -1 then
        Table
        .Insert(matches1text1);
        end
        end

        Dialog
        .Message("Notice"Table.Concat(matches" - "1TABLE_ALL)); 
        يمكنك معاينة الملف المفتوح المرفق
        خالص تحياتى
        السلام عليكم ورحمة الله وبركاته
        كود محتصر وواضح جدا
        تحياتي لك استاذنا

        بعد اذن حضرتك تعديل على الكود من اجل استخراج العناصر الغير مشتركة

        كود PHP:
        lc1 ListBox.GetCount("ListBox1");
        lc2 ListBox.GetCount("ListBox2"); 
        matches = {}

        for 
        1,lc1 do
        text1 =ListBox.GetItemText("ListBox1"i)
           if 
        ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
           Table
        .Insert(matches1text1);
           
        end
        end

        e
        #matches+1
        for 1,lc2 do
        =ListBox.GetItemText("ListBox2"i)
           if 
        ListBox.FindItem("ListBox1"1LB_BYTEXTt)==-1 then
           Table
        .Insert(matchest); e=e+1;
           
        end
        end


        Dialog
        .Message("Notice"Table.Concat(matches"  -  "1TABLE_ALL)); 
        لم اجد اختصارا لهذا التعديل

        تعليق


        • #5
          المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
          السلام عليكم ورحمة الله وبركاته
          كود محتصر وواضح جدا
          تحياتي لك استاذنا

          بعد اذن حضرتك تعديل على الكود من اجل استخراج العناصر الغير مشتركة

          كود PHP:
          lc1 ListBox.GetCount("ListBox1");
          lc2 ListBox.GetCount("ListBox2"); 
          matches = {}

          for 
          1,lc1 do
          text1 =ListBox.GetItemText("ListBox1"i)
             if 
          ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
             Table
          .Insert(matches1text1);
             
          end
          end

          e
          #matches+1
          for 1,lc2 do
          =ListBox.GetItemText("ListBox2"i)
             if 
          ListBox.FindItem("ListBox1"1LB_BYTEXTt)==-1 then
             Table
          .Insert(matchest); e=e+1;
             
          end
          end


          Dialog
          .Message("Notice"Table.Concat(matches"  -  "1TABLE_ALL)); 
          لم اجد اختصارا لهذا التعديل
          لا يمكنك اختصار كود مختصر سلفا
          لكن اسمح لى ان اصحح لك مفهوم خاطئ و قاتل عندك
          كود PHP:
          Table.Insert(matchest); e=e+1
          لماذا المتغير e ؟؟ ماذا يشغلك فى متغير الاندكس الخاص بالإدراج فى الحلقة ؟؟
          هل استخدمت انا متغير مشابه ؟؟
          هل شغلت بالى أو أضعت طاقتى البرمجية فى تجهيز ترقيم لهذا المتغير ؟؟؟

          هذه فكرة خاطئة متوارثة فى كافة المنتديات بما فيها منتدانا للأسف
          و للأسف يقع فيها العديد من الأساتذة
          آن الأوان لأقتلاع هذه الفكرة الخاطئة نهائيا
          أدرس الكود التالى بعناية فائقة و تركيز شديد
          كود PHP:
          lc1 ListBox.GetCount("ListBox1");
          lc2 ListBox.GetCount("ListBox2"); 
          NonMatches = {}

          for 
          1,lc1 do
          text1 =ListBox.GetItemText("ListBox1"i)
             if 
          ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
             Table
          .Insert(NonMatches1text1);
             
          end
          end

          for 1,lc2 do
          text1 =ListBox.GetItemText("ListBox2"i)
             if 
          ListBox.FindItem("ListBox1"1LB_BYTEXTtext1)==-1 then
          Table
          .Insert(NonMatches1text1); 
             
          end
          end

          Dialog
          .Message("Notice"Table.Concat(NonMatches"  -  "1TABLE_ALL)); 
          هل استخدمت انا الآن اى متغيرات لترقيم الادراج فى الحلقة ؟؟
          هل شغلت بالى بالاندكس ؟؟؟
          كود PHP:
          Table.Insert(NonMatches1text1); 
          لا ؟؟
          لماذا أنا دائما أدرج العنصر فى الاندكس رقم 1 ؟؟
          و لماذا لا تطمس المتغيرات بعضها بل و يعمل الكود بشكل صحيح ؟؟

          عندما تضع قطعة من النقود فوق قطعة أخرى من النقود
          هل تستقر فوقها أم تحتل مكانها ؟؟؟؟
          هل تعترض قطعة النقود السفلى على احتلال ترقيمها ؟؟؟

          الآن حرر عقلك من كافة المفاهيم العتيقة و دع الكود يجيب لك عن كافة الأسئلة

          أعتقد الرسالة تكون وصلت
          خالص تحياتى

          تعليق


          • #6
            المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
            السلام عليكم ورحمة الله وبركاته
            تفضل
            هذا الكود الجامع و الذى يمكنك استخدامه مع أى نوع من البيانات أيا كانت
            نصوص .... ارقام .... مزيج منهما ... لا يهم
            دون الحاجة لأى تعديلات
            الكود يستخدم حلقة واحدة لضمان سرعة التنفيذ تحسبا لضخامة عدد العناصر فى القائمتين

            كود PHP:
            lc1 ListBox.GetCount("ListBox1");
            lc2 ListBox.GetCount("ListBox2"); 
            matches = {}
            for 
            1,lc1 do
            text1 =ListBox.GetItemText("ListBox1"i)
            if( 
            ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)) ~= -1 then
            Table
            .Insert(matches1text1);
            end
            end

            Dialog
            .Message("Notice"Table.Concat(matches" - "1TABLE_ALL)); 
            يمكنك معاينة الملف المفتوح المرفق
            خالص تحياتى
            =====================
            بسم الله الرحمن الرحيم
            شكرا لك استاذ / المهاجر
            على هذه الاجابة الاحترافية الممتازه
            وهذا الكود الذي يحتوي على الكثير من الدروس


            موفق بإذن الله ... لك مني أجمل تحية .




            تعليق


            • #7
              المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
              السلام عليكم ورحمة الله وبركاته
              كود محتصر وواضح جدا
              تحياتي لك استاذنا

              بعد اذن حضرتك تعديل على الكود من اجل استخراج العناصر الغير مشتركة

              كود PHP:
              lc1 ListBox.GetCount("ListBox1");
              lc2 ListBox.GetCount("ListBox2"); 
              matches = {}

              for 
              1,lc1 do
              text1 =ListBox.GetItemText("ListBox1"i)
                 if 
              ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
                 Table
              .Insert(matches1text1);
                 
              end
              end

              e
              #matches+1
              for 1,lc2 do
              =ListBox.GetItemText("ListBox2"i)
                 if 
              ListBox.FindItem("ListBox1"1LB_BYTEXTt)==-1 then
                 Table
              .Insert(matchest); e=e+1;
                 
              end
              end


              Dialog
              .Message("Notice"Table.Concat(matches"  -  "1TABLE_ALL)); 
              لم اجد اختصارا لهذا التعديل
              -----------------------------
              بسم الله الرحمن الرحيم

              شكرا لك استاذ عبد الهادي
              علي المشاركات الرائعة التي تثري الموضوع والمعلومات
              بارك الله فيك
              موفق بإذن الله ... لك مني أجمل تحية .

              تعليق


              • #8
                المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة

                =====================
                بسم الله الرحمن الرحيم
                شكرا لك استاذ / المهاجر
                على هذه الاجابة الاحترافية الممتازه
                وهذا الكود الذي يحتوي على الكثير من الدروس


                موفق بإذن الله ... لك مني أجمل تحية .



                شكرا على التقدير أخى الكريم




                فقط و نتيجة السرعة كان هناك سطر زائد فى الكود و هو السطر الثانى
                حيث لا فائدة من احصاء عدد عناصر الليتبوكس2
                سأعدل مشاركاتى السابقة
                الكود بدون زيادات = 9 أسطر فقط
                كود PHP:
                lc1 ListBox.GetCount("ListBox1");
                matches = {}
                for 
                1,lc1 do
                text1 =ListBox.GetItemText("ListBox1"i)
                if( 
                ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)) ~= -1 then
                Table
                .Insert(matches1text1);
                end
                end

                Dialog
                .Message("Notice"Table.Concat(matches"  -  "1TABLE_ALL)); 

                تعليق


                • #9
                  المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                  لا يمكنك اختصار كود مختصر سلفا
                  لكن اسمح لى ان اصحح لك مفهوم خاطئ و قاتل عندك
                  كود PHP:
                  Table.Insert(matchest); e=e+1
                  لماذا المتغير e ؟؟ ماذا يشغلك فى متغير الاندكس الخاص بالإدراج فى الحلقة ؟؟
                  هل استخدمت انا متغير مشابه ؟؟
                  هل شغلت بالى أو أضعت طاقتى البرمجية فى تجهيز ترقيم لهذا المتغير ؟؟؟

                  هذه فكرة خاطئة متوارثة فى كافة المنتديات بما فيها منتدانا للأسف
                  و للأسف يقع فيها العديد من الأساتذة
                  آن الأوان لأقتلاع هذه الفكرة الخاطئة نهائيا
                  أدرس الكود التالى بعناية فائقة و تركيز شديد
                  كود PHP:
                  lc1 ListBox.GetCount("ListBox1");
                  lc2 ListBox.GetCount("ListBox2"); 
                  NonMatches = {}

                  for 
                  1,lc1 do
                  text1 =ListBox.GetItemText("ListBox1"i)
                     if 
                  ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
                     Table
                  .Insert(NonMatches1text1);
                     
                  end
                  end

                  for 1,lc2 do
                  text1 =ListBox.GetItemText("ListBox2"i)
                     if 
                  ListBox.FindItem("ListBox1"1LB_BYTEXTtext1)==-1 then
                  Table
                  .Insert(NonMatches1text1); 
                     
                  end
                  end

                  Dialog
                  .Message("Notice"Table.Concat(NonMatches"  -  "1TABLE_ALL)); 
                  هل استخدمت انا الآن اى متغيرات لترقيم الادراج فى الحلقة ؟؟
                  هل شغلت بالى بالاندكس ؟؟؟
                  كود PHP:
                  Table.Insert(NonMatches1text1); 
                  لا ؟؟
                  لماذا أنا دائما أدرج العنصر فى الاندكس رقم 1 ؟؟
                  و لماذا لا تطمس المتغيرات بعضها بل و يعمل الكود بشكل صحيح ؟؟

                  عندما تضع قطعة من النقود فوق قطعة أخرى من النقود
                  هل تستقر فوقها أم تحتل مكانها ؟؟؟؟
                  هل تعترض قطعة النقود السفلى على احتلال ترقيمها ؟؟؟

                  الآن حرر عقلك من كافة المفاهيم العتيقة و دع الكود يجيب لك عن كافة الأسئلة

                  أعتقد الرسالة تكون وصلت
                  خالص تحياتى
                  البرمجة على اسس صحيحية
                  زادك الله من علمه ونفع بك
                  هذه باقات ورود لك

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                    لا يمكنك اختصار كود مختصر سلفا
                    لكن اسمح لى ان اصحح لك مفهوم خاطئ و قاتل عندك
                    كود PHP:
                    Table.Insert(matchest); e=e+1
                    لماذا المتغير e ؟؟ ماذا يشغلك فى متغير الاندكس الخاص بالإدراج فى الحلقة ؟؟
                    هل استخدمت انا متغير مشابه ؟؟
                    هل شغلت بالى أو أضعت طاقتى البرمجية فى تجهيز ترقيم لهذا المتغير ؟؟؟

                    هذه فكرة خاطئة متوارثة فى كافة المنتديات بما فيها منتدانا للأسف
                    و للأسف يقع فيها العديد من الأساتذة
                    آن الأوان لأقتلاع هذه الفكرة الخاطئة نهائيا
                    أدرس الكود التالى بعناية فائقة و تركيز شديد
                    كود PHP:
                    lc1 ListBox.GetCount("ListBox1");
                    lc2 ListBox.GetCount("ListBox2"); 
                    NonMatches = {}

                    for 
                    1,lc1 do
                    text1 =ListBox.GetItemText("ListBox1"i)
                       if 
                    ListBox.FindItem("ListBox2"1LB_BYTEXTtext1)==-1 then
                       Table
                    .Insert(NonMatches1text1);
                       
                    end
                    end

                    for 1,lc2 do
                    text1 =ListBox.GetItemText("ListBox2"i)
                       if 
                    ListBox.FindItem("ListBox1"1LB_BYTEXTtext1)==-1 then
                    Table
                    .Insert(NonMatches1text1); 
                       
                    end
                    end

                    Dialog
                    .Message("Notice"Table.Concat(NonMatches"  -  "1TABLE_ALL)); 
                    هل استخدمت انا الآن اى متغيرات لترقيم الادراج فى الحلقة ؟؟
                    هل شغلت بالى بالاندكس ؟؟؟
                    كود PHP:
                    Table.Insert(NonMatches1text1); 
                    لا ؟؟
                    لماذا أنا دائما أدرج العنصر فى الاندكس رقم 1 ؟؟
                    و لماذا لا تطمس المتغيرات بعضها بل و يعمل الكود بشكل صحيح ؟؟

                    عندما تضع قطعة من النقود فوق قطعة أخرى من النقود
                    هل تستقر فوقها أم تحتل مكانها ؟؟؟؟
                    هل تعترض قطعة النقود السفلى على احتلال ترقيمها ؟؟؟

                    الآن حرر عقلك من كافة المفاهيم العتيقة و دع الكود يجيب لك عن كافة الأسئلة

                    أعتقد الرسالة تكون وصلت
                    خالص تحياتى

                    اغبط نفسي عن انني اجد من يعلمني بطريقة ميسرة واضحة رائعة
                    بارك الله فيكم و زادكم من علمه الوفير
                    كنت اعتقد انه لارداج عنصر جديد في مصفوفة ان لم نحدد مكانه في المصفوفة سيقوم اليا باستبدال العنصر الاول
                    شكرا جزيلا جدا و اختصرنا الكثير من الدوران في الكوادت
                    جزاك الله خير الدراين

                    تعليق


                    • #11
                      http://sites.ienajah.com/vb2/showthread.php?t=33627

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة

                        -
                        -----------------------
                        بسم الله الرحمن الرحيم

                        شكرا لك استاذنا الفاضل

                        تعليق


                        • #13
                          بارك الله فيكم

                          تعليق


                          • #14
                            بسم الله الرحمن الرحيم
                            شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                            تعليق


                            • #15
                              شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                              المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                              المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                              المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                              يعمل...
                              X