Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизЗапуск программы с параметрами Найти похожие ветки
← →
Лана Розанова (2003-11-15 08:02) [0]Есть файл с моим расширением ".ttt". Как программе понять, что я хочу запустить ее с этим файлом?СПАСИБО!!!
← →
Palladin (2003-11-15 08:10) [1]Ой, Лана, я помню Ваши вопросы.
Действительно, как как машине понять, что Вам хочется ехать. Очень интересный вопрос. Можно сюда же приписать философию нашего прекибернетического века. Поразмышлять: до коль, до каких таких пор несчастные люди должны сообщать машинам и аппаратам, чего они хотят? Когда же наконец реализуют ИИ?
Ну а если же Вы хотите всего лишь, что бы ОС при двойном щелчке пользователя на файле с расширением tts запускала Вашу программу, то наверное стоит поразмыслить, неужели никто до Вас не интересовался этим вопросом и все таки попробовать поискать самостоятельно, чем прочитывать все что тут я набурогозил?
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621211&n=15
← →
Лана Розанова (2003-11-15 08:17) [2]Наверное Вы меня не так поняли. Я уже сделала так, чтобы моя программа запускалась при двойном нажатии такого файла. Я хочу (да, хочу), чтобы программа не только запускалась, но и к примеру открывала какое-либо окно в котором, например я бы смогла просмотреть содержимое этого файла. :)
← →
Palladin (2003-11-15 08:31) [3]Ну что ж, Ваш вопрос был очень краток, но лаконичность, как таковая, в нем отсутствовала, это уж, извините, не моя вина.
по поводу Вашего второго (ибо первый был н гране научной фантастики) вопроса, моуг сказать что: Очень интересный эффект в программе может возниктнуть при использование функции ParamStr(), которая возвращает значение параметра с указанным номером.
Параметр - в контексте запуска программы оболочкой, некая строка отделяемая от имени и пути запускаемой программы пробелом.
Если Вы создадите консольное приложение myprog.exe, откомпилируете в c:\test\, откроете cmd.exe и исполните команду
"c:\test\myprog.exe p1 p2 p3", то используя в Вашей написанной программе ParamsStr(0) - Вы получите "c:\test\myprog.exe"
ParamStr(1) - "p1"
ParamStr(2) - "p2"
ParamStr(3) - "p3"
ParamCount - 3
При двойном щелчке пользователя, ОС запускает Вашу программу в подобном виде "c:\test\myprog.exe lalala.tts"
Надеюсь вопросов больше нет?
← →
Anatoly Podgoretsky (2003-11-15 11:56) [4]Тебе не в Дельфи, а в Проводник/Сервис/Свойства папки/Типы файлов/Новый тип и заполнить там поля.
← →
BrainStorm (2003-11-15 12:04) [5]При запуске программы исполнять что-то типа:
if(ParamCount())
{
sFileToOpen = ExpandFileName(ParamStr(1));
MenuOpenClick(NULL);
}
← →
kolesya (2003-11-15 13:10) [6]Немножко расширю мнение Anatoly Podgoretsky
Делать типа такого (примерно):
if paramcount>0 then CheckParamStr;
procedure CheckParamStr;
var
i: Integer;
begin
for i:=1 toParamCount-1 do begin
if Pos(LowerCase(ParamStr(i)),"param1=")>0 then Делаем_что_то_1
if Pos(LowerCase(ParamStr(i)),"param2=")>0 then Делаем_что_то_2
...
end;
end;
Ну а далее свобода мысли
P.S. Кто знает способ получше, напишите плиз ...
← →
default (2003-11-15 13:21) [7]kolesya © (15.11.03 13:10) [6]
зачем единицу-то вычитаем из toParamCount?
← →
Anatoly Podgoretsky (2003-11-15 15:22) [8]Что бы не обрабатывать последний параметр.
Но ей нужно "чтобы моя программа запускалась при двойном нажатии такого файла" а это регистрация расширения.
← →
Piople (2003-11-17 06:51) [9]Может если тебе надо использовать свою программу как Блокнот, типа все TXT открывать через нею, то используй Drag&Drop
← →
Palladin (2003-11-17 07:47) [10]
> kolesya © (15.11.03 13:10) [6]
А что это написано? Почему ты думаешь что параметры передатся именно в таком виде? Получается если в параметре укахано "dflkjgldkjfhparam1=" то это синтаксически верный параметр? Приводить такое, да еше и с аннотацией, что этим расширено чье то мнение... боже упаси от такого "расширяльщика мнений"...
← →
Anatoly Podgoretsky (2003-11-17 09:20) [11]kolesya © (15.11.03 13:10) [6]
Нифига себе расширение, у меня и в мыслях подобного небыло.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c