Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Трабла с ComboBox, Нужно открыть файлы 
:(
    Опции темы
s1lver
Дата 14.2.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообщем я не совсем понял как это осуществить. В списке ComboBox указываются 4 файла, при нажатии на кнопку открывается нужный файл из списка. Делаю так:
Код


ComboBox1->Items[0]=WinExec( "config.exe @config.cfg", SW_HIDE );


но, похоже я что-то тут не догнал.....


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
volvo877
Дата 14.2.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



Может, наоборот:
Код

    if(ComboBox1->ItemIndex != -1) {
        WinExec("config.exe @" + ComboBox1->Items->Strings[ComboBox1->ItemIndex], SW_HIDE);
    }
?
PM MAIL   Вверх
s1lver
Дата 14.2.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Так, у меня же там 4 разных файла открываются


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
volvo877
Дата 14.2.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



Так откроется-то тот, который ты выбрал в ComboBox-е. Или тебе не это нужно - тогда формулируй задачу как положено, а не "пойди туда, не знаю куда"...
PM MAIL   Вверх
s1lver
Дата 14.2.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть 4 разных exeшника. Через комбобокс вибирается один из них и при нажатии на кнопку запускается выбранный. 


Да, и этот код не компилируется:

Цитата

[C++ Error] Unit1.cpp(28): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] Unit1.cpp(28): E2342 Type mismatch in parameter 'lpCmdLine' (wanted 'const char *', got 'AnsiString')




--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
volvo877
Дата 14.2.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



Цитата(s1lver @  14.2.2008,  10:13 Найти цитируемый пост)
Да, и этот код не компилируется:

Что у тебя хранится в ComboBox-е, ты можешь нормально сказать? Имена EXE-шников, или имена их аргументов? Почему все время надо клещами информацию вытягивать? Это все-таки не форум телепатов, кажется?

Цитата(s1lver @  14.2.2008,  10:13 Найти цитируемый пост)
Да, и этот код не компилируется:

Код
WinExec(("config.exe @" + ComboBox1->Items->Strings[ComboBox1->ItemIndex]).c_str(), SW_HIDE);


Но повторяю вопрос: что у тебя в списке? Если имена EXE (а параметр у них всех - один и тот же), то наоборот, сначала Items->Strings[ComboBox1->ItemIndex], а потом - параметр:
Код

WinExec((ComboBox1->Items->Strings[ComboBox1->ItemIndex] + "@config.cfg").c_str(), SW_HIDE);


А может быть у тебя вся командная строка хранится в списке, и надо ее запустить? А может, для одного EXE-шника - один параметр, а для другого - другой Почему надо ГАДАТЬ?

Это сообщение отредактировал(а) volvo877 - 14.2.2008, 11:41
PM MAIL   Вверх
artsb
Дата 14.2.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(volvo877 @  14.2.2008,  11:36 Найти цитируемый пост)

WinExec((ComboBox1->Items->Strings[ComboBox1->ItemIndex] + "@config.cfg").c_str(), SW_HIDE);

Можно так:
Код

WinExec((ComboBox1->Text + "@config.cfg").c_str(), SW_HIDE);



Это сообщение отредактировал(а) artsb - 14.2.2008, 11:47


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 14.2.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Блин...я вообще всех запутал - в комбобоксе хранится только название т.е 
прога1 - запускается прога1.exe
прога2 - запускается прога2.exe
прога3 - запускается прога2.exe
прога4  - запускается прога2.exe

тобиш экзешники все разные, и запускаются разные, просто они идут с параметрами.. smile чето опять замудро объяснил,....

Цитата

Но повторяю вопрос: что у тебя в списке? Если имена EXE (а параметр у них всех - один и тот же), то наоборот, сначала Items->Strings[ComboBox1->ItemIndex], а потом - параметр:


Да, имена все разные EXE а параметр один, а в списке только названия - причем на русском.

Это сообщение отредактировал(а) s1lver - 14.2.2008, 18:27


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
artsb
Дата 15.2.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(s1lver @  14.2.2008,  17:32 Найти цитируемый пост)
Да, имена все разные EXE а параметр один, а в списке только названия - причем на русском.

Тогда так:
Код

WinExec((ComboBox1->Text + ".exe @config.cfg").c_str(), SW_HIDE);



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 15.2.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это сработает если в комбобоксе стоят значения 
config1
config2
config3
config4

а у меня ведь там написано Конфигурация 1 и тд. exe же подругому называется.....



--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
volvo877
Дата 16.2.2008, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



В таком случае у тебя где-то должно храниться соответствие между названиями из Combobox-а и именами EXE-файлов. Где оно хранится?
PM MAIL   Вверх
artsb
Дата 16.2.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Тогда удобнее будет по индексу имхо:
Код

AnsiString str;
switch (ComboBox1->ItemIndex)
{
case 0: str="proga1"; break;
case 1: str="proga2"; break;
case 2: str="proga3"; break;
case 3: str="proga4"; break;
default: break;
}
WinExec((str + ".exe @config.cfg").c_str(), SW_HIDE);



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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