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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 22:35   #1
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию БД ADO Grid

Здравствуйте! В общем есть crdbgrid , заполняется он из таблицы эксеса (названия файлов в ячейках такого формата блаблабла .xls), работаю через ADO. Так вот, как как по клику ячейки открывать этот файл формата .xls? все эти файлы лежат у меня вместе с программой.
crit вне форума Ответить с цитированием
Старый 18.01.2011, 22:49   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Код:
uses ShellAPI;

ShellExecute (Form1.Handle, nil, PChar ('блаблабла .xls'), nil, nil, SW_RESTORE);
_SERGEYX_ вне форума Ответить с цитированием
Старый 18.01.2011, 23:54   #3
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Код:
uses ShellAPI;

ShellExecute (Form1.Handle, nil, PChar ('блаблабла .xls'), nil, nil, SW_RESTORE);
я немного не о том, как обработать событие клика по ячейки, и чтобы открылся нужный файл. нужен идентификатор id?
crit вне форума Ответить с цитированием
Старый 19.01.2011, 18:21   #4
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

в общем сделал так. по клику вызываю файл из папки
Код:
if CRDBGrid1.SelectedField.AsString=AdoTable1 ['naimenov']
then

     ShellExecute(0, 'open', PChar(CRDBGrid1.SelectedField.Text ), nil, '' , SW_SHOWNORMAL);
примитивно но работает =\ может кто получше предложит? буду рад.
crit вне форума Ответить с цитированием
Старый 20.01.2011, 23:13   #5
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Есть вариант вызвать OLE сервер Excel и отдать ему команду на открытие файла:
Код:
var
templatefilename:string;
tmpStrList:TStrings;
 XLApp,Sheet,Colum:Variant;
     begin
      try
       XLapp:=CreateOleObject('Excel.Application');
      except
       ShowMessage('Невозможно запустить Excel');
       exit;
      end;
     end;
     begin
     XLApp.Visible:=true;
     od.Free;
     exit;
     end;
    od.Free;
     XLApp.Workbooks.Open(templatefilename, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam,EmptyParam, EmptyParam);
     Sheet:=XLApp.Workbooks[1].WorkSheets['Лист1'] 
...
У объекта WorkBook в Excel есть функция Open с кучей параметров (детально их назначение можно посмотреть в справке по VBA), её и вызываем.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поисковик в Grid Liprikon7 Общие вопросы Delphi 7 14.10.2010 00:55
From Grid to Chart Dimitr_88 Общие вопросы C/C++ 7 26.09.2010 23:24
помощ в db grid deadneoo Компоненты Delphi 0 01.05.2010 15:41
из Grid в Edit stp56 Общие вопросы Delphi 8 18.04.2009 01:53
Grid nimf Общие вопросы Delphi 2 22.04.2008 13:16