jiangyuxuan

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  235 Posts :: 4 Stories :: 28 Comments :: 21 Trackbacks

公告

置顶随笔 #

摘要: ASP.NET 2.0 Web Part编程入门(理论篇)(3)2007年04月05日 星期四 下午 03:39 第二种用户界面结构组件是WebPartZone控件,它定义了一个项区域,区域充当Web Part页上的布局管理器。区域包含并组织从Part类派生的控件(Part控件),并使用户能在水平或垂直方向进行模块化页面布局。此外,区域还为所包含的每个控件提供常见的和一致的用户界面元素(如页眉和页...阅读全文
posted @ 2007-07-08 17:57 江宇旋 阅读(239) 评论(0) 编辑

2012年3月23日 #

摘要: 在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。在编写 SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran update statement 1 ... update statement 2 ... delete statement 3 ... commit tran这样编写的SQL存在很大隐患。请看下面的例子: cre...阅读全文
posted @ 2012-03-23 01:07 江宇旋 阅读(31) 评论(0) 编辑

摘要: 示例存储过程:create procedure proc_loginusername varchar(20),password varchar(20)asdeclare @result intselect @result=count(*) from loginuser where user=@username and pass=@passwordif @result=0return 0return 1goDelphi代码:var ret:integer;...... with ADOStoredProc1 do begin Close; ProcedureName:='proc_log阅读全文
posted @ 2012-03-23 00:54 江宇旋 阅读(106) 评论(0) 编辑

2012年3月7日 #

摘要: StringGrid行列的增加和删除typeTExCell = class(TStringGrid)publicprocedure DeleteRow(ARow: Longint);procedure DeleteColumn(ACol: Longint);procedure InsertRow(ARow: LongInt);procedure InsertColumn(ACol: LongInt);end;procedure TExCell.InsertColumn(ACol: Integer);beginColCount :=ColCount +1;MoveColumn(ColCount-阅读全文
posted @ 2012-03-07 00:02 江宇旋 阅读(21) 评论(0) 编辑

2012年3月4日 #

摘要: unit U_func;interfaceuses forms,SysUtils,ComCtrls,DBGrids,DB,Dialogs,Messages,Windows,ComObj,Controls,ADODB,StdCtrls,Graphics;function ProgressBarform(max:integer):tProgressBar;function ExportToExcel(dbgrid:tdbgrid):boolean;function queryExportToExcel(queryexport:tadoquery):boolean;implementation//生阅读全文
posted @ 2012-03-04 18:49 江宇旋 阅读(36) 评论(0) 编辑

摘要: procedure TForm1.FormCreate(Sender: TObject); begin ADOQuery1.ExecuteOptions := [eoAsyncFetch];//设为异步读取 end; //ADOQuery的OnFetchProgress事件 procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus); begin ProgressBar1.Position ..阅读全文
posted @ 2012-03-04 18:01 江宇旋 阅读(14) 评论(0) 编辑

2012年2月7日 #

摘要: 动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于 DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现 windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delphi 中建立和使用DLL。一.DLL 库内存共享机制从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引用了某阅读全文
posted @ 2012-02-07 23:44 江宇旋 阅读(9) 评论(0) 编辑

2012年2月6日 #

摘要: 这里列出了本书中用到的一些技术术语,在别的地方你也能找到它们,不过我想还是把它们集中一处,以便查找。 堆(内存)堆表示程序可用的内存区,也叫动态内存区。堆内存的分配与释放次序是随机的,这就是说,如果你按次序分配三块内存,那么到时并不按分配时的次序释放内存。 堆管理器会负责所有操作,你只需简单地使用GetMem 函数请求新内存或调用constructor 建立对象, Delphi 会返回一个新的内存块(随意重用已经丢弃的内存块)。 堆是应用程序可用的三种内存区之一, 其它两种分别是全局内存区(存放全程变量) 和栈。与堆相反,全程变量内存在程序启动时就分配,然后一直保留到程序终止才释放;栈的内容请阅读全文
posted @ 2012-02-06 12:59 江宇旋 阅读(11) 评论(0) 编辑

摘要: 为了完全支持OLE,32位Delphi 增加了Variant 数据类型,本节将从宏观角度来分析这种数据类型。实际上,Variant类型对Pascal语言有普遍而深入的影响,Delphi 控件库中与OLE 无关的地方也使用到这种类型。Variant变量没有类型 一般说来,你可以用Variant 变量存储任何数据类型,对它执行各种操作和类型转换。需要注意的是:这违反了Pascal 语言的一贯原则,有悖于良好的编程习惯。variant 变量的类型检查和计算在运行期间才进行,编译器不会提示代码中的潜在错误,这些错误在进一步测试中才能发现。总之,你可以认为包含variant变量的代码是解释性代码,正如解阅读全文
posted @ 2012-02-06 12:58 江宇旋 阅读(19) 评论(0) 编辑

摘要: Delphi 应用程序中的单元,或说程序模块可谓老道精深。实际上,单元是程序模块化的基础,类是继它之后才有的。在Delphi 应用程序中,每个窗体都有一个相对应的单元。用相应的工具按钮, 或File > New Form 菜单命令,在工程中添加一个新窗体,实际上是增加了一个新单元,也就是建立了该新窗体的类。单元 虽然所有窗体都在单元中定义,但反之则不然。除窗体外,单元中还可以定义一系列能访问的例程。选择File > New菜单命令,然后在Object Repository的New 页中选择Unit 图标,随即当前工程中就会加入一个空白单元。单元代码分区存放,空白单元的代码如下:un阅读全文
posted @ 2012-02-06 12:58 江宇旋 阅读(8) 评论(0) 编辑

摘要: Delphi 利用Object Pascal 和可视控件库(VCL)对底层的Windows API 进行了完美的封装,所以很少需要使用基础Pascal 语言来建立Windows应用程序,也无需直接调用Windows API 函数。尽管如此,如果遇到特殊情况,VCL 又不支持,Delphi程序员还得直接面对Windows编程。不过只有在极其特殊的情况下,例如:基于不寻常API 调用的Delphi新控件开发, 你才需要这样做,这里我不想讨论这方面内容,我只想让大家看一下与操作系统交互的几个Delphi元素以及Delphi程序员能从中获益的Windows编程技术。Windows 句柄 Delphi从阅读全文
posted @ 2012-02-06 12:57 江宇旋 阅读(28) 评论(0) 编辑