Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 553

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Вот такой интересный вопрос - как в программе , ну возможно через ParamStr, узнать список файлов которые я пытаюсь открыть. Т.е. если выделить несколько штук и открыть с помощью своей программы? Пытаюсь организовать что-то на подобие копировальщика файлов.

eclipse Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 4 августа 2011, 13:39
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 20; последнее сообщение — 6 августа 2011, 17:34; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 4 августа 2011, 13:42 [#1]:

Цитата (eclipse):

ну возможно через ParamStr

Ну таки через ParamStr() и надо. Что не устраивает?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

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

eclipse (статус: Посетитель), 4 августа 2011, 13:56 [#4]:

Ну да... я уж просто опустил этот момент...
Вадим К

Вадим К (статус: Академик), 4 августа 2011, 13:59 [#5]:

А может просто запускается не одна копия программы, а по одной на каждый файл?
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 14:05 [#6]:

Нет одна. для проверки выделил 4 файла с jpg, кликаю правой, открываю с помощью своей проги, в ней появляется путь к самой программе в первой строчке, а во второй путь к тому файлу, на котором кликнул правой. Пробовал с буфера, ну мало ли..., посмотреть список, нифига....
cbs:= TClipboard.Create;
lst2.Items.Text:= cbs.AsText;
min@y™

min@y™ (статус: Доктор наук), 4 августа 2011, 14:18 [#7]:

Ну, если ты сумел прописать в реестр свой пункт в контекстном меню проводника, то посмотри в том-же реестре, как такая байда организована, например, у WinRAR.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 15:32 [#8]:

Блин везде где есть есть ссылки на контекстрное меню (в реестре) везде записи только такого типа {S343-04EDG-89fd-sdf...} а конкретно чтоб было где-то написано "Добавить в архив" нет.
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 15:41 [#9]:

Есть ещё вот така тема -
<image>http://s40.radikal.ru/i088/1108/cb/a3766bd2f10b.jpg
</image>
min@y™

min@y™ (статус: Доктор наук), 4 августа 2011, 15:56 [#10]:

Цитата (eclipse):

везде записи только такого типа {S343-04EDG-89fd-sdf...}

Правильно, это ссылка на раздел с таким именем. Его нужно поиском найти.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 15:58 [#11]:

Или может быть при открытии программы сделать так:
- через Paramstr(1) извлечь путь открытия файлов
- а потом узнать какие выделены
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 16:05 [#12]:

а в разделе с таким именем ничё нет. Тока эта запись - C:\Program Files\WinRAR\rarext.dll
Вадим К

Вадим К (статус: Академик), 4 августа 2011, 16:16 [#13]:

в демках делфи есть пример, как сделать такую dll, что бы прописать в пункты меню дополнительный пункт.
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 4 августа 2011, 16:34 [#14]:

Чёт не могу найти... мож у меня нет ентого примера (D7)
Егор

Егор (статус: 10-ый класс), 4 августа 2011, 17:09 [#15]:

сейчас попробовал твой код. написал программку, выделил кучу файлов, перетащил на неё. показывает все файлы.
ты как-то не так зарегистрировал своё приложение, что ему отдаётся лишь один файл
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
min@y™

min@y™ (статус: Доктор наук), 4 августа 2011, 17:30 [#16]:

Цитата (Егор):

выделил кучу файлов, перетащил на неё. показывает все файлы.

Дык вопрос-то не в этом! А в том, чтобы выделить файлы, нажать ПКМ и в меню проводника открыть эти файлы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 5 августа 2011, 01:03 [#17]:

Цитата (Егор):

выделил кучу файлов, перетащил

Цитата (Егор):

зарегистрировал своё приложение

а причем тут регистрация? этож поведение проводника с древних времён!

много файлов, да, простым verb`ом не обойдёшься, надо читать про context menu handlers
виконання програми розпочинається з того самого мiсця, де призупинилося.

eclipse

eclipse (статус: Посетитель), 5 августа 2011, 08:02 [#18]:

Не я прогу свою не регил, а просто сделал ПКМ -> открыть с помощью -> обзор -> моя прога и усё.
eclipse

eclipse (статус: Посетитель), 6 августа 2011, 14:12 [#19]:

Вадим К: Скинь демку.
Вадим К

Вадим К (статус: Академик), 6 августа 2011, 17:34 [#20]:

нет ее у меня. и быть не может. У меня нет винды.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:44
Выполнено за 0.04 сек.