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

📄 unit1.pas

📁 DELPHI编写的一个简单内存数据表控件
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DxMemDataSet, Grids, DBGrids, StdCtrls, DBCtrls, ExtDlgs;

type
  TForm1 = class(TForm)
    DxMemTable1: TDxMemTable;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    DBImage1: TDBImage;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure DxMemTable1CreateDataSet(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    flag: boolean;
  end;

var
  Form1: TForm1;

implementation
uses ADODb;
{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
   if flag then
     self.DxMemTable1.SaveToFile('1.txt')
   else DxMemTable1.SaveToFile('2.txt');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   if DxMemTable1.Active then
   begin
     SHowMessage('表正处于使用状态,请先关闭后在执行该操作');
     exit;
   end
   else DxMemTable1.FieldDefs.Clear;
   DxMemTable1.FieldDefs.Add('测试编号',ftinteger);
   DxMemTable1.FieldDefs.Add('名称',ftstring,20);
   DxMemTable1.FieldDefs.Add('值',ftinteger);
   DxMemTable1.FieldDefs.Add('图片',ftBlob);
   self.DBImage1.DataField := '图片';
   DxMemTable1.CreateDataSet();
end;

procedure TForm1.Button4Click(Sender: TObject);
begin

  with self.OpenPictureDialog1 do
  begin
    if Execute and (FileName <> '') then
    begin
      DxMemTable1.Edit;
      self.DBImage1.Picture.LoadFromFile(FileName);
      DxMemTable1.post;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DxMemTable1.Append;
  DxMemTable1.Fields[0].AsInteger := 0;
  DxMemTable1.Fields[1].AsString := 'asdf';
  DxMemTable1.Fields[2].Asinteger := 123;
  TBlobField(DxMemTable1.Fields[3]).LoadFromFile(application.ExeName + '\..\卡卡西.bmp');
  DxMemTable1.Post;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  flag := FileExists('1.txt');
  if flag then
    DxMemTable1.LoadFromFile('1.txt');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  if Button5.Caption = '关闭' then
  begin
    DxMemTable1.Active := false;
    Button5.Caption := '打开';
  end
  else
  begin
    DxMemTable1.Active := true;
    Button5.Caption := '关闭';
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  if DxMemTable1.RecordCount <= 0 then
    ShowMessage('没有记录')
  else DxMemTable1.Delete;
end;

procedure TForm1.DxMemTable1CreateDataSet(Sender: TObject);
begin
   Button5.Caption := '关闭';
end;

end.

⌨️ 快捷键说明

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