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

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

ماهي طريقة تفلايغ ملف ini

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

  • ماهي طريقة تفلايغ ملف ini

    أنا عندي مجموعة من المجلدات داخل التجمعية تظهر في ليست بوكس



    أريد طريقة نسخ مجلد منها بعد تحديده من ليست بوكس

    إلى الجهاز مع ظهرو حوار يخبر بجود الملف أن كان موجود من قبل



    يوجد عندي كود من طرف الأخ عبود حفظه الله لكنه يعتمد على ملف




    INI


    مشكلته انه يبقى دائما يتذكر اسم المجلد

    مثلا أنا نسخ مجلد من التجمعية إلى الجهاز

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

    لكنه في الأصل غير موجود إنما بقي مخز في ملفINI

    الكود بلغة .lua في المرفق

    كود PHP:
    function addfile(Source,Destination,Copied,Total,FileCopied,FileTotal)
        
    Progress.SetText("Progress1"String.SplitPath(Source).Filename..String.SplitPath(Source).Extension.."    :   ÌÇÑì äÓΠÇáãáÝ");
        
    Progress.SetCurrentPos("Progress1"last_pos + (Copied*100/total_size));
    end
    MediaPlayer
    .Pause("Plugin1");
    _Selection ComboBox.GetSelected("ComboBox1");
    if 
    _Selection~= -1    then
       total_size 
    0;
       
    Progress.SetVisible("Progress1"true);
       
    Progress.SetText("Progress1""åá ÊÑíÏ ÚãáíÉ äÓΠÌÏíÏÉ¿");
       
    Progress.SetCurrentPos("Progress1"0);
       
    list_data ComboBox.GetItemData("ComboBox1"_Selection); 
       if 
    list_data~="" then
           ddt 
    File.Find(list_data.."\\""*.*"truetruenilnil);
           if 
    ddt~=nil then
               
    for i=1#ddt do
                    
    get_s File.GetSize(ddt[i]);
                    
    total_size total_size get_s;
               
    end
           end
           target_folder 
    Dialog.FolderBrowse("ÍÏÏ ÇáãÌáÏ ÇáãÑÇÏ ÇáÍÝÙ ÝíÉ"_DesktopFolder);
           if 
    target_folder ~= "" and target_folder ~= "CANCEL" then
              ts 
    INIFile.GetValueNames(_SourceFolder.."\\Downloads.ini""Folders");
              if 
    ts~=nil then
                  
    for is in pairs(ts)do
                      if 
    s==String.SplitPath(list_data).Filename then
                          exist 
    Dialog.Message("ÅäÊÈå""åÐÇ ÇáãÌáÏ ÇáãÍÏÏ Êã ÊÍãíáÉ ãÓÈÞÇ æíæÌÏ Ýì ÇáãÓÇÑ åá ÊÑíÏ ÊÍãíáÉ ãÑÉ ÃÎÑì ãÚ ÇáÅÓÊÈÏÇá  ¿"MB_YESNOMB_ICONINFORMATIONMB_DEFBUTTON1);
                          if 
    exist==IDYES then
                              
    --DialogEx.Show("ALL"truenilnil);
                              if 
    list_data~="" then
                                  dxt 
    Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                  if 
    not dxt then
                                       Folder
    .Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                  
    end
                              end
                              last_pos 
    Progress.GetCurrentPos("Progress1");
                              
    File.Copy(list_data.."\\*.*"target_folder.."\\"..String.SplitPath(list_data).Filenametruetruefalsetrueaddfile);
                              
    Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ""ÊãÊ ÚãáíÉ ÇáäÓΠÈäÌÇÍ"2000MB_ICONINFORMATION);   
                              
    INIFile.SetValue(_SourceFolder.."\\Downloads.ini""Folders"String.SplitPath(list_data).Filenametarget_folder.."\\"..String.SplitPath(list_data).Filename);
                              
    Audio.Load(CHANNEL_BACKGROUND"AutoPlay\\Audio\\Scuba.ogg"truefalse);
                           
    end
                      
    break
                      elseif 
    s~=String.SplitPath(list_data).Filename and i==#ts then
                           
    --DialogEx.Show("ALL"truenilnil);
                           if 
    list_data~="" then
                               dxt 
    Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                               if 
    not dxt then
                                   Folder
    .Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                               
    end
                           end
                           last_pos 
    Progress.GetCurrentPos("Progress1");
                           
    File.Copy(list_data.."\\*.*"target_folder.."\\"..String.SplitPath(list_data).Filenametruetruefalsetrueaddfile);
                           
    Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ""ÊãÊ ÚãáíÉ ÇáäÓΠÈäÌÇÍ"2000MB_ICONINFORMATION);   
                           
    INIFile.SetValue(_SourceFolder.."\\Downloads.ini""Folders"String.SplitPath(list_data).Filenametarget_folder.."\\"..String.SplitPath(list_data).Filename);
                           
    Audio.Load(CHANNEL_BACKGROUND"AutoPlay\\Audio\\Scuba.ogg"truefalse);
                      
    end 
                  end
                 
    else
                   --
    DialogEx.Show("ALL"truenilnil); 
                   if 
    list_data~="" then
                        dxt 
    Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                        if 
    not dxt then
                             Folder
    .Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                        
    end
                   end
                   last_pos 
    Progress.GetCurrentPos("Progress1");
                   
    File.Copy(list_data.."\\*.*"target_folder.."\\"..String.SplitPath(list_data).Filenametruetruefalsetrueaddfile);
                   
    Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ""ÊãÊ ÚãáíÉ ÇáäÓΠÈäÌÇÍ"2000MB_ICONINFORMATION);   
                   
    INIFile.SetValue(_SourceFolder.."\\Downloads.ini""Folders"String.SplitPath(list_data).Filenametarget_folder.."\\"..String.SplitPath(list_data).Filename);
                   
    Audio.Load(CHANNEL_BACKGROUND"AutoPlay\\Audio\\Scuba.ogg"truefalse);
              
    end
           end
       end
       Progress
    .SetVisible("Progress1"false);
      else
        
    Dialog.Message("ÇäÊÈÉ""íÌÈ ÊÍÏíÏ ÇáãÌáÏ ÇáãÑÇÏ ÍÝÙÉ ÃæáÇ"MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1);  
    end 
    الملفات المرفقة
    التعديل الأخير تم بواسطة محمد بن أحمد أبو حذيفة; الساعة 30-12-2017, 10:48 AM.

  • #2
    اذن اذا كان الحدف عبر كود ايضا استعمل ini!file.delelet
    اما اذا كان الحدف يدويا فيجب ان تضع كود في on show يضع ملفات المجلدات في ملف ini

    تعليق


    • #3
      ضع هذا الكود بعد التعديل فقد تم حذف الأسطر المسؤلة عن التسجيل بوضع علامة -- قبل السطر

      كود:
      --
      function addfile(Source,Destination,Copied,Total,FileCopied,FileTotal)
          Progress.SetText("Progress1", String.SplitPath(Source).Filename..String.SplitPath(Source).Extension.."    :   ÌÇÑì äÓÎ ÇáãáÝ");
          Progress.SetCurrentPos("Progress1", last_pos + 1 + (Copied*100/total_size));
      end
      MediaPlayer.Pause("Plugin1");
      _Selection = ComboBox.GetSelected("ComboBox1");
      if _Selection~= -1    then
         total_size = 0;
         Progress.SetVisible("Progress1", true);
         Progress.SetText("Progress1", "åá ÊÑíÏ ÚãáíÉ äÓÎ ÌÏíÏÉ¿");
         Progress.SetCurrentPos("Progress1", 0);
         list_data = ComboBox.GetItemData("ComboBox1", _Selection); 
         if list_data~="" then
             ddt = File.Find(list_data.."\\", "*.*", true, true, nil, nil);
      	   if ddt~=nil then
      	       for i=1, #ddt do
                      get_s = File.GetSize(ddt[i]);
                      total_size = total_size + get_s;
                 end
             end
             target_folder = Dialog.FolderBrowse("ÍÏÏ ÇáãÌáÏ ÇáãÑÇÏ ÇáÍÝÙ ÝíÉ", _DesktopFolder);
             if target_folder ~= "" and target_folder ~= "CANCEL" then
                ts = INIFile.GetValueNames(_SourceFolder.."\\Downloads.ini", "Folders");
                if ts~=nil then
                    for i, s in pairs(ts)do
                        if s==String.SplitPath(list_data).Filename then
                            exist = Dialog.Message("ÅäÊÈå", "åÐÇ ÇáãÌáÏ ÇáãÍÏÏ Êã ÊÍãíáÉ ãÓÈÞÇ æíæÌÏ Ýì ÇáãÓÇÑ åá ÊÑíÏ ÊÍãíáÉ ãÑÉ ÃÎÑì ãÚ ÇáÅÓÊÈÏÇá  ¿", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
                            if exist==IDYES then
                                --DialogEx.Show("ALL", true, nil, nil);
                                if list_data~="" then
                                    dxt = Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                    if not dxt then
                                         Folder.Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                    end
                                end
                                last_pos = Progress.GetCurrentPos("Progress1");
                                File.Copy(list_data.."\\*.*", target_folder.."\\"..String.SplitPath(list_data).Filename, true, true, false, true, addfile);
                                Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, MB_ICONINFORMATION);   
                                --INIFile.SetValue(_SourceFolder.."\\Downloads.ini", "Folders", String.SplitPath(list_data).Filename, target_folder.."\\"..String.SplitPath(list_data).Filename);
                                Audio.Load(CHANNEL_BACKGROUND, "AutoPlay\\Audio\\Scuba.ogg", true, false);
                             end
                        break
                        elseif s~=String.SplitPath(list_data).Filename and i==#ts then
                             --DialogEx.Show("ALL", true, nil, nil);
                             if list_data~="" then
                                 dxt = Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                 if not dxt then
                                     Folder.Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                                 end
                             end
                             last_pos = Progress.GetCurrentPos("Progress1");
                             File.Copy(list_data.."\\*.*", target_folder.."\\"..String.SplitPath(list_data).Filename, true, true, false, true, addfile);
                             Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, MB_ICONINFORMATION);   
                             --INIFile.SetValue(_SourceFolder.."\\Downloads.ini", "Folders", String.SplitPath(list_data).Filename, target_folder.."\\"..String.SplitPath(list_data).Filename);
                             Audio.Load(CHANNEL_BACKGROUND, "AutoPlay\\Audio\\Scuba.ogg", true, false);
                        end 
                    end
                   else
                     --DialogEx.Show("ALL", true, nil, nil); 
                     if list_data~="" then
                          dxt = Folder.DoesExist(target_folder.."\\"..String.SplitPath(list_data).Filename);
                          if not dxt then
                               Folder.Create(target_folder.."\\"..String.SplitPath(list_data).Filename);
                          end
                     end
                     last_pos = Progress.GetCurrentPos("Progress1");
                     File.Copy(list_data.."\\*.*", target_folder.."\\"..String.SplitPath(list_data).Filename, true, true, false, true, addfile);
                     Dialog.TimedMessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, MB_ICONINFORMATION);   
                     --INIFile.SetValue(_SourceFolder.."\\Downloads.ini", "Folders", String.SplitPath(list_data).Filename, target_folder.."\\"..String.SplitPath(list_data).Filename);
                     Audio.Load(CHANNEL_BACKGROUND, "AutoPlay\\Audio\\Scuba.ogg", true, false);
                end
             end
         end
         Progress.SetVisible("Progress1", false);
        else
          Dialog.Message("ÇäÊÈÉ", "íÌÈ ÊÍÏíÏ ÇáãÌáÏ ÇáãÑÇÏ ÍÝÙÉ ÃæáÇ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);  
      end
      وإحذف ملف Downloads.ini هتلاقية بجوار الملف التنفيذى بتاع المشروع ...... ويكفى بدون تعديل فى باقى الأكواد علشان متتلخبطشى

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

      تعليق


      • #4
        المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
        اذن اذا كان الحدف عبر كود ايضا استعمل ini!file.delelet
        اما اذا كان الحدف يدويا فيجب ان تضع كود في on show يضع ملفات المجلدات في ملف ini
        بارك الله فيك
        لكن لم افهم ما تريد قوله

        تعليق


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

          كود:
          --
          function addfile(source,destination,copied,total,filecopied,filetotal)
              progress.settext("progress1", string.splitpath(source).filename..string.splitpath(source).extension.."    :   ÌÇÑì äÓÎ ÇáãáÝ");
              progress.setcurrentpos("progress1", last_pos + 1 + (copied*100/total_size));
          end
          mediaplayer.pause("plugin1");
          _selection = combobox.getselected("combobox1");
          if _selection~= -1    then
             total_size = 0;
             progress.setvisible("progress1", true);
             progress.settext("progress1", "åá ÊÑíÏ ÚãáíÉ äÓÎ ÌÏíÏÉ¿");
             progress.setcurrentpos("progress1", 0);
             list_data = combobox.getitemdata("combobox1", _selection); 
             if list_data~="" then
                 ddt = file.find(list_data.."\\", "*.*", true, true, nil, nil);
                 if ddt~=nil then
                     for i=1, #ddt do
                          get_s = file.getsize(ddt[i]);
                          total_size = total_size + get_s;
                     end
                 end
                 target_folder = dialog.folderbrowse("ÍÏÏ ÇáãÌáÏ ÇáãÑÇÏ ÇáÍÝÙ ÝíÉ", _desktopfolder);
                 if target_folder ~= "" and target_folder ~= "cancel" then
                    ts = inifile.getvaluenames(_sourcefolder.."\\downloads.ini", "folders");
                    if ts~=nil then
                        for i, s in pairs(ts)do
                            if s==string.splitpath(list_data).filename then
                                exist = dialog.message("ÅäÊÈå", "åÐÇ ÇáãÌáÏ ÇáãÍÏÏ Êã ÊÍãíáÉ ãÓÈÞÇ æíæÌÏ Ýì ÇáãÓÇÑ åá ÊÑíÏ ÊÍãíáÉ ãÑÉ ÃÎÑì ãÚ ÇáÅÓÊÈÏÇá  ¿", mb_yesno, mb_iconinformation, mb_defbutton1);
                                if exist==idyes then
                                    --dialogex.show("all", true, nil, nil);
                                    if list_data~="" then
                                        dxt = folder.doesexist(target_folder.."\\"..string.splitpath(list_data).filename);
                                        if not dxt then
                                             folder.create(target_folder.."\\"..string.splitpath(list_data).filename);
                                        end
                                    end
                                    last_pos = progress.getcurrentpos("progress1");
                                    file.copy(list_data.."\\*.*", target_folder.."\\"..string.splitpath(list_data).filename, true, true, false, true, addfile);
                                    dialog.timedmessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, mb_iconinformation);   
                                    --inifile.setvalue(_sourcefolder.."\\downloads.ini", "folders", string.splitpath(list_data).filename, target_folder.."\\"..string.splitpath(list_data).filename);
                                    audio.load(channel_background, "autoplay\\audio\\scuba.ogg", true, false);
                                 end
                            break
                            elseif s~=string.splitpath(list_data).filename and i==#ts then
                                 --dialogex.show("all", true, nil, nil);
                                 if list_data~="" then
                                     dxt = folder.doesexist(target_folder.."\\"..string.splitpath(list_data).filename);
                                     if not dxt then
                                         folder.create(target_folder.."\\"..string.splitpath(list_data).filename);
                                     end
                                 end
                                 last_pos = progress.getcurrentpos("progress1");
                                 file.copy(list_data.."\\*.*", target_folder.."\\"..string.splitpath(list_data).filename, true, true, false, true, addfile);
                                 dialog.timedmessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, mb_iconinformation);   
                                 --inifile.setvalue(_sourcefolder.."\\downloads.ini", "folders", string.splitpath(list_data).filename, target_folder.."\\"..string.splitpath(list_data).filename);
                                 audio.load(channel_background, "autoplay\\audio\\scuba.ogg", true, false);
                            end 
                        end
                       else
                         --dialogex.show("all", true, nil, nil); 
                         if list_data~="" then
                              dxt = folder.doesexist(target_folder.."\\"..string.splitpath(list_data).filename);
                              if not dxt then
                                   folder.create(target_folder.."\\"..string.splitpath(list_data).filename);
                              end
                         end
                         last_pos = progress.getcurrentpos("progress1");
                         file.copy(list_data.."\\*.*", target_folder.."\\"..string.splitpath(list_data).filename, true, true, false, true, addfile);
                         dialog.timedmessage("ãÚáæãÜÜÜÜÜÜÜÜÉ", "ÊãÊ ÚãáíÉ ÇáäÓÎ ÈäÌÇÍ", 2000, mb_iconinformation);   
                         --inifile.setvalue(_sourcefolder.."\\downloads.ini", "folders", string.splitpath(list_data).filename, target_folder.."\\"..string.splitpath(list_data).filename);
                         audio.load(channel_background, "autoplay\\audio\\scuba.ogg", true, false);
                    end
                 end
             end
             progress.setvisible("progress1", false);
            else
              dialog.message("ÇäÊÈÉ", "íÌÈ ÊÍÏíÏ ÇáãÌáÏ ÇáãÑÇÏ ÍÝÙÉ ÃæáÇ", mb_ok, mb_iconinformation, mb_defbutton1);  
          end
          وإحذف ملف downloads.ini هتلاقية بجوار الملف التنفيذى بتاع المشروع ...... ويكفى بدون تعديل فى باقى الأكواد علشان متتلخبطشى

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

          تعليق


          • #6
            مش فاهم قصدك
            يعنى قبل التعديل لم يكن يعمل ؟

            هتقولى أنا بعد ما حملت الملف نقلتة مكان تانى أو حذفتة هقولك يا عم أنا إستخدمت عملية التحقق من إجراء عملية التحميل التى تمت سابقا وحفظتها بملف ini
            وكان من الممكن عدم إستعمل هذه الطريقة والتعويض عنها بدالة تحقق من وجود الملف أو المجلد المحمل سابقا وهى الدالة File.DoesExist للتحقق من وجود الملفات بالمسار أو الدالة Folder.DoesExist هذه إشارة لمن يريد مساعدتك يقوم بإستعمالها بدلا من الإستعانة بملف الــ ini أو دمجها بعدها على سبيل التحقق معها

            أتمنى لك التوفيق إن شاء الله

            تعليق


            • #7
              المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
              مش فاهم قصدك
              يعنى قبل التعديل لم يكن يعمل ؟

              هتقولى أنا بعد ما حملت الملف نقلتة مكان تانى أو حذفتة هقولك يا عم أنا إستخدمت عملية التحقق من إجراء عملية التحميل التى تمت سابقا وحفظتها بملف ini
              وكان من الممكن عدم إستعمل هذه الطريقة والتعويض عنها بدالة تحقق من وجود الملف أو المجلد المحمل سابقا وهى الدالة File.DoesExist للتحقق من وجود الملفات بالمسار أو الدالة Folder.DoesExist هذه إشارة لمن يريد مساعدتك يقوم بإستعمالها بدلا من الإستعانة بملف الــ ini أو دمجها بعدها على سبيل التحقق معها

              أتمنى لك التوفيق إن شاء الله

              بارك الله فيك
              قبل التعديل


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

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

              بالنسبة Folder.DoesExist

              فيه موجد في الكود

              sd = Folder.DoesExist(destination.."\\"..String.SplitPa th(dt).Filename);

              تعليق


              • #8
                مشكووور كتير

                تعليق


                • #9
                  مشكوووووووووووووووووووووو ووووووووووووووووووووووور

                  تعليق

                  مواضيع تهمك

                  تقليص

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