H
huanghuoniu
Unregistered / Unconfirmed
GUEST, unregistred user!
楼主: unit adminpic;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, DB, ADODB;
type
TadminpicForm = class(TForm)
Memo1: TMemo;
ScrollBox1: TScrollBox;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Image1: TImage;
ADOQuery1: TADOQuery;
Label1: TLabel;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton6Click(Sender: TObject);
private
{ Private declarations }
public
i:integer;
{ Public declarations }
end;
var
adminpicForm: TadminpicForm;
implementation
uses adminbuilding,main;
{$R *.dfm}
procedure TadminpicForm.FormShow(Sender: TObject);
begin
i:=1;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from adminfloor where (校区='''+adminbuildingform.strxiao+''')and (建筑名称='''+adminbuildingform.strname+''')');
adoquery1.Open;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
procedure TadminpicForm.SpeedButton1Click(Sender: TObject);
begin
try
i:=1;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
except
on Exception do
messagebox(handle,'数据缺乏','对不起!',MB_ICONQUESTION);
end;
end;
procedure TadminpicForm.SpeedButton2Click(Sender: TObject);
begin
if i<adoquery1.RecordCount then
begin
i:=i+1;
adoquery1.Next;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
end;
procedure TadminpicForm.SpeedButton3Click(Sender: TObject);
begin
if i>1 then
begin
i:=i-1;
adoquery1.Prior;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
end;
procedure TadminpicForm.SpeedButton4Click(Sender: TObject);
begin
i:=adoquery1.RecordCount;
adoquery1.Last;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(adoquery1.RecordCount)+'层平面图';
end;
procedure TadminpicForm.SpeedButton5Click(Sender: TObject);
begin
adoquery1.Active:=false;
close;
end;
procedure TadminpicForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoquery1.Active:=false;
close;
end;
procedure TadminpicForm.SpeedButton6Click(Sender: TObject);
begin
// try
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from adminbuilding where (校区='''+adminbuildingform.strxiao+''')and (图片名称='''+adminbuildingform.strname+''')');
adoquery1.Open;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminbuildingpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
// except
// on Exception do
// messagebox(handle,'数据缺乏','对不起!',MB_ICONQUESTION);
//end;
end;
end.
问题说明:
1、窗口见附件
2、该程序在没有加 照片(speedbutton6)是运行正常可以达到预期的效果,即点即 第一层 是显示该层的jpg图片。
3、我加上 照片(speedbutton6)是想在点击照片(speedbutton6)之后显示该楼的照片。每栋楼房的图片名称在adminbuilding表的 图片名称 字段里面。
每栋楼的图片放在/data/adminbuildingpic文件夹里面。图片的命名就是 表adminbuilding图片名称 字段的名字。
现在的问题:
运行之后,如果我不点击图片按钮一切运行正常。
当我点击图片按钮之后相应的照片显示在image1里面,但是再点击 第一层 下一层 上一层 最后一层这几个按钮是提示找不到图片。
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, DB, ADODB;
type
TadminpicForm = class(TForm)
Memo1: TMemo;
ScrollBox1: TScrollBox;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Image1: TImage;
ADOQuery1: TADOQuery;
Label1: TLabel;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton6Click(Sender: TObject);
private
{ Private declarations }
public
i:integer;
{ Public declarations }
end;
var
adminpicForm: TadminpicForm;
implementation
uses adminbuilding,main;
{$R *.dfm}
procedure TadminpicForm.FormShow(Sender: TObject);
begin
i:=1;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from adminfloor where (校区='''+adminbuildingform.strxiao+''')and (建筑名称='''+adminbuildingform.strname+''')');
adoquery1.Open;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
procedure TadminpicForm.SpeedButton1Click(Sender: TObject);
begin
try
i:=1;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
except
on Exception do
messagebox(handle,'数据缺乏','对不起!',MB_ICONQUESTION);
end;
end;
procedure TadminpicForm.SpeedButton2Click(Sender: TObject);
begin
if i<adoquery1.RecordCount then
begin
i:=i+1;
adoquery1.Next;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
end;
procedure TadminpicForm.SpeedButton3Click(Sender: TObject);
begin
if i>1 then
begin
i:=i-1;
adoquery1.Prior;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(i)+'层平面图';
end;
end;
procedure TadminpicForm.SpeedButton4Click(Sender: TObject);
begin
i:=adoquery1.RecordCount;
adoquery1.Last;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
label1.Caption:=adoquery1.FieldByName('建筑名称').AsString+inttostr(adoquery1.RecordCount)+'层平面图';
end;
procedure TadminpicForm.SpeedButton5Click(Sender: TObject);
begin
adoquery1.Active:=false;
close;
end;
procedure TadminpicForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoquery1.Active:=false;
close;
end;
procedure TadminpicForm.SpeedButton6Click(Sender: TObject);
begin
// try
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from adminbuilding where (校区='''+adminbuildingform.strxiao+''')and (图片名称='''+adminbuildingform.strname+''')');
adoquery1.Open;
adoquery1.First;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'/data/adminbuildingpic/'+adoquery1.FieldByName('图片名称').AsString+'.jpg');
// except
// on Exception do
// messagebox(handle,'数据缺乏','对不起!',MB_ICONQUESTION);
//end;
end;
end.
问题说明:
1、窗口见附件
2、该程序在没有加 照片(speedbutton6)是运行正常可以达到预期的效果,即点即 第一层 是显示该层的jpg图片。
3、我加上 照片(speedbutton6)是想在点击照片(speedbutton6)之后显示该楼的照片。每栋楼房的图片名称在adminbuilding表的 图片名称 字段里面。
每栋楼的图片放在/data/adminbuildingpic文件夹里面。图片的命名就是 表adminbuilding图片名称 字段的名字。
现在的问题:
运行之后,如果我不点击图片按钮一切运行正常。
当我点击图片按钮之后相应的照片显示在image1里面,但是再点击 第一层 下一层 上一层 最后一层这几个按钮是提示找不到图片。