Hola que tal, estaba haciendo una especie de file watcher con la librería lua file system(lfs.dll)
La cosa es que no sabría como especificar que paso realmente con un archivo, como se puede ver en el código a continuación, tampoco me es relevante, así ya me vale, pero lo publico en dudas por si alguien quiere o puede mejorar el código
On show
On Timer
La cosa es que no sabría como especificar que paso realmente con un archivo, como se puede ver en el código a continuación, tampoco me es relevante, así ya me vale, pero lo publico en dudas por si alguien quiere o puede mejorar el código
On show
lfs = require ('lfs');
Page.StartTimer(1000, 1);
WATCHER_lastmodified = (os.time());
WATCHER_tblfiles = ({});
WATCHER_first = (true);
WATCHER_directory = ("C:\\Users\\lacalculadoradewindowsnosirveparamultiplicar\\Documents\\porno\\enanos con 2 penes\\");
function Watcher(directory)
local dir_files = (lfs.dir(directory));
for Filename in dir_files do
if(Filename ~= "." and Filename ~= "..")then
local File = (directory..Filename);
if(lfs.attributes(File, "mode") == "file")then
if(#WATCHER_tblfiles == 0)then WATCHER_tblfiles[1] = (File); end
local Add = (true);
for _, tFile in pairs(WATCHER_tblfiles) do
if(tFile ~= File)then
Add = (true);
elseif(tFile == File)then
Add = (false);
break;
end
end
if(Add == true)then
WATCHER_tblfiles[#WATCHER_tblfiles+1] = (File);
if(WATCHER_first == false)then
ListBox.AddItem("ListBox_log", "NEW / RENAMED - "..File, "");
end
end
if(lfs.attributes(File, "modification") > WATCHER_lastmodified)then
WATCHER_lastmodified = lfs.attributes(File, "modification");
ListBox.AddItem("ListBox_log", "CHANGED / MODIFICATED - "..File, "");
end
elseif(lfs.attributes(File, "mode") == "directory")then
Watcher(File.."\\");
end
end
end
--WATCHER_first = (false); TODO: al pasar el codigo a una funcion el false tiene que estar en el timer
end
if(e_ID == 1)then
Watcher(WATCHER_directory);
WATCHER_first = (false);
end