易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi中ADO异步执行方式

     当A D O开始处理数据后,应用程序必须等到A D O处理完毕之后才可以继续执行。但
是除了同步执行方式之外, A D O也提供了异步执行的方式,允许当A D O处理时,
应用程序仍然能够先继续执行。而当A D O处理数据完毕之后, A D O会以事件的方
式通知应用程序,此时应用程序可以再根据A D O执行的结果来采取相应的动作。
使用异步执行方式有许多用途,例如,如果应用程序需要处理花费大量时间的动
作,那么A D O可以选择以异步执行方式让A D O在后台执行,而让应用程序继续处
理图形用户接口或用户输入的数据。
在A D O中使用异步执行方式非常简单,只需要对A D O数据集的E x e c u t e O p t i o n s
属性值进行适当的设定即可。现在就让我们以一实际的范例应用程序来说明如何让
A D O以异步的方式来处理数据。
下载
1) 在D e l p h i集成开发环境中关闭所有的项目。
2) 建立一个新的应用程序项目,在主窗体中放入TA D O C o n n e c t i o n对象连接到
数据库。
3) 在主窗体中放入TA D O D a t a S e t组件。设定它的C o n n e c t i o n属性值为步骤2) 的
TA D O C o n n e c t i o n,并且在它的C o m m a n d Te x t属性值中使用Select * from ADOTe s t D a t a s
以取得所有的数据。再设定它的A c t i v e属性值为Tr u e以打开范例数据表。
4) 放入TDataSource组件,设定它的DataSet属性值为步骤3) 加入的TADODataSet
组件。
5) 放入T D B N a v i g a t o r和T D B G r i d组件,设定它们的D a t a S o u r c e组件为步骤4加
入的T D a t a S o u r c e组件。
6) 在主窗体中放入两个T B u t t o n组件以及一个T P r o g r e s s B a r组件,并且设定它
的相关属性值。此时主窗体如图3 - 1 2所示。
图3-12 范例应用程序的主窗体
7) 最后在主窗体中放入一个TA D O C o m m a n d组件。设定它的C o n n e c t i o n属性
值为步骤2) 的TA D O C o n n e c t i o n,并且在它的C o m m a n d Te x t属性值中使用S e l e c t
count(*) from ADOTe s t D a t a s以便从A D O Te s t D a t a s数据表中取得所有数据的笔数。
8) 在主窗体的O n A c t i v a t e事件处理程序中撰写如下的程序代码:
第3章撰写使用A D O技术的应用系统(二) 1 1 1
下载
p r o c e d u r e TForm1.FormActivate(Sender: TObject);
v a r
sRecNo : String;
b e g i n
ProgressBar1.Max := ADOCommand1.Execute.Fiel


相关文档:

Delphi 发布ActiveX控件 数字签名(转)

原作者:光明兄弟
最近我正在研究ActiveX技术。我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序。这个控件产生一个.OCX文件。现在,我需要把这个控件部署在服务器端,在用户浏览网页并选择安装这个控件的时候,用户的IE才会下载、安装并显示这个控件。
但是我的控件必须作数字签名以后,IE才会下载安装。 ......

Delphi中的数组

不论数组元素是什么类型,静态数组的局部变量总会在栈上分配。如果堆栈大小不够将会导致异常。下例暗藏着一个危险的bug
procedure stackover;
var
s:array [0..4100] of string[255];
begin
end; 
delphi默认栈最大为$100000字节,上例中的栈上分配的大侠为256*4100>$10000。测试必然会出现异常Stack overf ......

【Delphi報表開發】FastReport

今天开始研究FastReport。
以下是动态创建FASTREPORT的DEMO
var
Page: TfrxReportPage;
Band: TfrxBand;
DataBand: TfrxMasterData;
Memo: TfrxMemoView;
begin
{ clear a report }
frxReport1.Clear;
{ add a dataset to the list of ones accessible for a report }
frxReport1.DataSets.Add(frxDB ......

delphi中的DBGRid鼠标滚动事件

Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
  if Msg.message = WM_MouseWheel then
  begin
    if Msg.wParam > 0 then
     begin
       if DBGrid.Focused then
       ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号