DELPHI关键字详解.doc
DELPHI关键字详解.doc
word版 方便打印 对Delphi关键字 详细解释,附加实例
FastReport中文详细教程
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。
如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。
关于FastReport的说明
FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。
整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。
你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。
FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。
FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。
Office2003Icons图标文件
Office2003Icons图标文件,图标文件,程序设计界面的好东西
鼠标文件(安装后 增加鼠标主题)
指针如何使用?
1.先把下载的压缩文件解压,然后复制到C:\Windows\Cursors\ 即可。要使用指针打开控制面板 - 鼠标,选择“指针”,接着将Windows默认的指针替换成你所喜欢的,完成后最好另存一下,这样可以使以后的替换更加方便。
2.看下载的指针文件是否有安装信息文件(*.inf),用右键点击此安装文件然后选择安装,安装成功后再在控制面板里面找到鼠标属性,再在指针选项下修改你刚安装的方案即可.
Delphi 程序员 代码 风格指南
1序言 3
2 Delphi工程项目 4
2.1 工程文件 4
2.1.1建立工程目录树 4
2.1.2 命名 5
2.2 Unit文件 5
2.2.1 Unit命名 5
2.2.2窗体、数据模块的命名 5
2.2.3 文件头 5
2.2.4 uses子句 6
2.2.5 interface部分 6
2.2.6 implementation部分 6
2.2.7文件尾 6
2.3一个完整的单元示例 7
3 Object Pascal 9
3.1 代码缩进 9
3.2 页边空格 10
3.3 begin…end 配对 10
3.4 括号 11
3.5 保留字和关键字 11
3.6 过程和函数 11
3.6.1 命名规则 11
Objece_Pascal_中文.chm
关于版权
本参考中所有以Original标明的内容,均原文出自Delphi 6帮助系统,版权归Borland/Inprise公司所有。
本参考中所有以译文和/或编者注标明的内容,均系编者个人观点,而不作为Borland/Inprise公司发布的内容,版权归编者所有。
本参考纯粹作为学习和研究之用,不提供任何商业用途,故请使用者切勿侵犯Borland/Inprise公司版权及编者版权。
谅解声明
如果您发现本参考侵犯了任何企业、团体、公司、个人等的版权,请您立即停止使用并及时通知编者以停止版权侵犯。
本参考纯粹编者一家之言,疏漏和错误之处难免存在,欢迎批评指正,编者将做及时更新。
注意
本参考对任何团体和个人都完全免费且无任何附加条件。
欢迎通过E-mail向本人索取最新版本(建议邮件主题为:Fetch Object Pascal Reference)。
Delphi TServerSocket和TClientSocket两个组件的基本用法
笔者在工作中遇到对局域网中各工作站与服务器之间进行Socket通信的问题。现在将本人总结出来的TServerSocket和TClientSocket两个组件的基本用法写出来,希望与您分享。
ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。
ServerSocket组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。
ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。因此,一个服务器端可以为多个客户端服务。
设计思路
delphi编译指令
A.1 使用编译设置对话框
编译器的编译指令是用于指定编译器对项目编译过程的动作和行为。可以通过[Project]->[Options]->[Complier]选项页进行设置,绝大部分的编译环境都可以通过这一对话框进行调整,他包含了对代码、语法、调试信息等的设置。
1.代码设置(Code Generation)
Optimization: 代码优化开关
Aligned record fields: 字对齐数据。这个编译指令能够在变量和类型化常量的字节对齐和字对齐之间进行切换,其作用是全局的。
VCL类结构图(包含所有类及其继承关系)
vcl详细结构图
VCL类结构图(包含所有类及其继承关系)
Delphi用SQLDMO实现带进度条的SQL Server数据库备份!
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,SQLDMO_TLB, StdCtrls, ComCtrls,comobj;
type
TForm3 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
delphi如何调用sql存储过程,并获取结果
delphi如何调用sql存储过程,并获取结果
adostoredproc1.Close;
adostoredproc1.ProcedureName:='sp_thchl';
adostoredproc1.Parameters.Clear;
adostoredproc1.Parameters.CreateParameter('out',ftInteger,pdoutput,1,1);
adostoredproc1.ExecProc;
edit1.Text :=adostoredproc1.Parameters[0].Value;
delphi操作存储过程.
dbms:ms sql server 2000
存储过程如下:
CREATE proc tstPro
@age int,
@theNum int output
as
select @theNum=count(sn) from s where sa=@age
GO
delphi中调用:
var
str:string;
Windows Sockets 规范及应用-Windows 网络编程接口
Windows Sockets 规范以U.C. Berkeley 大学BSD UNIX 中流行的Socket 接
口为范例定义了一套Micosoft Windows 下网络编程接口。它不仅包含了人们所
熟悉的Berkeley Socket 风格的库函数;也包含了一组针对Windows 的扩展库函
数,以使程序员能充分地利用Windows 消息驱动机制进行编程。
Windows Sockets 规范本意在于提供给应用程序开发者一套简单的API,并
让各家网络软件供应商共同遵守。此外,在一个特定版本Windows 的基础上,
Windows Sockets 也定义了一个二进制接口(ABI),以此来保证应用Windows
Sockets API 的应用程序能够在任何网络软件供应商的符合Windows Sockets 协
议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件
供应商能够实现的一套库函数调用和相关语义。
Delphi的原子世界
在使用DELPHI开发软件的过程中,我们就像草原上一群快乐牛羊,无忧无虑地享受着Object Pascal语言为我们带来的阳光和各种VCL控件提供的丰富的水草。抬头望望无边无际蔚蓝的天空,低头品尝大地上茂密的青草,谁会去想宇宙有多大,比分子和原子更小的东西是什么?那是哲学家的事。而哲学家此时正坐在高高的山顶上,仰望宇宙星云变换,凝视地上小虫的爬行,蓦然回头,对我们这群吃草的牛羊点头微笑。随手扯起一根小草,轻轻地含在嘴里,闭上眼睛细细品尝,不知道这根青草在哲学家的嘴里是什么味道?只是,他的脸上一直带着满意的微笑。
认识和了解DELPHI微观的原子世界,可以使我们彻底理解DELPHI的宏观应用程序结构,从而在更广阔的思想空间中开发我们的软件。这就好像,牛顿发现了宏观物体的运动,却因为搞不清物体为什么会这样运动而苦恼,相反,爱因斯坦却在基本粒子规律和宏观物体运动之间体验着相对论的快乐生活!
第一节 TObject原子
TObject是什么?
是Object Pascal语言体系结构的基本核心,也是各种VCL控件的起源。我们可以认为,TObject是构成DELPHI应用程序的原子之一,当然,他们又是由基本Pascal语法元素等更细微的粒子构成。
说TObject是DELPHI程序的原子,是因为TObject是DELPHI编译器内部支持的。所有的对象类都是从TObject派生的,即使你并未指定TObject为祖先类。TObject被定义在System单元,它是系统的一部分。在System.pas单元的开头,有这样的注释文本:
{ Predefined constants, types, procedures, }
{ and functions (such as True, Integer, or }
{ Writeln) do not have actual declarations.}
{ Instead they are built into the compiler }
{ and are treated as if they were declared }
{ at the beginning of the System unit. }
Delphi多线程教程
Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编
程的全部,我写此文的目的在于对此作一个补充。
线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。
当一个进程中用到超过一个线程时,就是所谓的“多线程”。
那么这个所谓的“一段代码”是如何定义的呢?其实就是一个函数或过程(对Delphi而言)。
如果用Windows API来创建线程的话,是通过一个叫做CreateThread的API函数来实现的,它的定义为:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
其各参数如它们的名称所说,分别是:线程属性(用于在NT下进行线程的安全属性设置,在9X下无效),堆栈大小,
起始地址,参数,创建标志(用于设置线程创建时的状态),线程ID,最后返回线程Handle。其中的起始地址就是线
程函数的入口,直至线程函数结束,线程也就结束了。
Delphi操作Excel类
使用方便,功能强大。
type
FileCheckResult = (fcrNotExistend,fcrNotXSLFile,fcrValidXSL); //文件不存在,不是XSL文件,合法的XSL文件
TOLEExcel = class(TComponent)
private
FExcelCreated: Boolean;
FVisible: Boolean;
FExcel: Variant; //Excel程序对象
FWorkBook: Variant; //Excel工作簿对象
FWorkSheet: Variant; //Excel工作簿 工作表对象
FCellFont: TFont; //单元格字体对象
FTitleFont: TFont; //
FFontChanged: Boolean;
FIgnoreFont: Boolean;
FFileName: TFileName;
//********************************************自己添加*****************************//
FCreateFromFile:Boolean; //指示是否打开已有文件
FExcelCaption:string; //用程序打开Excel的窗体标
//*********************************来自U_Report*****************************//
FRCPrePage:Integer; //每页显示的记录数
FMax:Integer; //最大的数组个数
procedure SetExcelCellFont(var Cell: Variant);
procedure SetExcelTitleFont(var Cell: Variant);
procedure GetTableColumnName(const Table: TTable; var Cell: Variant);
procedure GetQueryColumnName(const Query: TQuery; var Cell: Variant);
procedure GetFixedCols(const StringGrid: TStringGrid; var Cell: Variant);
procedure GetFixedRows(const StringGrid: TStringGrid; var Cell: Variant);
procedure GetStringGridBody(const StringGrid: TStringGrid; var Cell: Variant);
protected
procedure SetCellFont(NewFont: TFont);
procedure SetTitleFont(NewFont: TFont);
procedure SetVisible(DoShow: Boolean);
function GetCell( ARow,ACol: Integer): string;
procedure SetCell(ACol, ARow: Integer; const Value: string);
function GetDateCell(ACol, ARow: Integer): TDateTime;
procedure SetDateCell(ACol, ARow: Integer; const Value: TDateTime);
//*********************************************自己添加************************************//
procedure SetCaption(ACaption:string);//设置打开文件后,Excel主程序的窗体标题
function GetCapiton:string;//返回打开文件后,Excel主程序的窗体标题
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure C
smarty手册带目录word打印版
自己编辑的smarty手册,按章节编辑了目录,方便打印出来学习
XML快速入门
XML快速入门,非常适合XML初学者
PHP序列化 规则
内容来自网络,在此做个总结,方便大家查看
mysql存储过程教程
mysql存储过程详细教程
smarty手册中文版
该软件来自网络,版权归原作者所有,仅供大家学习交流!