Element FilePart LocalProc proc Self#.PartProc str locals src dd ? fn dd ? fx dd ? endl mov eax,[str] or eax,eax jne @f ret @@:push esi lea edx,[src] call __strdupnoclear mov esi,[src] call __strfilepart mov [fx],eax mov [fn],edx mov ecx,edx mov eax,[src] jcxz @f sub ecx,eax @@:lea edx,[__rtl_temp_str] call __strnpcopy Self#.onPath [__rtl_temp_str],data_str if Self#.prop.NameWOExt eq 0 mov ecx,[fx] mov eax,[fn] or eax,eax je @f jcxz @f dec ecx sub ecx,eax @@:lea edx,[__rtl_temp_str] call __strnpcopy else mov eax,[fn] lea edx,[__rtl_temp_str] call __strpcopy end if Self#.onName [__rtl_temp_str],data_str mov eax,[fx] if Self#.prop.ExtPoint eq 0 or eax,eax je @f dec eax @@: end if lea edx,[__rtl_temp_str] call __strpcopy Self#.onExt [__rtl_temp_str],data_str lea edx,[src] call __strclear pop esi ret endp PointWork doPart \local res ReadStr res,data,data.type,Self#.FileName,0 stdcall Self#.PartProc,res EndPoint EndElement