Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имена на одинкаковы файлы. [D5, Win95/98]


vidiv ©   (2002-10-28 02:34:00) 

Подскажите пожалуйста, как разрешить следующую ситуацию:
Есть 2 строки, в которых находятся имена файлов. Как определить это имена одного и тогоже файла, или разные.

Пример:
s1="C:\Program files\borland\delphi5\bin\delphi32.exe"
s2="c:\windows\..\Progra~1\borland\DELPHI5\BIn\.\Delphi32.exe"
Поидее имне одного и тогоже файла. Но как это объяснить программе. Писать алгоритм, который будет сокращать ненужные части - как то криво. Может есть какаято функция?


Nomad.kz   (2002-10-28 15:54:00) [1]

2Separator
перед всеми действиями, неплохо, имхо, поюзать функцию ExpandFileName, т.к. если путь был относительный, то ExtractFileDir будет типа "..\path1\path\" ...


Separator   (2002-10-28 11:07:00) [2]

у > 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;


sask   (2002-10-28 09:01:00) [3]

var
FullPathName1, FullPathName2: String;
....
if AnsiLowerCase(ExtractFileName(FullPathName1)) =
AnsiLowerCase(ExtractFileName(FullPathName2)) then
{имена файлов совпадают}
else
{имена файлов не совпадают}


vidiv   (2002-10-28 08:57:00) [4]

Opuhshii пожалуйса примерчик, если не трудно.


Opuhshii   (2002-10-28 07:31:00) [5]

ExtractFileName + AnsiSameText


Наверх

Титульная страница Поиск, карта сайта Написать письмо