![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Delphi
vniceboy
good
展开
-
TClientDataSet[19]: 查找字段(fkLookup)
动态建立(其中的 School 字段是 Lookup 字段)://先在窗体上放置: DBGrid1、DataSource1、ClientDataSet1、ClientDataSet2; 其他全用代码实现:procedure TForm1.FormCreate(Sender: TObject);begin { 关联控件 } DBGrid1.DataSource :=转载 2013-01-03 21:38:04 · 316 阅读 · 0 评论 -
TClientDataSet[11]: 分组统计
设计时实现的分组统计: 运行时实现的分组统计:-------------------------------------------------------------------------------- //前期只需要添加 ClientDataSet1、DataSource1、DBGrid1; 事件只需要关联窗体的 OnCreateunit Unit1;inte转载 2013-01-03 21:45:17 · 188 阅读 · 0 评论 -
TClientDataSet[9]: 计算字段和 State
TClientDataSet 中计算字段有两种: Calculated(计算字段)、InternalCalc(内部计算字段).两者区别是: Calculated 在每次需要时都要重新计算; InternalCalc 只需要计算一次. Calculated 需要计算的时间, InternalCalc 需要存取的时间; 当然后者快.计算字段不会被保存到文件.--------------转载 2013-01-03 21:47:34 · 250 阅读 · 0 评论 -
TClientDataSet[20]: 使用 Blob 字段
Blob(Binary Large Object) 字段包括:ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,ftLargeint, ftADT, ftArray, ftReference,转载 2013-01-03 21:26:56 · 196 阅读 · 0 评论 -
TClientDataSet[12]: 查找
方法有: 1、Locate: 根据字段列表和对应的字段值查找并定位, 找到返回 True. 2、Lookup: 根据字段列表和对应的字段值查找, 返回需要的字段值. 3、SetKey、GotoKey 或 SetKey、GotoNearest: 根据索引字段的值查找, 先切换状态再根据条件定位. 4、FindKey 或 FindNearest: 根据索引字段的值查找.其中的 Go转载 2013-01-03 21:43:55 · 183 阅读 · 0 评论 -
TClientDataSet[22]: 数组字段与 ObjectView
数组字段(ftArray) 与 ADT 字段类似(设计过程一样), 定义数组字段时只需定义一个元素来说明元素类型.本例同时测试 ObjectView 为 True 和 False 时的不同效果.下面是在运行时实现的数组字段: //先在窗体上放置: DBGrid1、DataSource1、ClientDataSet1 并关联, 然后:procedure TFo转载 2013-01-03 21:33:11 · 201 阅读 · 0 评论 -
TClientDataSet[23]: 使用数据集字段(TDataSetField)
运行时的设计方法:设计时的准备工作:ClientDataSet1、DataSource1、DBGrid1 并关联, 这用于主表;ClientDataSet2、DataSource2、DBGrid2 并关联, 这将成为主表的一个字段(或叫嵌套表);还可以放个 Splitter1 来协调 DBGrid 的大小. procedure TForm1.FormCrea转载 2013-01-03 21:36:13 · 211 阅读 · 0 评论 -
Parent属性的另类用法
Parent属性是用来控制控件的显示层次的,所有的TWinControl都有Parent属性,包括TForm。如果你设置TForm的Parent的为一个Panel,在整个Form就嵌入到Panel里了。举一个应用的例子,假设你有一个配置界面,一个有很多Page的PageControl, 又假设每个Page的逻辑不太相干,如果所有代码都写在同一个单元里,读起来就很吃力。可以利用Form的Pa转载 2012-11-17 13:02:46 · 140 阅读 · 0 评论 -
TBalloonHint气泡提示的用法(How to use TBalloonHint)
XE中提供了一个非常简单实用的气泡提示组件TBalloonHint,但怎么个用法似乎没有详细的说明,下面给大家一段演示代码//代码段1, 加载系统默认图标 FImageList := TImageList.Create(AOwner); FImageList.Height := 24; FImageList.Width := 24; FIma转载 2012-11-17 13:04:09 · 313 阅读 · 0 评论 -
Application.Title在Win7下失效了?
Delphi XE会默认使用Mainform的Caption作为Application的title,就是你在任务栏上看到的标题。实际上这是为兼容Vista设计的,如果你要显示自定义的标题,需要修改项目文件, begin Application.Initialize; Application.MainFormOnTaskbar := False; //otherwise wi转载 2012-11-17 13:09:01 · 149 阅读 · 0 评论 -
Delphi XE Refactor重构功能简单说明
如果要我只选一个升级到XE的原因,我会选重构。对用惯D7的朋友,这确实是一个非常实用的新功能,但如果你用过Visual Studio,就会发现微软早就实现了类似的功能。让人困惑的是,XE的重构子菜单有一长串,很多菜单很难直观地想像出其功能。别担心,这些都是给建模用的(比如把某个类方法转移到另外一个类),你常用到的只有几个,仔细的你会发现其实就是设了快捷键的那几个。1. Rena转载 2012-11-17 13:07:00 · 162 阅读 · 0 评论 -
Delphi中Frame的使用方法
Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了。实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到。那么Frame到底是什么呢?简单来说:1. Frame是组件容器,类似Panel2. Frame在使用上类似Components组件,但并没有构造器转载 2012-11-17 13:08:10 · 837 阅读 · 0 评论 -
现在, Delphi 的多线程已经非常易用了!
转自:http://www.cnblogs.com/del先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体):{自定义方法: 在窗体上绘制...}procedure MyMethod;var i: Integer;begin for i := 0 to 500000 do begin Form1.Canvas.Lock;转载 2012-11-17 13:34:09 · 318 阅读 · 0 评论 -
一组 Delphi 快捷键
下面的快捷键大部分在Delphi 5.0的菜单中找不到,其中有一些还是非常有用的。 Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动。 Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动。 Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏。 Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏。 Ctr原创 2012-11-17 16:53:26 · 161 阅读 · 0 评论 -
TClientDataSet[5]: 读取数据
本例用到:-------------------------------------------------------------------------------- TClientDataSet.Fields[]; { 字段集合; 它比 FieldList 有更多功能, 如可获取嵌套字段 }TClientDataSet.FieldList[];转载 2013-01-03 21:53:09 · 217 阅读 · 0 评论