📄 tpczunit2.~pas
字号:
unit TPCZUnit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB, ExtCtrls, Buttons, Menus;
type
TFormTPCZ = class(TForm)
lstTPNAME: TListBox;
DBTPCZImage: TDBImage;
DataTPCZSource: TDataSource;
ADOTPCZTable: TADOTable;
lblDQTPNAME: TLabel;
penal1: TPanel;
imageTPCZ: TImage;
Label1: TLabel;
ADOQuery1: TADOQuery;
lblTS: TLabel;
tmrJSPKTS: TTimer;
lblDJS: TLabel;
lblTPZS: TLabel;
procedure FormShow(Sender: TObject);
procedure lstTPNAMEClick(Sender: TObject);
procedure lstTPNAMEDblClick(Sender: TObject);
procedure RefreshTableClick(Sender: TObject);//刷新表
procedure tmrJSPKTSTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormTPCZ: TFormTPCZ;
tssctpname:string;//定义一个存放要删除的图片的名称的变量
i:integer=4;//定义一个倒计时清空lblts和lblDQTPNAME里的内容的变量[时间:3秒]
implementation
uses Unit1;
{$R *.dfm}
procedure TFormTPCZ.FormShow(Sender: TObject);
begin
//把数据表中的图片名称加到"lstTPNAME"列表框中
lstTPNAME.Clear;//清空列表框中的内容
//刷新数据表
RefreshTableClick(Sender);//刷新表
Form1.TPZS(Sender);//调用"把BMP图像存取到数据库中窗体上"的"显示图片总数"函数
dbtpczimage.Picture:=nil;
//------------------------------------------------------------------------------
//把image表的"name"里的内容全部在"lstTPNAME"列表中,列出来
with ADOTPCZTable do
begin
First;
while not Eof do
begin
lstTPNAME.Items.Add(FieldByName('Name').AsString);
Next;
end;
end;
//-----------------------------------------------------------------------------
end;
procedure TFormTPCZ.lstTPNAMEClick(Sender: TObject);
var
mem:TStream;
bmp:TBitmap;
begin
//选择列表框中的图片名称同时在"ImageTPCZ"图片框中显示出来
with ADOTPCZTable do
begin
First;
while not Eof do
begin
if FieldByName('Name').AsString=lstTPNAME.Items[lstTPNAME.ItemIndex] then
break;
Next;
end;
bmp:=TBitmap.Create;
mem:=CreateBlobStream(FieldByName('Data'),bmRead);//读取"data"字段中的图片
mem.Position:=0;
bmp.LoadFromStream(mem);
self.ImageTPCZ.Picture.Assign(bmp);
bmp.Free;
mem.Free;
end;
//DBTPCZImage.Picture:=imageTPCZ.Picture;//把imageTPCZ里的图片赋给DBTPCZImage
lblDQTPNAME.Caption:='当前图片:'+lstTPNAME.Items[lstTPNAME.ItemIndex];//"当前图片"显示图片的名称
tssctpname:=lstTPNAME.Items.Strings[lstTPNAME.ItemIndex];//存放要删除的图片的名称
end;
procedure TFormTPCZ.lstTPNAMEDblClick(Sender: TObject);
begin
//双击列表中的内容,则删除
with ADOTPCZTable do
begin
//FieldByName('Name').AsString:=lstTPNAME.Items[lstTPNAME.ItemIndex];
if application.MessageBox('确定要删除吗? ','SUER开发小组',mb_yesno+mb_iconquestion)=mryes then
begin
Delete;
RefreshTableClick(Sender);//刷新表
lblts.Caption:='提示:'+tssctpname+'删除成功!';
//------------------------------------------------------------------------------
//清空imageTPCZ里的内容
imageTPCZ.Picture:=nil;
//------------------------------------------------------------------------------
FormShow(Sender);//把数据表中的图片名称加到"lstTPNAME"列表框中
Form1.TPZS(Sender);//调用"把BMP图像存取到数据库中"上的显示图片总数函数
tmrJSPKTSTimer(Sender);//调用倒计时清空lblts和lblDQTPNAME里的内容函数[时间:3秒]
end
else
begin
//RefreshTableClick(Sender);//刷新表
//FormShow(Sender);//把数据表中的图片名称加到"lstTPNAME"列表框中
abort;
end;
end;
end;
procedure TFormTPCZ.RefreshTableClick(Sender: TObject);
begin
//刷新表
{图片查找窗体上的表}
ADOTPCZTable.Active:=false;
ADOTPCZTable.Active:=true;
//------------------------------------------------------------------------------
{把BMP图像存取到数据库中窗体上的表}
form1.table1.Active:=false;
form1.table1.Active:=true;
end;
procedure TFormTPCZ.tmrJSPKTSTimer(Sender: TObject);
begin
//倒计时清空lblts和lblDQTPNAME里的内容[时间:3秒]
//复原lblts和lblDQTPNAME里的内容
tmrjspkts.Enabled:=true;//开始计时
if (i=0) then
begin
lblts.Caption:='提示:';
lblDQTPNAME.Caption:='当前图片:';
lblDJS.Caption:='倒计时:';
tmrjspkts.Enabled:=false;
i:=3;//恢复[时间:3秒]
end
else
begin
i:=i-1;
lblDJS.Caption:='倒计时:在'+inttostr(i)+'秒自动清空"提示内容"!';
Form1.TPZS(Sender);//调用"把BMP图像存取到数据库中窗体上"的"显示图片总数"函数
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -