Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регистрация расширения файла 
V
    Опции темы
mr.Anderson
Дата 27.8.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Вопросов несколько, но относятся к одной теме.

1. Программа (моя) может открывать много типов файлов (около 30). Все типы - текстовые файлы, только с разными расширениями (.txt, .cfg, .sys и т.д.). Как можно реализовать, чтобы все эти файлы при их запуске открывались моей программой?

2. Более важная задача. Как сделать, чтобы юзер при открытии файла, зайдя в "Открыть с помощью", выбрал мою программу - и этот файл (или группа файлов) открылись в моей программе вместе с ее запуском?

Прошу объяснить все как можно подробнее.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Alexeis
Дата 27.8.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Вот пример регистрации расширения *.asm из моей программки 

Код

var
  Registry   : TRegIniFile;
Begin
  Registry := TRegIniFile.Create;
  try
    with Registry 
    do
    begin
      RootKey := HKEY_CLASSES_ROOT;
          WriteString('.asm','','asm');
          WriteString('asm','','AsmEditor');
          WriteString('asm\DefaultIcon','',InstalDir + '\TextIcon.ico'); //путь к иконке (или экзешнику/Dll)
          WriteString('asm\Shell','','open');                                         //команда 
          WriteString('asm\Shell\open\command','',InstalDir + '\AsmEd.exe %1'); //Регистрация программы
          WriteString('asm\Shell\open','','open');                                                    //для выполнения текущей
          WriteString('asm\Shell\open\command','',InstalDir + '\AsmEd.exe %1'); //команды
        end

  finally
      Registry.Free;
  end;



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mr.Anderson
Дата 28.8.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Alexeis, спасибо, а это обеспечит открытие файла через "Открыть с помощью"?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
mr.Anderson
Дата 28.8.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Насчет регистрации понятно.

Что, никто не знает, как сделать открытие с помощью? Как я понимаю, по клику в "Открыть с помощью" моя программа после своего запуска должна понять, что ей передан файл (или несколько файлов), и должно запуститься событие открытия файла/группы файлов. Каким образом это реализуется?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
lukas
Дата 28.8.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



mr.Anderson, 

ParamStr(1...N) & ParamCount  smile

Добавлено через 3 минуты и 47 секунд
тока у меня вопросы возникают... при нажатии в боковой панели обозревателя "Возпроизвести все" (Play All) вида как дура начинает каждый файл открывать по отдельности, нет бы все найденные файлы передать в параметры, так а нет... открывает каждый... и ты хоть сдохни... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Alexeis
Дата 28.8.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



mr.Anderson, ну елки, а самому проверить влом? Может оно само туда пропишется. Если вызвать для многих файлов, то откроется много экземпляров программы. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mr.Anderson
Дата 28.8.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Я уже догадался, сделал, как lukas предложил. Анализ ParamStr помог. Всем спасибо, вопрос решен.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.