|
Вопрос # 5 553/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты! Вот такой интересный вопрос - как в программе , ну возможно через ParamStr, узнать список файлов которые я пытаюсь открыть. Т.е. если выделить несколько штук и открыть с помощью своей программы? Пытаюсь организовать что-то на подобие копировальщика файлов.
 |
Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 4 августа 2011, 13:39
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 20; последнее сообщение — 6 августа 2011, 17:34; участников в обсуждении: 5.
|
min@y™ (статус: Доктор наук), 4 августа 2011, 13:42 [#1]:
Цитата (eclipse):
ну возможно через ParamStr
Ну таки через ParamStr() и надо. Что не устраивает?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
eclipse (статус: Посетитель), 4 августа 2011, 13:51 [#2]:
Было б всё таки... просто... делал так -
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
for i:= 0 to ParamCount do
lst1.Items.Add('ParamSTR(' + IntToStr(i) + ')-----' +ParamStr(i));
end;
Неа не показывает только 1, первый, файл.
|
|
Вадим К (статус: Академик), 4 августа 2011, 13:53 [#3]:
Правильно, покажет не просто первый файл. Если начать с 0, то покажет полный путь с именем к исполняемому файлу.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 4 августа 2011, 13:56 [#4]:
Ну да... я уж просто опустил этот момент...
|
|
Вадим К (статус: Академик), 4 августа 2011, 13:59 [#5]:
А может просто запускается не одна копия программы, а по одной на каждый файл?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 4 августа 2011, 14:05 [#6]:
Нет одна. для проверки выделил 4 файла с jpg, кликаю правой, открываю с помощью своей проги, в ней появляется путь к самой программе в первой строчке, а во второй путь к тому файлу, на котором кликнул правой. Пробовал с буфера, ну мало ли..., посмотреть список, нифига....
cbs:= TClipboard.Create;
lst2.Items.Text:= cbs.AsText;
|
|
min@y™ (статус: Доктор наук), 4 августа 2011, 14:18 [#7]:
Ну, если ты сумел прописать в реестр свой пункт в контекстном меню проводника, то посмотри в том-же реестре, как такая байда организована, например, у WinRAR.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
eclipse (статус: Посетитель), 4 августа 2011, 15:32 [#8]:
Блин везде где есть есть ссылки на контекстрное меню (в реестре) везде записи только такого типа {S343-04EDG-89fd-sdf...} а конкретно чтоб было где-то написано "Добавить в архив" нет.
|
|
eclipse (статус: Посетитель), 4 августа 2011, 15:41 [#9]:
Есть ещё вот така тема -
<image>http://s40.radikal.ru/i088/1108/cb/a3766bd2f10b.jpg
</image>
|
|
min@y™ (статус: Доктор наук), 4 августа 2011, 15:56 [#10]:
Цитата (eclipse):
везде записи только такого типа {S343-04EDG-89fd-sdf...}
Правильно, это ссылка на раздел с таким именем. Его нужно поиском найти.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
eclipse (статус: Посетитель), 4 августа 2011, 15:58 [#11]:
Или может быть при открытии программы сделать так:
- через Paramstr(1) извлечь путь открытия файлов
- а потом узнать какие выделены
|
|
eclipse (статус: Посетитель), 4 августа 2011, 16:05 [#12]:
а в разделе с таким именем ничё нет. Тока эта запись - C:\Program Files\WinRAR\rarext.dll
|
|
Вадим К (статус: Академик), 4 августа 2011, 16:16 [#13]:
в демках делфи есть пример, как сделать такую dll, что бы прописать в пункты меню дополнительный пункт.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 4 августа 2011, 16:34 [#14]:
Чёт не могу найти... мож у меня нет ентого примера (D7)
|
|
Егор (статус: 10-ый класс), 4 августа 2011, 17:09 [#15]:
сейчас попробовал твой код. написал программку, выделил кучу файлов, перетащил на неё. показывает все файлы.
ты как-то не так зарегистрировал своё приложение, что ему отдаётся лишь один файл
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
min@y™ (статус: Доктор наук), 4 августа 2011, 17:30 [#16]:
Цитата (Егор):
выделил кучу файлов, перетащил на неё. показывает все файлы.
Дык вопрос-то не в этом! А в том, чтобы выделить файлы, нажать ПКМ и в меню проводника открыть эти файлы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 5 августа 2011, 01:03 [#17]:
Цитата (Егор):
выделил кучу файлов, перетащил
Цитата (Егор):
зарегистрировал своё приложение
а причем тут регистрация? этож поведение проводника с древних времён!
много файлов, да, простым verb`ом не обойдёшься, надо читать про context menu handlers
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
eclipse (статус: Посетитель), 5 августа 2011, 08:02 [#18]:
Не я прогу свою не регил, а просто сделал ПКМ -> открыть с помощью -> обзор -> моя прога и усё.
|
|
Вадим К (статус: Академик), 6 августа 2011, 17:34 [#20]:
нет ее у меня. и быть не может. У меня нет винды.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|