unit_jpeg.~pas

来自「一系列DELPHI的控件如何使用的例子,例子有的比较简单,但是能详细的说明了控件」· ~PAS 代码 · 共 143 行

~PAS
143
字号
unit Unit_jpeg;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Buttons, ExtCtrls,jpeg, ComCtrls, ADODB;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    OpenDialog1: TOpenDialog;
    Image1: TImage;
    Panel2: TPanel;
    Image2: TImage;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
  private
    procedure show;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
jpg:tjpegimage;
ms:TADOblobStream;

{$R *.dfm}
procedure TForm1.show;
begin
    jpg:=tjpegimage.Create;
    ms:=TadoblobStream.Create(tblobfield(adoquery1.FieldByName('a2')),bmread);
    ms.Position:=0;
 try
    jpg.LoadFromStream(ms);
    image2.Picture.Graphic:=jpg;
 finally
    jpg.Free;
    MS.Free;
 end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  finame:string;
begin
    finame:='';
      OpenDialog1.Execute;
    finame:=OpenDialog1.filename;
    if finame='' then
       showmessage('没有选择文件,请重新选择')
    else
       Image1.Picture.LoadFromFile(finame);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
jpg:tjpegimage;
ms:TMemoryStream;
begin
    jpg:=tjpegimage.Create;
    ms:=TmemoryStream.Create;
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add('insert into PICTURE_TB(A1,A2) values(:x1,:x2)');
    TJPEGImage(image1.Picture.Graphic).SaveToStream(ms);
    adoquery2.Parameters.ParamByName('x1').Value:='20';
    adoquery2.Parameters.ParamByName('x2').LoadFromStream(ms,ftblob);
    adoquery2.ExecSQL;
    showmessage('图象已存储');
    ms.Free;
    jpg.Free;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   show;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
   adoquery1.Next;
   show;
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
  adoquery1.Last;
  show;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  adoquery1.First;
  show;
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
   adoquery1.Prior;
   show;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
   if PageControl1.TabIndex=1 then
     begin
     ADOQuery1.Close;
     ADOQuery1.Open;
     end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?