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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.01.2008, 03:05   #1
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию консольное приложение с параметрами

Такой вот простой вопросик. Как у приложения создать параметры командной строки для запуска.
Проще говоря нужно написать таймер, у которого количество секунд для отсчёта будет задаваться в командной строке параметром, типа

start d:\myprograms\timer.exe -5 -r
eks-s вне форума
Старый 21.01.2008, 08:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как у приложения создать параметры командной строки для запуска
Никак!
Если имеется ввиду получить элементы командной строки (ключи) то ParamCount даст количество элементов в том примере если не учитывать непонятную (мне) команду start, то 3 элемента начиная с нуля.
Получить каждый параметр мона функой ParamStr(<Номер элемента>).
I'm learning to live...
Stilet вне форума
Старый 21.01.2008, 08:47   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я организовывал, как уже сказали через ParamXXX, в цикле while do
типа:
Код:
i := 1;
while i < paramcount do
begin
  if (lowercase(paramstr(i) = '-r') then делаете свои действия
end;
Вроде так, если не ошибся с lowercase.
BOBAH13 вне форума
Старый 21.01.2008, 13:01   #4
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

эээм... я ничего не понял, простите. я видимо не так объяснил.
В bat-файле пишу start d:\myprograms\timer.exe -5
где
d:\myprograms\ - путь к моей программе
timer.exe - моя программа
-5 - параметр задающий количество секунд для отсчёта

всё что мне нужно, эту цифру (5) присвоить переменной в программе.
eks-s вне форума
Старый 21.01.2008, 13:15   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну а Вам что говорят !!! т.к. -5 это 1 параметр то ParamStr(1) = '-5' теперь val(Copy(ParamStr(1), 1, 1), I: Integer, E: Integer); после этого в I = 5; Вроде так, если не ошибся
BOBAH13 вне форума
Старый 21.01.2008, 13:45   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

+1
Еще луче будет делать так:
start d:\myprograms\timer.exe 5

а в проге:
if paramcount>0 then Timer.interval:=strtoint(paramstr(1 ));
I'm learning to live...
Stilet вне форума
Старый 21.01.2008, 14:18   #7
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

Всё, разобрался! Спасибо всем огромное!

lowercase не нужно, сразу if (paramstr(i) = '-5') then . . .
чуть позже пришлю что получилось ))
eks-s вне форума
Старый 21.01.2008, 15:26   #8
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
Вопрос

Ещё вопрос! Как вот например, есть консольное приложение, запускаю его с командной строки и открывается новое окно командной строки для моего приложения. Как сделать чтобы приложение выводило сообщения в тот же сеанс из которого запущено? или отсылала ему команды, например echo

Последний раз редактировалось eks-s; 21.01.2008 в 15:52.
eks-s вне форума
Старый 21.01.2008, 16:08   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как сделать чтобы приложение выводило сообщения в тот же сеанс из которого запущено?
Ну дык Writeln еще никто не отменял )
Вообще вопрос чет малопонятный...
I'm learning to live...
Stilet вне форума
Старый 21.01.2008, 19:14   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

один вопрос одна тема. закрыто.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консольное приложение a_priori Общие вопросы Delphi 6 12.03.2008 08:33
Консольное приложение eks-s Общие вопросы Delphi 17 25.01.2008 03:12
Консольное приложение и DLL SunKnight Общие вопросы Delphi 1 16.12.2007 02:35
Приложение с параметрами RoadTrain Общие вопросы Delphi 3 08.05.2007 15:37
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28