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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 03:15   #1
Stian
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 14
По умолчанию DBGrid и открытие папки

Доброго времени суток)
Можно ли сделать так чтобы при выборе определенной строки в DBGrid открывалась определенная папка в проводнике? Допустим в DBGrid отображается список объектов, и при выборе определенного, нужно открыть папку, в которой лежат файлы, относящиеся к этому объекту. Вот как-то так.
Stian вне форума Ответить с цитированием
Старый 28.02.2011, 04:58   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

посмотрите в инспектор задач, все его события, если надо по очереди все перепробуите,
пока опытным путем не поимете что ето то что вам нужно
а вообше кажеца ето SellClick
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 28.02.2011, 06:51   #3
Stian
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 14
По умолчанию

Есть такое. Порывшись на просторах сети, нарыл такой код:

Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if Column.Field.FieldName='Путь к файлам' then
shellexecute(handle,'open','Путь',Pchar(Column.Field.AsString),nil,sw_show);
end;
Он открывает папку, только вот одна проблема. Он открывает одну и ту же папку (ту, что прописала в shellexecute), т.е. вся колонка "Путь к файлам", на какую строку не переместишься, открывает только этот путь. Как сделать так, чтобы при нажатии на определенную строку открывалась определенная папка?

Последний раз редактировалось Stilet; 28.02.2011 в 08:17.
Stian вне форума Ответить с цитированием
Старый 28.02.2011, 08:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу посоветовать попробовать запоминать путь в глобальную переменную не в этом событии а в OnAfterScroll. А в OnCellClick просто вызывать shellexecute с запомненным путем, раз уж такое у тебя не работает.

P.S. Хотя ты однозначно где-то напорол, потому как твой пример у меня работает отлично.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.02.2011, 09:14   #5
Stian
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 14
По умолчанию

Цитата:
твой пример у меня работает отлично.
У меня он тоже работает, только открывает всегда одну и ту же папку, которая прописана в shellexecute 'Путь'. Я видимо не до конца понимаю (прошу прощения, уровень знания delphi у меня невысокий, прямо скажем). Где именно в коде прописать, чтобы в зависимости от строки DBGrid открывался определенный путь, ведь в shellexecute путь указан конкретный и он всего один. Как прописать пути для каждой строки?
Stian вне форума Ответить с цитированием
Старый 28.02.2011, 10:33   #6
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

А если так :

Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if DirectoryExists(Column.Field.AsString) then
shellexecute(handle,'open',Pchar(Column.Field.AsString),nil,nil,sw_show);
end;
Ошибся чуток - исправил

Последний раз редактировалось lexaltd; 28.02.2011 в 10:54.
lexaltd вне форума Ответить с цитированием
Старый 28.02.2011, 10:35   #7
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Чуток не так...
Код:
shellexecute(handle,'open',PAnsiChar(Column.Field.AsString),nil,nil,sw_show);
asmodey1 вне форума Ответить с цитированием
Старый 01.03.2011, 01:45   #8
Stian
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 14
По умолчанию

Всем огромное спасибо за помощь, все работает. То, что нужно.
Stian вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CppWEbBrowser. Запрет на открытие нового окна, и открытие его в том же окне Askar_g Общие вопросы C/C++ 4 25.06.2011 20:00
Кнопка "Обзор" - открытие конкретной папки DenProx Microsoft Office Access 5 21.01.2010 22:24
Как можно организовать открытие папки с содержащимся в нем произвольным файлом Sewell Общие вопросы Delphi 5 27.05.2009 22:11
Открытие файлов из заданной папки anutiks Microsoft Office Excel 7 14.04.2008 04:19