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

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

Путь к каталогу


Лана Розанова ©   (2001-10-11 12:07:00) 

Как узнать полный путь к файлу?


alexcom14   (2001-10-16 20:24:00) [1]

А чем этот файл определяется? Только именем? Кто на него
указывает.


foks   (2001-10-13 13:25:00) [2]

Можете попробовать данный пример
Суть в перетаскивании файла на форму и в переменной FileName окажется весь путь и имя файла.

Первое, что вы должны сделать, - сообщить системе Windows о том, что ваша программа готова обрабатывать файлы, перемещенные из другого приложения с помощью мыши. Для этого достаточно включить в обработчик события OnCreate формы следующее выражение:

DragAcceptFiles(Handle,True);

Кроме того вы должны указать модель ShellAPI в директиве uses.



Для любого окна, в котором была вызвана процедура DragAcceptFiles, справедливо следующее. Когда вы перетаскиваете имя файла на ваше приложение и отпускаете кнопку мыши, Windows посылает этому окну сообщение wm_DropFiles. Сооьщение сопровождается именем файла. Обработчик этого сообщения нужно включитьв защищенный раздел класса формы. например, в объявлении класса формы между ключвыми словами private и public добавьте следующие строки:

protected
procedure WMDropFiles (var Msg: TMessage);
message wm_DropFiles;



И наконец-то пример самой процедуры, при помощи которой будет происходить обработка файла:

procedure TForm1.WMDropFiles(var Msg: TMessage);
Var
Filename: array[0..256] of char;
begin

DragQueryFile(THandle(Msg.WParam),0,Filename,SizeOf(Filename));
{Теперь в переменной Filename будет находиться путь
к перетаскиваемому файлу. Далее вы можете выполнять с этим файлом, зная
его путь, все что угодно.}


Ketmar   (2001-10-13 07:29:00) [3]

запросто :-) делаем поиск по всему диску. для дополнительной аутентичности можно сравнивать размеры/время/CRC/MD5.

Satanas Nobiscum!


Anatoly Podgoretsky   (2001-10-13 00:39:00) [4]

кто спрашивал про текущий каталог или про каталог с программой, есть фопрос про ФАЙЛ, например readme.txt неизвестно где расположенный. Можешь ответить на этот вопрос?


Вадим   (2001-10-11 23:19:00) [5]

>GetCurrentDir
Она может вернуть другую папку.

Возможно ParamStr(0) или Application.ExeName, что одно и то же


Anatoly Podgoretsky   (2001-10-11 21:58:00) [6]

В общем случае - никак, а в конкретном нужно уточнение, согласно Dimka Maslov


@andrew   (2001-10-11 12:17:00) [7]

Не совсем понятен вопрос, но я попробую.

Если речь идет о том, что есть в текущем каталоге программы файл, то
GetCurrentDir
возвратит имя текущей директории, к которому можно добавить имя файла
и получить собственно все имя.

Плюс есть всякие функции типа ExtractFileName, ExtractFileExt ....FileDir и т.д. Смотри help на них


Dimka Maslov   (2001-10-11 12:15:00) [8]

В каком смысле полный путь?


Наверх

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