![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Поставленная задача:
База данных создана в InterBase. Необходимо создать базу данных большого количества файлов с расширением .jpg, .doc, .pdf, .txt, .xls Вопрос: 1) Как создать ссылку на файл, разместив ее в ячейке DBGrid? 2) Где лучше хранить файлы .txt, .doc, .xls в самой базе или как отдельные файлы на диске? |
|
#2
|
||||
|
||||
|
1. в текстовом поле хранить путь к файлу. к примеру c:\WINDOWS\Web\Wallpaper\Безмятежность.bmp
2. если файлы с диска не удаляются и база не переносится на другие компьютеры, то незачем их дублировать в базе. а в базе хранить см. пункт 1 |
|
#3
|
|||
|
|||
|
Цитата:
Последний раз редактировалось LelikBolik, 13.05.2012 в 23:54. |
|
#4
|
||||
|
||||
|
-нарисовать кнопку в 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;Код:
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)
| ||