procedure THIFilePartElm._work_doPart3; // ext name
begin
FPart := ReadString(_Data, _data_FileName, '');
if FPart = '' then exit;
// FPart := ExtractFileExt(FPart);
if Pos('/', FPart) <> 0 then
FPart := rparse(FPart, '/')
else
FPart := rparse(FPart, '\');
if Pos('.', FPart) <> 0 then
begin
FPart := rparse(FPart, '.');
FPart := '.' + FPart;
end else FPart := '';
_hi_CreateEvent(_Data, @_event_onPart, FPart);
end;
procedure THIFilePartElm._work_doPart4; // ext name WOPoint
begin
FPart := ReadString(_Data, _data_FileName, '');
if FPart = '' then exit;
// FPart := ExtractFileExt(FPart);
// delete(FPart, 1, 1);
if Pos('/', FPart) <> 0 then
FPart := rparse(FPart, '/')
else
FPart := rparse(FPart, '\');
if Pos('.', FPart) <> 0 then FPart := rparse(FPart, '.')
else FPart := '';
_hi_CreateEvent(_Data, @_event_onPart, FPart);
end;
А то при отсутствии расширения даже пустой строки не выдавал.
А для path name WOExt:
procedure THIFilePartElm._work_doPart6; // path name WOExt
var ne:string;
begin
FPart := ReadString(_Data, _data_FileName, '');
if FPart = '' then exit;
if Pos('/', FPart) <> 0 then
begin ne := rparse(FPart, '/'); FPart := FPart + '/'; end
else
begin ne := rparse(FPart, '\'); FPart := FPart + '\'; end;
if Pos('.', ne) <> 0 then rparse(ne, '.');
FPart := FPart + ne;
_hi_CreateEvent(_Data, @_event_onPart, FPart);
end;
Уже проверил у себя - работает.
ps. С форума неправильно вставляет в [ code] символы '<' и '>' - похожие, но не рабочие.