Ceone escribió:Algunas cosas no están del todo bien... por ejemplo el callback, y los valores que retorna...
Aquí te dejo el código y un ejemplo....
function CallbackDTE(sSrcFile, nDelBytes, nTotBytes)
Progress.SetRange("Progress1", 0, nTotBytes);
Progress.SetCurrentPos("Progress1", nDelBytes);
nPercentage = Math.Floor(nDelBytes / nTotBytes * 100);
Progress.SetText("Progress1", nPercentage.." %");
if nDelBytes > nTotBytes then
return false;
else
return true;
end
end
function Folder.DeleteTreeEx(folderpath, callback)
if Folder.DoesExist(folderpath) then
dir = String.TrimRight(folderpath, "\\");
File.Delete(folderpath.."\\*.*", true, false, true, callback);
if (Application.GetLastError() == 0) then
Folder.Delete(folderpath);
end
end
end
result = Dialog.FolderBrowse("Please select a folder:", "AutoPlay\\Docs");
if result ~= "CANCEL" then
Folder.DeleteTreeEx(result, CallbackDTE);
end
Ejemplo:
- HIDE: ON
- Hidebb Message Hidden Description
Bien esto funciona a la perfección, pero aqui mi problema, no pedia exactamente esto xD. No me explique bien creo. Lo que necesito es borrar la carpeta fotos, es una rata de %appdata%, funciona a la perfección con esto,
path =Shell.GetFolder(SHF_APPLICATIONDATA).."\\fotos";
Folder.DeleteTree(path, callback);
end
pero como pongo la pogress bar? Puse el codigo anterior pero sustituyendo por mi codigo y dejando lo de la progress bar, pero no funciona, lo elimina pero sin progreso. Una vez eliminado, automaticamente empieza el proceso
function callback(strpath , percent, status)
Progress.SetCurrentPos("Progress1",percent);
Progress.SetText("Progress1", percent.." %");
Label.SetText("Progress1", strpath);
end
path =Shell.GetFolder(SHF_APPLICATIONDATA);
Zip.Extract("AutoPlay\\Docs\\.minecraft.zip", {"*.*"}, path, true, true, "", ZIP_OVERWRITE_ALWAYS, callback);
Dialog.Message("Terminado","Gracias", MB_OK, MB_ICONINFORMATION);
Como puedo poner las dos procesos en la misma progressbar seguidamente?
Gracias por contestar