亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? blobdemo.pas

?? 一個(gè)delphi下使用的壓縮組件 TCompress Component Set V8
?? PAS
字號(hào):
(* BLOBDEMO.PAS for TCompress V3.0 (only comments changed from V2.5)

   This unit provides example code for two things:
   1. On-the-fly creation of compressed blob fields
   2. Writing and reading of any kind of data (e.g. arrays, AVI, WAV etc)
      to/from a compressed blob field.

   Before running the program, you need to use the Database Desktop to create
   a table called BLOB.DB in the DBDEMOS alias which contains a 'Name' field (A10)
   and a 'Data' field (B0). For a full test, you'd also want to add routines
   to put meaningful data into the OurData array, and display it
   before/after blob reads.  We're just compressing a bunch of zeros...

*)
unit Blobdemo;

interface

uses
{$IFDEF CLR}
  System.ComponentModel,
{$ENDIF}
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, DB, DBTables,
  Compress, CompCtrl;       { <--- CompCtrl for the TCBlobField/TCBlobstream types }


type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    SaveArray: TButton;
    LoadArray: TButton;
    Compress1: TCompress;
    Table1Name: TStringField;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure SaveArrayClick(Sender: TObject);
    procedure LoadArrayClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  TestCount: Smallint; { just for making field names }

implementation

{$R *.NFM}

var  BlobDataField:TCBlobField;  { compressed field we'll set up at runtime }
     OurData: Array[1..8000] of byte; { Data to go to/from the field }

const SizeOfOurData = 8000;

{ Here, we create our compressed field BEFORE opening the table. Note that
  the field ('Data' in this case) should *not* appear in the list of fields
  you see when you double-click on the Grid or on Table1. If it is, remove it.
  If the list is blank, add whatever you need, but NOT 'Data'.            }

procedure TForm1.FormCreate(Sender: TObject);
begin
  BlobDataField := TCBlobField.Create(Self);
  BlobDataField.CompressSource := Compress1; { Our TCompress component     }
  BlobDataField.CompressionMethod := coRLE; { RLE compression, for example }
  BlobDataField.FieldName:='Data'; { or whatever you call it in the table }
  BlobDataField.Size := 0;         { The # of bytes stored WITHIN the table }
  BlobDataField.DataSet := Table1;
  try
    Table1.Open;  { Note: In Delphi 2.0+, we've edited our grid (double-click) to ensure
                  that the new field will NOT be added to the grid. This is
                  because the V2.0 grids try to detail with (and display) it as
                  a TBlobfield instead of a TCBlobfield, which causes spurious
                   "Blob not open" errors. Please adopt the same tactic if you
                   are working with custom blob fields like this in Delphi 2.
                 }
  except

(* This code here would be FINE except that for a Delphi VCL/BDE bug,
   -- telling it to create a table with a ftBlob field size zero
   (something perfectly possible in Database Desktop) results
   in a table with a ftBlob ('B') field size 1. This is a baaad
   thing and doesn't work for our purposes. So alas, we have to ask you
   to create the demo table manually. Sorry about that. It's a pain.

UPDATE April 97: This commented-out code should now work for Delphi 1, but
only by exploiting another bug which arises from setting TableType to ttDefault
instead of ttParadox. However, the GOOD news is that there is a VCL patch
available to remove the original bug -- for all Delphi versions. If you want
to know how to create a table with a 0-length Blob field in it, see
http://www.spis.co.nz/blobfix.htm

    with Table1 do
    begin
      DatabaseName := 'DBDEMOS';
      TableName := 'BLOB.DB';
      TableType := ttDefault; { if ttParadox, Delphi 1 will misbehave again }
      with FieldDefs do
      begin
        Clear;
        Add('Name', ftString, 10,True);
        Add('Data', ftBlob, 0,False);  { bzzzt -- wrong -- makes size 1, dammit! }
      end;
      IndexDefs.Clear;
      CreateTable;
      FieldDefs.Clear;
      temptable.free;
      Table1.Open; { open should work this time... but won't, due to above "spec" }
    end;
*)      { so instead, we: }
     showMessage('Please create a table called BLOB.DB in the'+#13+
                 'DBDEMOS alias, according to the specs in BLOBDEMO.PAS.'+#13+#13+
                 'THEN run this program again.');

  end;
end;



{ After all that, here's the enjoyable bits.... }

{ How to write/compress our array data to the blob }
procedure TForm1.SaveArrayClick(Sender: TObject);
var cbs: TCBlobstream;
begin
     { this is cosmetic stuff }
  Inc(TestCount);
  Table1.append; { put a new record in, what the heck (or you could just Edit) }
  Table1.FieldByName('Name').asstring := 'Test '+IntToStr(TestCount);

    { this is the IMPORTANT bit }
  cbs:= TCBlobstream.create(BlobDataField,bmWrite); { will save our data to it }
  cbs.writeBuffer(OurData,SizeOfOurData);         { standard stream method   }
  showmessage('Compressed and wrote '+IntToStr(cbs.size)+' bytes');
  cbs.free;    { done! (compression occurs just here...) }
  Table1.Post;
end;
{ Note: If the data was coming from a file or another object, you could use the
        CopyFrom method from the applicable filestream/memorystream/blobstream }


{ How to read/expand our data (of whatever nature) back into our array }
procedure TForm1.LoadArrayClick(Sender: TObject);
var cbs: TCBlobstream;
    bs: TBlobStream;
begin
  cbs:= TCBlobstream.create(BlobDataField,bmRead); { will read our data from it }
  cbs.readBuffer(OurData,sizeof(OurData));         { standard stream method   }
  showmessage('Expanded and read '+IntToStr(cbs.size)+' bytes');
  cbs.free;

  { Oh, and by the way... }
  bs := TBlobStream.Create(BlobDataField,bmread); { a handle on our RAW (compressed) data }
  showmessage('By the way, that was stored in only '+IntToStr(bs.size)+' bytes');
  bs.free;
end;

{ Cleanup code }
procedure TForm1.FormDestroy(Sender: TObject);
begin
  if Table1.Active then Table1.close;
  BlobDataField.free;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品在线观看| 精品国产一区久久| 国产精品传媒在线| 9久草视频在线视频精品| 国产精品久久久久永久免费观看 | 亚洲精品综合在线| www.亚洲色图.com| 一区二区三区精品视频在线| 欧美体内she精视频| 日韩黄色在线观看| 日韩欧美国产综合一区 | 精品国产一区二区三区av性色| 久热成人在线视频| 国产亚洲视频系列| 91蜜桃免费观看视频| 性做久久久久久免费观看| 日韩欧美一卡二卡| 成人性视频免费网站| 亚洲综合图片区| 日韩欧美国产一区二区在线播放| 国产精品一区2区| 亚洲精品乱码久久久久久| 欧美日韩成人综合天天影院| 卡一卡二国产精品| 亚洲男同1069视频| 91麻豆精品国产91久久久使用方法| 久久精品国产一区二区三 | 亚洲精品欧美激情| 日韩女优制服丝袜电影| 成人国产精品免费网站| 午夜激情综合网| 久久先锋资源网| 91激情在线视频| 国产麻豆91精品| 亚洲高清免费视频| 国产精品欧美极品| 正在播放亚洲一区| 91偷拍与自偷拍精品| 久久99精品国产麻豆婷婷| 亚洲欧美综合另类在线卡通| 日韩视频一区二区| 91国偷自产一区二区开放时间 | 久久国产福利国产秒拍| 国产精品久久免费看| 欧美一级片免费看| 91国偷自产一区二区开放时间| 激情综合色播五月| 午夜精品久久久久久不卡8050| 中文字幕 久热精品 视频在线| 欧美日韩aaaaa| 一本色道综合亚洲| 国产成人精品免费网站| 裸体一区二区三区| 午夜电影网亚洲视频| 国产精品美女久久久久久 | 欧美日韩精品欧美日韩精品一综合| 国产麻豆成人传媒免费观看| 午夜视频在线观看一区二区三区| 国产精品入口麻豆九色| 欧美精品一区二区三| 欧美丰满少妇xxxxx高潮对白| 91麻豆视频网站| 成人一区二区三区视频| 国产真实乱偷精品视频免| 日韩国产欧美三级| 亚洲va韩国va欧美va精品| 亚洲欧美日韩久久精品| 国产精品女同一区二区三区| 国产网红主播福利一区二区| 26uuu国产电影一区二区| 日韩免费看的电影| 91精品国产手机| 欧美一区二区在线播放| 欧美日本一区二区| 在线观看91av| 欧美精品久久一区| 91 com成人网| 91精选在线观看| 欧美一二区视频| 日韩一区二区三区在线| 日韩免费在线观看| 精品国产乱码久久久久久老虎 | 国产成人av影院| 国产成人精品免费网站| 成人免费高清在线观看| 欧美一级搡bbbb搡bbbb| 91麻豆精品国产91久久久资源速度| 欧美日韩成人激情| 欧美大片在线观看一区二区| 精品日韩欧美一区二区| 久久综合久久综合亚洲| 日本一区二区在线不卡| 国产精品成人一区二区三区夜夜夜| 亚洲色图欧洲色图| 亚洲韩国精品一区| 免费在线欧美视频| 丰满放荡岳乱妇91ww| 91麻豆免费视频| 在线播放/欧美激情| 日韩欧美亚洲一区二区| 久久精品视频免费观看| 亚洲品质自拍视频| 亚洲www啪成人一区二区麻豆 | 久久99精品国产麻豆婷婷| 国产一区二区不卡在线| 91在线观看免费视频| 欧美精品在线观看一区二区| 精品少妇一区二区三区视频免付费 | 国产亚洲短视频| 亚洲品质自拍视频网站| 日本成人在线电影网| 国产成人在线电影| 欧日韩精品视频| 2欧美一区二区三区在线观看视频| 国产精品人妖ts系列视频| 亚洲电影一级片| 国产福利视频一区二区三区| 色爱区综合激月婷婷| 精品国产一区二区在线观看| 亚洲欧美一区二区三区极速播放| 日韩制服丝袜av| 大尺度一区二区| 欧美日韩精品电影| 国产欧美日韩综合| 石原莉奈一区二区三区在线观看| 国产精品99久久久| 欧美日本一区二区三区四区| 久久久久久97三级| 丝袜美腿高跟呻吟高潮一区| 国产99久久精品| 欧美一级片在线看| 亚洲美女电影在线| 国产精品亚洲人在线观看| 国产精品第四页| 国产一区二区在线影院| 欧美性一二三区| 国产精品毛片久久久久久| 日韩黄色片在线观看| 色综合久久久久网| 欧美激情一区三区| 久久国产精品免费| 欧美一区二区三区啪啪| 一区二区三区在线高清| 成人一级黄色片| 久久久国产精华| 男男gaygay亚洲| 欧美日韩国产精品自在自线| 亚洲品质自拍视频| 成人福利视频在线看| 久久先锋影音av| 麻豆91精品视频| 日韩亚洲欧美一区二区三区| 亚洲自拍偷拍欧美| 91影院在线免费观看| 国产欧美日韩三级| 国产精品一区二区在线观看网站| 欧美一区二区三区公司| 天天色天天爱天天射综合| 在线视频一区二区三| 亚洲色图一区二区三区| 99久久精品久久久久久清纯| 欧美经典一区二区| 国产激情一区二区三区四区| 久久综合狠狠综合| 激情深爱一区二区| 亚洲精品在线观看视频| 九九久久精品视频| 久久综合视频网| 国产精品18久久久久久vr| 精品日韩欧美在线| 国产精品综合一区二区三区| 精品va天堂亚洲国产| 久久国产麻豆精品| 精品国产一区二区三区不卡| 激情偷乱视频一区二区三区| 欧美精品一区男女天堂| 国产精品一品二品| 国产精品久久久久久久久晋中| 成人午夜av在线| 亚洲欧洲韩国日本视频| 色婷婷一区二区三区四区| 亚洲一区在线观看免费| 欧美电影在线免费观看| 日本午夜精品视频在线观看 | 久久亚洲捆绑美女| 国产a视频精品免费观看| 国产精品麻豆欧美日韩ww| jlzzjlzz欧美大全| 亚洲国产视频直播| 日韩无一区二区| 国产91精品免费| 亚洲裸体在线观看| 91精品国产综合久久精品图片| 捆绑调教美女网站视频一区| 久久色成人在线| 一道本成人在线| 免费高清不卡av| 国产精品国产三级国产aⅴ原创| 色婷婷综合久久久久中文| 日本欧美在线看|