Поиск:

Ответ в темуСоздание новой темы Создание опроса
> командная строка, как задать параметры 
:(
    Опции темы
Annihilator
Дата 18.5.2007, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

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



Подскажите плиз, как передать проге параметры через командную строку. Надо чтобы передавалось имя файла, из которого она будет читать. Раньше в borland 3.1 это легко было сделать, там встроенная есть строка, а сейчас у меня borland developer studio 2006-c++ builder, как там сделать - не знаю


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
math64
Дата 18.5.2007, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

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



Допиши обработку параметров в WinMain(), который находится в Project1.cpp или используй глобальные переменные _argc и _argv
PM   Вверх
SenkraD
Дата 18.5.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



Что поиском в хелпе Builder нельзя было найти следующее
Код

void __fastcall TForm1::FormCreate(TObject *Sender)

{
  for (int i=1;i<=ParamCount();i++)
  {
    if (LowerCase(ParamStr(i)) == "beep")
      Beep(10000,1000);
    elseif (LowerCase(ParamStr(i)) == "exit")
      Application->Terminate();
  }
}



--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
Klin
Дата 18.5.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Обычно это ParamStr (1).


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Anikmar
Дата 18.5.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Если нужно, бросаю пару своих функций, которыми я пользуюсь.
Первая вычленяет параметр командной строки вида Param:25
Вторая просто проверяет наличие параметра с указанным именем среди всех (если задавать вперемежку).
Код

//---------------------------------------------------------------------------
// MAN_CLGetInt
// Возвращает целое число, являющееся второй часть параметра командной
// строки вида Текст:000
// SparName - должен соответствовать тексту вместе с двоеточием
bool MAN_CLGetInt(AnsiString sParName,int &Res)
{
    AnsiString CurPar;
    AnsiString FindStr;
    AnsiString CurParSub;
    AnsiString CurParVal;
    int i;
    int Len;
    int LenPar;
    bool Ret = false;

    Len = sParName.Length();
    FindStr = LowerCase(sParName);

    for (i=1;i<=ParamCount();i++)
    {
        CurPar = LowerCase(ParamStr(i));
        LenPar = CurPar.Length();
        if (LenPar < Len) continue;
        CurParSub = CurPar.SubString(1,Len);
        if (CurParSub != FindStr) continue;
        CurParVal = CurPar.SubString(Len+1,LenPar-Len);
        Ret = MAN_StringToInt(CurParVal,Res); 
        break;
    }
    return Ret;
}

//---------------------------------------------------------------------------
// MAN_CLIsParamPresent
// Функция возвращает истину, если в командной строке присутствует параметр
// Name
// Регистр не учитывается
bool MAN_CLIsParamPresent(AnsiString sName)
{
    AnsiString CurPar;
    AnsiString FindStr;
    int i;
    bool Ret = false;

    FindStr = LowerCase(sName);

    for (i=1;i<=ParamCount();i++)
    {
        CurPar = LowerCase(ParamStr(i));
        if (CurPar == FindStr)
        {
            Ret = true;
            break;
        }
    } // for (i=1;i<=ParamCount();i++)
    return Ret;
}


PM MAIL ICQ   Вверх
Annihilator
Дата 18.5.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

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



Ребята, все конечно это пригодится мне, но у меня вопрос, что нужно прописать в омандной строке FARa чтобы запустить прогу proga.exe с параметром 1.txt


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
SenkraD
Дата 18.5.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



так и пишеш прога.ехе 1.тхт


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
Annihilator
Дата 18.5.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

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



Цитата(SenkraD @  18.5.2007,  15:45 Найти цитируемый пост)
так и пишеш прога.ехе 1.тхт 

А там разве не с ключом надо запускать?


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
Anikmar
Дата 18.5.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(Annihilator @  18.5.2007,  20:11 Найти цитируемый пост)
А там разве не с ключом надо запускать? 

А что такое по-вашему ключ?
PM MAIL ICQ   Вверх
Fazil6
Дата 18.5.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



Цитата(Annihilator @  18.5.2007,  20:11 Найти цитируемый пост)
А там разве не с ключом надо запускать?

это от самой программы зависит. Причем ключ - это такой же параметр как и 1.txt. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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