Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2010, 15:01   #1
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
Вопрос [Delphi] Использование ключей в программе

Как в delphi можно использовать ключи?
К примеру:
Код:
Project1.exe /startup
И форма сворачивается при запуске...
Заранее спасибо
ZePr вне форума Ответить с цитированием
Старый 02.07.2010, 15:03   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

function GetCommandLine: string; - сама строка с "ключами"
function GetParamCount: Integer; - количесвто параметров
function GetParamStr(Index: Integer):string; - параметр по индексу
Учти, что самый первый (0) параметр - путь к екзешнику.

Последний раз редактировалось ZaRDaK; 02.07.2010 в 15:05.
ZaRDaK вне форума Ответить с цитированием
Старый 02.07.2010, 15:11   #3
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
По умолчанию

Цитата:
Сообщение от ZaRDaK Посмотреть сообщение
function GetCommandLine: string; - сама строка с "ключами"
function GetParamCount: Integer; - количесвто параметров
function GetParamStr(Index: Integer):string; - параметр по индексу
Учти, что самый первый (0) параметр - путь к екзешнику.
Или вы меня не так поняли или я вас. Построим вопрос по другому.
Существует программа, которая встраивается в автозапуск, и что бы при автозапуске она сворачивалась (я думаю что это можно сделать с помощью ключа), а при обычно запуске нормально появлялась форма..

Быстро вы отредактировали XD даже ответить не успел

Последний раз редактировалось Stilet; 02.07.2010 в 16:15.
ZePr вне форума Ответить с цитированием
Старый 02.07.2010, 15:14   #4
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Это твоя программа или чужая?
Эсли твоя то вставь такой код в FormCreate
Код:
if GetParamStr(1) = '/startup' then Application.ShowMainForm := False;
Не проверял
ZaRDaK вне форума Ответить с цитированием
Старый 02.07.2010, 15:18   #5
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
if GetParamStr(1) = '/startup' then Application.ShowMainForm := False;;
end;
[Error] Unit1.pas(28): Undeclared identifier: 'GetParamStr'

Программа моя

Последний раз редактировалось Stilet; 02.07.2010 в 16:16.
ZePr вне форума Ответить с цитированием
Старый 02.07.2010, 15:23   #6
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

Просто ParamStr(1)
Denager вне форума Ответить с цитированием
Старый 02.07.2010, 15:28   #7
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
По умолчанию

Спасибо, думал это будет сложнее реализовать, а оказалось очень даже просто))
ZePr вне форума Ответить с цитированием
Старый 21.01.2013, 16:12   #8
kalyan57
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 2
По умолчанию

Здравствуйте, уважаемые
А не подскажете ли как осуществить корректную передачу нескольких параметров в приложение Delphi?
То есть существует несколько параметров, принимающих большое количество значений. Задача стоит в передаче этих значений конкретным переменным приложения через командную строку в виде
Код:
app.exe /key1 "значение параметра key1" /key2 "Значение key2".../keyN "Значение параметра keyN"
ParamStr(i) в данном случае получает
Код:
ParamStr(1)='/key1'
ParamStr(2)='"Значение параметра key1"'
и т.д.... Так ведь?
Подскажите как идентифицировать параметр по ключу вне зависимости от порядка указания параметров в командной строке
То есть, если ключ=...грубо.../department, то значение, передаваемое с этим ключом из командной строки присваивается переменной department в приложении...
Заранее большое спасибо

Последний раз редактировалось kalyan57; 21.01.2013 в 16:18.
kalyan57 вне форума Ответить с цитированием
Старый 21.01.2013, 17:07   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

kalyan57, нужно парсить строку, разбирать параметры. И делать это прийдётся Вам самому, ручками (в коде)...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2013, 17:31   #10
kalyan57
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 2
По умолчанию

"Парсить" означает искать в строке вхождение каждого параметра и передавать значение в нужную переменную?
kalyan57 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генератор ключей Casper-SC Общие вопросы .NET 11 04.09.2011 11:39
Использование длл, написанной на С++, в программе на ВБ 6 Гончий Общие вопросы C/C++ 18 01.06.2010 19:12
Использование системного времени или даты в программе DuM4uK Общие вопросы Delphi 4 13.10.2009 15:13
Существуют ли редакторы ключей...? Cкулаб Софт 5 30.05.2009 13:46