Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 20:14   #1
nix01d
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 14
По умолчанию Путь до файла

Допустим есть 2 файла. Первый, это наш скомпилированный файл (project1.exe), а второй допустим текстовый документ (asd.txt).
Берем файл "asd.txt" и переносим его на "project1.exe". После запуска, программа должна вывести путь до файла, который мы на неё перенесли (в нашем случае "asd.txt").
nix01d вне форума Ответить с цитированием
Старый 26.10.2009, 20:18   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Просто нужно разобраться с методами Drag and Drop...
mihali4 вне форума Ответить с цитированием
Старый 26.10.2009, 20:24   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

это называется drag&drop, обрабатывайте сообщение WM_DROPFILES. Пример:
Код:
procedure WMDROPFILES(var Message: TWMDROPFILES);message WM_DROPFILES;

//Drag&Drop
procedure tform.ProcessFile(Filename: string);
begin
 lb.TopIndex:= lb.Items.Count-1;
 //проверка на каталог-
 lb.Items.Add(filename) //lb- listbox
end;

procedure Tform.WMDROPFILES(var Message: TWMDROPFILES); // обработка списка кинутых-
var Files: Longint;
        i: Longint;
   Buffer: array[0..MAX_PATH] of Char;
begin
 Files:= DragQueryFile(Message.Drop,$FFFFFFFF,nil,0);
 for i:= 0 to Files - 1 do begin
  DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer));
  ProcessFile(Buffer);
 end;
 DragFinish(Message.Drop)
end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.10.2009, 21:01   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

помоему автору топика надо
Код:
if ParamCount>0{или 1...не помню} then ShowMessagge(ParamStr(1));
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.10.2009, 22:07   #5
nix01d
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 14
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
это называется drag&drop, обрабатывайте сообщение WM_DROPFILES. Пример:
Код:
procedure WMDROPFILES(var Message: TWMDROPFILES);message WM_DROPFILES;

//Drag&Drop
procedure tform.ProcessFile(Filename: string);
begin
 lb.TopIndex:= lb.Items.Count-1;
 //проверка на каталог-
 lb.Items.Add(filename) //lb- listbox
end;

procedure Tform.WMDROPFILES(var Message: TWMDROPFILES); // обработка списка кинутых-
var Files: Longint;
        i: Longint;
   Buffer: array[0..MAX_PATH] of Char;
begin
 Files:= DragQueryFile(Message.Drop,$FFFFFFFF,nil,0);
 for i:= 0 to Files - 1 do begin
  DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer));
  ProcessFile(Buffer);
 end;
 DragFinish(Message.Drop)
end;
Работает, но это не совсем то, что нужно. Мне нужно не на форму перенести файл, а на исполняемый файл, тобиш "project1.exe", после чего прога запускается и показывает путь этого файла.
nix01d вне форума Ответить с цитированием
Старый 26.10.2009, 22:33   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я показал код
его можно ввести в событие например FormCreate
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.10.2009, 22:41   #7
nix01d
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я показал код
его можно ввести в событие например FormCreate
Прошу прощения, его то я как раз таки и забыл проверить.
Все работает. Большое спасибо.
nix01d вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ShellExecute и путь до файла k1r1ch Общие вопросы Delphi 4 28.06.2009 19:56
Не удается найти [Путь, имя файла] syne Операционные системы общие вопросы 5 01.06.2009 18:13
Сократить путь до файла Михаил Юрьевич Общие вопросы Delphi 3 29.03.2009 13:59
Как отсечь имя файла и получить путь только к нему? Dux Общие вопросы Delphi 8 25.05.2008 20:24