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

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

الحلقات، والتعقيد البرمجي لدي

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

  • الحلقات، والتعقيد البرمجي لدي

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته - حياكم الله جميعاً :)

    لدي سؤال عن دالة for ، الحقيقة أني منذ أن عرفت لغات البرمجة حتى يومي هذا، وأنا في عدم توافق مع هذه الدالة... رغم أنها من البرمجة بمكانة
    أحببت لو أن هُناك من يتفضل علي بشرح هذه الدالة بشكليها:
    (1)
    كود PHP:
    for i=xdo
    -- Do 
    something here
    end 
    (2)
    كود PHP:
    for i,x in pairs(y) do
    -- Do 
    something here
    end 
    سؤالي: ما الفرق بين الدالتين ؟؟ ومتى نستخدم الأولى!! ومتى نستخدم الثانية!!

    مثال
    : أريد جلب ملفات في مجلد ما ووضعها في Listbox > لا شك أني سأحتاج إلى دالة for
    مثال: معلوم أن الإكسبلور (مستعرض الويندوز) يشغل نفسه.. فهل يمكنني إغلاقه بشكل متكرر حتى لا يمكن فتحه..!
    مثال: أريد أن أستخدم الدالة EnumerateTitles لإرجاع العمليات التي تعمل..
    استخدمت الكود التالي:
    كود PHP:
    All_titles Window.EnumerateTitles();
    count Table.Count(all_titles)
    for 
    count do
    Dialog.Message("",i)
    end 
    طبعاً رجع لي بـ أرقام العمليات (1,2,3,4,....)
    أريده يرجع لي بـ أسماء العمليات !!

    أعلم أني قد أكثرت الكلام...
    فـ الخلاصة يا أساتذتي: أريد معرفة آلية الحلقات...

    - [
    سؤالين خارج الموضوع ] -
    هل يمكن إضافة Plugin Autoit للأصدار 8 !!
    لدي استفسار عن لغة Autoit فهل هُناك أمكانية لطرح السؤال ؟؟
    التعديل الأخير تم بواسطة أبو محسن; الساعة 01-12-2013, 08:07 PM.

  • #2
    بص يا اخى
    انت تريد ان البرنامج يرجعلك باسماء العمليات صح ؟
    ان كان ذلك فالكود هو :
    كود:
    all_titles = Window.EnumerateTitles();
    for i,x in pairs(all_titles) do
    Dialog.Message("",x)
    end
    بص يا اخى
    عند استخدام for مع الجداول نستخدم متغيرين جديدين وليكن i,x
    كود:
    for i,x in pairs(variable)
    i تشير هنا لرقم العنصر داخل الجدول وهو مايسمى index
    x تشير هنا للعنصر نفسه
    هذا ما اعلمه وان كان لى علم بشئ اكثر لازدتك

    تعليق


    • #3
      كلام صحيح يا قناص

      فـــ التكرار :

      for i=1,5 do --some thing end

      يمكن إستخدامة مع الجداول ومع القيم المعروف لها بداية و نهاية .

      أما التكرار :

      for i in pairs(result) do --Something end

      يستخدم مع الجداول فقط .

      تعليق


      • #4
        المشاركة الأصلية بواسطة القنـاص المصرى مشاهدة المشاركة
        بص يا اخى
        انت تريد ان البرنامج يرجعلك باسماء العمليات صح ؟
        ان كان ذلك فالكود هو :
        كود:
        all_titles = Window.EnumerateTitles();
        for i,x in pairs(all_titles) do
        Dialog.Message("",x)
        end
        بص يا اخى
        عند استخدام for مع الجداول نستخدم متغيرين جديدين وليكن i,x
        كود:
        for i,x in pairs(variable)
        i تشير هنا لرقم العنصر داخل الجدول وهو مايسمى index
        x تشير هنا للعنصر نفسه
        هذا ما اعلمه وان كان لى علم بشئ اكثر لازدتك
        جزاك الله خير وبارك فيك
        أفهم أن شكل الدالة التالية:
        كود PHP:
        for i,x in pairs (variable)
        ---
        end 
        خاصة بالتعامل مع الجداول، ( i,x ) !!!

        لكن الدالة التالية ما هي أستخداماتها ؟؟
        كود PHP:
        for i=1do
        ---
        end 
        !!!
        هذا ما أردت فهمه

        تعليق


        • #5
          مثل ماقالك الاستاذ عبود ان x=1 وخلافه دى بتكون لو انت عارف الجدول هينتهى فين
          لكن for x,y in pairs ده بيبقى فى حالة انك قصادك جدول مش عارف هيخلص فين زى مثلا لو انت هتجيب ملفات جوا فولدر فلازم تستخدم الطريقة التانية for i,n in pairs مع العلم انك تقدر تكتب اى حرف انت عاوزه مش شرط i و x اختر ماتريد وايا ماتختار فالاول للاندكس والثانى للقيمة

          تعليق


          • #6
            [html]for i=1, x do
            ---
            end [/html]
            هذه حلقة for do
            هذه الحلقة معلومة البداية و النهاية
            أنت تحدد البداية
            أنت تحدد النهاية
            حتى و لو كانت البداية و النهاية متغيرات
            بشرط حسابها قبل بداية الحلقة

            أما الحلقة
            [html]for i,x in pairs (variable)
            ---
            end [/html]

            هى حلقة for in do
            خاصة بمخرجات الجداول التى تكون دائما مفهرسة
            فهى تعتبر أن بداية for هى أول عنصر بالجدول
            و نهاية for هى آخر عنصر بالجدول
            و لا تحدد أنت لها بداية أو نهاية


            lملحوظة أخيرة
            يمكن لحلقات for do أن تحل محل حلقات for in do
            لا يمكن لحلقات for in do أن تحل محل حلقات for do

            تعليق


            • #7
              جزاكم الله خير
              أشعر أني قد فهمت في هذا اليوم ما لم أفهمه في الأيام التي خلت...

              سؤال أخير أخواني الأفاضل - تفضل الله عليكم -
              هل يمكن أن تجسدوا لي ما تم توضيحه في مثال؟ وتحديداً الحلقات مع الجداول !!

              كما أني لا انسى التالي

              -- - [ سؤالين خارج الموضوع ] - --
              هل يمكن إضافة Plugin Autoit للأصدار 8 !!
              لدي استفسار عن لغة Autoit فهل هُناك أمكانية لطرح السؤال ؟؟
              ^ ... ^

              تعليق


              • #8
                ان شاء الله هذا الملف يوضح لك الفكره

                في المرفقات
                الملفات المرفقة

                تعليق


                • #9
                  الله يبارك فيك أستاذ هيثم، وباقي الأساتذة الفضلاء

                  وهذا تعديل بسيط على الكود الي في مشروعك أستاذ هيثم
                  كود PHP:
                  sFind File.Find(_DesktopFolder.."\\File""*.txt"truetruenilnil);
                  for 
                  i,y in pairs(sFind) do
                  str String.SplitPath(y);
                  ListBox.AddItem("ListBox1"str.Filename..str.Extension"");
                  end 
                  وأخيراً تم فهم آلية الحلقات
                  والله لم أتوقع أنها بهذه السهولة واليُسر... :)

                  يبقى لدي سؤال يخص لغة Autoit وبحكم أني مبتدئ في اللغة لم أجد له جواب + هو من الأهمية بمكانة
                  إن كان هُناك مجال لطرح السؤال.. وإلا فلقد أفدتموني

                  تعليق


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

                    تعليق


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

                      تعليق


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

                        تعليق


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

                          تعليق


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

                            تعليق

                            مواضيع تهمك

                            تقليص

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