文档章节

TClientDataSet[14]: 测试 FindFirst、FindNext、FindLast、FindPrior、Found

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 183
阅读 2
收藏 0

//先在窗体添加 ClientDataSet1 和两个 Button

{ 初始化测试数据 }
procedure TForm1.FormCreate(Sender: TObject);
begin
  with ClientDataSet1 do begin
    FieldDefs.Add('ID', ftInteger);
    FieldDefs.Add('Name', ftString, 6);
    FieldDefs.Add('Age', ftWord);
    CreateDataSet;
    AppendRecord([1, 'A',    11]);
    AppendRecord([2, 'AB',   22]);
    AppendRecord([3, 'ABC',  33]);
    AppendRecord([4, 'ABCD', 44]);
    AppendRecord([5, 'a',    55]);
    AppendRecord([6, 'ab',   66]);
    AppendRecord([7, 'abc',  77]);
    AppendRecord([8, 'abcd', 88]);
  end;
end;

{ FindFirst、FindNext、FindLast、FindPrior }
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientDataSet1.Filter := 'Name Like ''%c%''';
  ClientDataSet1.FilterOptions := [foCaseInsensitive];
  ClientDataSet1.Filtered := True;

  if ClientDataSet1.FindFirst then ShowMessage(ClientDataSet1['Name']); { ABC }
  if ClientDataSet1.FindNext then ShowMessage(ClientDataSet1['Name']);  { ABCD }
  if ClientDataSet1.FindLast then ShowMessage(ClientDataSet1['Name']);  { abcd }
  if ClientDataSet1.FindPrior then ShowMessage(ClientDataSet1['Name']); { abc }

  ClientDataSet1.Filtered := False;
end;

{ 遍历过滤结果 }
procedure TForm1.Button2Click(Sender: TObject);
begin
  ClientDataSet1.Filter := 'Name Like ''%c%''';
  ClientDataSet1.FilterOptions := [foCaseInsensitive];
  ClientDataSet1.Filtered := True;

  ClientDataSet1.FindFirst;
  while ClientDataSet1.Found do
  begin
    ShowMessage(ClientDataSet1['Name']); { ABC / ABCD / abc / abcd}
    ClientDataSet1.FindNext;
  end;

  ClientDataSet1.Filtered := False;
end;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2010/02/03/1662699.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Code - Windows查找指定文件

函数名称 _findfirst 头文件 io.h 函数功能 搜索与指定的文件名匹配的第一个实例,成功返回实例句柄,否则返回-1L 函数原型 long findfirst( char *filespec, struct finddata_t *fileinfo ...

NDSM
2014/06/03
0
0
文件查找(c语言 findfirst函数,findnext函数)

文件查找finddatat的使用 那么到底如何查找文件呢?我们需要一个结构体和几个大家可能不太熟悉的函数。这些函数和结构体在的头文件中,结构体为struct finddatat ,函数为findfirst、findnex...

赵西元
2012/09/05
0
0
C/C++标准库和大多数版本都有的库里,有木有搜索目录的函数?

findfirst和findnext只能搜索文件,求搜索目录的函数

刘地
2012/08/23
827
7
Algorithm: STD C++文件夹内容读取.

首先我们来看一个例子: 上面的例子:我们能够读取F盘目录下面的所有格式为mp4的文件. 其中需要注意的头文件 #include<io.h>, 以及3个函数: findfirst(const char* dir, struct finddatat* fi...

SHIHUAMarryMe
2016/06/24
54
0
c++ framework 4.5

大家好: 我现在编译了windows 64位 framework4.0 的组件,如果使用C# framework4.0的工程加载组件启动是成功的。 如果使用framework4.5加载启动失败,跟踪代码,发现底层调用C++代码时候出错...

stanley0614
2015/07/21
153
0

没有更多内容

加载失败,请刷新页面

加载更多

sed命令扩展使用操作

打印某行到某行之间的内容 假若文件test.txt的内容是: ertfff**[abcfd]123324444[rty]**fgfgf 怎么能截取 [abcfd]123324444[rty] 这一部分出来呢? 操作命令: 知道开始行和结...

野雪球
36分钟前
1
0
JVM内存笔记

Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓 冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。 Java 线程结束,原...

凌渡
41分钟前
1
0
284. Peeking Iterator

Description Tag: Design Difficulties: Medium Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the pee......

52iSilence7
44分钟前
1
0
防止快速重复点击的两种思维

防止重复执行的两种思维 场景 下单时,提交按钮,因为网络卡顿或者手快重复点击,导致重复提交订单; 微博,更新个人状态或发表评论时,快速多次点击[发送]按钮,导致相同的信息发送多次. 解决思路 ...

黄威
今天
0
0
在windows环境下使用Virtualbox虚拟Debian系统来运行Docker

标题绕口。 我之前一直使用 Virtualbox 和 homestead 来运行我的 PHP 开发环境。最近决心开始尝试 DevOps,使得开发、部署容器化,来化解人为操作失误和环境不兼容等问题造成的各种损失。就打...

zgldh
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部