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

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

استفســـــار حـــــول ( File.Find ) ؟

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

  • استفســـــار حـــــول ( File.Find ) ؟

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

    لايجاد الملفات النصية في مجلد

    كود PHP:
    Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
      if 
    Browse~="CANCEL" then
         Find 
    File.Find(Browse"*.txt"falsefalsenilnil);
         if 
    Find~=nil then
           
    for is in pairs(Find) do
              
    ListBox.AddItem("ListBox1"s"");
           
    end
         end 
      end 
    ----
    لو اردت البحث عن التكست والبيداف ( txt ، pdf )


    ولماذا خطا في حالة كتابة الكود بهذا الشكل؟

    كود PHP:
    Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
    tip = {"*.txt","*.pdf"}
      if 
    Browse~="CANCEL" then
         Find 
    File.Find(Browsetip[i], falsefalsenilnil);
         if 
    Find~=nil then
           
    for is in pairs(Find) do
              
    ListBox.AddItem("ListBox1"s"");
           
    end
         end 
      end 
    -----
    وعند الكتاية بهذا الشكل

    كود PHP:
    Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
    file_txt File.Find(Browse"*.txt"falsefalsenil);
    file_pdf File.Find(Browse"*.pdf"falsefalsenil); 
    tip = {file_txtfile_pdf}; 
    for 
    k in pairs(tip) do 
    for 
    j,file_path in pairs(tip[k]) do 
    ListBox.AddItem("ListBox1"String.SplitPath(file_path).Filenamefile_path);
    end 
    end 
    يعمل بشكل جيد
    ---
    السؤال ما هو الكود المثالي لتنفيذ هذه العملية ؟


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

  • #2
    الكود جميل جداو عملي و مدام يؤدي الدور المنوط به
    فاين المشكل ؟؟

    تعليق


    • #3
      تعديل الكود الاول

      كود PHP:

      Browse 
      Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
      tip = {"*.txt","*.pdf"}
        if 
      Browse~="CANCEL" then
           
      for i1,#tip do
           
      Find File.Find(Browsetip[i], falsefalsenilnil);
           if 
      Find~=nil then
             
      for is in pairs(Find) do
                
      ListBox.AddItem("ListBox1"String.SplitPath(s).Filenames);
             
      end
             end
           end 
        end 
      المشكل في هذا السطر فقط

      كود PHP:
           for i1,#tip do 

      تعليق


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

        كود PHP:

        Browse 
        Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
        tip = {"*.txt","*.pdf"}
          if 
        Browse~="CANCEL" then
             
        for i1,#tip do
             
        Find File.Find(Browsetip[i], falsefalsenilnil);
             if 
        Find~=nil then
               
        for is in pairs(Find) do
                  
        ListBox.AddItem("ListBox1"String.SplitPath(s).Filenames);
               
        end
               end
             end 
          end 
        المشكل في هذا السطر فقط

        كود PHP:
             for i1,#tip do 
        ---------------------------------
        بسم الله الرحمن الرحيم
        شكرا لك اخي المحترف
        وبارك الله فيك

        كنت اعتقد ان i تعتبر معرفة على انها تاخذ قيم 1 2 3 ......الخ حسب عدد عناصر المجموعة

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

        تعليق


        • #5
          المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
          الكود جميل جداو عملي و مدام يؤدي الدور المنوط به
          فاين المشكل ؟؟
          ----------------
          بسم الله الرحمن الرحيم
          لا يوجد مشكلة اخي العزيز
          فقط حب المعرفة والتعلم
          موفق بإذن الله ... لك مني أجمل تحية .

          تعليق


          • #6
            بسم الله الرحمن الرحيم

            اذا اردت استدعاء كل نوع لليست بكس منفصل
            هل توجد صيغة افضل من هذا الكود لعمل ذالك

            كود PHP:
            Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
            tip = {"*.txt","*.pdf"}
              if 
            Browse~="CANCEL" then
              ListBox
            .DeleteItem("ListBox1", -1); 
                 
            Find1 File.Find(Browsetip[1], falsefalsenilnil);
                  
            Find2 File.Find(Browsetip[2], falsefalsenilnil);
                 if 
            Find1~=nil and  Find2~=nil  then
                   
            for is in pairs(Find1) do
                      
            ListBox.AddItem("ListBox1"s"");
                   
            end
                   
            for jk in pairs(Find2) do
                      
            ListBox.AddItem("ListBox2"k"");
                   
            end
                   
                   
                 end 
              end 

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

            تعليق


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

              اذا اردت استدعاء كل نوع لليست بكس منفصل
              هل توجد صيغة افضل من هذا الكود لعمل ذالك

              كود PHP:
              Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
              tip = {"*.txt","*.pdf"}
                if 
              Browse~="CANCEL" then
                ListBox
              .DeleteItem("ListBox1", -1); 
                   
              Find1 File.Find(Browsetip[1], falsefalsenilnil);
                    
              Find2 File.Find(Browsetip[2], falsefalsenilnil);
                   if 
              Find1~=nil and  Find2~=nil  then
                     
              for is in pairs(Find1) do
                        
              ListBox.AddItem("ListBox1"s"");
                     
              end
                     
              for jk in pairs(Find2) do
                        
              ListBox.AddItem("ListBox2"k"");
                     
              end
                     
                     
                   end 
                end 

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

              تعديل على الكود الاول .....لاحظ سنفترض اننا نبحث عن 5 انواع من الملفات ........و بالتالي 5 ليسبوكسات ........فيكون الكود فقط بتغيير اليسبوكس1 الى اليسبوكس..i

              كود PHP:
              Browse Dialog.FolderBrowse("Please select a folder:"_WindowsFolder);
              tip = {"*.txt","*.pdf","*.jpg","*.mp3","*.doc"}
                if 
              Browse~="CANCEL" then
                   
              for i1,#tip do
                   
              Find File.Find(Browsetip[i], falsefalsenilnil);
                   if 
              Find~=nil then
                     
              for ii s in pairs(Find) do
                        
              ListBox.AddItem("ListBox"..iString.SplitPath(s).Filenames);
                     
              end
                     end
                   end 
                end 

              تعليق


              • #8
                بسم الله الرحمن الرحيم
                بالفعل اخي المحترف السنين تمر بسرعة البرق

                اللهم حسن الخاتمة

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

                تعليق


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

                  فيتم تنفيذ المطلوب

                  تعليق


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

                    فيتم تنفيذ المطلوب
                    -
                    ---------------------------------
                    بسم الله الرحمن الرحيم

                    مرحبا بك استاذ عبود
                    كيف يتم مقارنة النتيجة إذا كان الملف إمتدادة تكست أو بى دى إف ؟

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

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
                      -
                      ---------------------------------
                      بسم الله الرحمن الرحيم

                      مرحبا بك استاذ عبود
                      كيف يتم مقارنة النتيجة إذا كان الملف إمتدادة تكست أو بى دى إف ؟

                      موفق بإذن الله ... لك مني أجمل تحية .
                      كود:
                      --
                      Browse = Dialog.FolderBrowse("Please select a folder:", _WindowsFolder); 
                      if Browse~="CANCEL" then 
                           Find = File.Find(Browse, "*.*", false, false, nil, nil); 
                           if Find~=nil then 
                             for i, s in pairs(Find) do 
                                if String.SplitPath(s).Extension==".txt" or String.SplitPath(s).Extension==".pdf" then
                                    ListBox.AddItem("ListBox1", s, ""); 
                                end
                             end 
                           end  
                      end
                      عملت بحث عن الكل ثم فى الحلقة وضعت له شرط إذا وجد الإمتداد تكست أو بى دى إف يعمل على الإضافة داخل الليست بوكس

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
                        كود:
                        --
                        Browse = Dialog.FolderBrowse("Please select a folder:", _WindowsFolder); 
                        if Browse~="CANCEL" then 
                             Find = File.Find(Browse, "*.*", false, false, nil, nil); 
                             if Find~=nil then 
                               for i, s in pairs(Find) do 
                                  if String.SplitPath(s).Extension==".txt" or String.SplitPath(s).Extension==".pdf" then
                                      ListBox.AddItem("ListBox1", s, ""); 
                                  end
                               end 
                             end  
                        end
                        عملت بحث عن الكل ثم فى الحلقة وضعت له شرط إذا وجد الإمتداد تكست أو بى دى إف يعمل على الإضافة داخل الليست بوكس
                        -------------------------------
                        رائعا جدا استاذ عبود
                        بارك الله فيك
                        باقي جزئية في نفس الكود الذي وضعته ؟
                        كيف اجعل كل Extension في ليست بكس مختلف

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

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
                          -------------------------------
                          رائعا جدا استاذ عبود
                          بارك الله فيك
                          باقي جزئية في نفس الكود الذي وضعته ؟
                          كيف اجعل كل Extension في ليست بكس مختلف

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

                          النظرية فى الشرط أستاذى الفاضل
                          فهناك قلت للشرط إذا كان الإمتداد تكست أو بى دى إف
                          فكلمة أو تعبر عنها بـــ or ضمن الشرط إف

                          فإذا أردنا التعبير عما ذكرته لاحقا أن كل إمتداد من التكست و البى دى إف يكون على حدى فى ليست منفصل فيكون الكود بهذا الشكل :

                          كود:
                          --
                          Browse = Dialog.FolderBrowse("Please select a folder:", _WindowsFolder); 
                          if Browse~="CANCEL" then 
                               Find = File.Find(Browse, "*.*", false, false, nil, nil); 
                               if Find~=nil then 
                                 for i, s in pairs(Find) do 
                                    if String.SplitPath(s).Extension==".txt" then
                                        ListBox.AddItem("ListBox1", s, ""); 
                                       elseif String.SplitPath(s).Extension==".pdf" then
                                          ListBox.AddItem("ListBox2", s, "");
                                    end
                                 end 
                               end  
                          end
                          وهنا يأتى دور الشرط إف و إلسى إف ونستغنى عن or

                          تعليق


                          • #14
                            بسم الله الرحمن الرحيم
                            شكرا جزيلا استاذ عبود
                            موفق بإذن الله ... لك مني أجمل تحية .

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
                              النظرية فى الشرط أستاذى الفاضل
                              فهناك قلت للشرط إذا كان الإمتداد تكست أو بى دى إف
                              فكلمة أو تعبر عنها بـــ or ضمن الشرط إف

                              فإذا أردنا التعبير عما ذكرته لاحقا أن كل إمتداد من التكست و البى دى إف يكون على حدى فى ليست منفصل فيكون الكود بهذا الشكل :

                              كود:
                              --
                              Browse = Dialog.FolderBrowse("Please select a folder:", _WindowsFolder); 
                              if Browse~="CANCEL" then 
                                   Find = File.Find(Browse, "*.*", false, false, nil, nil); 
                                   if Find~=nil then 
                                     for i, s in pairs(Find) do 
                                        if String.SplitPath(s).Extension==".txt" then
                                            ListBox.AddItem("ListBox1", s, ""); 
                                           elseif String.SplitPath(s).Extension==".pdf" then
                                              ListBox.AddItem("ListBox2", s, "");
                                        end
                                     end 
                                   end  
                              end
                              وهنا يأتى دور الشرط إف و إلسى إف ونستغنى عن or
                              أجدت بارك الله فيك

                              تعليق

                              مواضيع تهمك

                              تقليص

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