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

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

سؤال

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

  • سؤال

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

    طلبي
    عندي في ملف أسماء ثلاثية كثيرة على الشكل التالي
    "g6Y p5D zbA a0c u5D t9k y3T PBN r7N"
    أريد اظهار الاسماء المتوفرة فيها الشروط :

    - الحرف الأوسط يكون رقما
    الحرف الذي يليه يكون مكتوب بشكل كبير مثل r7N
    ------------------------
    علما أن بين الاسم و الاخر هناك مسافة واحدة

    ما الطريقة لاظهار تلك الاسماء

  • #2
    المشاركة الأصلية بواسطة الأمل القادم مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته

    طلبي
    عندي في ملف أسماء ثلاثية كثيرة على الشكل التالي
    "g6y p5d zba a0c u5d t9k y3t pbn r7n"
    أريد اظهار الاسماء المتوفرة فيها الشروط :

    - الحرف الأوسط يكون رقما
    الحرف الذي يليه يكون مكتوب بشكل كبير مثل r7n
    ------------------------
    علما أن بين الاسم و الاخر هناك مسافة واحدة

    ما الطريقة لاظهار تلك الاسماء
    هذا من الطلبات المتيزة و التي تستفز الاستاذ ثامر

    شكرا على التميز في الطلب

    و لااعدك بجازب لانني لا اعرف

    لكن ساحوال العمل على الحل

    تعليق


    • #3
      محاولة طويلة جدا

      اولا في قائمة list......نضع الاسماء التي نريد البحث فيها
      يمكن ان تستدعيها من ملف تكسي txt ....الى القائمة list

      كود PHP:
       search "";
      list = {
      "g6y","p5s","zba","a0c","u5f","t9b","y3T","PBs","r7N"};
      num = {1,2,3,4,5,6,7,8,9,0};
      Maj = {"A","B","D","E","D","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
      Min = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
      for 
      in in pairs(list) do 
         
      n2 =String.ToNumber(String.Mid(n21)); 
         
      n3 String.Mid(n31);
            for 
      pnumbre in pairs(num) do
                for 
      flettre_maj in pairs(Maj) do
                    if 
      n2 == numbre and  n3 == lettre_maj then
                     search 
      = list[i].."\r\n"..search;
                   
      end
                end
           end
      end
         
      Dialog
      .Message("abc4web" ,  search); 

      حتى نجد حلال مختصرا .....تحياتي

      تعليق


      • #4
        حل أخر مختصر و اهل فهما من الاول
        كود PHP:
        search "";
        list = {
        "g6y","p5s","zba","a0c","u5f","t9b","y3T","PBs","r7N"};
        num "123456789";
        maj "ABDEDFGHIJKLMNOPQRSTUVWXYZ";

        for 
        in in pairs(list) do 
             if 
        String.Find(numString.Mid(n21) , 1false) ~= -1 then 
                 
        if String.Find(majString.Mid(n31) , 1true)  ~= -1 then
                 search 
        = list[i].."\r\n"..search;
                 
        end
             end
        end
           
        Dialog
        .Message("abc4web" ,  search); 

        تعليق


        • #5
          المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
          حل أخر مختصر و اهل فهما من الاول
          كود PHP:
          search "";
          list = {
          "g6y","p5s","zba","a0c","u5f","t9b","y3t","pbs","r7n"};
          num "123456789";
          maj "abdedfghijklmnopqrstuvwxyz";

          for 
          in in pairs(list) do 
               if 
          string.find(numstring.mid(n21) , 1false) ~= -1 then 
                   
          if string.find(majstring.mid(n31) , 1true)  ~= -1 then
                   search 
          = list[i].."\r\n"..search;
                   
          end
               end
          end
             
          dialog
          .message("abc4web" ,  search); 
          أخي المحترف اقلي أنت كتبت ردين وكلاهما ممتازين
          ويحكم أنك تهوى التنوع في الاجابات سأكتب لك كذلك ردين في كل منهما فائدة و معلومة جديدة جيد لو تقتنص
          تلك المعلومات

          تعليق


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

            و دعني اخمن .....ستستخدم الدالة هذه

            كود PHP:
            cstring.find("م""[ب-م]"1); 
            على كل سانتظر و انا مع المنتظرين

            تعليق


            • #7
              السلام عليكم ورحمة الله وبركاته
              الحل الأول : باستغلال الخطأ الدارج وهو أنه لا يمكن
              التعامل مع قيمة تصية رياضيا .... أي نعم لا يمكن بأي حال
              من الاحوال جمع أو طرح أو قسمة أوضرب قيمتين نصيتين
              فهل يمكنك جمع مثلا : "t" مع "k" هل سيعطي الكود
              التالي ناتجا ؟
              كود PHP:
              Dialog.Message("" ,  "k"+"t"); 
              طبعا لايمكن
              لكن الاوتوبلاي تعطينا إمكانية المقارنة بينهما فبرنامجنا لا يقوم بإجراءات
              حسابية على الحروف لكنه يقارن بينها بطريقة حسابية
              كيف ؟؟
              - يعتبر أن الحروف و المكتوبة بقطع صغير من a الى غاية z مرتبة من الأكبر إلى الأصغر
              مثال : الحرف b أكبر من c لماذا ؟ لان c جاءت في ترتيبها بعد الــ b
              كود يؤكد ذلك :
              كود PHP:
               if "a"  >= "b"   then
              Dialog
              .Message("" ,  "لالالالا");
              else
              Dialog.Message("" ,  "نعم صحيح");
              end 
              نفس الشيء بالنبة للحروف بقطع كبير
              كود PHP:
               if "A"  >= "B"   then
              Dialog
              .Message("" ,  "لالالالا");
              else
              Dialog.Message("" ,  "نعم صحيح");
              end 
              و الحروف ذات القطع الصغير كلها بمعنى أي واحد منها أقل من أي حرف ذات القطع
              الكبير
              ومنه فأصغر حرف " قطع كبير "وهو Z أصغر من كل الحروف ذات القطع الكبير لكنه
              أكبر من كل حروف القطع الصغير
              اذن سيكون هذا الحرف هو الحل
              ما أصغر منه "حرف مكتوب بقطع صغير" و ما أكبر منه فهو حرف مؤكد مكتوب بقطع كبير

              جرب كتابة حروف في مكان a وعاين النتائج
              كود PHP:
               if "a"  <= "Z"   then
              Dialog
              .Message("" ,  "قطع كبير");
              else
              Dialog.Message("" ,  "قطع صغير");
              end 
              الان استغلال المعلومة لكتابة الحل :

              تعليق


              • #8
                كود PHP:
                --------------------------------------------------------
                ="g6Y p5D zbA a0c u5D t9k y3T PBN r7N"
                p=""
                --------------------------------------------------------
                for 
                1,String.Length(n),do
                result String.Mid(nk3);
                c=String.ToNumber(String.Mid(result21))
                if 
                String.Mid(result31)<= "Z" and (c~=0  or String.Mid(result21) =="0" )   then
                p
                =p..result.."\r\n"
                end
                end
                Dialog
                .Message("Notice",); 

                تعليق


                • #9
                  الحل الثاني : سيكون قريبا مما لمحت به لكن سنعتمد
                  على مقاربة : استخراج التعبير المنتظم أي ExtractRegularExpression
                  سأكتب لك بلغة البازيك و لك يوم للبحث عن إسقاط لها في الاوتوبلاي
                  كود PHP:
                  title$="g6Y p5D zbA a0c u5D"
                  If CreateRegularExpression(0"[a-z][1-9][A-Z]")
                      
                  Dim Result$(0)
                      
                  NbFound ExtractRegularExpression(0,title$, Result$())
                      For 
                  0 To NbFound-1
                        MessageRequester
                  ("RegularExpression",Result$(k), 0)
                      
                  Next
                    
                  EndIf 
                  موفق

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                    كود PHP:
                    --------------------------------------------------------
                    ="g6Y p5D zbA a0c u5D t9k y3T PBN r7N"
                    p=""
                    --------------------------------------------------------
                    for 
                    1,String.Length(n),do
                    result String.Mid(nk3);
                    c=String.ToNumber(String.Mid(result21))
                    if 
                    String.Mid(result31)<= "Z" and (c~=0  or String.Mid(result21) =="0" )   then
                    p
                    =p..result.."\r\n"
                    end
                    end
                    Dialog
                    .Message("Notice",); 

                    رائع جدا .... دعني استوضح بعض اللقطات منكم فضيلة الشيخ ؟

                    كيف نقارن سترينح بسترينج

                    كود PHP:
                    String.Mid(result31)<= "Z" 
                    يعني هذا الكود يعني انه حررف اقل ترتيبا من z في الابجدية ....اذا صح يعني نضيف شرط البداية اي اكبر او يساوي A


                    لماذا اضفت التاكيد الى الشرط c=0 في الكود

                    كود PHP:
                    (c~=0  or String.Mid(result21) =="0" 

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                      السلام عليكم ورحمة الله وبركاته
                      الحل الأول : باستغلال الخطأ الدارج وهو أنه لا يمكن
                      التعامل مع قيمة تصية رياضيا .... أي نعم لا يمكن بأي حال
                      من الاحوال جمع أو طرح أو قسمة أوضرب قيمتين نصيتين
                      فهل يمكنك جمع مثلا : "t" مع "k" هل سيعطي الكود
                      التالي ناتجا ؟
                      كود PHP:
                      dialog.message("" ,  "k"+"t"); 
                      طبعا لايمكن
                      لكن الاوتوبلاي تعطينا إمكانية المقارنة بينهما فبرنامجنا لا يقوم بإجراءات
                      حسابية على الحروف لكنه يقارن بينها بطريقة حسابية
                      كيف ؟؟
                      - يعتبر أن الحروف و المكتوبة بقطع صغير من a الى غاية z مرتبة من الأكبر إلى الأصغر
                      مثال : الحرف b أكبر من c لماذا ؟ لان c جاءت في ترتيبها بعد الــ b
                      كود يؤكد ذلك :
                      كود PHP:
                       if "a"  >= "b"   then
                      dialog
                      .message("" ,  "لالالالا");
                      else
                      dialog.message("" ,  "نعم صحيح");
                      end 
                      نفس الشيء بالنبة للحروف بقطع كبير
                      كود PHP:
                       if "a"  >= "b"   then
                      dialog
                      .message("" ,  "لالالالا");
                      else
                      dialog.message("" ,  "نعم صحيح");
                      end 
                      و الحروف ذات القطع الصغير كلها بمعنى أي واحد منها أقل من أي حرف ذات القطع
                      الكبير
                      ومنه فأصغر حرف " قطع كبير "وهو z أصغر من كل الحروف ذات القطع الكبير لكنه
                      أكبر من كل حروف القطع الصغير
                      اذن سيكون هذا الحرف هو الحل
                      ما أصغر منه "حرف مكتوب بقطع صغير" و ما أكبر منه فهو حرف مؤكد مكتوب بقطع كبير

                      جرب كتابة حروف في مكان a وعاين النتائج
                      كود PHP:
                       if "a"  <= "z"   then
                      dialog
                      .message("" ,  "قطع كبير");
                      else
                      dialog.message("" ,  "قطع صغير");
                      end 
                      الان استغلال المعلومة لكتابة الحل :

                      لا داع للاجابة ....الان قرات الجواب

                      فعلا شيء متميز جدا

                      ساحاول توظيفه ان امكن

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                        الحل الثاني : سيكون قريبا مما لمحت به لكن سنعتمد
                        على مقاربة : استخراج التعبير المنتظم أي ExtractRegularExpression
                        سأكتب لك بلغة البازيك و لك يوم للبحث عن إسقاط لها في الاوتوبلاي
                        كود PHP:
                        title$="g6Y p5D zbA a0c u5D"
                        If CreateRegularExpression(0"[a-z][1-9][A-Z]")
                            
                        Dim Result$(0)
                            
                        NbFound ExtractRegularExpression(0,title$, Result$())
                            For 
                        0 To NbFound-1
                              MessageRequester
                        ("RegularExpression",Result$(k), 0)
                            
                        Next
                          
                        EndIf 
                        موفق
                        ---- يرفـــع لإجراء عملية الاسقــــاط

                        تعليق


                        • #13
                          باختصار شديـــد التعليمة : string.match قوية في التعامل مع استخراج التعبير المنتظم
                          ولها استعمالات عدة مفيدة
                          [html]n= "g6y p5s zba a0c u5f t9b P3T PBs r7N"
                          p=""
                          for k = 1,String.Length(n),4 do
                          result = String.Mid(n, k, 3);
                          c=string.match(result, '.*[1-9][A-Z]')
                          if c ~= nil then
                          p=p..c.."\r\n"
                          end
                          end
                          Dialog.Message("Notice",p ); [/html]
                          بالتوفيق

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                            باختصار شديـــد التعليمة : string.match قوية في التعامل مع استخراج التعبير المنتظم
                            ولها استعمالات عدة مفيدة
                            [html]n= "g6y p5s zba a0c u5f t9b P3T PBs r7N"
                            p=""
                            for k = 1,String.Length(n),4 do
                            result = String.Mid(n, k, 3);
                            c=string.match(result, '.*[1-9][A-Z]')
                            if c ~= nil then
                            p=p..c.."\r\n"
                            end
                            end
                            Dialog.Message("Notice",p ); [/html]
                            بالتوفيق
                            هذه هي اللقطة .....يعني تحتصر لك كتابة مصوفتين بكل الحروف و الارقام

                            كود PHP:
                            c=string.match(result'.*[1-9][A-Z]'
                            جميل جدا....صح يجب ان اترك اكواد الاوتوبلاي و اتفرغ لاكواد lua

                            بارك الله فيكم و في علمكم الغزير

                            تعليق

                            مواضيع تهمك

                            تقليص

                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                            المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                            يعمل...
                            X