Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

опять картинки   Найти похожие ветки 

 
Student1000   (2007-03-14 13:39) [0]

В лабораторной необходимо создать таблицы в Database Desctop с текстовыми названиями и изображением объекта. Затем вывести это на форме (в Grid-е). Таблицы создал, изображениям присвоил тип OLE. Подскажите, пожалуйста, как вывести картинку в Grid. Только подробнее, мало опыта. Может быть, использоваьть Image или CtrlGrid.


 
Клара   (2007-03-14 14:07) [1]

Вывод графических изображений
Компонент DBimage (графический образ) используется для вывода изображений, содержащихся в графических полях БД. Если компонент DBimage связать с полем, не содержащим изображение, например, с числовым, то в области компонента выводится название этого поля. В случае, когда компонент DBimage не связан ни с одним полем, он отображает свое собственное название (значениесвойства Name).
Кроме вывода изображения, компонент также позволяет изменить (заменить) его, вставив нужный рисунок из буфера обмена Windows.
Основные свойства графического образа были рассмотрены ранее в главе с описанием графических возможностях Delphi, поэтому здесь мы рассмотрим только дополнительные характеристики компонента DBimage.
Свойство AutoDisplay типа Boolean указывает, каким способом отображаются в  компоненте DBimage изменения в связанном с ним поле. По умолчанию свойство имеет значение True, и содержимое графического поля отображается. Если свойству AutoDisplay установить значение False, то при изменении значения поля, например, из-за перехода к другой записи, вместо изображения выводится наименование поля. В этом случае для вывода графики нужно выполнить двои-ной щелчок на графическом компоненте или нажать клавишу <Enter>, когда в нем находится фокус. Можно также вывести содержимое поля программно с помощью метода LoadPicture. Например:
DBImagel.AutoDisplay:=false;
procedure TForml.Button1Сlick(Sender: TObject); begin
DBImagel.LoadPicture; end;

В процедуре при нажатии на кнопку Buttoni в графическом компоненте DBimagei выводится содержимое графического поля текущей записи.
Компонент DBimage поддерживает работу с буфером обмена Windows, позволяя копировать изображение в буфер и вставлять изображение из буфера. Для выполнения этих действий используются обычные для Windows-программ комбинации клавиш: копирование в буфер — <Ctrl>+<Insert>, удаление в буфер — <Shift>+<Delete>, вставка из буфера — <Shift>+<Insert>.
Указанные действия также могут быть выполнены программно. Метод CopyTociipboard копирует изображение в буфер обмена, метод CutToCiipboard вырезает (перемещает) изображение в буфер обмена, а метод PasteFromciipboard вставляет изображение из буфера обмена.
При использовании любого способа вставки из буфера новое изображение автоматически заменяет предыдущее содержимое компонента DBimage.
Рассмотрим в качестве примера программу для работы с фотоальбомом.
Пусть информация о фотографиях хранится в таблице Paradox, представляющей собой как бы "электронный альбом" и включающей следующие поля:
код — автоинкрементное поле;
название — символьное поле;
дата — поле даты;
изображение — графическое поле;
описание — МЕМО-поле.
Для просмотра и редактирования альбома создано приложение, форма которого показана на рис. 18.10. Содержимое альбома выводится в соответствующих компонентах. В верхней части расположены редакторы DBEdit, один из которых содержит название, а другой — дату фотографии. Снимок выводится в графическом компоненте DBimage1, а описание снимка — в многострочном редакторе DBMemo1. Для навигации по альбому используется навигатор DBNavigator1, расположенный в нижней части формы. Переключатель checkBoxi управляет масштабированием изображения по размеру компонента DBimage1. По умолчанию этот переключатель выключен, и изображение не подстраивается под размеры графического образа.
Название, дата и описание фотографии редактируются обычным способом с помощью соответствующих компонентов DBEdit и DBMemo. Для редактирования снимка имеются кнопки, позволяющие вставлять изображение из файла и сохранять его в файле, а также обмениваться изображениями через буфер.
Нажатие кнопки Открыть вызывает появление диалога OpenPictureDiaiog1 выбора файла для открытия. После выбора нужного файла содержащееся в нем изображение загружается в компонент DBimage1. Фильтр диалога настроен на выбор графических файлов типа BMP, а также типов ICO, EMF и WMF, которые при загрузке автоматически преобразуются в формат BMP.
Нажатие кнопки Сохранить открывает диалог savePictureDiaiogi выбора файла для сохранения. После выбора файла в него записывается изображение из компонента DBimagei. Фильтр диалога настроен на выбор графического файла типа BMP. Настройка фильтров обоих диалогов произведена при создании формы.
Кнопки с названиями Копировать, Вырезать и Вставить выполняют соответствующий обмен между графическим компонентом DBimagei и буфером. Кнопка Закрыть прекращает работу приложения.
Ниже приведен код модуля uAibum формы Formi приложения.
unit uAibum; interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, ExtCtrls, Db, DBTables, Grids, DBGrids, ExtDlgs, Mask;
type
TForml = class(TForm)
DataSourcel: TDataSource;
Tablel: TTable;
DBNavigatorl: TDBNavigator;
Buttonl: TButton;
OpenPictureDialogl: TOpenPictureDialog;
SavePictureDialogl: TSavePictureDialog;
Button2: TButton;
Button3: TButton;
Button4: TButton;

Button5:: TButton;
Button6: TButton;
DBMemol: TDBMemo;
DBImagel: TDBImage;
CheckBoxl: TCheckBox;
DBEditl: TDBEdit;
DBEdit2: TDBEdit;
procedure ButtonlClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CheckBoxlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
implementation {$R *.DFM}
procedure TForml. FormCreate (Sender: TObj ect) ;
begin
OpenPictureDialogl. Filter: =
Все файлы (* .bmp; * . ico; * . emf; * . wmf) I * .bmp; * . ico; * . emf; * . wmf";
SavePictureDialogl. Filter: = "* .bmp | *.bmp" ;
end;
procedure TForml.ButtonlCIick(Sender: TObject); begin
if OpenPictureDialogl.Execute then
DBImagel.Picture.LoadFromFile(OpenPictureDialogl.FileName); end;
procedure TForml.Button2Click(Sender: TObject); begin
if SavePictureDialogl.Execute then
Dn Image1.Picture.LoadFromFile(SavePictureDialogl.FileName); end;
procedure TForml.Button3Click(Sender: TObject); begin

DBImagel.CopyToClipboard; "
end;
procedure TForml.Button4Click(Sender: TObject);
begin
DBImage1.CutToClipboard;
end;
procedure TForml.Button5Click(Sender: TObject);
begin
DBImagel.PasteFromClipboard;
end;
procedure TForml.Button6Click(Sender: TObject);
begin
Forml.Close;
end;
procedure TForml.CheckBoxlClick(Sender: TObject);
begin
DBImagel.Stretch:=CheckBoxl.Checked;
end;
end.

Примерно твоя лабораторная.


 
student1000   (2007-03-14 14:18) [2]

Большое спасибо. Да пошлет Вам Бог богатого мужа, здоровых детей и вечной молодости!!!


 
Клара   (2007-03-14 14:23) [3]

Твои слова да богу в ухо!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
1-1170682073
Nicky000
2007-02-05 16:27
2007.04.01
Печать ScrollBox


2-1173007474
wolchonok29
2007-03-04 14:24
2007.04.01
Запуск приложения в сети


15-1172928103
Sergius P
2007-03-03 16:21
2007.04.01
Подсчет трафика


15-1173250174
palva
2007-03-07 09:49
2007.04.01
Кто хочет поработать в технопарке


2-1173265916
ы
2007-03-07 14:11
2007.04.01
как можно создать несколько картинок на канве





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский