当前位置:文档之家› delphi中一些常用控件的属性

delphi中一些常用控件的属性

delphi中一些常用控件的属性
delphi中一些常用控件的属性

目录

TForm Class (1)

TPanel组件 (4)

TToolBar Class (5)

TToolButton Class (7)

TTimer Class (7)

TADOConnection Class (8)

TADOQuery Class (9)

TADODataSet Class (9)

TDBGrid Class (10)

TADOStoredProc Class (11)

TButton Class (11)

TBitBtn Class (12)

TComboBox Class (12)

TStaticText Class (13)

TLabel Class (13)

TEdit Class (13)

TGroupBox Class (13)

TRadioGroup Class (13)

TListbox Class (14)

TTreeView Class (14)

TDataModule Class (15)

VC++使用串口 (15)

I. Open (16)

II. Configuration (17)

III. Read (18)

IV. Write (19)

V. Close (20)

Conclusion ............................................................................................................................................. 错误!未定义书签。

License ................................................................................................................................................... 错误!未定义书签。

TForm Class

TForm代表一个标准的应用程序窗口。

在设计阶段,当你在窗体设计器内创建窗体时,他们作为窗体类的子节点被执行。窗体能代表应用程序的主窗口,或者对话框,或MDI的children。一个窗体能包含其它对象,如TButton, TCheckBox和TComboBox对象等。

ArrangeIcons:安排最小化MDI子窗体的图标;

Cascade:排列MDI子窗体,使他们重叠;

Next:激活在窗体队列中的下一个子窗体;

Previous:激活在窗体队列中的前一个MDI子窗体;

Title:排列MDI子窗体,使他们都是一样的大小。

Action:指定与控件有关的活动;

ActiveControl:指定以窗体为焦点的控件;

Align:控件如何停靠在容器(父控件)中;

AlphaBlend:指定窗体是否透明;

AlphaBlendValue:指定一个透明窗体的半透明度;

Anchors:指定控件如何固定到其父控件上;

AutoScroll:如果窗口不足以显示它内部的所有控件时,滚动条是否自动显示在滚动窗口控件中;

AutoSize:指定控件是否自动调节其大小去容纳自身内容;

BiDiMode:指定控件的双向风格;

BorderIcons:指定显示在窗体标题栏的图标;

BorderStyle:指定窗体边框的外表和行为;

BorderWidth:指定控件边框的宽度;

Caption:指定用户辨别控件的文本字符串;

ClientHeight:指定窗体客户区域的高度(像素);

ClientWidth:指定窗体客户区域的宽度(像素);

Clore:指定控件的背景色;

Constraints:指定控件的尺寸约束。

Ctl3D:指定控件是拥有3D还是2D外观。

DefaultMonitor:指定窗体显示所用的显示器;

DockSite:控件是否可以是拖拽操作的目标;

DoubleBuffered:决定控件影像是被直接呈现到窗口还是首先被描绘做内存位图;(描绘道内存可防止窗口闪烁,但耗费内存。)

DragKind:指定控件是被正常拖拽还是停靠;

Dragmode:决定控件怎样启动拖放或拖靠;

Enabled:控件是否响应鼠标、键盘和定时器事件;

Font:控制控件上显示的文本的属性;

FormStyle:决定窗体风格;

GlassFrame:这是一个窗体架构,窗体类的一个成员;

Height:指定控件的垂直尺寸(像素);

HelpFile:指定窗体的帮助文件名;

HorzScrollBar:滚动窗体控件的水平滚动条;

Icon:当窗体最小化时显示的图标;

KeyPreview:指定窗体是否在活动控件之前接收键盘事件;

Menu:指定窗体德尔主菜单;

ObjectmenuItem:代表一个对OLE对象的选择响应的OLE菜单项;

OldCreateOrder:指定OnCreate事件和OnDestroy事件发生的时间;

Padding:指定控件的衬垫;

ParentBiDiMode:指定控件是否使用父控件的BiDiMode属性;

ParentFont:决定在哪里找到控件的字体信息;

PixelsPerInch:描述在设计窗体的系统中字体的比例;

PopupMenu:确定与控件有关的弹出菜单;

PopupMode:控制最高层窗体如何表现得如同window的WS_POPUP的风格;

PopupParent:为窗体栈设置一个用户不能改变的顺序;

Position:描绘窗体的尺寸和位置;

PrintScale:描绘打印窗体的比例;

Scaled:指定窗体是否依PixelPerInch属性的值确定大小;

ScreenSnap:指定窗体是否对齐到屏幕的边缘;

ShowHint:决定当鼠标在控件上短暂停留时,控件是否显示帮助提示;

SnapBuffer:指定屏幕对齐的间隔;

TransparentColor:指定窗体的颜色是否透明显示;

TransparentColorValue:当TransparentColor为true时,指示窗体颜色的半透明值;

UseDockManager:指示在拖靠操作中是否使用停靠管理器;

VertScrollBar:描绘滚动窗体控件的垂直滚动条;

Visible:指示窗体是否可见;

Width:指示控件或窗体的水平尺寸(像素);

WindowMenu:为MDI父窗体指定window菜单;

WindowState:指定窗体在屏幕上的显示方式;

OnActivate:当窗体变成活动窗体时发生;

OnAlignInsertBefore:当一个拥有自定义对齐的对象被对齐时发生;

OnAlignPosition:当一个拥有自定义对齐的对象被对齐时发生;

OnCanResize:当试图调整控件尺寸时发生;

OnClick:当用户鼠标点击控件时发生;

OnClose:当窗体关闭时发生;

OnCloseQuery:当试图关闭窗体时发生;

OnConstrainedResize:使调整大小约束合适;

OnContexPopup:当用户右键点击控件或其它引起弹出菜单(如:使用键盘)时发生;

OnCreate:当窗体被创建时发生;

OnDblClick:当用户在控件上双击鼠标按钮时发生;

OnDeactivate:当窗体失去焦点是发生;

OnDestroy:当窗体被销毁时发生;

OnDockDrop:当另一个控件停驻到本控件时发生;

OnDockOver:当另一控件被拖出本控件时发生;

OnDragDrop:当用户拖下一个被拖动的对象时发生;

OnDragOver:当用户把一个对象拖上控件时发生;

OnEndDock:当用户拖动一个对象结束,要么停靠对象要么取消拖动;

OnGetSiteInfo:返回控件的停靠信息;

OnHelp:当窗体接收到一个帮助请求时发生;

OnHide:当窗体被隐藏(即Visible属性被设置成false)时发生;

OnKeyDown:当控件拥有焦点,用户按下任意键时发生;

OnKeyPress:当一个键盘键被按时发生;

OnKeyUp:当用户释放一个被按下的键盘键时发生;

OnMouseActivate:当控件的父窗体非活动,鼠标指针在控件上,用户按下鼠标按钮时发生;

OnMouseDown当鼠标指针在控件上用户按下鼠标按钮时发生;

OnMouseEnter:当用户把鼠标移动到控件上时发生;

OnMouseLeave:当用户把鼠标移出控件时发生;

OnMouseMove:当鼠标指针在控件上用户移动鼠标指针时发生;

OnMouseUp:当用户释放一个按在组件上的鼠标按钮时发生;

OnMouseWheel:当鼠标滚轮滚动时发生;

OnMouseWheelDown:当鼠标滚轮向下滚动时发生;

OnMouseWheelUp:当鼠标滚轮向上滚动时发生;

OnPaint:当窗体被重新绘制时发生;

OnResize:当控件被调整大小后立即发生;

OnShortCut:当用户按下一个键盘键时发生(在OnKeyDown事件前);

OnShow:当窗体被显示时发生(还需要窗体的Visible被设置为true);

OnStartDock:当用户开始拖拽一个DragKind属性是dkDock的控件时发生;

OnUnDock:当应用程序试图去移除一个被拖入有窗口的控件中的控件时发生;

TLoginDialog Class

TLoginDialog是一个在应用程序里提供安全登录的对话框。

function LoginDialog(const ADatabaseName: string; var AUserName: string; var APassword: string): Boolean;

通常,一个TLoginDialog对象是和LoginDialogEx或RemoteLoginDialog函数一起被创建,并用于提供对一个当地数据库表的安全访问。然而TLoginDialog也能被用做其它登录对话框的基对象。

调用 LoginDialogEx提出标准登录窗口提示用户输入有效的用户名和密码。ADatabaseName指定被访问的数据库。NameReadOnly指定用户是否可以改变从对话框中获得的用户名。

function LoginDialogEx(const ADatabaseName: string; var AUserName: string; var APassword: string; NameReadOnly: Boolean): Boolean;

此对话框返回用户名和密码作为AUserName和APassword的值。

如果用户取消对话框,那么LoginDialogEx返回false。如果LoginDialogEx返回true,那么应用程序就能提示用提供的用户名和密码连接数据库服务器。

提示:当在C++中创建跨平台的应用程序,添加QDBLogDlg.pas unit(而不是DBLogDlg)到工程中,如果你想要默认的数据库登录对话框在运行时显示。如果你的C++应用程序中包含一个DBGrid组件,QDBLogDlg就不需要被包含进去了。

用TPasswordDialog允许用户为基于BDE的应用程序指定登录密码(登录通过TSession对象表现出来)。密码被用于应用程序打开一个请求输入密码的Paradox数据表。

TPasswordDialog对象通常使用PasswordDialog函数创建。然而TPasswordDialog也能被用作另一类密码对话窗口的基对象。

function PasswordDialog(const ASession: IDBSession): Boolean;

显示一个对话窗口,提示用户输入局部受密码保护的表对应的密码。

TPanel组件

使用TPanel把一个面板(panel)放到窗体上。面板拥有提供控件边框倾斜度的属性和方法帮助管理子控件嵌入面板中。你也可以用面板把控件聚集在一起,就好像使用一个group box,但是拥有倾斜边框而不是group box轮廓。在单窗体中,panel专门用于控件组。如果你打算在其它的窗体内使用相同的分组,你可能想去使用frame代替。在写使用drag-and-dock的应用程序时,没有边框的panel是有用的去做停靠站。

尽管你能使用panel实现状态条和工具条,请不要忘记你也可以使用TToolBar、TStatusBar类完成相同功能。

arr:array[0..3]of TPanel;

Align:决定控件在容器(父控件)中的对齐方式;

Alignment:panel中标题(Caption)的对齐方式;

Anchors:指定控件怎样被固定到它的父窗体上;

AutoSize:指定控件是否自动调整自身大小以容纳它的内容;

BevelEdges:指定控件的哪条边框是倾斜的;

BevelInner:决定panel内边框风格;

BevelKind:指定控件的倾斜风格;

BevelOuter:决定panel外边框的倾斜风格;

BevelWidth:决定panel内外边框的倾斜宽度(像素);

BiDiMode:指定控件的双向模式;

BorderStyle:决定panel控件边框线的风格;

BorderWidth:指定内外边框的距离(像素);

Caption:用户识别控件所用的文本字符串;

Color:指定控件的背景色;

Constraints:指定控件的尺寸约束条件;

Ctl3D:决定控件拥有三维还是二维视图;

DockSite:指定控件能否执行拖拽操作;

DoubleBuffered:决定控件的影像是被直接描绘到窗口还是首先被绘制成内存位图;

DragCursor:当控件被拖动时,被用于代表鼠标指针的图片;

DragKind:指定控件是被正常拖动还是停靠;

DragMode:决定控件怎样启动拖入拖出操作;

Enabled:控制控件是否响应鼠标、键盘和定时器事件;

Font:控制写入控件的文本的属性;

FullRepaint:决定当panel尺寸改变时怎样重绘自身;

Locked:决定被用于工具条的panel是否被OLE服务器提供的工具条替换。

Padding:指定控件的衬垫;

ParentBackground:决定控件是否使用父主题的背景;

ParentBiDiMode:同上;

ParentColor:同上;

ParentCtl3D:同上;

ParentDooubleBuffered:同上;

ParentFont:同上;

ParentShowHint:同上;

PopupMenu:识别与控件有关的弹出菜单;

ShowCaption:TPanel类的成员;

ShowHint:当鼠标短暂停留在控件上时是否显示控件的帮助提示;

TabOrder:在parent’s Tab order中,指示控件在位置;

TabStop:决定用户是否能Tab to控件;

UseDockManmager:指定在拖拽操作中是否使用停靠管理器;

VerticalAlignment:设置标题的垂直位置;

Visible:决定组件是否显示在屏幕上;

OnAlignInsertBefore:当一个具有客户点校整的对象被调整时发生;

OnAlignPosition:当一个具有客户点校整的对象被定位时发生;

OnCanResize:当试图调整控件大小时发生;

OnClick:当用户点击控件时发生;

OnConstrainedResize:调整大小限制;

OnContextPopup:当用户右击控件或者引发弹出菜单(如使用键盘)时发生;

OnDblClick:当鼠标指针在控件上,用户双击鼠标左键时发生;

OnDockDrop:当另一个控件停靠在本控件上时发生;

TToolBar Class

TToolBar管理工具按钮和其它控件,把它们排成行并且让它们自动适应它们的大小和位置。

TToolBar=class(TToolWindow);

TToolBar是工具按钮(TToolButton)的容器。它提供一个简单的办法去排列和管理虚拟控件。

在一个工具条内的所有工具按钮都保持统一的宽度和高度。

其它控件能放置到工具条上。这些固定在不可见工具按钮上的控件保持一个统一的高度。

在工具条上,当控件放不下时,这些控件就会自动环绕并且开辟新行以容纳控件。

Flat属性允许透过工具条显示背景并且把突出边框给工具按钮。

一般来讲,工具按钮响应应用程序菜单项,并提供用户对应用程序命令更直接的访问。

Public Properties:

ButtonCount:给出工具条中按钮的数量;

Buttons:在工具条中列出工具按钮;

Canvas:指定工具条的皮肤;

CustomizeKeyName:在用户使用工具条自定义对话框改变它之前,指定registry key(工具条将其现有按钮配置保存的位置);

CustomizeValueName:指定registry value;

RowCount:指示工具条的行数;

Published Properties:

Align:决定控件怎样和它所在的容器对齐;

AllowTextButtons:决定仅有文本组成的工具按钮是否能被工具条替代;

Anchors:指定控件怎样固定到其父控件中;

AutoSize:指示工具条的高度是否自动改变以容乃它包含的控件;

BorderWidth:指定工具条的边框宽度;

ButtonHeight:指定工具条中控件的高度;

ButtonWidth:指定在工具条中的工具按钮的宽度;

Caption:指定一个用户识别控件的文本字符串;

Color:指定控件的背景色;

Constraints:指定控件的尺寸约束;

Ctl3D:决定控件是否拥有3D视图;

Customizable:指定在运行时用户是否能定制用户界面工具条;

DisabledImages:列出可以显示不可用工具按钮的图片;

DockSite:指定控件是否能作为拖动和停靠操作的目标;

DoubleBuffered:Determines whether the control's image is rendered directly to the window or painted to an in-memory bitmap first.

DragCursor:当控件被拖动时鼠标指针的形状;

DranKind:指定控件是被正常拖动还是停靠;

DragMode:Determines how the control initiates drag-and-drop or drag-and-dock operations. DrawingStyle:存储风格类型;

EdgeBorders:决定工具条的那一边有边界;

EdgeInner:决定工具条内部边缘的边框风格;

EdgeOuter:决定工具条外部边缘的边框风格;

Enabled:控制控件是否响应鼠标、键盘和定时器事件;

Flat:使工具条半透明并且消除工具按钮边框;

Font:控制控件上书写的文本的属性;

GradientDirection:指定倾斜方向是水平还是垂直;

GradientDrawingOptions:存储已选定的绘画选项;

GradientEndColor:斜坡的结束色;

GradientStartColor:斜坡的开始色;

Height:指定控件的垂直尺寸;

HideClippedButtons:指定通过邻近工具条掩盖按钮操作;

HotImages:列出当鼠标指向工具按钮时在工具按钮上显示的图片;

HotTrackColor:在倾斜风格中最新的跟踪色;

Images:列出工具按钮上显示的图片;

Indent:指定工具条左边的页边空白;

List:在工具按钮的右边显示主题,左边显示图片;

Menu:工具条关联的菜单项;

ParentColor:决定控件在哪里寻找它的颜色信息;

PopupMenu:认出和空间有关的弹出菜单;

ShowCaption:决定是否在工具按钮上显示文本主题;

ShowHint:决定当鼠标指针短暂停留在控件上时,控件是否显示帮助提示;

TabOrder:指示在父背的tab顺序里控件的位置;

TabStop:决定用户是否可以使用tab键使控件获得焦点;

Transparent:指定工具条是否透明;

Visible:决定组建是否显示在屏幕上;

Wrapable:自动调整工具条上的组件包;

OnAdvandedCustomDraw:发生在绘制工具条背景期间的离散阶段;OnAdvancedCustomDrawButton:发生在绘制工具条按钮期间的离散阶段;

OnClick:当用户点击控件时发生;

OnContextPopup:当用户右键点击控件或其它引发弹出菜单(如使用键盘)时发生;OnCustomDraw:当工具条必须被绘制时发生;

OnCustomDrawButton:当在工具条上的一个按钮必须被绘制时发生;

OnCustomizeAdded:当用户向工具条添加一个按钮时发生;

OnCustomizeCanDelete:当用户试图删除工具条上的一个按钮时发生;

OnCustomizeCanInsert:当用户试图向工具条添加一个按钮时发生;

OnCustomized:当用户结束更改工具条时发生;

OnCustomizeDelete:当用户从工具条上删除一个按钮时发生;

OncustomizeNewButton:当用户试图向工具条添加一个新按钮时发生;

OnCustomizeReset:当用户取消工具条的用户化时发生;

OnCustomizing:当用户显示工具条定制对话框为了改变工具条时发生;

OnDbClick:当鼠标指针在控件上,用户双击鼠标左键时发生;

OnDockDrop、OnDockOver、OnDragDrop、OnDragOver、OnEndDock、OnEndDrag

OnEnter:当一个控件接收到输入焦点时发生;

OnExit:当输入焦点从一个控件移到另一个控件时发生;

OnGetSiteInfo:返回控件的停靠信息;

OnMouseActivate:当鼠标指针在控件上,控件的父窗体非活动而用户按下一个鼠标按钮时发生;OnMouseDown:当鼠标指针在控件上,而用户又按下一个鼠标按钮时发生;

OnMouseEnter:当用户把鼠标指针移到一个控件上时发生;

OnMouseLeave:当用户把鼠标指针移出控件时发生;

OnMouseMove:当鼠标指针在控件上,用户移动鼠标指针时发生;

OnMouseUp:当用户释放按在组件上的鼠标指针时发生;

OnResize:控件尺寸改变后立即发生;

OnStartDock:DragKind属性为dkDock,当用户开始拖动一个控件时发生;

OnStartDrag:当用户开始拖动一个控件或包含有鼠标保持按下状态在控件上的对象时发生;

OnUnDock:当应用程序试图移出一个已停靠在窗口控件上的控件时发生;

TToolButton Class

TToolButton是工具条对象上的一个按钮控件。

TToolButton = class(TGraphicControl);

使用TToolButtoon实施工具条上的按钮。在工具条上,其它控件(包括TButton和TSpeedButton)能被替代掉时,TToolButton使用特殊的工具条特征简化按钮布局,提供诸如弹出边框和透明度等的选项;

在设计阶段在工具条上放置工具按钮,选择工具条->右键->New Button。

Public Properties

Index:指定工具按钮的索引;

Published Properties

Action:指派与控件有关的行为;

AllowAllUp:指定是否在同一组中的所有工具按钮可以同时不被选中;

AutoSize:指定是否工具按钮自动调整大小以容纳它的文本和图片;

Caption:指定按钮主题;

Down:指定是否按钮被选择(down)还是未被选择(up);

DragCursor:当控件被拖动时,指示代表鼠标指针的图片;

DragKind:Specifies whether the control is being dragged normally or for docking.

DragMode:Determines how the control initiates drag-and-drop or drag-and-dock operations. DropdownMenu:识别一个与工具按钮有关的弹出菜单;

Enabled:控制控件是否响应鼠标、键盘和定时器事件;

Grouped:聚集一些相邻的工具条按钮;

Height:指定控件的垂直尺寸(像素);

ImageIndex:决定哪张图片显示在工具按钮上;

Indeterminate:指定工具按钮既不被选择也不未被选择;

Marked:指定按钮是否被标记;

MenuItem:指定响应按钮的菜单项;

ParentShowHint:决定当控件的帮助提示应该显示时,控件到那找到这个提示;

PopupMenu:指定与控件有关的弹出菜单;

ShowHint:决定当鼠标短暂停留在控件上时,控件是否显示帮助提示;

Style:决定工具按钮的风格;

Visible:决定组建是否显示在屏幕上;

Width:指定窗体控件的水平尺寸(像素);

Wrap:Forces a new row after the tool button.

TTimer Class

TTimer被用于简化调用Windows API定时器函数SetTimer和KillTimer,简化处理WM_TIMER消息。在应用程序中一个TTimer组件对应一个定时器。

定时器通过它的OnTimer事件执行。TTimer有一个Interval属性,它决定了OnTimer事件发生的频率。Interval和Windows API的SetTimer函数的参数相对应。

注意:全系统所能拥有的定时器的数量限制和系统有关。

TADOConnection Class

TADOConnection压缩了ADO连接对象。使用TADOConnection连接到ADO数据存储。通过一个单独TADOConnection组件提供的连接能被多个ADO命令和数据集组件通过它们的连接属性共享。

TADOConnection = class(TCustomConnection, IUnknown, ConnectionEventsVT);

TADOConnection允许你控制连接到数据存储的属性和状况。使用TADOConnection的属性去控制这些诸如记录锁计划(乐观锁或非乐观锁)、光标类型、光标定位、隔离级别和连接超时等属性。方法提供了实施业务和获得关于组件连接到的数据库的元数据。

Public Properties

CommandCount:指示和连接有关的命令组件的数量;

Commands:列出连接组件的所有活动命令;

ConnectionObject:提供直接访问ADO连接对象;

DataSets:为一个连接组件提供活动的数据集的索引数组;

Errors:Errors是错误集的一个补充;

InTransaction::指示业务是否正在进展中;

Properties:TADOConnection类的一个成员;

State:指示ADO连接现在的状态;

Version:指示使用的ADO的版本;

Published Properties

Attributes:指定自动操作的交易行为;

CommandTimeout:指定试图执行一个命令所需要的时间;

Connected:指定连接是否活动的;

ConnectionString:指定对数据存储的连接信息;

ConnectionTimeOut:指定尝试连接所需要的时间;

ConnectOptions:指定连接是同步还是异步;

CursorLocation:指定连接的光标时客户端的还是服务器端的;

DefaultDatabase:指定ADO连接使用的默认数据库;

IsolationLevel:指定交易的隔离级别;

KeepConnection:指定在没有数据集处于打开状态时,应用程序是否仍然保持对数据库的连接;

LoginPrompt:指定在打开一个连接之前登录对话框是否立即显示;

Mode:指示允许使用的连接;

Provider:指定ADO连接的提供者;

Published Events

AfterConnect:创建一个连接后发生;

AfterDisconnect:关闭一个连接后发生;

BeforeConnect:创建一个连接前立即发生;

BeforeDisconnect:连接关闭前立即发生;

OnBeginTransComplete:开始一个交易后发生;

OnCommitTransComplete:提交一个交易后发生;

OnConnectComplete:开始一个连接后发生;

OnDisconnect:终止一个连接后发生;

OnExecuteComplete:执行完一个命令后发生;

OnInfoMessage:当从数据存储连接接收到信息消息时发生;

OnLogin:当打开通向服务器的通讯通道时发生;

OnRollbackTransComplete:回滚交易后发生;

OnWillConnect:请求开始连接后发生;

OnWillExecute:数据库服务器发送命令执行信号后发生;

Public Methods

BeginTrans:在相关的数据库上开始一个新的交易;

Cancel:终止对数据存储的连接企图;

CommitTrans:提交一个打开的交易;

Execute:对Execute方法重载的概述;

GetFieldNames:同上;

GetProcedureNames:同上;

GetTableNames同上;

Open:开始一个对数据库的连接;

OpenScheme:从连接提供者检索纲要信息;

RollbackTrans:回滚一个活动的交易;

TADOQuery Class

TADOQuery = class(TCustomADODataSet);

使用TADOQuery访问一个或更多在使用SQL语句数据存储中的表。

通过使用SQL语句,从数据存储的表中接收数据。在数据存储中,使用像INSERT、DELETE、UPDATE、ALTER TABLE和CREATE TABLE这样的语句在数据表和其它元数据对象上执行操作。执行存储过程。

Public Properties

RowsAffected:返回最后一次执行查询影响的行数;

Published Properties

CommandTimeout:指定试图执行一个命令所需要的时间;

DataSource:指定数据源组件,从而提取和在查询SQL语句中使用的参数相同的域值;

EnableBCD:指定采用浮点法还是BCD法对待数据;

ParamCheck:指定如果在运行时SQL语句改变了,数据集组件的参数列表是否也跟着改变;

Parameters:SQL语句的参数集;

Prepared:指定命令是否在执行前已准备好;

SQL:包含ADO查询所要执行的SQL文本;

Public Methods

ExecSQL:执行ADO查询组件的SQL语句;

TADODataSet Class

TADODataSet代表从数据存储接收到的一个数据集;

TADODataSet = class(TCustomADODataSet);

TADODataSet是最一般的ADO数据集组件。TADODataSet接收从ADO数据存储中的一个或多个表中返回的结果集。接收的内容既可以直接来自某个表也可以通过SQL语句来自一个或多个表。在用TADODataSet接收一个数据集前,应将它连接至数据存储。通过TADODataSet的ConnectionString属性或使用在Connection属性中已指定的TADOConnection 组件。

使用TADODataSet组件的CommandText属性接收数据集,指定一个表名或一个SELECT语句。TADODataSet不适合数据操作语言(像DELETE INSERT UPDATE等没有返回集)的SQL语句。对于这些SQL语句应使用像TADOCommmand或TADOQuery 等组件。

AfterCancel:应用程序完成对活动记录的更改后发生;

AfterClose:应用程序关闭一个数据集后发生;

AfterDelete:应用程序删除一条记录后发生;

AfterEdit:应用程序开始编辑一条记录后发生;

AfterInsert:应用程序插入一条新记录后发生;

AfterOpen:应用程序打开数据集以后但没发生数据访问以前发生;

AfterPost:应用程序把活动记录写入数据库或改变日志和返回浏览状态后发生;

AfterScroll:应用程序从一条记录滚动到另一条记录后发生;

BeforeCancel:应用程序执行取消对活动记录的改变的请求前发生;

BeforeClose:数据集关闭前立即发生;

BeforeDelete:应用程序试图删除活动记录前发生;

BeforeEdit:应用程序进入对活动记录的编辑模式前发生;

BeforeInsert:应用程序进入插入模式前发生;

BeforeOpen:应用程序执行一个打开数据集的请求前发生;

BeforePost:应用程序放弃对数据库或改变日志的活动记录的改变前发生;

BeforeScroll:应用程序从一条记录滚动到另一条记录前发生;

OnCalsFields:当应用程序重新计算已计算的数据域时发生;

OnDeleteError:当应用程序试图删除一条记录并且引起了一个例外时发生;

OnEditError:当应用程序试图修改或插入一条记录并且引起了一个例外时发生;

OnNewRecord:当应用程序插入或追加一条新数据集记录时发生;

OnPostError:当应用程序试图去修改或插入一条记录并且引起了一个例外时发生;

TDBGrid Class

TDBGrid显示和操作来自一个表格内的数据集内的记录。

TDBGrid = class(TCustomDBGrid);

把一个TDBGrid对象放到窗体上去显示和编辑来自数据库的表中或查询的记录。应用程序能使用这个表格去insert、delete或编辑在数据库中的数据,或者简单的显示数据。

在运行时,用户能使用数据库的TDBNavigator去移动表格中的数据,并且去插入、删除和编辑这些数据。在数据表格中做的编辑并不被提交给潜在的数据集直到用户移动到另一条记录或关闭应用程序。

TDBGrid拥有从TCustomDBGrid继承来的一般行为。TDBGrid发布了一些从TCustomDBGrid继承的属性但是并没介绍任何新的行为。

Public Properties

Canvas:指定为控件绘制皮肤的TCanvas对象;

SelectedRows:为在数据集中的所有记录指定一个书签集,类似于表格中的选择集。

Published Properties

Align:决定控件在它的父控件中如何对齐;

Anchors:指定控件如何固定到其父控件中;

BiDiMode:指定控件的双向模式;

BorderStyle:决定在表格四周是否绘制单线边框;

Color:指定控件的背景色;

Columns:描述显示属性和与列绑定的字段;

Constraints:指定控件的尺寸约束;

Ctl3D:决定控件有三维或二维视图;

DataSource:获得到数据集的连接,以便数据感知控件找到数据源;

DefaultDrawing:指示数据感知表格是否自动绘制;

Enabled:控制是否响应鼠标、键盘和定时器事件;

FixedColor:指定表格中固定行和列的背景色;

Font:控制控件上的文本的属性;

ImeMode:决定输入方法编辑者行为;

ImeName:向用户指定输入者把键盘输入转变为亚洲语言字符;

Options:指定数据感知控件的多种显示和行为属性;

PopupMenu:指定和空间有关的弹出菜单;

ReadOnly:指定使用的表格是否只供显示,或者是否能使用表格编辑数据;

ShowHint:决定当鼠标指针短暂停留在控件上时,控件是否显示帮助提示;

TabOrder:指示控件在其父控件的Tab顺序中的位置;

TabStop:决定用户是否能使用Tab使控件获得焦点;

TitleFont:描述画表格列标题的字体;

Visible:决定组件是否显示在屏幕上;

Published Events

OnCellClick:当用户释放表格单元格中的鼠标时发生;

OnColEnter:当焦点移动到表格中的一个新的单元格中时发生;

OnColExit:当单元格失去焦点前立即发生;

OnColumnMoved:当用户用鼠标移动一列时发生;

OnDblClick:当鼠标指针在控件上,用户双击鼠标左键时发生;

OnDragDrop:当用户放弃对对象的拖动时发生;

OnDrapOver:当用户把一个对象拖动到一个控件上时发生;

OnDrawColumnCell:当表格需要绘制一个单元格时发生;

OnDrawDataCell:如果Columns的State属性是csDefault,表格需要绘制一个单元格时发生;OnEditButtonClick:当用户按下一个表格列中的省略按钮时发生;

OnEnter:当控件接收到输入焦点时发生;

OnExit:当输入焦点从一个控件移动到另一个控件时发生;

OnKeyDown:当控件拥有焦点,一个用户按下任意键盘键时发生;

OnKeyPress:当一个键被按下时发生;

OnKeyUp:当用户释放一个已被按下的键时发生;

OnMouseActivate:当父窗体处于非活动哦能够状态,鼠标指针在控件上,用户按下鼠标按钮时发生;OnMouseDown:当鼠标指针在控件上,用户按下一个鼠标键时发生;

OnMouseEnter:当用户把鼠标移入一个控件时发生;

OnMouseLeave:当用户把鼠标移出一个控件时发生;

OnMouseMove:当用户在控件上移动鼠标指针时发生;

OnMouseUp:当用户释放已按在组件上的鼠标指针时发生;

OnTitleClick:当用户释放在某列头的鼠标时发生。

TADOStoredProc Class

Published Properties

CommandTimeout:指定试图执行命令所用的时间;

DataSource:代表给数据集提供值的数据源;

EnableBCD:指定数值字段值是使用浮点数表示还是BCD码表示;

Parameters:包含一个SQL语句的参数的集合;

Prepared:指定命令在执行前是否准备好;

ProcedureName:指示被TADOStoredProc使用的存储过程;

Public Methods

ExecProc:执行在服务器上的存储过程;

TButton Class

TButton = class(TCustomButton);

使用TButton把一个标准的按钮放到窗体上。在一个对话框设置窗体中,TButton引进几个属性去控制它的行为。用户选择按钮控件看是行动。

使用TBitBtn显示一个代替标签的位图。使用TSpeedButton显示进度。

提示:因为TButton主题总是在中心的,改变BiDi的对齐方式对其没有影响。

CommandLinkHint:在按钮主题下面作为对连接命令的文本提示;

Default:决定当Enter键被按下时,是否执行按钮的OnClick事件;

DisabledImageIndex:无效按钮状态的图片索引号;

ElevationRequired:把防火墙图标放在按钮上,指示改善访问权限;

HotImageIndex:热键状态的图片索引;

ImageAlignment:在按钮上图片的对齐方式;

ImageIndex:通常按钮状态的图片索引;

ImageMargins:在按钮上的图片的边缘;

Images:按钮的图片列表;

ModalResult:决定按钮是否关闭以及怎样关闭它(modal)的父窗体;

PressImageIndex:按钮处于按下状态时的图片索引;

SelectedImageIndex:按钮被选中时的图片索引;

WordWrap:指定指定是否按钮文本自动调整大小以适应控件的宽度;

TBitBtn Class

TBitBtn = class(TCustomButton);

位图按钮和按钮控件展示相同的行为。使用它们从窗体和对话框中开始行为。

位图按钮实施在按钮上指定位图图片和他们的显示和放置的属性。你可以从预定义位图按钮格式中或使用你自己定制的位图。虽然按钮只能和一个位图结合,位图(glyph属性)可以被细分为四个尺寸相等的部分。这些都基于按钮的up、down、disable和clicked状态显示。

TBitBtn的Kind属性提供经常使用的按钮,如OK、Cancel、Help等。这些预定义的按钮类型有相应的生动的图片和默认的行为,所以你能轻易的将他们添加到你的应用程序中甚至无需任何代码。

其它按钮种类相应用户点击的推荐方法是从事件列表中选择一个事件作为Action属性的值。通过设置Action属性,你使按钮作为了事件委托人,并且当用户点击按钮时,事件操作改变按钮的属性和响应。

当用户点击按钮时,如果你不使用对指定种类按钮或事件内置的响应,那么你能通过写OnClick事件指定响应。Glyph:指定显示在位图按钮上的位图;

Layout:指定位图按钮的种类;

Margin:指定图片边缘与按钮边缘之间的像素大小;

ModalResult:决定按钮是否和怎样关闭它的父窗体;

NumGlyphs:指示在Glyph属性中被生动的指定的图片的数量;

Spacing:决定在位图和进度条上哪里显示图片和文本;

TComboBox Class

TComboBox把一个编辑框和一个滚动列表整合。

TComboBox = class(TCustomComboBox);

在TComboBox中,按钮的宽度和Windows使用的滚动条的宽度相等。这个宽度依赖于用户选择的配色方案(通过桌面右键,选择属性,选择外观)。在Windows XP上,用户可以通过点击高级按钮和选择滚动条项明确的改变滚动条的宽度。如果你调整了组合框的大小以至于所有的文本可见,那么当用户选用不同德配色方案时可以发现文本变模糊了。一个解决方法是当开发应用程序时设置滚动条宽度。大多颜色配置使用一个大概21像素的宽度的滚动条。AutoCloseUp:指定当用户选择一个项目时,下拉列表是否自动关闭;

AutoComplete:当你键入字符时,自动匹配列表项;

AutoCompleteDelay:指定在一个键按下和试图自动匹配字段之间的延迟;

AutoDropDown:指定下拉列表是否自动打开以相应用户键;

BevelEdges:指定指定控件的那条边有斜面;

CharCase:决定组合框中文本的大小写;

Item:提供的在组合框列表位置要访问的列表项;

MaxLength:指定用户可以键入组合框编辑位置的最大字符数量;

Sorted:决定组合框列表位置是否按字母顺序排列;

Text:包含一个与控件有关的文本字符串。

OnChange:当用户改变现实在编辑区域的文本时发生;

OnClick:当用户点击控件时发生;

OnCloseUp:当当下拉列表由于用户的某些行为而关闭时发生;

OnContextPopup:当用户右击控件或引发弹出菜单(如:使用键盘)时发生;

OnDblClick:当鼠标指针在控件上用户双击鼠标左键时发生;

OnDrawItem:当一个在用户自定义组合框中的项目需要显示时发生;

OnMeasureItem:当在一个csOwnerDrawVariable组合框中的项目需要显示时发生;

OnSelect:当用户在下拉列表中选择一个字符串时发生;

TStaticText Class

TStaticText是一个窗口化的控件,在一个窗体上显示文本。

TStaticText = class(TCustomStaticText);

TStaticText组件函数像TLabel,除了TStaticText起源于TWinControl,因此有一个窗口句柄。当组件的加速键必须属于一个窗口化的控件(如在一个ActiveX属性上)时使用TStaticText代替TLabel。

TLabel Class

TLabel = class(TCustomLabel);

使用TLabel添加用户不能在窗体上编辑的文本。这个文本能被用于标记另一个控件,并且当用户键入快捷键时,对那个控件设置焦点。

因为TLabel不是从TWinControl继承,它没有自己的窗口,并且不能接收键盘的输入。向窗体添加一个能响应键盘输入并且可以显示文本的对象是TStaticText。

向窗体添加一个可以显示文本的对象并且用户可以滚动或编辑,就使用TEdit。

EllipsisPosition:指定省略(并不适合于已分配的矩形)怎样被放置在文本中;

FocusControl:指派一个与label相关的窗口化控件;

GlowSize:

ShowAccelChar:决定‘&’在标签文本中如何显示。

TEdit Class

TEdit = class(TCustomEdit);

使用TEdit对象把一个标准的Windows编辑控件放置到窗体上。编辑控件被用于接收用户键入的文本。编辑控件也可以向用户显示文本。

当仅向用户显示文本时,选择一个编辑控件允许用户选择文本和把文本复制到剪贴板上。如果不需要编辑控件的选择功能,就选择用标签对象。

TEdit引入了TCustomEdit的一般行为。TEdit发布了一些继承自TCustomEdit的属性,但是并没有引入任何新的行为。对于特殊的编辑控件,使用从TCustomEdit或其子类继承的其它类。

AutoSelect:决定当控件获得焦点时,是否编辑控件中的所有文本都自动被选中;

CharCase:决定在编辑控件中的文本的大小写;

HideSelection:决定当焦点转移到另一个控件时文本被选择的指示是否保留;

MaxLength:指定用户可以键入编辑控件的字符的最大数量;

NumbersOnly:仅允许数字被键入文本编辑控件中。

OnChange:当编辑控件的文本可能已经改变时发生;

OnContextPopup:当用户右击控件或执行其它引发弹出菜单的操作。

TGroupBox Class

TGroupBox = class(TCustomGroupBox);

TGroupBox组件代表一个标准的窗口编组框,用于把控件上相关的控件分组。当另一个控制组件被放置到一个分组框,这分组框就变成此控件的父组件。

TRadioGroup Class

TRadioGroup = class(TCustomRadioGroup);

一个TRadioGroup对象时一个特殊的编组框,它仅包含单选按钮。被直接放置在同一控制组件上的单选按钮属于一组。当用户选择一个单选按钮时,所有其它在同一族中的单选按钮变得未被选中。因此,在同一窗体中的两个单选按钮只有在它们被放置在单独的容器(如:分组框)中时才能被同时选中。

要向TRadiaGroup添加单选按钮,就在object Inspector中编辑Items属性。在Items中的每个字符串作为单选按钮的主题,在分组框中代表一个单选按钮。ItemIndex属性的值决定哪一个单选按钮目前处于被选中状态。

通过设置Columns属性,单选按钮可以单列或多列显示。

Note:设置单选组的BiDiMode为bdRightToLeft自动翻转单选按钮,FlipChildren方法将失去作用。

Columns:指定在单选组中列的数量;

ItemIndex:指示在分组框中的那个单选按钮目前处于选中状态;

Items:列出在单选组中的单选按钮;

TListbox Class

TListBox = class(TCustomListBox);

使用TListBox显示一个用户可以选择、添加或删除的项的列表。TListBox时Windows列表框控件的封装。对于特殊的列表框,使用其它继承自TCustomListBox或其子类的类。

TListBox实施继承自TCustomListBox的行为。TListBox发布了一些继承自TCustomListBox的属性,但是并没有引入任何新的行为。

AutoComplete:决定用户是否能通过在列表中键入字符使列表中的项获得焦点;

AutocompleteDelay:指定一个键按下和自动完成字段获得焦点之间的间隔;

ExtendedSelect:使用Shift和CTRL键使列表项实现多选;

IntegralHeight:决定列表框是否显示部分项。

ItemHeight:指定在一个自己绘制的列表框中列表项的高度(像素);

Items:包含显示在列表框中的字符串;

MultiSelect:指定用户是否能选择多于一个的列表项;

ScrollWidth:指定列表框水平滚动的宽度(像素);

Sorted:指定在列表框中的项是否按字母顺序排列;

TabWidth:指定在列表框中Tabs的尺寸。

OnData:当一个虚拟列表框需要提供一个项的文字时发生;

OnDataFind:当一个虚拟列表框需要认出已经给定文字的项的索引时发生;

OnDataObject:当一个虚拟列表框需要提供和某一项有关的对象时发生。

TTreeView Class

TTreeView代表一个显示项的阶层列表的窗口,就像文档的头、索引的入口或者在硬盘上的文件和路径。

TTreeView = class(TCustomTreeView);

使用TTreeView向窗体添加一个扩展的和简化的缩略图。在树形视图控件中的每个节点都有一个标签和可选的位图图片组成。每个节点拥有一系列有关的子节点。通过在一个节点上点击,用户能展开或缩回有关子节点列表。AutoExpand:指定树视图的节点是否依选择自动展开或收缩;

ChangeDelay:指定一个当一个节点被选择时到当OnChange事件发生时之间的间隔;

HideSelection决定当焦点转移到另一个控件时,一个被选择的节点是否仍然显示被选择;

HotTrack:指定当鼠标通过列表项时,列表项是否高亮显示;

Images:决定哪个图片和树形视图有关;

Indent:指定列表的子节点被展开时的缩进量(像素);

Items:列出显示在树形视图控件内的单独节点;

Property Items:TTreeNodes;

TTreeNodes = class(TPersistent);

在树形控件中单独的节点时TTreeNode对象。这些单独的节点可以通过使用Items树形和item的索引来访问。例如:访问树形可噢噢你关键的第二个项:

MyTreeNode:=TreeView1.Items[1];

MultiSelect:决定用户是否可以一次性选择多于一个的树形节点;

MultiSelectStyle:决定多个被选的节点如何工作;

ReadOnly:决定用户是否可以编辑节点标签;

RightClickSelect:决定决定Selected属性是否返回鼠标右键选择的节点;

RowSelect:指定被选择项是否整行都高亮显示;

ShowButtons:指定是否在每个父节点项的左边显示‘+’或‘-’按钮;

ShowLines:指定是否显示连接子节点和相应父节点的连线;

ShowRoot:决定线连得高阶层节点是否显示;

SortType:决定在树形视图中的节点是否和怎样自动排序;

StateImages:决定哪一个图片被用做状态图片;

ToolTips:指定树形视图中的项是否有工具提示。

通过使用treeview1.Selected.Text来判断哪个节点被选中了。

OnAddition:当新节点被添加时发生;

OnAdvancedCustomDraw:在树形视图控件绘制期间的个别阶段发生;

OnAdvancedCustomDrawItem:在绘制树形控件节点期间的个别阶段发生;

OnChange:无论何时选择已经从一个节点变为另一个节点时发生;

OnChanging:当选择即将从一个节点变为另一个节点时发生;

OnCollapsed:一个节点已被倒塌后发生;

Oncollapsing:一个节点即将倒塌时发生;

OnCompare:当树形视图节点的排序过程中,两个节点必须比较时发生;

OncreateNodeClass:当树形视图的一个节点即将被创建时发生;

OnCustomDraw:绘制树形视图控件以前立即发生;

OnCustomDrawItem:绘制树形视图节点前立即发生;

OnDeletion:当树形视图中一个节点被删除时发生;

OnEdited:当用户编辑一个节点的文本属性后发生;

OnEditing:当用户开始编辑节点的文本属性时发生;

OnExpanding当一个节点即将被展开时发生;

OnGetImageIndex:当树形视图找到一个节点的图片索引时发生;

OnGetSelectedIndex:当树形视图找到被选择的节点的索引时发生;

TDataModule Class

TDataModule = class(TComponent);

在应用程序中,使用TDataModule对象提供非可视组件的集中处理位置。尤其是如TSQLDataSet、TSQLConnection等数据访问组件。数据模板并未被限制于数据访问组件,它们也能包含其它非可视组件,如TTimer、TOpenDialog、TImageList等。

在设计阶段,TDataModule对象提供一个可视的容器,开发者可以放置非可视组件,设置它们的属性,为他们编写事件处理程序。在设计阶段创建一个数据模板,选择File|New Data Module。

在数据模板的单元文件中,开发者也可以放置任何应用程序使用的业务规则。

为了使数据模板在应用程序的其它单元中可用,选择那个单元,选择File|Use Unit添加数据模板到uses语句里。OnCreate:当应用程序举例说明一个数据模板时发生;

Ondestroy:当数据模板即将被销毁时发生;

VC++使用串口

The purpose of this article is to demonstrate the use of Win32 functions for serial port communication in Visual C++. A C++ class CSyncSerialComm has been developed to implement the following serial port communication operations:

?Open

?Configuration

?Read

?Write

?Close

A background in Visual C++ programming is sufficient to grasp the technical details of this article. Access to MSDN is required for looking at the definition of functions, structures etc. used in this article. The article takes a look at only non-overlapped (synchronous) operations supported by Win32. My next article will show implementation of serial port communication using overlapped (asynchronous) structures.

I. Open

Before starting any communication on a serial port, we must first open a connection. This is achieved by using CreateFile function in Win32. (Those of you familiar with File I/O must be aware of this function.) The following code is used to open a serial port connection in non-overlapped mode.

Collapse | Copy Code

m_hSerialComm = CreateFile(m_pszPortName,

GENERIC_READ | GENERIC_WRITE,

0,

NULL,

OPEN_EXISITING,

0,

NULL);

if (m_hSerialComm == INVALID_HANDLE_VALUE)

//Handle Error Condition

The CreateFile function takes in seven parameters. (Please take a brief moment to look at this function in MSDN.)

?The first parameter specifies the port name. In our case, this is usually COM, COM2, COM3 or COM4.

?The second parameter must be GENERIC_READ | GENERIC_WRITE to support both read and write access.

?The third parameter must always be 0 for serial port communication because unlike files, serial port access cannot be shared.

?The fourth parameter is used to set security attributes. If no security attribute needs to be specified, just use NULL.

?The fifth parameter must always be set to OPEN_EXISTING.

?The sixth parameter is used to specify flags and attributes (either 0 or FILE_ATTRIBUTE_NORMAL can be used).

?The last parameter must always be NULL as we only support non-overlapped communication.

The HANDLE m_hSerialComm that is returned by the CreateFile function can now be used for performing operations like Configure, Read and Write.

II. Configuration

After opening connection to a serial port, the next step is usually to configure the serial port connect settings like Baud Rate, Parity Checking, Byte Size, Error Character, EOF Character etc. Win32 provides a DCB struct that encapsulates these settings (refer to MSDN for DCB struct definition). Configuration of the serial port connection settings is performed in the following three steps:

1.First, we have to access the present settings of the serial port using the GetCommState function. The

function takes in two parameters:

o The first parameter is the HANDLE we received from the call to the CreateFile function.

o The second parameter is an output parameter, which returns the DCB structure containing the present settings.

2.Next, using the DCB structure that we obtained from the previous step, we can modify the necessary

settings according to the application needs.

3.Finally, we update the changes by using the SetCommState method.

The following code is a sample shown explaining the use of these functions. (Note: A number of the fields in the DCB struct are not used in the example. A more sophisticated application must allow the client to configure these settings.)

Collapse | Copy Code

DCB dcbConfig;

if(GetCommState(m_hSerialComm, &dcbConfig))

{

dcbConfig.BaudRate = dwBaudRate;

dcbConfig.ByteSize = 8;

dcbConfig.Parity = NOPARITY;

dcbConfig.StopBits = ONESTOPBIT;

dcbConfig.fBinary = TRUE;

dcbConfig.fParity = TRUE;

}

else

//Handle Error Condition

if(!SetCommState(m_hSerialComm, &dcbConfig))

//Handle Error Condition

Another important part of configuration of serial port connection settings is setting timeouts. Again, Win32 provides a COMMTIMEOUTS struct for setting Read and Write Timeouts. We are also provided with two functions GetCommTimeouts and SetCommTimeouts to access, modify, and update the timeout settings. The following code can be used to set the serial port timeouts:

Collapse | Copy Code

COMMTIMEOUTS commTimeout;

if(GetCommTimeouts(m_hSerialComm, &commTimeout))

{

commTimeout.ReadIntervalTimeout = 1000 * dwReadTimeOutIntervalInSec;

commTimeout.ReadTotalTimeoutConstant = 1000 * dwReadTimeOutConstantInSec;

commTimeout.ReadTotalTimeoutMultiplier = 1000 * dwReadTimeOutMultiplier;

commTimeout.WriteTotalTimeoutConstant = 1000 * dwWriteTimeOutInSec;

commTimeout.WriteTotalTimeoutMultiplier = 1000 * dwWriteTimeOutMultiplier;

}

else

//Handle Error Condition

if(!SetCommTimeouts(m_hSerialComm, &commTimeout))

//Handle Error Condition

III. Read

There are many different implementations for reading from a Serial Port Connection. In the CSyncSerialComm class that is provided with this article, serial communication events are used in the implementation of the Read operation. There are three important sets in this implementation.

1.First, we setup a Read Event using the SetCommMask function. (Note: This function can also be used

to set many other different types of serial communication events.) This event is fired when a character is read and buffered internally by Windows Operating System. The SetCommMask function takes in two parameters:

o The first parameter is the HANDLE we received from the call to the CreateFile function.

o The second parameter is used to specify the event type. To specify a Read Event, we use EV_RXCHAR flag.

2.After calling the SetCommMask function, we call the WaitCommEvent function to wait for the event to

occur. This function takes in three parameters:

o The first parameter is the HANDLE we received from the call to the CreateFile function.

o The second parameter is an output parameter, which reports the event type that was fired.

o The third parameter is a pointer to an OVERLAPPED structure. Since, our implementation is for Non-Overlapped communication, it must be set to NULL.

3.Once this event is fired, we then use the ReadFile function to retrieve the bytes that were buffered

internally. The ReadFile function takes in five parameters:

o The first parameter is the HANDLE we received from the call to the CreateFile function.

o The second parameter is a buffer that would receive the bytes if the ReadFile function returns successfully.

o The third parameter specifies the size of our buffer we passed in as the second parameter.

o The fourth parameter is an output parameter that will notify the user about the number of bytes that were read.

o The last parameter is always NULL for our purpose since we do not deal with non-overlapped mode.

In our example, we read one byte at a time and store it in a temporary buffer. This continues until the case when ReadFile function returns successfully and the fourth parameter has a value of 0. This indicates that the internal buffer used by Windows OS is empty and so we stopping reading. The following code shows the implementation of this technique:

Collapse | Copy Code

std::stringbuf sb;

DWORD dwEventMask;

if(!SetCommMask(m_hSerialComm, EV_RXCHAR))

//Handle Error Condition

if(WaitCommEvent(m_hSerialComm, &dwEventMask, NULL))

{

char szBuf;

DWORD dwIncommingReadSize;

do

{

if(ReadFile(m_hSerialComm, &szBuf, 1, &dwIncommingReadSize, NULL) != 0)

{

if(dwIncommingReadSize >0)

{

dwSize += dwIncommingReadSize;

sb.sputn(&szBuf, dwIncommingReadSize);

}

}

else

//Handle Error Condition

} while(dwIncommingReadSize >0);

}

else

//Handle Error Condition

IV. Write

Write operation is easier to implement than Read. It involves using just one function, WriteFile. It takes in five parameters similar to ReadFile function. The second parameter in WriteFile specifies the buffer to be written to the serial port. The following example shows implementation of Write using WriteFile. It writes one byte at a time until all the bytes in our buffer are written:

Collapse | Copy Code

unsigned long dwNumberOfBytesSent = 0;

while(dwNumberOfBytesSent < dwSize /*size of the buffer pszBuf*/)

{

unsigned long dwNumberOfBytesWritten;

if(WriteFile(m_hSerialComm, &pszBuf[dwNumberOfBytesSent], 1,

&dwNumberOfBytesWritten, NULL) != 0)

{

if(dwNumberOfBytesWritten >0)

++dwNumberOfBytesSent;

else

//Handle Error Condition

}

else

//Handle Error Condition

}

V. Close

After we finish all our communication with the serial port, we have to close the connection. This is achieved by using the CloseHandle function and passing in the serial port HANDLE we obtained from the CreateFile function call. Failure to do this results in hard to find handle leaks. The follow code snippet explains the use of this function:

Collapse | Copy Code

if(m_hSerialComm != INVALID_HANDLE_VALUE)

{

CloseHandle(m_hSerialComm);

m_hSerialComm = INVALID_HANDLE_VALUE;

}

Delphi-ADOQuery查询、插入、删除、修改(转)

procedure TForm1.Button1Click(Sender: TObject);

begin

ADOQuery.Close;

ADOQuery.SQL.Clear;

ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');

ADOQuery.Open;

//插入记录

procedure TForm1.Button2Click(Sender: TObject);

begin

ADOQuery.Close;

ADOQuery.SQL.Clear;

ADOQuery.SQL.Text:='insert into YourTABLE(字段1,字段2) values(:字段1,:字段2)';

// ADOQuery.SQL.Add('insert into YourTABLE values(:字段1)');

ADOQuery.Parameters.ParamByName('字段1').Value:=trim(Edit1.Text);

ADOQuery.Parameters.ParamByName('字段2').Value:=trim(Edit2.Text);

ADOQuery.ExecSQL;

end;

//删除记录

procedure TForm1.Button3Click(Sender: TObject);

begin

ADOQuery.Close;

ADOQuery.SQL.Clear;

ADOQuery.SQL.Text:='Delete from YourTABLE where 字段3=:字段3';

//这里没有添加where的条件判断,实际使用时,注意添加判断

// ADOQuery.SQL.Add('Delete from NEW_TABLE where 字段3=:字段3');

Delphi函数清单

[标准函数和过程] 首部 procedure Abort;$[SysUtils 功能引起放弃的意外处理。 说明不显示任何错误信息。 首部 function Abs(N: ): ;$[System 功能返回参数N的绝对值。 说明函数结果与参数有相同类型,参数可以是整型也可以是浮点型。 ## Abs(-12) = 12;Abs(-12.03) = 12.03 首部 procedure AddExitProc(Proc: TProcedure);$[SysUtils 功能将旧版本某一过程添加到当前版本运行的库的结束过程表中。 说明只能向下兼容,不能用在当前使用版本的 首部 function Addr(X): Pointer;$[System 功能返回指定对象的内存地址。 说明地址运算符 @ 可以产生与Addr相同的结果。 首部 procedure AddTerminateProc(TermProc: TTerminateProc);$[SysUtils 功能将一过程添加到运行时库的终止过程表中。 说明 Delphi 在程序结束时将终止该程序的全部进程,可以终止的进程都放在终止过程表中,程序通过结束终止过程表所有的进程来实现终止全部进程的目的。 首部 function AdjustLineBreaks(const S: string): string;$[SysUtils 功能将给定字符串的行分隔符调整为Cr/Lf序列。 说明 首部 function AllocMem(Size: Cardinal): Pointer;$[SysUtils 功能在堆栈上分配给定大小为 Size字节的块,即在内存里开辟Size 大小的空间。 说明 Cardinal 0..4294967295 32位无符号整数 首部 function AnsiCompareFileName(const S1, S2: string): Integer;$[SysUtils 功能比较两个文件名的大小。不区分大小写。 说明条件返回值 S1 > S2 | > 0 S1 < S2 | < 0 S1 = S2 | = 0 首部 function AnsiCompareStr(const S1, S2: string): Integer;$[SysUtils 功能比较两个字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiCompareText(const S1, S2: string): Integer;$[SysUtils 功能返回两个字符串是否相同的状态。不区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiExtractQuotedStr(var Src: PChar; Quote: Char):string;$[SysUtils 功能将引用字串转换成结束引语返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLastChar(const S: string): PChar;$[SysUtils 功能取参数S的最后一个字符,并转换成以null结束的字符串指针返回。 说明 ##AnsiLastChar(‘Sysoft’) = {‘t\0’}; 首部 function AnsiLowerCase(const S: string): string;$[SysUtils 功能将字符串S转换为小写返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLowerCaseFileName(const S: string): string;$[SysUtils 功能将文件名S转换成小写返回 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiPos(const Substr, S: string): Integer; $[SysUtils 功能返回子串Substr出现在主串S中的第一个位置。 说明 首部 function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils 功能返回引用字串的译文 说明 首部 function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils 功能比较两个指针字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。

delphi数学模块函数、过程大全

function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;

Delphi函数大全

Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考 例子:= IsValidIdent; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToStr(Value: Integer): string; overload; $[ 首部function IntToStr(Value: Int64): string; overload; $[ 功能返回整数Value转换成字符串 说明Format('%d', [Value]) 参考function 例子:= IntToStr; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[ 首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[ 功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充 参考function 例子:= IntToHex, ; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToInt(const S: string): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时将引起异常 参考procedure 例子:= StrToInt; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToIntDef(const S: string; Default: Integer): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时则返回默认值Default 参考procedure 例子:= StrToIntDef, 0); ━━━━━━━━━━━━━━━━━━━━━ 首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[ 功能返回字符串S转换成整数V alue是否成功 说明字符串非整数表达时返回False并且Value将输出为0 参考procedure 例子 ..);打开失败则返回负数 参考function

(DELPHI)API函数大全

(DELPHI)API函数大全 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件

delphi常用函数大全

delphi常用函数大全(转) Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写) AnsiCompareText函数比较字符串(不区分大小写) AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程 BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环 Copy函数返回一字符串的子串 Cos函数余弦函数 Ctl3D属性是否具有3D效果 Cursor属性鼠标指针移入后的形状 Date函数返回当前的日期 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串 DateToStr函数将日期格式转换为字符串

Delphi字符串处理函数

【字符串函数大全】 首部function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas 功能返回两个字符串是否相似 说明ANSI(American National Standards Institute)美国国家标准协会;不区分大小写参考function StrUtils.SoundexProc; var StrUtils.AnsiResemblesProc 例子CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiContainsText(const AText, ASubText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否包含子串ASubText 说明不区分大小写 参考function StrUtils.AnsiUppercase; function StrUtils.AnsiPos 例子CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiStartsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText开头 说明不区分大小写 参考function https://www.doczj.com/doc/cf8610658.html,pareString 例子CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiEndsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText结尾 说明不区分大小写 参考function https://www.doczj.com/doc/cf8610658.html,pareString 例子CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiReplaceText(const AText, AFromText, AToText: string): string; $[StrUtils.pas 功能返回字符串AText中用子串AFromText替换成子串AToText的结果 说明不区分大小写 参考function SysUtils.StringReplace; type SysUtils.TReplaceFlags 例子Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);

Delphi函数大全 (2)

Delphi函数大全 function Int(X:Extended):Extended;//取整 function Round(X:Extended):Int64;//四舍五入function Trunc(X:Extended):Int64;//将小数无条件舍去信息来源:邪恶八进制信息安全团队 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录

delphi的函数手册

delphi的函数手册 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分Alignment属性控件标签的文字位置AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名Assigned函数测试函数或过程变量是否为空AutoSize属性自动控制标签的大小BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式BevelOuter属性控件方框的外框方式BevelWidth属性控件方框的外框宽度BlockRead函数读一个或多个记录到变量中BlockWrite函数从变量中写一个或多个记录BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句Brush属性画刷 Caption属性标签文字的内容ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数CompareStr函数比较字符串(区分大小写)Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环Copy函数返回一字符串的子串

Delphi 位操作的函数

///// Delphi 位操作的函数(修改了一下,更靠近使用习惯) ///// unit BitControl; interface /// /||| INT32 INT16 BYTE |||///// /// /|||第…. 8 7 6 5 4 3 2 1 位|||///// /// /||| …… B7 B6 B5 B4 B3 B2 B1 B0 |||///// uses SysUtils; type TBitCount = (Bit_8 = 8, Bit_16 = 16, Bit_32 = 32); // getbit方法可以输入一个数,查询指定位是1还是0. function getbit(number: Integer; // 要查询位的数 nBit: Byte; // 要查数的第几位 BitCount: TBitCount // 是输入的数的位数,8,16,32 ): Byte; // 函数返回的是要查的数的第几位的值 // SetBit设置一个数的第几位的值为1或0. function SetBit(number: Integer; // 要设置位的数 nBit: Byte; // 数的第几位 BitCount: TBitCount; // 数的位数,8,16,32 value: Byte // 要置1或0,Value只能输入1或0. ): Integer; // 返回修改位后的数 // 取得一个数中从第几个位开始取多少个位的值 function getbits(number: Integer; // 要取位的数 nBit, // 从第几位开始取位 iBit: Byte; // 取多少位 BitCount: TBitCount // 数的位数,8,16,32 ): Integer; // 返回取位后的数 // 这个函数可以把一个数转换为二进制值的字符串 function int2bin(number: Integer; // 要转换的数 BitCount: TBitCount // 数的位数,8,16,32 ): string; // 返回转换后的字符串 implementation /// ////////////////////////////////////////////////////////////////////////////// function getbit(number: Integer; nBit: Byte; BitCount: TBitCount): Byte; begin GetBit := number;

Delphi操作EXCEL函数整理

一、使用单元: Use :EXCEL 2000, ComObj 二、定义 var ExcelApp,Sheet,Range: Variant; 注释: ExcelApp 为定义的Excel 对象 Sheet 为定义的工作表(Sheet)对象 Range 为定义的工作表范围 三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化 1. 创建excel对象: ExcelApp := CreateOleObject( 'Excel.Application' ); 2. 显示当前窗口: ExcelApp.Visible := True; 3. 更改Excel 标题栏: ExcelApp.Caption := '应用程序调用Microsoft Excel'; 4. 添加新工作簿: ExcelApp.WorkBooks.Add; 5 打开已存在的工作簿: ExcelApp.WorkBooks.Open(FilePath); 6.设置工作簿默认工作表张数 ExcelApp.SheetsInNewWorkbook := 1; 7.设置工作表名称 ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName; 8.工作表初始化 Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum]; 9.工作表范围初始化 Range := Sheet.Range['A1:DL1'] ; 10.设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2' ].Activate; 三、单元格赋值设置数值类型 1. 给单元格赋值: ExcelApp.Cells[row, column].Value := '第一行第四列'; 或 Sheet.Cells[row, column] := ‘第一行第四列’; 2 清除第一行第四列单元格公式:

DELPHI中Format函数功能及用法详解

DELPHI中Format函数功能及用法详解DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas 功能:返回按指定方式格式化一个数组常量的字符形式 说明这个函数是Delphi中用得最多的函数,现在就列举几个例子以得到直观的理解 "%" [索引":"] ["-"] [宽度] ["." 摘要] 类型 它是以"%"开始,而以"类型"结束,"类型"表示一个具体的类型。中间是用来格式化"类型"的指令字符,是可选的。 总结一下Format的用法: -------------------------------------------------------------------------------------- Format('x=%d', [12]); //'x=12' //最普通 Format('x=%3d', [12]); //'x= 12' //指定宽度 Format('x=%f', [12.0]); //'x=12.00' //浮点数 Format('x=%.3f', [12.0]); //'x=12.000' //指定小数 Format('x=%8.2f'[12.0]) // 'x= 12.00' ; Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置 Format('x=%.5d', [12]); //'x=00012' //前面补充0 Format('x=%.5x', [12]); //'x=0000C' //十六进制 Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引 Format('x=%p', [nil]); //'x=00000000' //指针 Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法 Format('x=%%', []); //'x=%' //得到"%" S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串 -------------------------------------------------------------------------------------- ===================详细用法======================= 先来看看type,type可以是以下字符: d 十制数,表示一个整型值 u 和d一样是整型值,但它是无符号的,而如果它对应的值是负的,则返回时是一个2的32次方减去这个绝对值的数,如: Format('this is %u',[-2]); 返回的是:this is 4294967294

delphi笔记-内部函数参数

Delphi内部函数--

参数传递 自定义过程procedure p1(a:integer,var b:real,const c:string)a,b,c 为形式参数 调用过程p1(a1, b1, c1 ) a1,b1,c1为实际参数 传递数值 定义过程定义过程或函数时,在形参前不加保留字或加const Procedure swap1(a , b :integer) 或Procedure swap1(const a , b :integer) var c :integer begin c:=a;a:=b;b:=c; end;{a,b数值交换} 函数中用语句swap1(a1,b1)调用过程swap1(a , b :integer),实参a1,b1数值传递给形参a,b,然后a,b数值交换,但运算后实参a1,b1数值不变,不进行交换 传递地址 Procedure swap2(var a , b :integer) 或Procedure swap2(out a , b :integer) var c :integer 即定义过程或函数时,在形参前加保留字var或out begin begin c:=a;a:=b;b:=c; end;{a,b数值交换} 形参前加var后实参和形参公用内存地址,将实参的内存地址传递给形参,语句swap2(a2,b2)调用swap2(var a , b :integer)后内存中数值改变形参a,b数值交换,同时实参a2,b2的数值也交换

Delphi 参数作用范围 Project1 参数作用范围 从小到大:过程/函数级,单元级、程序级; 过程/函数级:在Function或Procedure内部定义的标示符,作用范围局限在该Function 或Procedure内,其它的Function或Procedure不能调用。局部变量 单元级:在每个单元的Implementation部分声明的标示符,作用范围包括该单元的所有Function和Procedure,其它Unit的Function和Procedure不能调用。单元全局变量 程序级:在每个单元的Interface部分声明的标示符,作用范围最大,可以被其它unit的Function和Procedure调用。程序全局变量 调用方法如下: 如果在Unit A中访问Unit B在Interface部分声明的变量VarofUnitB,首先在UnitA的Uses子句中加入UnitB,其次在访问VarOfUnitB时,加上限定UnitB.VarOfUnitB,又称限定标示符,语法格式如下: <单元名>.<标示符>

Delphi7基本函数

函数由一句或多句代码组成,可以实现某个特定的功能。使用函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值。 在Delphi 7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函数、字符串、数组操作函数、文件、磁盘操作函数、内存、指针操作函数、数学运算函数、日期函数。 在Delphi中调用函数,一般情况下可以直接使用函数即可,但由于有一些函数未包含在Uses中列出的单元中(默认单元有Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs;),所以需要我们手动添加单元。比如,MidStr函数就未包含在这些单元中,MidStr所属单元在StrUtils中,因此我们将StrUtils添加Uses中即可。 在本手册中,凡是未包含在默认列出的单元中的函数,都标明了其所属的单元,使用时应当注意。 一、数据类型转换函数 在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。 1.FloatToStr 功能说明:该函数用于将“浮点型”转换成“字符型”。 参考实例: Edit1.Text := FloatToStr(1.981); 2.IntToStr 功能说明:该函数用于将“整数型”转换成“字符型”。 参考实例: S := IntToStr(10);(注:S为String类型变量。) 3.IntToHex 功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。 参考实例: Edit1.Text := IntToHex(''100'', 2);

在Delphi中字符串查找 函数

在Delphi中字符串查找函数 Delphi提供的字符串函数里有一个Pos函数,它的定义是: 它的作用是在字符串S中查找字符串Substr,返回值是Substr在S中第一次出现的位置,如果没有找到,返回值为0。 使用pos函数来查找字符第一次出现的位置 var str1:string; i,j:integer; begin str1:='dsf4654f6ad' ; j:=pos('<',str1);//在字符串str1中查找"<" if j<>0 then //得到的j是字符串中出现的位置,是整型 showmessage('<'+'在第'+inttostr(j)+'个位置'); //第十个位置 end; =============================================== 首部function StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas 功能返回指针字符串Str2在Str1中第一个出现的地址 说明没有找到则返回空指针;StrPos('12345', '3') = '345' 参考 例子Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text)); =================================================== StrScan : 返回一个字符在一个 PChar 串中第一次出现的位置指针;

StrRScan : 返回一个字符在一个 PChar 串中最后一次出现的位置指针; StrPos : 返回一个 PChar 串在另一个 PChar 串中第一次出现的位置指针. //给你尝试一下,简单分隔一下吧。 program Project1; {$APPTYPE CONSOLE} uses SysUtils, Classes; function GetMainStrs(ATalks: string): TStrings; Var p1, p2, l2, l1: Integer; str: string; begin Result := TStringList.Create(); l1 := Length(':'); //分隔符的长度 l2 := Length(';'); //分隔符的长度 while(ATalks <> '') do begin p1 := Pos(':', ATalks); p2 := Pos(';', ATalks); if (p1>0) and (p2>0) then begin if (p1

Delphi Math单元函数

Delphi Math单元函数(2011-12-22 22:05:57)转载▼ 标签:杂谈分类:delphi 这个单元包含高性能的算术、三角、对数、统计和金融方面的计算及FPU程序函数用于补充Delphi语言System.pas 单元中的数学常规程序函数 注意 1) 对于有些函数,这个单元中涉及的概念或常数由Earl F. Glynn (https://www.doczj.com/doc/cf8610658.html,) 和Ray Lischner (https://www.doczj.com/doc/cf8610658.html,)提供。 2) 所有的角度参数三角函数的结果都用弧度表示 3) 下列大部分的三角和对数程序直接的映射到Intel 80387 FPU 4) 浮点机指令、输入域、输出范围和错误处理主要由FPU 硬件决定 5) 汇编程序中的代码支持Pentium FPU 管线体系  常数 IEEE 浮点类型的范围, 包括非正规的 1) MinSingle = 1.5e-45; 最小Single数 2) MaxSingle = 3.4e+38; 最大Single数 3) MinDouble = 5.0e-324; 最小Double数 4) MaxDouble = 1.7e+308; 最大Double数 5) MinExtended = 3.4e-4932; 最小Extended数 6) MaxExtended = 1.1e+4932; 最大Extended数 7) MinComp = -9.223372036854775807e+18; 最小Comp数 8) MaxComp = 9.223372036854775807e+18; 最大Comp数 下列常数不应当被用于比较关系,仅仅用于分配。若要用于比较关系请使用IsNan 和IsInfinity 函数。(已提供在后面) 9) NaN = 0.0 / 0.0; 非数(*$EXTERNALSYM NaN*) (*$HPPEMIT 'static const Extended NaN = 0.0 / 0.0;'*) 10) Infinity = 1.0 / 0.0; 正无穷大(*$EXTERNALSYM Infinity*) (*$HPPEMIT 'static const Extended Infinity = 1.0 / 0.0;'*) 11) NegInfinity = -1.0 / 0.0; 负无穷大(*$EXTERNALSYM NegInfinity*) (*$HPPEMIT 'static const Extended NegInfinity = -1.0 / 0.0;'*) 一、三角函数 1) 函数ArcCos(const X: Extended): Extended; (IN: |X| <= 1 OUT: [0..PI] 弧度) 2) 函数ArcSin(const X: Extended): Extended; (IN: |X| <= 1 OUT: [-PI/2..PI/2] 弧度) 3) 函数ArcTan2(const Y, X: Extended): Extended; IN: |Y| < 2^64, |X| < 2^64, X <> 0 OUT: [-PI..PI] 弧度)。计算ArcTan(Y/X), 并且返回一个正确象限内的角度 4) 过程SinCos(const Theta: Extended; var Sin, Cos: Extended) register; SinCos:比分别调用Sin 和Cos 计算同一个角度快两倍 5) 函数Tan(const X: Extended): Extended; 6) 函数Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } 7) 函数Secant(const X: Extended): Extended; { 1 / cos(X) } 8) 函数Cosecant(const X: Extended): Extended; { 1 / sin(X) } 9) 函数Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } 二、角度单位换算程序 1) 函数RadToDeg(const Radians: Extended): Extended; { 度数:= 弧度* 180 / PI } 2) 函数RadToGrad(const Radians: Extended): Extended; { 梯度:= 弧度* 200 / PI }

相关主题
相关文档 最新文档