Element FileTools GlobalVars FileTools.F1 dd 0 FileTools.FD FINDDATA PointWork doCopy \local f1,f2 ReadStr f1,data,data.type,Self#.FileName,0 mov_ex eax,f1 lea edx,[FileTools.F1] stdcall __strdup ReadStr f2,data,data.type,Self#.NewFileName,0 invoke CopyFile,[FileTools.F1],f2,0 if Self#.onEnd.use eq 1 or eax,eax je exit lea ecx,[FileTools.FD] invoke FindFirstFile,f1,ecx cmp eax,INVALID_HANDLE_VALUE je exit invoke FindClose,eax Self#.onEnd 0,data_null end if EndPoint PointWork doMove \local f1,f2 ReadStr f1,data,data.type,Self#.FileName,0 mov_ex eax,f1 lea edx,[FileTools.F1] stdcall __strdup ReadStr f2,data,data.type,Self#.NewFileName,0 invoke MoveFileEx,[FileTools.F1],f2,MOVEFILE_COPY_ALLOWED or MOVEFILE_REPLACE_EXISTING or MOVEFILE_WRITE_THROUGH if Self#.onEnd.use eq 1 or eax,eax je exit lea ecx,[FileTools.FD] invoke FindFirstFile,f1,ecx cmp eax,INVALID_HANDLE_VALUE je exit invoke FindClose,eax Self#.onEnd 0,data_null end if EndPoint PointWork doDelete \local f1 ReadStr f1,data,data.type,Self#.FileName,0 invoke DeleteFile,f1 if Self#.onEnd.use eq 1 or eax,eax je exit lea ecx,[FileTools.FD] invoke FindFirstFile,f1,ecx cmp eax,INVALID_HANDLE_VALUE je @f invoke FindClose,eax jmp exit @@: Self#.onEnd 0,data_null end if EndPoint PointWork doFileExists \local f1 ReadStr f1,data,data.type,Self#.FileName,0 lea ecx,[FileTools.FD] invoke FindFirstFile,f1,ecx mov edx,0 cmp eax,INVALID_HANDLE_VALUE je @f invoke FindClose,eax mov edx,1 @@: Self#.onEnd edx,data_int EndPoint EndElement