Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

Запуск программы с параметрами   Найти похожие ветки 

 
Лана Розанова ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
9-89671
vitall
2003-05-18 13:19
2003.11.27
как узнать объём видео памяти?


7-90138
bosso
2003-09-17 13:15
2003.11.27
Динамическая загрузка процедуры


7-90141
LexaVV
2003-09-17 10:02
2003.11.27
MAC адрес, BIOS


7-90153
avkiev
2003-09-17 16:12
2003.11.27
Работа с модемом при помощи АТ-команд


3-89785
ruslan_as
2003-11-06 16:40
2003.11.27
Как вывести отчет из 90 записей на 1 бланк