Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2012, 09:37
LelikBolik LelikBolik вне форума
Прохожий
 
Регистрация: 04.11.2011
Сообщения: 9
Репутация: 10
По умолчанию создать ссылку на файл, разместив ее в ячейке DBGrid

Поставленная задача:
База данных создана в InterBase.
Необходимо создать базу данных большого количества файлов с расширением .jpg, .doc, .pdf, .txt, .xls
Вопрос:
1) Как создать ссылку на файл, разместив ее в ячейке DBGrid?
2) Где лучше хранить файлы .txt, .doc, .xls в самой базе или как отдельные файлы на диске?
Ответить с цитированием
  #2  
Старый 12.05.2012, 10:00
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

1. в текстовом поле хранить путь к файлу. к примеру c:\WINDOWS\Web\Wallpaper\Безмятежность.bmp
2. если файлы с диска не удаляются и база не переносится на другие компьютеры, то незачем их дублировать в базе. а в базе хранить см. пункт 1
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 13.05.2012, 11:44
LelikBolik LelikBolik вне форума
Прохожий
 
Регистрация: 04.11.2011
Сообщения: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
1. в текстовом поле хранить путь к файлу. к примеру c:\WINDOWS\Web\Wallpaper\Безмятежность.bmp
2. если файлы с диска не удаляются и база не переносится на другие компьютеры, то незачем их дублировать в базе. а в базе хранить см. пункт 1
Но как рализовать запуск файла c:\WINDOWS\Web\Wallpaper\Безмятежность.bmp из ячейке DBGrid? Т.е. ячейка DBGrid была бы как кнопка в которой зашифрован путь c:\WINDOWS\Web\Wallpaper\Безмятежность.bmp. В этой публикации уже была описана подобная проблема http://www.delphisources.ru/forum/showthread.php?t=11270&highlight=%EE%F2%EA%F0%FB%F 2%FC+%F4%E0%E9%EB

Последний раз редактировалось LelikBolik, 13.05.2012 в 23:54.
Ответить с цитированием
  #4  
Старый 14.05.2012, 09:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

-нарисовать кнопку в OnDrawColumnCell
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  ARect: TRect;
begin
  if Column.FieldName='Name' then
  begin
    ARect:=Rect;
    DBGrid1.Canvas.Brush.Color:=clBtnFace;
    DBGrid1.Canvas.FillRect(Rect);
    DrawEdge(DBGrid1.Canvas.Handle, ARect, EDGE_RAISED, BF_RECT);
    InflateRect(ARect, -2, -2);
    DBGrid1.Canvas.TextRect(ARect, ARect.Left, ARect.Top, 'ÑÑûëêà');
  end else DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
-создать обработчик OnCellClick:
Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  if Column.Field.FieldName='Name' then
    ShellExecute(0, 'open', PChar(Table1.FieldByName('Name').AsString), nil, nil, SW_SHOWNORMAL);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
LelikBolik (14.05.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025