⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clrdemoblobform.pas

📁 East make Tray Icon in delphi
💻 PAS
字号:
unit ClrDemoBlobForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  JclCLR, StdCtrls, Buttons, ComCtrls;

type
  TfrmBlobs = class(TForm)
    btnOK: TBitBtn;
    lstBlobs: TListView;
    memDump: TMemo;
    procedure lstBlobsSelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure lstBlobsData(Sender: TObject; Item: TListItem);
  private
    FStream: TJclCLRBlobStream;
    procedure ShowBlobs(const AStream: TJclCLRBlobStream);
  public
    class procedure Execute(const AStream: TJclCLRBlobStream);
  end;

var
  frmBlobs: TfrmBlobs;

implementation

uses ClrDemoAbstractFrame;

{$R *.DFM}

{ TfrmBlobs }

class procedure TfrmBlobs.Execute(const AStream: TJclCLRBlobStream);
begin
  with TfrmBlobs.Create(nil) do
  try
    ShowBlobs(AStream);
    ShowModal;
  finally
    Free;
  end;
end;

procedure TfrmBlobs.ShowBlobs(const AStream: TJclCLRBlobStream);
begin
  FStream := AStream;
  lstBlobs.Items.Count := FStream.BlobCount;
end;

procedure TfrmBlobs.lstBlobsSelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  if Selected then
  with TJclCLRBlobRecord(Item.Data) do
    TfrmAbstract.DumpBuf(Memory, Size, memDump,
      FStream.Offset + DWORD(Memory) - DWORD(FStream.Data));
end;

procedure TfrmBlobs.lstBlobsData(Sender: TObject; Item: TListItem);
begin
  Item.Caption := IntToStr(Item.Index);
  Item.Data    := FStream.Blobs[Item.Index];

  Item.SubItems.Add('$' +
    IntToHex(FStream.Blobs[Item.Index].Offset, 8));
  Item.SubItems.Add(IntToStr(FStream.Blobs[Item.Index].Size));
end;

end.

⌨️ 快捷键说明

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