- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
function FindPathInPath(path1: string; path2: string): Boolean;
var
lst: TStringlist;
i, l: integer;
begin
lst := TStringlist.Create;
// ----------------------------------------------
path1 := stringreplaceall(path1, '/', '\');
path1 := stringreplaceall(path1, '\\', '\');
// ----------------------------------------------
path2 := stringreplaceall(path2, '\', '');
path2 := stringreplaceall(path2, '/', '');
path2 := stringreplaceall(path2, '"', '');
path2 := stringreplaceall(path2, '<', '');
path2 := stringreplaceall(path2, '>', '');
path2 := stringreplaceall(path2, '?', '');
path2 := stringreplaceall(path2, '|', '');
path2 := stringreplaceall(path2, ':', '');
path2 := stringreplaceall(path2, '*', '');
// ----------------------------------------------
for i := 2 to CountString(path1, '\') + 1 do
begin
lst.Add(StringField(path1, '\', i));
end;
for l := 0 to lst.Count - 1 do
begin
if lstrcmpi(pchar(lst[l]), pchar(path2)) = 0 then
begin
FindPathInPath := True;
break;
end;
end;
lst.Free;
FindPathInPath := false;
exit;
end;
Функция для поиска названий подпапок в файловых путях.
Трудно судить г..нокод ли это, но так как я все же использовал более изящное решение, то быть посему...