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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Помогите с paramstr 
:(
    Опции темы
Sniper
  Дата 8.5.2002, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Вот допустим такой параметр yyyy.exe -ggggg
Так вот как мне запустить прогу с введённым параметром...???
И ещё как поступить если параметров несколько...???
Где-то слышал, что надо paramcount вроде бы использовать!!!!!!


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Vit
Дата 8.5.2002, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Paramcount - показывает сколько у тебя параметров передано
Paramstr(0) - это имя с путем твоей программы
Paramstr(1) - имя первого параметра
Paramstr(2) - имя второго параметра и т.д.

Если ты запускаешь:

с:\myprog.exe /a -b22 c:\dev

то Paramcount будет равен 3
Paramstr(0) будет равен с:\myprog.exe
Paramstr(1) будет равен /a
Paramstr(2) будет равен -b22
Paramstr(3) будет равен c:\dev


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Baa
Дата 8.5.2002, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Наверно ты про это...Массив Params заполняеться параметрами, с которыми была вызвана программа...Код написан теоретически :) т.е. не проверял, но подиее он просто до невозможности, посему думаю, что будет работать :)
var
 Params : array [0..$FF] of String;
 I          : Byte;
begin
 for I := 0 to ParamCount do
   Params [I] := ParamStr(I);


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Sniper
Дата 8.5.2002, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Хорошо, а как тогда запустить прогу с параметрами...

Как я понял что-то надо написать здесь??

program Project2;

uses
 Forms,
 Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
 Application.Initialize;

 Application.CreateForm(TForm1, Form1);

 Application.Run;
end.

Как мне допустим запустить например: qqq.exe -b22 ?????


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
TwoK
Дата 8.5.2002, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хм, ты имеешь в виду свою прогу, которую ты создаешь? в меню "Run" есть "Parameters", там в комбобоксе прописываешь все параметры, которые душе угодно. Твоя прога будет запускаться с этими параметрами. Соответственно, когда эта строчка пустая, параметров командной строки не будет.

А если не свою, а чужую - тут тебе помогут CreateProcess, WinExec, ShellExecute, ...

Удачи.


--------------------
Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше...
PM MAIL   Вверх
Sniper
Дата 8.5.2002, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Вот допустим Counter-Strike запускается так
hl.exe -console -game cstrike
можно так hl.exe - console

Короче, что бы пользователь их мог вводить!


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Vit
Дата 8.5.2002, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



ShellExecute(Handle, 'Open', YourProgramName, yourparameters, yourprogrampath, sw_restore)

Например для твоего случая:
ShellExecute(Handle, 'Open', 'hl.exe', '-console -game cstrike', 'c:\games\contrstrike', sw_restore);




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Sniper
Дата 9.5.2002, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



А как пользователь их будет вводить?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
TwoK
Дата 9.5.2002, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хм, ну, наверное, с клавиатуры...

Sorry, но вопрос "как" ставит в тупик :D


--------------------
Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше...
PM MAIL   Вверх
Sniper
Дата 9.5.2002, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Цитата(TwoK @ 09.5.2002, 01:10)
Хм, ну, наверное, с клавиатуры...

Sorry, но вопрос "как" ставит в тупик :D

Не.... ну если в обработчике "баттны" написать сею строчку... то запустится CS с параметрами -console -game cstrike.......
но я ведь пишу свою прогу!!!!!


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
TwoK
Дата 9.5.2002, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



То есть ты хочешь запустить _ту программу, которую ты пишешь_, с параметрами, которые введет пользователь?

Так создай ему ярлык и пусть балуется
Или напиши прогу №2, там вводи этот текст и шеллекзекуть свою первую прогу


Или если нет, то на 3 сообщения выше

"в меню "Run" есть "Parameters", там в комбобоксе прописываешь все параметры, которые душе угодно. Твоя прога будет запускаться с этими параметрами. Соответственно, когда эта строчка пустая, параметров командной строки не будет."


Описал бы нормально: я пишу программу "е-мое". Она должна взять у пользователя параметры командной строки и запустить"... ну и в таком же духе далее. А не "если-если".


--------------------
Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше...
PM MAIL   Вверх
Vit
Дата 9.5.2002, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Ставишь на форму TEdit и кнопку. На обработчике нажатия кнопки пишешь:

ShellExecute(Handle, 'Open', 'hl.exe', PChar(Edit1.text), 'c:\games\contrstrike', sw_restore);


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Sniper
Дата 9.5.2002, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Так... описываю по-нормальному!
Вот я пишу прогу :-)))
Создаю пользователю обычную иконку БЕЗ параметров.
Он [пользователь] параметры эти не знает... :-)))
Но потом я ему говорю эти параметры....
Он [пользователь] их вводит в иконке и прога запускается с ВВЕДЁННЫМИ параметрами ( пользователь может вводить только некоторые параметры!!!;)
Вопросы:
Как запустить прогу только с введёнными параметрами(которые прописаны в иконке)???

Так мой вопрос понятен???


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Vit
Дата 9.5.2002, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Ты совсем запутал!
Если ты добавил параметры к иконке (я думаю что имеется ввиду shortcut) то конечно программа запустится именно с этими параметрами, ничего писать не надо. Короче чтO именно тебе надо - даю варианты ответа:

1) Запустить чужую программу из своей с параметрами? Используй - ShellExecute - пример я привел

2) Твою программу запустили с параметрами и в ответ на это ты должен сделать какие-то действия? Используй Paramstr, Paramcount

3) Твою программу запустили с параметрами и ты в свою очередь должен запустить чью-то программу с этими же параметрами - используй оба первых ответа вместе.

4) Тебе надо запустить какую-нибудь программу с параметрами из виндов - пишешь в окне Запуска ("Run") myprogram.exe /myparam

5) Тебе надо создать иконку (shortcut) для запуска программы с параметрами - посмотри FAQ на этом форуме - тема "Как создать Shortcut"

6) Тебе надо создать иконку (shortcut) для запуска программы с параметрами в ручную из Windows - там в свойствах иконки есть пункт параметры - вписываешь их туда

7) Узнать с какими параметрами кто-то запустил чужую программу? - это единственный вопрос на который я не знаю ответ.

Всё! Ты извини у меня не хватает фантазии придумать что-то еще, что бы можно сделать с параметрами! Пожалуйста - прочитай этот список и напиши какой пункт тебе надо реализовать.


Твой последнее сообщение отличается крайней непонятностью:

Цитата
Создаю пользователю обычную иконку БЕЗ параметров.


Имеется ввиду Shortcut или иконка в Listview, или иконка в Treeview или ты просто имеешь ввиду объект TIcon, или ты на Canvas эту иконку рисуешь? Что такое параметры иконки? Параметры бывают или у запускаемого приложения или в кверях, или это Shortcut, который пользователь запускает с параметрами?

Цитата
Он [пользователь] их вводит в иконке и прога запускается с ВВЕДЁННЫМИ параметрами ( пользователь может вводить только некоторые параметры!!!


Что значит ввести параметры в иконке? Нарисовать на ее Canvas'e? Или ты под иконкой подразумеваешь программу? Или напротив иконки нарисованной на форме у тебя есть Edit Box? Или твоя программа рисует только иконку и ловит сообщения клавиатуры прямо в него?

Цитата
Как запустить прогу только с введёнными параметрами(которые прописаны в иконке)???


Запуск проги осуществляется через ShellExecute, а по поводу иконки в которую что-то введено - это напоминает мне "кубический трёхчлен" - умозрительно представить себе это я не могу!

Давай ты еще раз напишешь сообщение, используя стандартную терминологию:

Иконка - квадратное изображение 16х16 или 32х32
Shortcut - ярлык, программа с расширением lnk, pif


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Sniper
Дата 9.5.2002, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 2



Из всего представленного многообразия мне нужен пункт 2!!


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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