Midas 中文单字过滤补丁

 如:like '%小%'
单字过滤

经测试两种方式 Filter属性、Locate方法 正常。

提供各种版本的补丁,欠缺的版本会尽快补上。

http://u.skygz.com/ContentPane.aspx?down=ok&filepath=skygz%2f%c6%e4%cb%fc%2fMidaslib.rar

 

测试所用代码:

Unit Main;

Interface

Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBClient, StdCtrls, Grids, DBGrids;

Type
  TForm1 = Class(TForm)
    Cmdlocate: TButton;
    TxtValue: TEdit;
    Label1: TLabel;
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    CmdFilter: TButton;
    Procedure CmdlocateClick(Sender: TObject);
    Procedure CmdFilterClick(Sender: TObject);
    Procedure FormCreate(Sender: TObject);
  Private
    { Private declarations }
  Public
    { Public declarations }
  End;

Var
  Form1: TForm1;

Implementation

{$R *.dfm}
//注释引用MidasLib,将改用Midas.dll
Uses
  MidasLib; 

Procedure TForm1.CmdlocateClick(Sender: TObject);
Begin
  ClientDataSet1.Filtered := false;
  ClientDataSet1.Locate('text1', TxtValue.Text, [loCaseInsensitive, loPartialKey]);
End;

Procedure TForm1.CmdFilterClick(Sender: TObject);
Begin
  ClientDataSet1.Filtered := false;
  ClientDataSet1.Filter := 'text1 like ''%' + TxtValue.Text + '%''';
  ClientDataSet1.Filtered := true;
End;
Procedure TForm1.FormCreate(Sender: TObject);
Const
  Datas: Array[0..5] Of String = ('中', '国', '人', '民', '银', '行');
Var
  I: Integer;
Begin

  TxtValue.Text := '国';
  With ClientDataSet1 Do
  Begin
    With FieldDefs.AddFieldDef Do
    Begin
      DataType := ftAutoInc;
      Name := 'ID';
    End;
    With FieldDefs.AddFieldDef Do
    Begin
      DataType := ftString;
      Size := 20;
      Name := 'Text1';
    End;
    CreateDataSet;
    For I := 0 To 50 Do
    Begin
      Randomize;
      Insert;
      FieldByName('Text1').AsString := Datas[Random(6)] + '中文_' + IntToStr(I + 1);
      Post;
    End;
  End;
End;

End.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值