محمد بن أحمد أبو حذيفة
29-12-2017, 01:06 PM
أنا عندي مجموعة من المجلدات داخل التجمعية تظهر في ليست بوكس
أريد طريقة نسخ مجلد منها بعد تحديده من ليست بوكس
إلى الجهاز مع ظهرو حوار يخبر بجود الملف أن كان موجود من قبل
يوجد عندي كود من طرف الأخ عبود حفظه الله لكنه يعتمد على ملف
INI
مشكلته انه يبقى دائما يتذكر اسم المجلد
مثلا أنا نسخ مجلد من التجمعية إلى الجهاز
ثم حذفته واعدت العملية يظهر حوار أن الملف موجود مسبقا
لكنه في الأصل غير موجود إنما بقي مخز في ملفINI
الكود بلغة .lua في المرفق
function addfile(Source,Destination,Copied,Total,FileCopied ,FileTotal)
Progress.SetText("Progress1", String.SplitPath(Source).Filename..String.SplitPat h(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
أريد طريقة نسخ مجلد منها بعد تحديده من ليست بوكس
إلى الجهاز مع ظهرو حوار يخبر بجود الملف أن كان موجود من قبل
يوجد عندي كود من طرف الأخ عبود حفظه الله لكنه يعتمد على ملف
INI
مشكلته انه يبقى دائما يتذكر اسم المجلد
مثلا أنا نسخ مجلد من التجمعية إلى الجهاز
ثم حذفته واعدت العملية يظهر حوار أن الملف موجود مسبقا
لكنه في الأصل غير موجود إنما بقي مخز في ملفINI
الكود بلغة .lua في المرفق
function addfile(Source,Destination,Copied,Total,FileCopied ,FileTotal)
Progress.SetText("Progress1", String.SplitPath(Source).Filename..String.SplitPat h(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