Форум: "Система";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизИмена на одинкаковы файлы. Найти похожие ветки
← →
vidiv (2002-10-28 02:34) [0]Подскажите пожалуйста, как разрешить следующую ситуацию:
Есть 2 строки, в которых находятся имена файлов. Как определить это имена одного и тогоже файла, или разные.
Пример:
s1="C:\Program files\borland\delphi5\bin\delphi32.exe"
s2="c:\windows\..\Progra~1\borland\DELPHI5\BIn\.\Delphi32.exe"
Поидее имне одного и тогоже файла. Но как это объяснить программе. Писать алгоритм, который будет сокращать ненужные части - как то криво. Может есть какаято функция?
← →
Opuhshii (2002-10-28 07:31) [1]ExtractFileName + AnsiSameText
← →
vidiv (2002-10-28 08:57) [2]Opuhshii пожалуйса примерчик, если не трудно.
← →
sask (2002-10-28 09:01) [3]var
FullPathName1, FullPathName2: String;
....
if AnsiLowerCase(ExtractFileName(FullPathName1)) =
AnsiLowerCase(ExtractFileName(FullPathName2)) then
{имена файлов совпадают}
else
{имена файлов не совпадают}
← →
Separator (2002-10-28 11:07) [4]у > sask © (28.10.02 09:01) будут сравниваться только имена файлов
По моему можно сделать так:
function Sravnenie(Path1, Path2: string): boolean;
begin
Result:= false;
Path1:= AnsiLowerCase(Path1);
Path2:= AnsiLowerCase(Path2);
if Path1 = Path2 then
Result:= true
else if ExtractFileName(Path1) = ExtractFileName(Path2) then
begin
ChDir(ExtractFileDir(Path1));
Path1:= GetCurrentDir;
ChDir(ExtractFileDir(Path2));
Path2:= GetCurrentDir;
if Path1 = Path2 then
Result:= true
end
end;
← →
Nomad.kz (2002-10-28 15:54) [5]2Separator
перед всеми действиями, неплохо, имхо, поюзать функцию ExpandFileName, т.к. если путь был относительный, то ExtractFileDir будет типа "..\path1\path\" ...
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c