![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сравнить два пути к файлу.
Дмитрий С © (2012-10-15 13:38:00)Есть FileName1, FileName2:string. Как достоверно определить указывают они на один и тот же файл или нет?
спасибо
Inovet (2012-10-16 07:56:00) [41]> [25] kilkennycat © (16.10.12 01:26)
> а если файлик на сетевом диске, где никс?
А не пофиг из-под Вин?
Германн (2012-10-16 02:40:00) [42]Вот опять "дурацкий" вопрос вместо описания задачи.
kilkennycat (2012-10-16 01:26:00) [43]
> AnsiCompareFileName
а если файлик на сетевом диске, где никс?
Rouse_ (2012-10-15 22:16:00) [44]
> QAZ2 (15.10.12 22:14) [23]
> у меня в дельфе нет таких функций :(
Печально...
QAZ2 (2012-10-15 22:14:00) [45]у меня в дельфе нет таких функций :(
напиши, буть другом :)
Rouse_ (2012-10-15 22:11:00) [46]
> QAZ2 (15.10.12 22:02) [21]
> есть мнение что та функция непоможет :)
Ну ты не стесняйся - пиши код, раз мнение есть :)
QAZ2 (2012-10-15 22:02:00) [47]есть мнение что та функция непоможет :)
Rouse_ (2012-10-15 21:49:00) [48]
> QAZ2 (15.10.12 21:44) [19]
> как куда один файл c:\qqq.txt другой d:\qaz.txt оба линки
> ,как определить что это один файл?
омг, ты вообще разбирался как они работают и что за функцию я тебе привел?
Для начала сделай небольшой RTFM потом и спрашивай какой конкретно пункт не понятен...
QAZ2 (2012-10-15 21:44:00) [49]как куда один файл c:\qqq.txt другой d:\qaz.txt оба линки ,как определить что это один файл?
Rouse_ (2012-10-15 21:40:00) [50]
> QAZ2 (15.10.12 21:33) [17]
> [14] тоже покажет что это один и тотже файл?
Ну а куда он денется то?
QAZ2 (2012-10-15 21:33:00) [51][14] тоже покажет что это один и тотже файл?
Rouse_ (2012-10-15 21:21:00) [52]
> QAZ2 (15.10.12 21:10) [15]
> а как насчет хард\симлинков и субституты?
А что с ними не так?
QAZ2 (2012-10-15 21:10:00) [53]а как насчет хард\симлинков и субституты?
Rouse_ (2012-10-15 19:31:00) [54]
> Дмитрий С © (15.10.12 17:02) [12]
> То что надо, только смущает, что Vista minimum
Ну а в чем проблема то? Открыл хэндл, вызвал NtQueryObject с классом#define ObjectNameInformation 1, на руки получишь буфер OBJECT_NAME_INFORMATION.
TUNICODE_STRING = packed record
Length : WORD;
MaximumLength : WORD;
Buffer : array [0..MAX_PATH - 1] of WideChar;
end;
POBJECT_NAME_INFORMATION = ^TOBJECT_NAME_INFORMATION;
TOBJECT_NAME_INFORMATION = packed record
Name : TUNICODE_STRING;
end;
Можешь сразу оба буфера сравнивать, ну или приводить его к реальному пути, как это делает GetFinalPathNameByHandle.
Dmitriy (2012-10-15 17:38:00) [55]
> То что надо, только смущает, что Vista minimum
GetFileInformationByHandle ?
в частности :
nFileIndexHigh The high-order part of a unique identifier that is associated with a file. For more information, see nFileIndexLow. nFileIndexLow
The low-order part of a unique identifier that is associated with a file.
The identifier (low and high parts) and the volume serial number uniquely identify a file on a single computer. To determine whether two open handles represent the same file, combine the identifier and the volume serial number for each file and compare them.
Minimum supported client Windows XP
Дмитрий С (2012-10-15 17:02:00) [56]
> GetFinalPathNameByHandle() ?
То что надо, только смущает, что Vista minimum
Jeer (2012-10-15 16:29:00) [57]Да я тоже гадаю :)
Ega23 (2012-10-15 16:14:00) [58]
> Что такое "разные файлы" ? Название, содержимое, то-се..
> Тогда и решение будет конкретным или, наоборот, расплывчатым
cmd subst x: d:\temp
Файл d:\temp\1.txt и файл x:\1.txt - суть один и тот же файл.
Вот что-то типа этого и надо сравнить, если я правильно понял вопрос.
Jeer (2012-10-15 16:07:00) [59]
> Файлы при этом могут быть разные.
Что такое "разные файлы" ? Название, содержимое, то-се..
Тогда и решение будет конкретным или, наоборот, расплывчатым :)
Jeer (2012-10-15 16:06:00) [60]
> А может адрес первого блока? :)
Я всего лишь угадываю Ваши желания :)
Размер файла, уже вычисленная сущность.
Имя файла - тоже.
Дальше остается сравнение по содержимому.
Как - есть много способов.