现在给出代码:
dfm文件,使用ado进行数据连接,其中的data source,用户,密码等请自行替换。
object Form1: TForm1
Left = 218
Top = 104
Width = 698
Height = 418
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Image1: TImage
Left = 244
Top = 12
Width = 16
Height = 16
Cursor = crHandPoint
OnClick = Image1Click
end
object DBGrid1: TDBGrid
Left = 533
Top = 0
Width = 157
Height = 391
Align = alRight
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object DBImage1: TDBImage
Left = 0
Top = 0
Width = 229
Height = 391
Align = alLeft
DataField = 'image'
DataSource = DataSource1
Stretch = True
TabOrder = 1
end
object Button2: TButton
Left = 444
Top = 312
Width = 75
Height = 25
Caption = 'add'
TabOrder = 2
OnClick = Button2Click
end
object Edit1: TEdit
Left = 312
Top = 312
Width = 121
Height = 21
TabOrder = 3
end
object Button1: TButton
Left = 448
Top = 156
Width = 75
Height = 25
Caption = 'loadinto'
TabOrder = 4
OnClick = Button1Click
end
object Button3: TButton
Left = 448
Top = 200
Width = 75
Height = 25
Caption = 'play/pause'
TabOrder = 5
OnClick = Button3Click
end
object ImageList1: TImageList
Left = 476
Top = 68
end
object ADOQuery1: TADOQuery
Active = True
Connection = ADOConnection2
CursorType = ctStatic
Parameters = <>
SQL.Strings = (
'select * from abc')
Left = 196
Top = 40
end
object ADOConnection2: TADOConnection
Connected = True
ConnectionString =
'Provider=MSDASQL.1;Password=adnilinda:**:;Persist Security Info=' +
'True;User ID=sa;Data Source=adnil'
LoginPrompt = False
Left = 36
Top = 56
end
object DataSource1: TDataSource
DataSet = ADOQuery1
Left = 296
Top = 32
end
object Timer1: TTimer
Enabled = False
Interval = 300
OnTimer = Timer1Timer
Left = 260
Top = 200
end
end
.pas文件
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls, ImgList, ExtCtrls;
type
TForm1 = class(TForm)
ImageList1: TImageList;
ADOQuery1: TADOQuery;
ADOConnection2: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBImage1: TDBImage;
Button2: TButton;
Button1: TButton;
Image1: TImage;
Timer1: TTimer;
Button3: TButton;
Edit1: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.append;
adoquery1.Edit;
ADOQuery1.FieldByName('bh').AsInteger := 1;
dbimage1.Picture.LoadFromFile(Edit1.text);
ADOQuery1.Post;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.First;
while not adoquery1.Eof do
begin
ImageList1.Add(dbimage1.Picture.Bitmap, nil);
adoquery1.Next;
end;
adoquery1.first;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
timer1.Enabled := not timer1.Enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ImageList1.GetBitmap(timer1.Tag,Image1.Picture.Bitmap);
image1.Refresh;
timer1.Tag := timer1.tag + 1;
if timer1.Tag = imagelist1.Count then timer1.Tag := 0;
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
showmessage('clicked!');
end;
end.
其中button1用来读取数据库中image信息,并缓存起来;
button3用来控制定时器,定时器则按缓存imagelist序列定时在image1上显示图形,
这里假设了图像大小是16x16,button2是我用来调试插入图形的。
100我全要了,嗬嗬!