Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Запуск файла по ассоциации


Автор: Dr Smth 10.5.2005, 12:53
Как сопоставить файлу приложение понятно. А вот как сделать, чтобы при запуске файла он не только запускал соответствующее приложение, но и открывался в нём? (Что необходимо написать в системном реестре, и главное - как дать программе узнать, что файл запущен с соответствующими параметрами для открытия).
Нуочень надо...

Автор: z-END 10.5.2005, 12:57
юзай ParamStr(1);

Автор: Yanis 10.5.2005, 13:01
Тебе нужно чужое приложение запускать или в своём открывать?

Автор: Dr Smth 10.5.2005, 14:30
При двойном щелчке на файле запустить свою программу, и открыть в ней данный файл.

Автор: Yanis 10.5.2005, 14:33
Тогда в твоей программе при запуске должен быть примерно такой код:
Код

  if ParamCount > 0 then
    begin
      { здесь нужно делать приблизительно тоже самое, что и при обычном открытии файла в твоей программе.
         Имя файла быдет ParamStr(1) }
    end;

Автор: Dr Smth 10.5.2005, 14:34
Спасибо, а в
Цитата(z @ 10.5.2005, 12:57)
ParamStr(1);

могут быть какие-то другие индексы (кроме 1)?

Автор: Yanis 10.5.2005, 14:37
Цитата(Dr @ 10.5.2005, 14:34)
могут быть какие-то другие индексы (кроме 1)?

Конечно. Например перебор всех параметров с которыми запущена программа:
Код

var
  i: Integer;
begin
  for i := 1 to ParamCount do
    ShowMEssage(ParamStr(i));

Пожалуйста читайте справку.

Автор: Dr Smth 10.5.2005, 14:38
Спасибо, сегодня попробую...

Автор: _hunter 10.5.2005, 14:38
могут: по числу переданных параметров

Автор: Dr Smth 10.5.2005, 14:40
Дело в том, что, к сожалению, не всегда находится время на чтение справки, а если кто-то точно знает - то это гораздо лучше справки.

Автор: Yanis 10.5.2005, 14:46
Цитата(Dr @ 10.5.2005, 14:40)
Дело в том, что, к сожалению, не всегда находится время на чтение справки, а если кто-то точно знает - то это гораздо лучше справки.

Думаю, что прежде нужно самому разбираться. Разжевывать никто не будет. У тебя достаточно информации к размышелению, что бы на досуге почитать справку. Если же проблемы с Английским, то в нете тоже не мало информации. Взять хотя бы тот же DRKB. Научиться программировать это НЕ научиться спрашивать, а научиться узнавать всё самому =) Сори за оффтопик

Автор: Dr Smth 10.5.2005, 15:07
Всё самому узнать НЕВОЗМОЖНО. Уже многое итак узнал на своём горьком опыте. Потом, посмотреть в справке, в нете или в DRKB - то же самое, что и спросить (какая разница?). Это просто информация, которой ты не знаешь. Я, например, заранее знал, что параметры должны передаваться, но не знал как. Какое отношение это имеет к умению программировать? С английским проблем у меня нет. Справка имеет такую структуру, что прежде чем найдёшь то, что нужно - потеряешь уйму времени.
И вообще - всегда одно и то же: создаётся впечатление, что человек, не прочитав FAQ, DRKB и справку вообще не имеет права задать интересующий вопрос.
Кстати, почему "оффтопик" - с двумя "ф", а "сори" - с одной "р" smile .

Автор: Alex 10.5.2005, 15:13
Модератор: Давайте вернёмся к теме обсуждения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)