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

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

لأجل تعبئة سريعة

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

  • لأجل تعبئة سريعة

    السلام عليكم ورحمة الله وبركاته
    --------------------------------------
    طلب برمجي يقدر ما أحتاجه و أحاول في تحقيقه بقدر ما أعجبتني الفكرة
    فقلت أشارك طبعا هواة المتعة البرمجية هذا الطلب أو سمه كما شئت
    ---------------------------------------------------
    التعبئة السريعة flash fill in excel تقنية تم استحداثها في الايكسل 2013 تحقق بواسطة فلترة أو كود قياسي
    أو باستعمال كونترول + e من لوح المفاتيح المهم ما دورها ؟

    اذا كانت لدينا قائمة من أسماء ثلاثية أو رباعية .... الخ
    نختار مثال من الاسم الأول مثلا اسما ... تقوم هذه التقنية باستخراج كل الأسماء في كل القائمة
    التي تتشارك مع الاسم السابق نفس الترتيب
    ----------------------
    الصورة غير واضحة .. نبتعد عن عنصر الجريد و نسأل انطلاقا من ListBox
    لديك ListBox بالشكل التالي على سبيل المثال :


    الان تكتب في انبوت من الاسم الاول مثلا : نجيبة هذا هو الاسم المختار

    تكون النتيجة :
    نجيبة
    إبراهيم
    عصام

    ------------------------------ لان الاسم ترتيبه الثاني من كل سطر -----------------------------

    ملاحظة : تم اختيار ListBox لتسهيل العمل و من ثم تحقيق به التعبئة السريعة وفق شروط و أبعاد البرمجة المستغلة لاجلها
    مرحبا بمن أراد المشاركة
    لم يعجبك الطلب اذن واصل في استغلال دالة وحيدة لا ثان لها لتظهر كل مرة
    في حلة جديدة للأسف هي نفسها سلام

  • #2
    وعليكم السلام ورحمة الله وبركاته
    قد لا تكون مشاركتي ذات نفع لكن الا تعتقد ان الدالة المستعملة في جلب الكلمة الاولى من سطر في ملف txt تفي بالغرض ؟
    ---------- في موضوع سابق حول استدعاء الكلمة الاولى من سطر في txt------------

    كما ان الدلة gmath ايضا لها نفس الدور وهي التي استعملتها مؤخرا في برامج الاسئلة ؟؟

    تعليق


    • #3
      عني فعلا مصر على الدالة gmath فهو إقتراح جميل و معقول حاول معي من هناااك
      لاداع لأي ملفات تكست اذ كان متاح تحقيق الغاية من داخل الاوتوبلاي

      تعليق


      • #4
        هذا مثال تطبيقي ............فرضا عندي ليسبوكس فيه اسماء ثلاثية او جمل او ............
        في اليسبوكس الثاني سيتخرج لنا الكلمة الاولى او الثانية او الثالثة حسب الطلب

        http://up.top4top.net/downloadf-top4...57211-rar.html

        هذا فقط استغلال احد الكودات التي تفضلت بها علينا من قبل

        تعليق


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

          الان تكتب في انبوت من الاسم الاول مثلا : نجيبة هذا هو الاسم المختار

          ها سلام
          لم الاحظ هذا السطر جيدا ......... هذا يتطلب ان نضيف في الكود السابق ......كود البحث عن ترتيب الكلمة في اليستبوكس وهو المنطلق

          تعديل في الكود السابق ........ سنجعل الزر يبحث عن ترتيب الكلمة المطلوبة ثم يعرض الكلمات الاخرى في السياق.........



          كود PHP:
          ListBox.DeleteItem("ListBox2"LB_ALLITEMS);
          Input.GetText("Input4");
          local n=1
          for i=1ListBox.GetCount("ListBox1") do
          ListBox.GetItemText("ListBox1",i)
              
          =1
              
          for w in string.gmatch(g"%S+") do 
              
          Input.SetText"Input"..x  w); 
              
          x=x+1
                
          for t=1,do 
                 
          res String.Find(Input.GetText("Input"..t), p1false);
                 if 
          res == 1 then
                 n
          =t
                 end
                 end
          ;end
          ListBox
          .AddItem("ListBox2"Input.GetText("Input"..n),"");
          end 
          بعد تعديل الكود .......... اكتب اي اسم سيعرض الاسماء الاخرى من نفس الترتيب

          تحياتي

          تعليق


          • #6
            لم انجح في اضافة ظهور ديالوج .......لا يوجد هذا الاسم ..........فالديالوج يتكرر عي رغم محاولتي استعمال break

            تعليق


            • #7
              خوارزمية العمل التي تعمل عليها سليمة جدا لم تبق الا خطوات و تكتب حلا
              لا أريد أن أفسد عليك الاستمتاع ببرمجة كود مهم متابع .... مراجعة بسيطة للأكواد و تصل

              :abc_086:أنا أستفزك برمجيا:abc_086:

              مساعدة : تخلى عن دالة البحث String.Find

              تعليق


              • #8
                المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
                لم انجح في اضافة ظهور ديالوج .......لا يوجد هذا الاسم ..........فالديالوج يتكرر عي رغم محاولتي استعمال break
                لا يوجد شيء اسمه برغم مني بل أنت أرغمه للتوقف وقت ما تشاء

                تعليق


                • #9
                  المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                  خوارزمية العمل التي تعمل عليها سليمة جدا لم تبق الا خطوات و تكتب حلا
                  لا أريد أن أفسد عليك الاستمتاع ببرمجة كود مهم متابع .... مراجعة بسيطة للأكواد و تصل

                  :abc_086:أنا أستفزك برمجيا:abc_086:

                  مساعدة : تخلى عن دالة البحث string.find
                  شكرا استاذ .......لم اتي بجدي و انما دمج لاكواد سابقة ................و ساحاول طبعا


                  المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                  لا يوجد شيء اسمه برغم مني بل أنت أرغمه للتوقف وقت ما تشاء
                  وهذه ايضا سنحاول

                  شكرا جزيلا استاذ

                  و ارجو من الاخوة المساهمة ايضا في الموضوع

                  تعليق


                  • #10
                    سأساهم بحل ... انطلاقا مما سبق من أكواد .. للوقوف على كل خلل بسيط و تطويعه
                    ------------------------------------------------------------------------------------------------
                    flash fill in excel كما ذكرنا و تعرف بانها تقوم بهذا الاستخلاص بناء على اسم موجود في السطر الأولـ
                    لذلك سنستعمل Input1 لنكتب فيه الاسم المنتمي للسطر الأول
                    هذا الاسم الكود كفيل بمعرفة رتيته ليقوم بتصفية و استخراج كل الأسماء التي تحمل نفس الترتيب
                    في كامل الصفوف تباعا .. و سنظهر النواتج في Dialog عن قصد
                    ----------------------------------------------------------------------------
                    لنكتب في ListBox1 أسماء أو أرقاما حيث السطر الواحد يمكنه أن يشمل عدة مفردات
                    -----------------------------------------------------------------------------------------------
                    كود PHP:
                    result1 ListBox.GetItemText("ListBox1"1); ---  قراءة  محتوى السطر الأول من الليست
                    Input.GetText("Input1"); --  تخزين المفردة محل الترتيب و تكون من مفردات السطر  الأول 
                    x
                    =---  الاعلان عن قيموة ابتدائية متزايدة
                    for token in string.gmatch(result1"[^%s]+") do  --  استخلاص مفردات السطر الاول من الليست كلمة كلمة
                    if token==Y then --- و عند تحقق شرط  تساوي كلمة من الليست يوكس مع المكتوبة في الانبوت
                    --- نخزن قيمة اكس الجديدة و هي مساوية تماما لترتيب الكلمة في الليست
                    end
                    x
                    =x+1--- يتم تزايد القيمة بواحد
                    end
                    ----  اذن  من خلال ماسبق عرفنا ترتيب المفردة و مكتن تواجدها
                    =---   هذه قيمة ابتدائية جديدة
                    for pp 1,ListBox.GetCount("ListBox1")do -- تكرار من الواحد لغاية عدد الأسطر في الليسا
                    ahmed
                    =ListBox.GetItemText("ListBox1"pp);---  ثم نقرأ محتوى الأسطر بالواحد
                    for token2 in string.gmatch(ahmed"[^%s]+") do -- ونجزيء السطر الى مفردات

                    if == b then -- بمجرد تساوي القيمة الابتدائية مع الترتيب الذي استنبطناه في أول الكود
                     Dialog
                    .Message("Notice"token2); ---  نخزن المفردة المتوافقةمن السطر
                     
                    break -- و نفرض توقف التكرار
                    end
                    n
                    =n+--  هنا تزايد القيمة الافتراضية 
                    end
                    n
                    =-- وهذا أهم اجراء  بحيث نعيد الدورة بنفس الشروط الابتدائية بعد تخزين المفردة
                    end
                    ---  انتهى 
                    نفرأ محاولات أجمل ... و أسئلة أجمل

                    تعليق


                    • #11
                      الحل جميل و شرح كافي ........ لكنه يعمل فقط مع كلمة ضمن السطر الاول من الليستبوكس

                      تعليق


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

                        تعليق


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

                          ........................
                          حاولت باستخدام دالة StringDelimitedToTable اي احول محتوى السطر في اليسبوكس الى عناصر ثم ابحث عن رقمها .......و اتدعي مثيلاتها في ليستبوكس او ديالوج ....لكن الكود يستخرج فقط الكلمات المشابهة فقط اذا كان سطرها اسفل منها .........

                          ساضع الكود .....لاحقا.......بعد الصلاة .......

                          تعليق


                          • #14
                            كل هذا الكلام جيد فقط كانت أمامي عملية في الابكسل حاولت تقليدها في الاوتوبلاي
                            بنفس الطربقة لكن لابأس من قراءة الكود الذي ستشاركني ( نا ) به لقراءة ما فكرت فيه أو اطرح
                            الأمر على شكل تمرين " ..منها نحاول و منها نقتل الرتابة و ما هيش عيب أو ضعف عندما أخبرك بعجزي وخروجي متسللا
                            و ما هيش قوة أو تمكن إن وصلت لحل .." سلامي الخاص

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                              كل هذا الكلام جيد فقط كانت أمامي عملية في الابكسل حاولت تقليدها في الاوتوبلاي
                              بنفس الطربقة لكن لابأس من قراءة الكود الذي ستشاركني ( نا ) به لقراءة ما فكرت فيه أو اطرح
                              الأمر على شكل تمرين " ..منها نحاول و منها نقتل الرتابة و ما هيش عيب أو ضعف عندما أخبرك بعجزي وخروجي متسللا
                              و ما هيش قوة أو تمكن إن وصلت لحل .." سلامي الخاص
                              هذه التحديات هي التي جعلتني اتعرف اكواد جديدة .......و لله المنة و الفضل ........ و الشكر موصول لكم استاذ على الاستفزاز البرمجي

                              .....................هذا اقراح حل و جميل و مختصر ايضا على الاقل نجح معي .........

                              في global function نضع :

                              كود PHP:

                              function StringDelimitedToTable(DelimitedStringDelimiter)
                                  
                              tbReturn = {};
                                  
                              local strWorking;
                                  
                              local nPos nil;
                                  
                              local strData;
                                  
                              local nTableIndex 1;
                                  
                              local nDelimiterLength String.Length(Delimiter);
                                  if(
                              nDelimiterLength 1)then
                                      tbReturn
                              [nTableIndex] = DelimitedString;
                                      return 
                              tbReturn;
                                  
                              end
                                  strWorking 
                              DelimitedString;
                                  
                              nPos String.Find(strWorking,Delimiter);
                                  while(
                              nPos ~= -1)do
                                      
                              strData String.Left(strWorking,nPos-1);
                                      
                              tbReturn[nTableIndex] = strData;
                                      
                              nTableIndex nTableIndex 1;
                                      
                              local nLength String.Length(strWorking);
                                      
                              strWorking String.Right(strWorking,nLength - (nPos + (nDelimiterLength-1)));
                                      
                              nPos String.Find(strWorking,Delimiter);
                                  
                              end
                                  
                              if(strWorking ~= "")then
                                      tbReturn
                              [nTableIndex] = strWorking;
                                  
                              end
                                  
                              return tbReturn;
                              end 

                              و في زر نضع الكود التالي و هو مسؤول عن البحث فقط في السطر الاول من اليسبوكس
                              كود PHP:

                              ListBox
                              .DeleteItem("ListBox2"LB_ALLITEMS);
                              ---------------
                              ListBox.GetItemText("ListBox1"1);
                              StringDelimitedToTable(g" ");
                              con Table.Count(y);
                              for 
                              t,nom in pairs(y) do
                                 if 
                              Input.GetText("Input1") == nom then  
                                     
                              for i=1ListBox.GetCount("ListBox1") do
                                         
                              ListBox.GetItemText("ListBox1"i);
                                         
                              StringDelimitedToTable(s" ");
                                         
                              ListBox.AddItem("ListBox2"x[t], "");
                                     
                              end
                                  end
                              end 
                              تحياتي استاذ

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: 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