ShellExecute + путь к файлу
Вообшем такая проблема возникла..
У меня в поле БД(Access) хранятся пути к файлам, характеристики служащих..
В Buildere у меня набросан небольшой интерфейс с таблицей куда выводится информация о служащих...
не могу найти способа как считать эти пути к файлам из базы и например по клику на кнопке их открывать...
ну например пути можно передавать в DBEdit, а топом их оттуда считывать, но что то не получается, я хз...может кто нибудь что то посоветует...
Спасибо..
телепаты в отпуске
Цитата: unas
Здравствуйте..
Вообшем такая проблема возникла..
У меня в поле БД(Access) хранятся пути к файлам, характеристики служащих..
В Buildere у меня набросан небольшой интерфейс с таблицей куда выводится информация о служащих...
не могу найти способа как считать эти пути к файлам из базы и например по клику на кнопке их открывать...
ну например пути можно передавать в DBEdit, а топом их оттуда считывать, но что то не получается, я хз...может кто нибудь что то посоветует...
Спасибо..
Вообшем такая проблема возникла..
У меня в поле БД(Access) хранятся пути к файлам, характеристики служащих..
В Buildere у меня набросан небольшой интерфейс с таблицей куда выводится информация о служащих...
не могу найти способа как считать эти пути к файлам из базы и например по клику на кнопке их открывать...
ну например пути можно передавать в DBEdit, а топом их оттуда считывать, но что то не получается, я хз...может кто нибудь что то посоветует...
Спасибо..
примерно так:
Код:
ShellExecute (this->Handle, "open", ADOQuery1->FieldByName("Path")->AsString.c_str(), NULL, NULL, SW_SHOW);
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShellExecute(Form1->Handle,NULL,"cmd.exe","cd /D C:", NULL, SW_SHOWNORMAL);
}
{
ShellExecute(Form1->Handle,NULL,"cmd.exe","cd /D C:", NULL, SW_SHOWNORMAL);
}
Хотел чтобы при нажатии кнопки открывалась консоль cmd.exe и переходила в каталог(параметры cd /D C: ) С:, но этого не происходит! ???????
Еще одна загадка: если указывать путь до программы ShellExecute(Form1->Handle,NULL,"C:\WINDOWS\system32\cmd.exe","cd /D C:", NULL, SW_SHOWNORMAL);, то при нажатии кнопки cmd.exe не открывается . ????????
а че 2-й параметр NULL ?
Цитата: oxotnik333
а че 2-й параметр NULL ?
null=open по умолчанию
Да, консоль открывается, но параметры не срабатывают, то есть не переходит на С:
а cmd и из командной строки (WinKey + R) так не делает
пусть будет команда СD.. Она все равно не срботает Не выполняется параметр при вызове shellexecute
Win+R -> cmd ->cmd /? и читаеш как запускать консольку с нужными параметрами.
Точнее так : cmd /K "cd /D c:"
Ребята, синтаксис команды для консоли тут не при чем Параметры не передаются(или я чего-то не понимаю)
[quote="Se AD WMD"]
Делаеш так:
Win+R -> cmd ->cmd /? и читаеш как запускать консольку с нужными параметрами.
Точнее так : cmd /K "cd /D c:"
[/quote]
Какой вывод делаем?
Такой:
ShellExecute(Form1->Handle,NULL,"C:\WINDOWS\system32\cmd.exe"," /K \"cd /D C:\"", NULL, SW_SHOWNORMAL);
ну а как же быть с указанием пути cmd.exe?у
меня работает только в таком случае: ShellExecute(Form1->Handle,NULL,"cmd.exe"," /K \"cd /D C:\"", NULL, SW_SHOWNORMAL);
Цитата:
ну а как же быть с указанием пути cmd.exe?
Попробуй так:
C:\\WINDOWS\\system32\\cmd.exe
При указании полного пути к файлу используй двойной бэкслеш вместо одинарного. Надеюсь, ясно почему...
Цитата: Pelican
Попробуй так:
C:\\WINDOWS\\system32\\cmd.exe
При указании полного пути к файлу используй двойной бэкслеш вместо одинарного. Надеюсь, ясно почему...
C:\\WINDOWS\\system32\\cmd.exe
При указании полного пути к файлу используй двойной бэкслеш вместо одинарного. Надеюсь, ясно почему...
честно говоря нет:)
потому что есть ряд симоволов, которые надо экранировать обратным слешем (служебные, они же escape-последовательности)