Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2

как открить фаил который заносится в ListBox?

16.05.2011, 22:52. Показов 2200. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я спомошию FileListBox занощу фаил в ListBox, как открить фаил который заносится в ListBox-e?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2011, 22:52
Ответы с готовыми решениями:

Есть фаил dll нужно открить и изменить
Есть фаил dll розработчик умер его нужно илменитьт исходников нету знаю только что он отвечает за конект к базе даних там IP адрес, догин и...

как лудче прикрепить фаил html с ифной который должен отображаться на страницах?
Народ подскажите как лудче сделать, у меня сайт примерно на 50 страниц, и есть один блок который на каждой странице в низу один и тотже, и...

Как открить файл .pack или как его перевести в C# если возможно
Здравтсвуйте яб хотел узнать на каком язике написан етот файл .pack я его откривал через Microsoft Visual Studio 2008 код какото уже...

15
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.05.2011, 22:56
в общем случае
C++
1
filename = ListBox->Items[ListBox->ItemIndex];
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
17.05.2011, 00:00  [ТС]
C++
1
 WinExec(ListBox1->Items[ListBox1->ItemIndex],SW_NORMAL);
ну вот один и тот же ошибка, ему нужна толко 'const char'
C++
1
2
[BCC32 Error] Unit23.cpp(27): E2034 Cannot convert 'TStrings' to 'const char *'
[BCC32 Error] Unit23.cpp(27): E2342 Type mismatch in parameter 'lpCmdLine' (wanted 'const char *', got 'TStrings')
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.05.2011, 00:11
ты меня иногда удивляешь
C++
1
2
AnsiString filename = ListBox->Items[ListBox->ItemIndex];
WinExec(filename.c_str(),SW_NORMAL);
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
17.05.2011, 01:24  [ТС]
Я очен много стараюс не удевлять тебя но в жизнти же не толко программирование да? я школу оканчиваю : (

Добавлено через 9 минут
Вот еще 1 ошибка
C++
1
[BCC32 Error] Unit23.cpp(18): E2285 Could not find a match for 'AnsiString::AnsiStringT(const AnsiString&)'
C++
1
2
AnsiString filename = ListBox->Items[ListBox->ItemIndex];
WinExec(filename.c_str(),SW_NORMAL);
в первом строку ето ощибка
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.05.2011, 01:26
C++
1
AnsiString filename = ListBox->Items->Strings[ListBox->ItemIndex];
Работа с ListBox
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
17.05.2011, 01:58  [ТС]
LK,
Шас пересмотрю, спасибо за помощ опять!
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
18.05.2011, 14:55  [ТС]
LK,
Опять не работает
C++
1
2
3
4
5
void __fastcall TForm24::Button3Click(TObject *Sender)
{
 AnsiString dir = ListBox1->Items->Strings[ListBox1->ItemIndex];
WinExec(dir.c_str(),SW_SHOWNORMAL);
}
Скомпилировался но нечего не пройсходит
Я занащу в ListBox1 файл так:
C++
1
2
3
4
void __fastcall TForm24::Button1Click(TObject *Sender)
{
ListBox1->Items->Add(FileListBox1->FileName);
}
Я думаю проблемма уже не в WinExec(), я просто неправилно занощу в списке файл.

Помоги а? Перечиал я ети примери но не нашел!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
18.05.2011, 15:00
пробуй так
C++
1
2
3
4
ListBox1->Items->Strings[0] = FileListBox1->Items->Strings[0]);
// не помню точно синтаксис для FileListBox
AnsiString dir = ListBox1->Items->Strings[0];
WinExec(dir.c_str(),SW_SHOWNORMAL);
а ShellExecute чем тебе не нравится ?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
18.05.2011, 15:19
Цитата Сообщение от LK Посмотреть сообщение
а ShellExecute чем тебе не нравится ?
Эта функция лутше, чем WinExec потому что WinExec не везде работает
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
18.05.2011, 15:31
Цитата Сообщение от Sasha Посмотреть сообщение
Эта функция лутше, чем WinExec потому что WinExec не везде работает


Просто так WinExec не может "не работать", если она не смогла запустить файл,
она возвращает код ошибки! На 32 битной операционке работает стабильно! Проверено!

ЕДИНСТВЕННОЕ, ОНА НЕ МЕНЯЕТ ТЕКУЩУЮ ДИРЕКТОРИЮ!!!
То есть, если файлу требуются конфиги, которые лежат в текущей директории,
необходимо предварительно сменить директорию к этому файлу

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const int iErrorCode = WinExec("calc",SW_SHOW);
 
// значит есть ошибка
if (iErrorCode>31) {
      switch (iErrorCode) {
            case 0: //The system is out of memory or resources. 
            break;
            case ERROR_BAD_FORMAT: //The .exe file is invalid.
            break;
            case ERROR_FILE_NOT_FOUND: //The specified file was not found.
            break;
            case ERROR_PATH_NOT_FOUND: //The specified path was not found.
            break;
 
            // и так далее 31 вариант, почему же файл не запустился
      }
}
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
18.05.2011, 15:49
Цитата Сообщение от Maluda Посмотреть сообщение
На 32 битной операционке работает стабильно!
https://www.cyberforum.ru/cpp-... 37638.html
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
18.05.2011, 15:57  [ТС]
C++
1
2
3
ListBox1->Items->Strings[0] = FileListBox1->Items->Strings[0];
 AnsiString dir = ListBox1->Items->Strings[0] ;
ShellExecute(Handle,"open",dir.c_str(),NULL,NULL,SW_SHOWNORMAL);
Вот пожалуйста LK ошибочка
[BCC32 Error] Unit24.cpp(43): E2034 Cannot convert 'char const[5]' to 'const wchar_t *'
[BCC32 Error] Unit24.cpp(43): E2342 Type mismatch in parameter 'lpOperation' (wanted 'const wchar_t *', got 'const char *')
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
18.05.2011, 18:02
Programmer., сколько ты будешь наступать на одни и те же грабли ?
C++
1
2
UnicodeString dir = ListBox1->Items->Strings[0] ;
ShellExecute(Handle,L"open",dir.c_str(),NULL,NULL,SW_SHOWNORMAL);
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
18.05.2011, 20:01  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Programmer., сколько ты будешь наступать на одни и те же грабли ?
C++
1
2
UnicodeString dir = ListBox1->Items->Strings[0] ;
ShellExecute(Handle,L"open",dir.c_str(),NULL,NULL,SW_SHOWNORMAL);
Всё спасибо больщое!

Разобрался и в етом!

Ребят вам тоже больщое спасибо!
1
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
19.05.2011, 17:06
Sasha, ну и что ты мне за тему привел?

WinExec И НЕ ДОЛЖНА ЗАПУСКАТЬ ТЕКСТОВЫЕ ФАЙЛЫ!

WinExec запускает только программы!!!

Когда ты в Shell через проводник там и т.д. запускаешь текстовый файл,
то сначала в реестре происходит поиск по расширению с какой программой ассоциирован этот
исполняемый файл,
затем запускается программа с параметром - именем этого текстового файла,
то есть, нажимая в проводнике на файл "1.txt" в реальности запускается
"notepad.exe 1.txt"

Чтобы запустить ассоциированный файл с помощью WinExec, надо выполнить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const char *chFile = "1.txt";
const char *chDir = "c:\\test\\test";
char buff[MAX_PATH];
const int iFindRes = FindExecutableA(chFile,chDir,buff);
if (iFindRes>31) {
        // SUCCESS
        AnsiString sExecCommand = AnsiString(buff) + " " + IncludeTrailingBackslash(chDir) + AnsiString(chFile);
        
        const int iExecRes = WinExec(sExecCommand.c_str(),SW_SHOW);
        if (iExecRes>31) {
                  // SUCCESS
        }
}
Конечно, удобнее пользоваться ShellExecute, но ещё раз повторюсь, что WinExec работает стабильно, проверено 1000 раз,
просто надо знать как она работает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.05.2011, 17:06
Помогаю со студенческими работами здесь

Добавить элемент в ListBox, который находится в ListBox
Привет, у меня есть горизонтальный ListBox ListBox'ов. Но как добавить туда элемент. ListBox ListBox'ов <ListBox...

Как получить доступ к собитиям LISTBOX который я создаю в процессе работы
Суть вопроса - Dim LIST As New ListBox With LIST .DataSource =...

Сильно не меня не материте )) я не могу ссылку на фаил сделать который находится в каталоге выше
Сильно меня не материте )) я не могу ссылку на фаил сделать который находится в каталоге выше в общем у меня фаил page.htm лежит папке...

Как сделать, чтобы при установке галочки в CheckBox выводился текст из ListBox, который мне нужен
Всем привет подскажите пожалуйста, как сделать так чтоб при поставке галочки в CHECKBOХ выводился текст из листбокса который мне нужен...

Ест 1 программа и как сделать так чтоби если оно уже открито запретит открить дважды ету программу?
Доброго времени суток Как запретит программу включится если оно уже включено (вторую копию программы). Ест 1 программа и как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru