配色: 字号:
delphi控件属性和事件
2016-03-30 | 阅:  转:  |  分享 
  


delphi控件属性和事件







复制代码



常用【属性】

Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令

Anchors:与组件连接的窗体的位置点

Align:确定组件的对齐方式

AutoSize:确定组件是否自动调整其大小

BiDiMode:(所有组件)为从右向左写的语言提供支持

BoundsRect:定义组件边框矩形(只适用于运行时)

Borderwidth:(窗口化组件)边框的宽度

BorberStyle:设置组件边框形状(样式)

Brush:可确定组件的风格和颜色

Caption:使用该属性可指定标注组件的文本字符串

ClassName:该方法可得到对象的类名,我一直用它来得到数据库中字段的类型,在其它的方面还没有用到

ClientHeight:可读取和设置组件客户区域的像素高度

ClientRect:可返回组件客户区的大小,为一个矩形

ClientWidth:可读取和设置组件客户区域的像素宽度

Color:组件的背景颜色

Components:列出了该组件中所有的子组件,并可以对它们进行访问

ComponentIndex:(所有组件)当前组件在其主组件所有的从组件列表中的位置(只适用于运行时)

ComponentCount:显示该组件拥有的子组件数(只适用于运行时)

Constraints:(所有组件)在改变大小操作期间限定组件)的最大与最小尺寸

ConstrolCount:(所有组件)当前组件的子组件数目(只适用于运行时)

Controls:(所有组件)当前组件的子组件数组(只适用于运行时)

Create:构造一个对象实例,分配内存,并不初始化

Ctrl3D:设置组件边框是否为3D模式,若BORDERSTYLE设置为BSNONE则此属性无效

Cursor:指定指针的图像(鼠标经过组件时光标所显示的形状)

Destroy:销毁一个对象实例

DragCursor:拖动时,鼠标的形状

DragKing:可获取或设置组件是拖动还是停靠操作,分别对应Drag和Dock

DragMode:设置组件拖动模式。值dmManual和dmAutomatic,分别对应手工和自动

Enable:设定组件是否能使用,当设为FALSE时组件会呈灰色

Font:设定组件内文字的字型、字体大小、颜色等

Free:删除对象实例,并释放内存,如果对象不空,则自动调用析构函数

Height:设置组件显示的高度

HelpContent用来为帮助说明文件中的索引值建立关联

Hint:设置当指针在该组件上时,显示的帮助信息。此属性必须在ShowHint属性为True时生效

ImeName:设置输入法名

Left:设定组件与父组件左边框间的距离

Name:指定组件的名字,以反映当前应用程序的用途

Parent:确定组件的父组件

ParentColor:是否使用父组件的颜色,默认为True;

ParentFont:是否使用父组件的字体,默认为True;

PopupMenu:设定鼠标右键(弹出式)快捷菜单

ShowHint:是否显示Hint中的信息

TabBorder设定组件在按下TAB键后焦点(FOCUS)移动的顺序

TabOrder:该属性在其父组件的标签顺序中指定组件的顺序

TabStop:确定用户是否允许用Tab键访问组件,若设为FALSE,则按TAB键后焦点并不会在此组件上停留

Tag:该属性没有预先定义含义,为开发人员方便面提供

Text:只读,组件内部的文本

Top:确定组件的顶部位置(组件与父组件上边框间的距离)

TransParent:设置该组件是否透明

Visible:设定组件是否可见,此属性只在执行时起作用

Width:设置组件显示的宽度

WordWrap:当文本的长度大于组件的宽度时,是否自动换行



【方法】

Assign:该方法复制Source参数指定的对象数据给自身

BeginDrag:开始拖动组件,该方法只有在DragMode为dmManual时生效

BringToFront:该方法将组件放置在其父组件内所有其它的组件的前面

ClientToScreen:可将一个当前组件的当前坐标系统的Point点转换为与屏幕坐标相应的点

EndDrag:该方法结束拖动组件,该方法只有在DragMode为dmManual时生效

FindComponent:该方法返回在Components属性数组中的名称与Aname参数中的字符串匹配的组件,使用该方法可确定组件是否拥有另一个组件,该方法不区分大小写

Focused:该方法确定窗口组件是否输入焦点

GetTextLen:计算组件文本的长度

Hide:隐藏组件

Refresh:可立即刷新组件

SendToBack:把一个窗口组件放置到其它组件的后面

SetBounds:可同时修改组件的所有边界属性

SetFocus:设置组件具有焦点

Show:显示组件

Update:更新组件





【事件】

OnCanResize:当组件试图改变大小时触发(当组件有所改变时触发的事件)

onClick:(鼠标单击事件)当在此组件上按下鼠标左键时触发的事件

OnConstrainedResize:在OnCanResize后触发,可调整试图调整大小的组件的约束

OnContexPopup:当弹出式菜单弹出时触发

OnDblClick:(鼠标双击事件)当在此组件上双击鼠标左键时触发的事件

OnDragDrop:释放一个正在拖动的组件时触发

OnDragOver:当一个组件在另一个组件上拖动时触发

OnEndDock:当结束停靠时触发

OnEndDrag:当结束拖动时触发

OnEnter:当组件接受输入焦点时触发(当切换到其它组件使该组件失去焦点时触发的事件,但当切换到另一窗体或另一应用程序时此事件不会触发)

onExit:当组件的焦点离开该组件时触发

OnGetSiteInfo:该事件返回组件的停靠信息

onKeyDown:当按下任一键时产生(当在拥有焦点的组件上按下某个键时触发的事件,按键包括所有的英文、数字键、方向键、功能键等)

onKeyPress:当用户按下单个字符键时产生(当在拥有焦点的组件上按下某个键时触发的事件,但按键只包括所有的英文、数字键、TAB、BACKSPACE、ENTER、ESC)

onKeyUp:当释放按下的键时产生(当使用者放开键盘上的按键时触发的事件)

onMouseDown:当鼠标键在某个组件按下时触发的事件(其参数包括哪个鼠标键被按下、是否有特殊键(CTRL、ALT、SHIFT)被按下以及鼠标当前的坐标)

onMouseEnter:当鼠标在该组件上时触发

onMouseLeave:当鼠标离开该组件上时触发

onMouseMove:当鼠标在组件内移动时触发的事件

onMouseUp:当鼠标键在组件上方放开时所触发的事件

onMouseWheel:当鼠标滚轮滚动时触发

onMouseWheelDown:当鼠标滚轮向下滚动时触发

onMouseWheelUp:当鼠标滚轮向上滚动时触发

OnResize:当改变组件大小后触发

OnStartDock:当开始停靠时触发

OnStartDrag:当开始拖动时并DragKing为dkDrag时触发,

ONPAINT在组件需要被重画时触发的事件,此时可进行自定义画法

=========================================================================

■■■■■■■■■■■■■■■详细属性和事件■■■■■■■■■■■■■■

=========================================================================

opendialog对话框属性



DefaultExt:当用户未输入文件扩展名时它用于指明默认的扩展名。



FileName:它为string型用于记录最后一个被选中的文件的全路径名。默认为空。



Filter(过滤器)特性:

它用于设置打开对话框中显示的文件类型,实在打开的对话框中仅显示与该特性所列的相匹配的文件。在程序设计阶段用户可以在对象观察器中,单击Filter特性值框中的“...”按钮,将弹出FilterEditor对话框,可以在此设置预显示文件的扩展名,既设置过滤器。用户还可以在程序代码中动态的设置该特性值。例如:

Filter:=''delphiuintFiles|.pas;.dpr'';



FilterIndex特性:

该特性为integer类型,在设置了多个过滤器时,用于确定在打开对话框中文件类型下拉列表中初始显示的过滤器的序号,其默认值为1。



InitilDir:用它指明对话框的默认目录。



Title:用它指明OpenDialog组件标题栏中的字符串,默认值为“打开”。



==========================================================================

窗体组件(FORM)常见属性及事件



属性说明

Active指示此窗体是否拥有FOCUS

ActiveControl指示窗体中目前拥有FOCUS的组件

ActiveMdichild指示主窗体中目前拥有FOCUS的子窗体

ActiveOleControl用于取得或设定此窗体上的OLE控制,以响应FOCUS改变

BorderIcons指定哪些ICON显示在窗体的TITLEBAR上

BorderSytle用以指定窗体BORDER外观及行为

Canvas提供使用者可在窗体上CLIENT内自行显示的画板,一般在ONPAINT事件中使用

ClientHandle提供可存取系统内部使用的MDICLIENTWINDOWHANDLE

ClientHeight窗体客户区高度

ClientRect窗体客户区所对应的矩形

ClientWidth窗体客户区宽度

DEFAULTMONITOR指定此窗体所显示的预设的显示器,用于多显示器环境下

DESIGNER此窗体的设计界面,一般不用用户设定

DropTARGET用以指定窗体是否为目前DRAGANDDrop动作的目标

FLOATING用以指示此窗体是否正在停泊在另一个视窗内

FORMSTATE用于指示此窗体所处状态

FORMSTYLE用于指示窗体的样式

HELPFILE用于指定HELP文件

ICON指定窗体最小化时所显示的ICON

KEYPREVIEW指定此窗体是否需在目前的ACTIVE组件之前取得键盘输入

MDICHILDCOUNT用于取得子窗体数目

MDICHILDREN用于取得子窗体(数组)

MENU用于指定窗体主菜单

MODALRESULT当窗体作用为MODAL对话框时,作为对话框的效果

MONITOR用于指示窗体所显示的显示器

OLDCreateORDER指定ONCreate和ONDESTROY事件何时发生

OLEFORMOBJECT对包含在此窗体内的OLE对象指定OLEFORM界面

PARENT设定此窗体的PARENT

PARENTBIDIMODE指定是否此窗体使用PARENT的BIDIMODE

PIXELSPERINCH表示此窗体设计时系统上字形的比例

POSITION表示此窗体的大小及位置

PRINTSCALE表示此窗体打印的比例

SCALED用于指定窗体的大小是否依据PIXELSPERINTCH属性来指定

TILEMODE用于指定TILE方法被调用时子窗体如何排列

VISIBLE用于设定此窗体是否被显示

WINDOWMENU如果窗体是一个MDIPARENT窗体,用于指定视窗的菜单

WINDOWSTATE用于指定窗体如何显示于屏幕中



事件说明

ONPAINT当窗体必须重画时发生

ONHELP当窗体收到HELP请求时发生

ONDRAGDrop当一个对象拉进此窗体并丢下时发生

ONDRAGOVER当一个对象拉进此窗体时发生

ONCONSTRAINEDRESIZE在ONCANRESIZE事件发生后发生

ONCANRESIZE当企图改变窗体尺寸时确认是否改变

ONRESIZE当窗体尺寸改变时发生

ONSTARTDOCK当对象开始停泊时发生

ONENDDOCK当对象停泊结束时发生

ONUNDOCK当窗体解除停泊时发生

ONDOCKDrop当其它窗体停泊到此组件时发生

ONDOCKOVER当其它窗体向此组件停泊接近时发生

ONGETSITEINFO当有关停泊消息传回此窗体时发生

ONCreate当窗体创建时发生

ONCLOSE当窗体即将关闭时发生

ONCLOSEQUERY在窗体即将关闭时确认是否真的关闭窗体

ONDESTROY当窗体释放时发生

ONSHOW当窗体显示时发生

ONHIDE当窗体隐藏时发生

ONACTIVATE当窗体获得FOCUS时发生

ONDEACTIVATE当窗体失去FOCUS时发生



菜单组件(MAINMENU、POPUPMENU)常见属性

属性说明

AUTOMERGE用于指定主窗体的主菜单是否与其它的窗体主菜单合并

HANDLE主菜单的视窗代码

BIDIMODE用于指定选项名是由左至右读或由右至左读

IMAGES用于指定选项旁可显示的图像内容

ITEMS选项的内容

OWNERDRAW用于指定选否是否可自行显示

PARENTBIDIMODE用于指定是否继承父控件的BIDIMODE属性

WINDOWHANDLE使用此菜单的视窗代号



菜单项属性说明

ACTION用于指定此选项对应的动作

BITMAP用于指定在此选项旁的图像内容

BREAK用于指定是否从此选项开始建立新的分栏

CAPTION选项显示的名称

CHECKED用于指定此选项是否CHECKED

COMMAND用于指定选项对应的WINDOWSCOMMANDID

COUNT用于指示此选项的子选项数目

DEFAULT用于指示此选项是否为子菜单的预设项目

EANBLED用于指示此选项是否可用

GROUPINDEX用于指定此选项所隶属的逻辑群组,以控制主菜单之间的合并或单选钮互斥的效果

HANDLE对应此选项的Drop-DOWN菜单的WINDOWSMENUHANDLE

HELPCONTEXT对应此选项的HELPCONTEXTID

HINT用于设定鼠标移入选项范围时的提示信息

IMAGEINDEX用以指定哪个图像显示于选项旁

ITEMS此选项的子菜单项目数

MENUINDEX此选项的父菜单内的选项索引值

PARENT此选项的父菜单的选项

RADIOITEM用于设定此选项是否与同组其它选项互斥

SHORTCUT用于设定此选项的快捷键

VISIBLE用于设定此选项是否可见



标签(LABEL)常用属性:

属性说明

ALIGNMENT用于设定标签内文本的对齐方式(水平方向)

AUTOSIZE用于设定标签组件是否根据组件内文本自动调整大小

FOCUSCONTROL用于设定键入标签内快捷键后应接受FOCUS的组件

LAYOUT用于设定标签文本如何放置(垂直方向)

SHOWACCELCHAR用于设定是否允许标签内文本是否显示画有下划线的快捷键值

TRANSPARENT用于设定组件是否透明

WORDWRAP用于设定组件文本宽于组件宽度时是否自动换行



编辑框(EDIT、MASKEDIT)的属性:

属性说明

AUTOSelect用于设定组件获得FOCUS后是否自动选取所有文本

AUTOSIZE用于设定组件内增加输入文字时,是否自动加长组件长度

BORDERSTYLE用于设定组件边框风格

CANUNDO用于设定组件内文本是否可UNDO

CHARCASE用于设定组件内文本大小写状况

HIDESelectION用于设定组件失去FOCUS时,选取文本是否有效

MAXLENGTH用于设定组件内输入文本的最大长度

MODIFIED可用于判定组件内文本是否发生更改

OEMCONVERT决定是否将编辑框内文字ASCII码转换成OEM,再由OEM转换为ASCII

PASSWORDCHAR设定密码输入时取代的字符

READONLY设定编辑框内容是否可修改

SELLENGTH指示编辑框内选定文本长度

SELSTART指示编辑框内选定文本的起始位置

SELTEXT指示编辑框内选定文本



EDITMASK指示MASKEDIT掩码字符串



按钮(BUTTON、BITBTN、SPEEDBUTTON)常见属性:

普通BUTTON属性说明

CANCEL设定此按钮是否为取消钮(取消钮即在程序执行时若按ESC键可执行此按钮的单击事件)

DEFAULT指按下ENTER键后是否执行此按的单击事件

MODALRESULT通常用于对话框窗体中,当按下此钮时,此属性值即成为此按钮隶属的MODAL窗体的MODALRESULT

CAPTION设定或取得此按钮上显示的标题



BITBTN属性说明(图形式按钮)

GLYPH用以设定此按钮上出现的图像

KIND用以指定按钮的类型

LAYOUT用以设定图像在按钮上显示的位置

MARGIN用以设定按钮边与图像边之间的距离(以象素为单位)

NUMGLYPHS用以设定按钮图像的数目

SPACION用以设定图像与文本之间的距离(以象素为单位)

STYLE用以设定按钮外观



SPEEDBUTTON属性说明(快速按钮)

ALLOWALLUP用以设定是否包含此快速钮的组中是否能同时保持UP状态

DOWN用以设定此快速钮是否已被选取

FLAT用以设定此快速钮是否显示3D边的效果

GROUPINDEX用以设定快速钮的组

TRANSPARENT用以设定快速钮是否透明





==========================================

备注组件(MEMO)的常见属性和事件:

属性说明

LINES用于取得组件中文本(为数组,因此可支持取单行文本)

TEXT用于取得组件中文本(字符串)

READONLY用于设定组件文本是否可修改

SCROLLBARS用于设定组件滚动条模式

WANTRETURNS用于设定输入的ENTER键是否作为文本内容

WORDWRAP用于设定文本是否自动换行

SELSTART指示选中文本的起始位置

SELLENGTH指示选中文本的长度

WANTTABS用于设定输入的TAB键是否作为文本内容

SELTEXT指示选中文本



事件说明

MEMO.LINES.ADD()在当前行增加一行文本

MEMO.LINES.APPEND()在末追加一行文本

MEMO.LINES.Insert在指定位置增加一行文本

MEMO.LINES.Delete删除指定行文本

MEMO.LINES.LOADFROMFILE从指定文件导入文本到组件

MEMO.LINES.LOADFROMSTREAM从指定流导入文本到组件

MEMO.LINES.SAVETOFILE将组件文本存为指定文件

MEMO.LINES.SAVETOSTREAM将组件文本存为指定流

MEMO.CLEAR清除组件所有文本

MEMO.CUTTOCLIPBOARD将选定文本剪切到剪贴板

MEMO.COPYTOCLIPBOARD将选定文本复制到剪贴板

MEMO.PASTEFROMCLIPBOARD从剪贴板粘贴文本到当前位置



复选框(CHECKBOX)常见属性:

属性说明

ALIGNMENT设定复选框标题位置

ALLOWGRAYED决定复选框是否存在GRAYED状态

CHECKED决定复选框状态

STATE指示复选框状态



单选按钮(RADIOBUTTON)常见属性:

(提供互斥选项,因此通常用于成组实现,可用GROUPBOX或RADIOGROUP实现)

属性说明

ALIGNMENT设定单选框标题位置

CHECKED决定单选框状态



组框(GROUPBOX)常见属性:(用于作容器)

属性说明

CAPTION组框标题,通常用于指示组件用途



单选分组框(RADIOGROUP)常见属性:

属性说明

CAPTION指示单选组合名称

COLUMNS指示单选按钮又单行或多行为单位显示

ITEMS单选按钮标题内容(以行为单位)

ITEMINDEX指示当前选定的单选按钮的索引值



列表框(LISTBOX)常见属性:

属性说明

CANVAS提供自定义显示列表框项目内容的画板,用于ONDRAWITEM事件

COLUMNS设定多重列列表框的列数

EXTENDEDSelect指定是否可使用SHIFT键进行连选

ITEMHEIGHT设定列表框项目的高度

ITEMINDEX指定选取的项目的索引值

ITEMS项目的字符串内容

MULTISelect设定是否允许多重选取

SELCOUNT列表框中选定项目数目

SelectED指示某个项目是否被选取

SORTED指定列表框中项目击者是否按字母顺序排序

STYLE指示列表框显示模式

TOPINDEX指示列表框顶端项目的索引值



组合框(COMBOBOX)常见属性:

属性说明

CANVAS提供自定义显示组合框项目内容的画板,用于ONDRAWITEM事件

CHARCASE设定组合框内文字字母大小写状况

DropDOWNCOUNT设定组合框下拦菜单最大显示项目个数

DropPEDDOWN用于判定组合框是否处于下拉菜单的状态

ITEMINDEX指示下拉菜单中目前被选取的项目的索引值

ITEMS下拉菜单项目内容

MAXLENGTH设定组合框中编辑部分可输入的字符最大个数

SELLENGTH指示组合框编辑部分被选取文本长度

SELTEXT指示组合框中编辑部分被选取文本

SELSTART指示组合框中编辑部分被选取文本起始位置

STYLE指示组合框显示模式



滚动条(SCROLLBAR)常见属性:

属性说明

MAX指示滚动条最大值

MIN指示滚动条最小值

POSITION指示滑动块当前位置

LARGECHANGE指示鼠标按滚动条框至滑动块之间区域时移动值

SMALLCHANGE指示鼠标按下滚动条两端箭头时移动值

KIND指示滚动条类型(水平型或垂直型)

PAGESIZE指示按下PAGEUP或PAGEDOWN时变化量



图像框组件(IMAGE)常见属性:

属性说明

AUTOSIZE本组件是否调整成为与读取图像同等大小

INCREMENTALDISPALY读较大型图像文件时是否逐步显示

PICTURE指向图像文件对象,能常为文件名

STRETCH是否将图像自动调整为本组件预设大小



图像列表框(IMAGELIST)常见属性:

属性说明

BKCOLOR指定背景颜色

BLENDCOLOR前景混合颜色

COUNT组件中图像个数

DRAWINGSTYLE指示本组件绘出图像时采用的方式

HEIGHT组件内各图像的高度值

IMAGETYPE绘制图像时是否加上MASK图像

MASKED设定是否可以加上MASK

WIDTH组件内各图像的宽度值



工具栏组件(TOOLBAR)常见属性:

属性说明

AUTOSIZE设定工具栏是否自动调整大小以容纳BAND

BUTTONCOUNT工具栏中按钮个数

BUTTONHEIGHT工具栏中的按钮高度

BUTTONS以INDEX表示在工具栏中的按钮

BUTTONWIDTH工具栏中的按钮宽度

DISABLEDIMAGES当工具按钮DISABLED时显示的图像列表

FLAT是否设定浮出效果

HOTIMAGES当鼠标指向工具栏按钮时显示的图像列表

IMAGES提供显示在工具栏按钮上的图像列表

INDENT设定工具栏左侧间隔大小

LIST设定标题文字是否显示在图形的右方

ROWCOUNT指定工具栏的行数

SHOWCAPTIONS设定工具按钮是否显示文字

WARPABLE设定工具栏排列按钮时是否自动换行



TOOLBUTTON属性说明

ALLOWALLUP设定同组工具按钮是否可以都未被选取

DOWN设定按钮是否可停在被按下的状态

DropDOWNMENU当工具按钮按下时所出现的菜单

GROUPED设定同组工具按钮

IMAGEINDEX关联的图像在图像列表框中的索引值

INDETERMINATE是否提供工具栏第三种情况

MARKED设定按钮是否有阴影

STYLE设定按钮样式

WRAP设定在此工具按钮新增者是否为另一新栏



酷栏(COOLBAR)常见属性:

属性说明

ALIGN设定COOLBAR的对齐方式

AUTOSIZE设定酷栏是否自动调整大小以容纳BAND

BANDBORDERSTYLE设定BAND的边界风格

BANDS显示COOLBAR内所有的BAND

BITMAP设定BAND的背景图像

FIXEDORDER设定是否可自行调整BAND的顺序

FIXEDSIZE设定是否以单一设度限定酷栏内所有的BAND

IMAGES提供BANDS所需要的图像

SHOWTEXT设定BAND是否显示文字

VERTICAL设定BAND的排列方式(水平排列或垂直排列)

DOCKSITE是否允许停泊



状态栏组件(STATUSBAR)常见属性:

属性说明

PANELS设定状态栏组件区域

SIMPLEPANEL设定状态栏单个区域

SIMPLETEXT设定状态栏单个区域的文本



ALIGNMENT设定区域文本对齐方式

TEXT设定区域显示文本

WIDTH设定区域宽度



进度条组件(PROGRESSBAR)常见属性和事件:

属性说明

MAX设定POSITION最大值

MIN设定POSITION最小值

orIENTATION设定组件显示的方向

POSITION设定进度条当前位置

SMOOTH设定进度条的进度指针为平滑或间隔方式

STEP设定调用STEPIT方法时所增加的量



事件说明

STEPBY(INTEGER)进度条增加值(由参数指定增量)

STEPIT进度条增加值(由STEP属性指定增量)





轨迹条组件(TRACKBAR)常见属性:

属性说明

FRQUENCY设定本控制刻度间的间隔值

LINESIZE设定按方向键时移动量

MAX设定POSITION最大值

MIN设定POSITION最小值

orIENTATION设定本组件显示的方向

PAGESIZE设定PAGEUP或PAGEDOWN的移动量

POSITION设定本组件当前位置

SELEND设定选定范围的最后位置

SELSTART设定选定范围的开始位置

SLIDERVISIBLE设定本组件中滑块是否显示

TICKMARKS设定刻度显示的方向位置

TICKSTYLE设定组件刻度记号的配置方式



多页标签(PAGECONTROL)常见属性

属性说明

MULTILINE设定组件是否依标签数目自定调整行数

ACTIVEPAGE当前组件选中标签

TABPOSITION设定组件标签所有位置

STYLE设定组件标签样式

CAPTION设定指定标签标题

PAGEINDEX指示标签的位置

TABVISIBLE设定指定标签是否显示

============================================================

名称类型说明



abort函数引起放弃的意外处理



abs函数绝对值函数



addexitproc函数将一过程添加到运行时库的结束过程表中



addr函数返回指定对象的地址



adjustlinebreaks函数将给定字符串的行分隔符调整为cr/lf序列



align属性使控件位于窗口某部分



alignment属性控件标签的文字位置



allocmem函数在堆栈上分配给定大小的块



allowgrayed属性允许一个灰度选择



ansicomparestr函数比较字符串(区分大小写)



ansicomparetext函数比较字符串(不区分大小写)



ansilowercase函数将字符转换为小写



ansiuppercase函数将字符转换为大写



append函数以附加的方式打开已有的文件



arctan函数余切函数



assignfile函数给文件变量赋一外部文件名



assigned函数测试函数或过程变量是否为空



autosize属性自动控制标签的大小



backgrounddi2001.jpg属性背景色



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函数将日期格式转换为字符串



dayofweek函数返回星期的数值



dec函数递减变量值



decodedate函数将日期格式分解为年月日



decodetime函数将时间格式分解为时、分、秒、毫秒



delete函数从字符串中删除子串



deletefile命令删除文件



diskfree函数返回剩余磁盘空间的大小



disksize函数返回指定磁盘的容量



dispose函数释放动态变量所占的空间



disposestr函数释放字符串在堆栈中的内存空间



ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50%



dragcursor属性当鼠标按下时光标的形状



dragmode属性按动的作用方式



dropdowncount属性容许的显示数据项的数目



editmask属性编辑模式



enabled属性是否使标签呈现打开状态



encodedate函数将年月日合成为日期格式



encodetime函数将时、分、秒、毫秒合成为时间格式



endmargin属性末尾边缘



eof函数对有类型或无类型文件测试是否到文件尾



eoln函数返回文本文件的行结束状态



erase命令删除外部文件



exceptaddr函数返回引起当前意外的地址



exclude函数从集合中删除一些元素



exceptobject函数返回当前意外的索引



exit命令立即从当前的语句块中退出



exp函数指数函数



expandfilename函数返回包含绝对路径的字符串



extendedselect属性是否允许存在选择模式,true时,multiselect才有意义



extractfiledir函数返回驱动器和路径



extractfileext函数返回文件的后缀



extractfilename函数返回文件名



extractfilepath函数返回指定文件的路径



fileage函数返回文件已存在的时间



fileclose命令关闭指定的文件



filecreate命令用指定的文件名建立新文件



filedatetodatetime函数将dos的日期格式转换为delphi的日期格式



fileexists函数检查文件是否存在



filegatattr函数返回文件的属性



filegetdate函数返回文件的dos日期时间标记



fileopen命令用指定的存取模式打开指定的文件



filepos函数返回文件的当前指针位置



fileread命令从指定的文件读取



filesearch命令在目录中搜索指定的文件



fileseek函数改变文件的指针



filesetattr函数设置文件属性



filesetdate函数设置文件的dos日期时间标记



filesize函数返回当前文件的大小



filewrite函数对指定的文件做写操作



fillchar函数用指定的值填充连续字节的数



findclose命令终止findfirst/findnext序列



findfirst命令对指定的文件名及属性搜索目录



findnext命令返回与文件名及属性匹配的下一入口



floattodecimal函数将浮点数转换为十进制数



floattostrf函数将浮点数转换为字符串



floattostr函数将浮点数转换为字符串



floattotext函数将给定的浮点数转换为十进制数



floattotextfmt函数将给定的浮点数转换为十进制数



flush函数将缓冲区的内容刷新到输出的文本文件中



fmtloadstr函数从程序的资源字符串表中装载字符串



fmtstr函数格式化一系列的参数,其结果以参数result返回



font属性设置字体



format函数格式化一系列的参数并返回pascal字符串



formatbuf函数格式化一系列的参数



formatdatetime函数用指定的格式来格式化日期和时间



formatfloat函数指定浮点数格式



frac函数返回参数的小数部分



freemem函数按给定大小释放动态变量所占的空间



getdir返回指定驱动器的当前目录



getheapstatus返回内存管理器的当前状态



getmem建立一指定大小的动态变量,并将指针指向该处



getmemorymanager返回内存管理器的入口点



glyph函数按钮上的图象



halt停止程序的执行并返回到操作系统



hi返回参数的高地址位



high返回参数的上限值



hint属性提示信息



int返回参数的整数部分



include添加元素到集合中



insert在字符串中插入子串



inttohex将整型数转换为十六进制数



inttostr将整型数转换为字符串



ioresult返回最新的i/o操作完成状态



isvalidident测试字符串是否为有效的标识符



items属性默认显示的节点



kind属性摆放样式



largechange属性最大改变值



layout属性图象布局



length函数返回字符串的动态长度



lines属性缺省显示内容



ln函数自然对数函数



lo函数返回参数的低地址位



loadstr函数从应用程序的可执行文件中装载字符资源



lowercase函数将给定的字符串变为小写



low函数返回参数的下限值



max属性最大值



maxlength属性最大长度



min属性最小值



mkdir命令建立一子目录



move函数从源到目标复制字节



multiselect属性允许同时选择几个数据项



name属性控件的名字



new函数建立新的动态变量并设置一指针变量指向他



newstr函数在堆栈上分配新的字符串



now函数返回当前的日期和时间



odd测试参数是否为奇数



onactivate事件焦点移到窗体上时触发



onclick事件单击窗体空白区域触发



ondblclick事件双击窗体空白区域触发



onclosequery事件使用者试图关闭窗体触发



onclose事件窗体关闭后才触发



oncreate事件窗体第一次创建时触发



ondeactivate事件用户切换到另一应用程序触发



ondragdrop事件鼠标拖放操作结束时触发



ondragover事件有其他控件从他上面移过触发



onmousedown事件按下鼠标键时触发



onmouseup事件释放鼠标键时触发



onmousemove事件移动鼠标时触发



onhide事件隐藏窗体时触发



onkeydown事件按下键盘某键时触发



onkeypress事件按下键盘上的单个字符键时触发



onkeyup事件释放键盘上的某键时触发



onpaint事件窗体上有新部分暴露出来触发



onresize事件重新调整窗体大小触发



onshow事件在窗体实际显示之前瞬间触发



ord返回序数类的序数



outlinestyle属性类型



outofmemoryerror引起outofmemory意外



pageindex属性页索引



pages属性页



paramcount函数返回在命令行上传递给程序的参数数量



paramstr函数返回指定的命令行参数



pen属性画刷设置



pi函数返回圆周率pi



picture属性显示图象



pictureclosed属性设置closed位图



pictureleaf属性设置leaf位图



pictureminus属性设置minus位图



pictureopen属性设置open位图



pictureplus属性设置plus位图



pos函数在字符串中搜索子串



pred函数返回先前的参数



random函数返回一随机函数



randomize函数用一随机数初始化内置的随机数生成器



read函数对有格式的文件,读一文件组件到变量中;



对文本文件,读一个或多个值到一个或多个变量中



readln函数执行read过程,然后跳到文件下一行



readonly属性只读属性



reallocmem函数分配一动态变量



rename函数重命名外部文件



renamefile函数对文件重命名



reset函数打开已有的文件



rewrite函数建立并打开一新的文件



rmdir函数删除空的子目录



round函数将实数值舍入为整型值



runerror函数停止程序的执行



scrollbars属性滚动条状态



seek函数将文件的当前指针移动到指定的组件上



seekeof函数返回文件的文件结束状态



seekeoln函数返回文件的行结束状态



selectedcolor属性选中颜色



setmemorymanager函数设置内存管理器的入口点



settextbuf函数给文本文件指定i/o缓冲区



shape属性显示的形状



showexception函数显示意外消息与地址



sin函数正弦函数



sizeof函数返回参数所占的字节数



smallchange属性最小改变值



sorted属性是否允许排序



sqr函数平方函数



sqrt函数平方根函数



startmargin属性开始边缘



state属性控件当前状态



str函数将数值转换为字符串



stralloc函数给以null结束的字符串分配最大长度-1的缓冲区



strbufsize函数返回存储在由stralloc分配的字符缓冲区的最大字符数



strcat函数将一字符串附加到另一字符串尾并返回合并的字符串



strcomp函数比较两个字符串



strcopy函数将一个字符串复制到另一个字符串中



strdispose函数释放堆栈上的字符串



strecopy函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针



strend函数返回指向字符串尾部的指针



stretch属性自动适应控件的大小



strfmt函数格式化一系列的参数



stricomp函数比较两个字符串(不区分大小写)



stringtowidechar函数将ansi字符串转换为unicode字符串



strlcat函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串



strlcomp函数以最大长度比较两个字符串



strlcopy函数将一个字符串中的字符复制到另一个字符串中



strlen函数返回字符串中的字符数



strlfmt函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针



strlicomp函数以最大长度比较两个字符串(不区分大小写)



strlower函数将字符串中的字符转换为小写



strmove函数将一个字符串中的字符复制到另一个字符串中



strnew函数在堆栈上分配一个字符串



strpas函数将以null结束的字符串转换为pascal类的字符串



strpcopy函数将pascal类的字符串复制为以null结束的字符串



strplcopy函数从pascal类的最大长度字符串复制为以null结束的字符串



strpos函数返回一个字符串在另一个字符串中首次出现指针



strrscan函数返回字符串中最后出现字符的指针



strscan函数返回字符串中出现首字符的指针



strtodate函数将字符串转换为日期格式



strtodatetime函数将字符串转换为日期/时间格式



strtofloat函数将给定的字符串转换为浮点数



strtoint函数将字符串转换为整型



strtointdef函数将字符串转换为整型或默认值



strtotime函数将字符串转换为时间格式



strupper函数将字符串中的字符转换为大写



style属性类型选择



suce函数返回后继的参数



swap函数交换参数的高低地址位



tabs属性标记每一项的内容



tabindex属性标记索引



text属性显示的文本



texttofloat函数将字符串(以null结束的格式)转换为浮点数



time函数返回当前的时间



timetostr函数将时间格式转换为字符串



trim函数从给定的字符串中删除前导和尾部的空格及控制字符



trimleft函数从给定的字符串中删除首部的空格及控制字符



trimright函数从给定的字符串中删除尾部的空格及控制字符



trunc函数将实型值截取为整型值



truncate函数截去当前文件位置后的内容



unselectedcolor属性未选中颜色



upcase将字符转换为大写



uppercase将给定的字符串变为大写



val函数将字符串转换为整型值



vararraycreate函数以给定的界限和维数建立变体数组



vararraydimcount函数返回给定变体的维数



vararrayhighbound函数返回给定变体数组维数的上界



vararraylock函数锁定给定的变体数组



vararraylowbound函数返回给定变体数组维数的下界



vararrayof函数返回指定变体的数组元素



vararrayredim函数通过改变上限来调整变体的大小



vararrayunlock函数解锁指定的变体数组



varastype函数将变体转换为指定的类型



varcase函数将变体转换为指定的类型并保存他



varclear函数清除指定的变体



varcopy函数将指定的变体复制为指定的变体



varformdatetime函数返回包含日期时间的变体



varisarray函数测试变体是否为数组



varisempty函数测试变体是否为unassigned



varisnull函数测试变体是否为null



vartodatetime函数将给定的变体转换为日期时间



vartype函数将变体转换为指定的类型并保存他



visible属性控件的可见性



wantreturns属性为true时,按回车键产生一个回车符;



为false时,按下ctrl+enter才产生回车符



write命令对有格式的文件,写一变量到文件组件中;



对文本文件,写一个或多个值到文件中



writeln命令执行write过程,然后输出一行结束标志



widecharlentostring函数将ansi字符串转换为unicode字符串



widecharlentostrwar函数将unicode字符串转换为ansi字符串变量



widechartostring函数将unicode字符串转换为ansi字符串



widechartostrvar函数将unicode字符串转换为ansi字符串变量



===========================================================

◇[DELPHI]产生鼠标拖动效果

通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL:

varxpanel,ypanel,xlabel,ylabel:integer;

PANEL的MouseMove事件:xpanel:=x;ypanel:=y;

PANEL的DragOver事件:xpanel:=x;ypanel:=y;

LABEL的MouseMove事件:xlabel:=x;ylabel:=y;

LABEL的EndDrag事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel;



◇[DELPHI]取得WINDOWS目录

usesshellapi;

getwindowsdirectory(windir,sizeof(windir));

或者从注册表中读取,位置:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion

SystemRoot键,取得如:C:\WINDOWS



trunc()



◇[DELPHI]关于文件、目录操作

Chdir(''c:\abcdir'');转到目录

Mkdir(''dirname'');建立目录

Rmdir(''dirname'');删除目录

GetCurrentDir;//取当前目录名,无''\''

Getdir(0,s);//取工作目录名s:=''c:\abcdir'';

Deletfile(''abc.txt'');//删除文件

Renamefile(''old.txt'',''new.txt'');//文件更名

ExtractFilename(filelistbox1.filename);//取文件名

ExtractFileExt(filelistbox1.filename);//取文件后缀



◇[DELPHI]处理文件属性

attr:=filegetattr(filelistbox1.filename);

if(attrandfaReadonly)=faReadonlythen...//只读

if(attrandfaSysfile)=faSysfilethen...//系统

if(attrandfaArchive)=faArchivethen...//存档

if(attrandfaHidden)=faHiddenthen...//隐藏



◇[DELPHI]执行程序外文件

WINEXEC//调用可执行文件

winexec(''command.com/ccopy.c:\'',SW_Normal);

winexec(''startabc.txt'');

ShellExecute或ShellExecuteEx//启动文件关联程序

functionexecutefile(constfilename,params,defaultDir:string;showCmd:integer):THandle;

ExecuteFile(''C:\abc\a.txt'',''x.abc'',''c:\abc\'',0);

ExecuteFile(''http://tingweb.yeah.net'','''','''',0);

ExecuteFile(''mailto:tingweb@wx88.net'','''','''',0);



◇[DELPHI]取得系统运行的进程名

varhCurrentWindow:HWnd;szText:array[0..254]ofchar;

begin

hCurrentWindow:=Getwindow(handle,GW_HWndFrist);

whilehCurrentWindow<>0do

begin

ifGetwindowtext(hcurrnetwindow,@sztext,255)>0thenlistbox1.items.add(strpas(@sztext));

hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext);

end;

end;



◇[DELPHI]关于汇编的嵌入

AsmEnd;

可以任意修改EAX、ECX、EDX;不能修改ESI、EDI、ESP、EBP、EBX。



◇[DELPHI]关于类型转换函数

FloatToStr//浮点转字符串

FloatToStrF//带格式的浮点转字符串

IntToHex//整数转16进制

TimeToStr

DateToStr

DateTimeToStr

FmtStr//按指定格式输出字符串

formatDateTime(''YYYY-MM-DD,hh-mm-ss'',DATE);



◇[DELPHI]字符串的过程和函数

Insert(obj,target,pos);//字符串target插入在pos的位置。如插入结果大于target最大长度,多出字符将被截掉。如Pos在255以外,会产生运行错。例如,st:=''Brian'',则Insert(''OK'',st,2)会使st变为''BrOKian''。

Delete(st,pos,Num);//从st串中的pos(整型)位置开始删去个数为Num(整型)个字符的子字串。例如,st:=''Brian'',则Delete(st,3,2)将变为Brn。

Str(value,st);//将数值value(整型或实型)转换成字符串放在st中。例如,a=2.5E4时,则str(a:10,st)将使st的值为''25000''。

Val(st,var,code);//把字符串表达式st转换为对应整型或实型数值,存放在var中。St必须是一个表示数值的字符串,并符合数值常数的规则。在转换过程中,如果没有检测出错误,变量code置为0,否则置为第一个出错字符的位置。例如,st:=25.4E3,x是一个实型变量,则val(st,x,code)将使X值为25400,code值为0。

Copy(st.pos.num);//返回st串中一个位置pos(整型)处开始的,含有num(整型)个字符的子串。如果pos大于st字符串的长度,那就会返回一个空串,如果pos在255以外,会引起运行错误。例如,st:=''Brian'',则Copy(st,2,2)返回''ri''。

Concat(st1,st2,st3……,stn);//把所有自变量表示出的字符串按所给出的顺序连接起来,并返回连接后的值。如果结果的长度255,将产生运行错误。例如,st1:=''Brian'',st2:='''',st3:=''Wilfred'',则Concat(st1,st2,st3)返回''BrianWilfred''。

Length(st);//返回字符串表达式st的长度。例如,st:=''Brian'',则Length(st)返回值为5。

Pos(obj,target);//返回字符串obj在目标字符串target的第一次出现的位置,如果target没有匹配的串,Pos函数的返回值为0。例如,target:=''BrianWilfred'',则Pos(''Wil'',target)的返回值是7,Pos(''hurbet'',target)的返回值是0。



◇[DELPHI]关于处理注册表

usesRegistry;

varreg:Tregistry;

reg:=Tregistry.create;

reg.rootkey:=''HKey_Current_User'';

reg.openkey(''ControlPanel\Desktop'',false);

reg.WriteString(''TitleWallpaper'',''0'');

reg.writeString(''Wallpaper'',filelistbox1.filename);

reg.closereg;

reg.free;



◇[DELPHI]关于键盘常量名

VK_BACK/VK_TAB/VK_RETURN/VK_SHIFT/VK_CONTROL/VK_MENU/VK_PAUSE/VK_ESCAPE

/VK_SPACE/VK_LEFT/VK_RIGHT/VK_UP/VK_DOWN

F1--F12:$70(112)--$7B(123)

A-Z:$41(65)--$5A(90)

0-9:$30(48)--$39(57)



◇[DELPHI]操作Cookie

response.cookies("name").domain:=''http://www.086net.com'';

withresponse.cookies.adddo

begin

name:=''username'';

value:=''username'';

end



◇[DELPHI]增加到文档菜单连接

usesshellapi,shlOBJ;

shAddToRecentDocs(shArd_path,pchar(filepath));//增加连接

shAddToRecentDocs(shArd_path,nil);//清空



◇[DELPHI]判断鼠标按键

ifGetAsyncKeyState(VK_L(M,R)Button)<>0then...//左键



◇[DELPHI]设置窗体的最大显示

onformCreate事件

self.width:=screen.width;

self.height:=screen.height;



◇[DELPHI]按键接受消息

OnCreate事件中处理:Application.OnMessage:=MyOnMessage;

procedureTform1.MyOnMessage(varMSG:TMSG;varHandle:Boolean);

begin

ifmsg.message=256then...//ANY键

ifmsg.message=112then...//F1

ifmsg.message=113then...//F2

end;



◇[杂类]隐藏共享文件夹

共享效果:可访问,但不可见(在资源管理、网络邻居中)

取共享名为:direction$

访问://computer/dirction/



◇[DELPHI]随机产生文本色

randomize;//随机种子

memo1.font.color:=rgb(random(255),random(255),random(255));



◇[DELPHI]文件名的非法字符过滤

fori:=1tolength(s)do

ifsin[''\'',''/'','':'','''',''?'',''<'',''>'',''|'']then



◇[DELPHI]转换函数的定义及说明

datetimetofiledate(datetime:Tdatetime):longint;将Tdatetime格式的日期时间值转换成DOS格式的日期时间值

datetimetostr(datetime:Tdatetime):string;将Tdatatime格式变量转换成字符串,如果datetime参数不包含日期值,返回字符串日期显示成为00/00/00,如果datetime参数中没有时间值,返回字符串中的时间部分显示成为00:00:00AM

datetimetostring(varresultstring;

constformat:string;

datetime:Tdatetime);根据给定的格式字符串转换时间和日期值,result为结果字符串,format为转换格式字符串,datetime为日期时间值

datetostr(date:Tdatetime)使用shortdateformat全局变量定义的格式字符串将date参数转换成对应的字符串

floattodecimal(varresult:Tfloatrec;value:

extended;precision,decimals:

integer);将浮点数转换成十进制表示

floattostr(value:extended):string将浮点数value转换成字符串格式,该转换使用普通数字格式,转换的有效位数为15位。

floattotext(buffer:pchar;value:extended;

format:Tfloatformat;precision,

digits:integer):integer;用给定的格式、精度和小数将浮点值value转换成十进制表示形式,转换结果存放于buffer参数中,函数返回值为存储到buffer中的字符位数,buffer是非0结果的字符串缓冲区。

floattotextfmt(buffer:pchar;value:extended;

format:pchar):integer用给定的格式将浮点值value转换成十进制表示形式,转换结果存放于buffer参数中,函数返回值为存储到buffer中的字符位数。

inttohex(value:longint;digits:integer):

string;将给定的数值value转换成十六进制的字符串。参数digits给出转换结果字符串包含的数字位数。

inttostr(value:longint):string将整数转换成十进制形式字符串

strtodate(constS:string):Tdatetime将字符串转换成日期值,S必须包含一个合法的格式日期的字符串。

strtodatetime(constS:string):Tdatetime将字符串S转换成日期时间格式,S必须具有MM/DD/YYHH:MM:SS[AM|PM]格式,其中日期和时间分隔符与系统时期时间常量设置相关。如果没有指定AM或PM信息,表示使用24小时制。

strtofloat(constS:string):extended;将给定的字符串转换成浮点数,字符串具有如下格式:

[+|-]nnn…[.]nnn…[<+|-><+|->nnnn]

strtoint(constS:string):longint将数字字符串转换成整数,字符串可以是十进制或十六进制格式,如果字符串不是一个合法的数字字符串,系统发生ECONVERTERROR异常

strtointdef(constS:string;default:

longint):longint;将字符串S转换成数字,如果不能将S转换成数字,strtointdef函数返回参数default的值。

strtotime(constS:string):Tdatetime将字符串S转换成TDATETIME值,S具有HH:MM:SS[AM|PM]格式,实际的格式与系统的时间相关的全局变量有关。

timetostr(time:Tdatetime):string;将参数TIME转换成字符串。转换结果字符串的格式与系统的时间相关常量的设置有关。



◇[DELPHI]处理“右键菜单”方法

var

reg:TRegistry;

begin

reg:=TRegistry.Create;

reg.RootKey:=HKEY_CLASSES_ROOT;

reg.OpenKey(''\shell\check\command'',true);

reg.WriteString('''',''"''+application.ExeName+''""%1"'');

reg.CloseKey;

reg.OpenKey(''\shell\diary'',false);

reg.WriteString('''',''操作(&C)'');

reg.CloseKey;

reg.Free;

showmessage(''DONE!'');

end;



◇[DELPHI]发送虚拟键值ctrlV

proceduresendpaste;

begin

keybd_event(VK_Control,MapVirtualKey(VK_Control,0),0,0);

keybd_event(ord(''V''),MapVirtualKey(ord(''V''),0),0,0);

keybd_event(ord(''V''),MapVirtualKey(ord(''V''),0),KEYEVENTF_KEYUP,0);

keybd_event(VK_Control,MapVirtualKey(VK_Control,0),KEYEVENTF_KEYUP,0);

end;



◇[DELPHI]当前的光驱的盘符

proceduregetcdrom(varcd:char);

var

str:string;

drivers:integer;

driver:char;

i,temp:integer;

begin

drivers:=getlogicaldrives;

temp:=(1anddrivers);

fori:=0to26do

begin

iftemp=1then

begin

driver:=char(i+integer(''a''));

str:=driver+'':'';

ifgetdrivetype(pchar(str))=drive_cdromthen

begin

cd:=driver;

exit;

end;

end;

drivers:=(driversshr1);

temp:=(1anddrivers);

end;

end;



◇[DELPHI]字符的加密与解密

functioncryptstr(consts:string;stype:dword):string;

var

i:integer;

fkey:integer;

begin

result:='''';

casestypeof

0:setpass;

begin

randomize;

fkey:=random($ff);

fori:=1tolength(s)do

result:=result+chr(ord(s)xorixorfkey);

result:=result+char(fkey);

end;

1:getpass

begin

fkey:=ord(s[length(s)]);

fori:=1tolength(s)-1do

result:=result+chr(ord(s)xorixorfkey);

end;

end;



□◇[DELPHI]向其他应用程序发送模拟键

var

h:THandle;

begin

h:=FindWindow(nil,''应用程序标题'');

PostMessage(h,WM_KEYDOWN,VK_F9,0);//发送F9键

end;





□◇[DELPHI]得到图像上某一点的RGB值

procedureTform1.Image1MouseDown(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y:Integer);

var

red,green,blue:byte;

i:integer;

begin

i:=image1.Canvas.Pixels[x,y];

Blue:=GetBvalue(i);

Green:=GetGvalue(i):

Red:=GetRvalue(i);

Label1.Caption:=inttostr(Red);

Label2.Caption:=inttostr(Green);

Label3.Caption:=inttostr(Blue);

end;



◇[DELPHI]如何判断字符串是否是有效EMAIL地址

functionIsEMail(EMail:String):Boolean;

vars:String;ETpos:Integer;

begin

ETpos:=pos(''@'',EMail);

ifETpos>1then

begin

s:=copy(EMail,ETpos+1,Length(EMail));

if(pos(''.'',s)>1)and(pos(''.'',s)
Result:=trueelseResult:=false;

end

else

Result:=false;

end;



DELPHI]取机器BIOS信息

withMemo1.Linesdo

begin

Add(''MainBoardBiosName:''+^I+string(Pchar(Ptr($FE061))));

Add(''MainBoardBiosCopyRight:''+^I+string(Pchar(Ptr($FE091))));

Add(''MainBoardBiosDate:''+^I+string(Pchar(Ptr($FFFF5))));

Add(''MainBoardBiosSerialNo:''+^I+string(Pchar(Ptr($FEC71))));

end;



◇[DELPHI]网络下载文件

usesUrlMon;



functionDownloadFile(Source,Dest:string):Boolean;

begin

try

Result:=UrlDownloadToFile(nil,PChar(source),PChar(Dest),0,nil)=0;

except

Result:=False;

end;

end;



ifDownloadFile(''http://www.borland.com/delphi6.zip,''c:\kylix.zip'')then

ShowMessage(''Downloadsuccesful'')

elseShowMessage(''Downloadunsuccesful'')



◇[DELPHI]解析服务器IP地址

useswinsock



functionIPAddrToName(IPAddr:String):String;

var

SockAddrIn:TSockAddrIn;

HostEnt:PHostEnt;

WSAData:TWSAData;

begin

WSAStartup($101,WSAData);

SockAddrIn.sin_addr.s_addr:=inet_addr(PChar(IPAddr));

HostEnt:=gethostbyaddr(@SockAddrIn.sin_addr.S_addr,4,AF_INET);

ifHostEnt<>nilthenresult:=StrPas(Hostent^.h_name)elseresult:='''';

end;



◇[DELPHI]取得快捷方式中的连接

functionExeFromLink(constlinkname:string):string;

var

FDir,

FName,

ExeName:PChar;

z:integer;

begin

ExeName:=StrAlloc(MAX_PATH);

FName:=StrAlloc(MAX_PATH);

FDir:=StrAlloc(MAX_PATH);

StrPCopy(FName,ExtractFileName(linkname));

StrPCopy(FDir,ExtractFilePath(linkname));

z:=FindExecutable(FName,FDir,ExeName);

ifz>32then

Result:=StrPas(ExeName)

else

Result:='''';

StrDispose(FDir);

StrDispose(FName);

StrDispose(ExeName);

end;



◇[DELPHI]控制TCombobox的自动完成

{''Sorted''propertyoftheTComboboxtotrue}

varlastKey:Word;//全局变量

//TCombobox的OnChange事件

procedureTform1.AutoCompleteChange(Sender:TObject);

var

SearchStr:string;

retVal:integer;

begin

SearchStr:=(SenderasTCombobox).Text;

iflastKey<>VK_BACKthen//backspace:VK_BACKor$08

begin

retVal:=(SenderasTCombobox).Perform(CB_FINDSTRING,-1,LongInt(PChar(SearchStr)));

ifretVal>CB_Errthen

begin

(SenderasTCombobox).ItemIndex:=retVal;

(SenderasTCombobox).SelStart:=Length(SearchStr);

(SenderasTCombobox).SelLength:=

(Length((SenderasTCombobox).Text)-Length(SearchStr));

end;//retVal>CB_Err

end;//lastKey<>VK_BACK

lastKey:=0;//resetlastKey

end;

//TCombobox的onKeyDown事件

procedureTform1.AutoCompleteKeyDown(Sender:TObject;varKey:Word;

Shift:TShiftState);

begin

lastKey:=Key;

end;



◇[DELPHI]如何清空一个目录

functionEmptyDirectory(TheDirectory:String;Recursive:Boolean):

Boolean;

var

SearchRec:TSearchRec;

Res:Integer;

begin

Result:=False;

TheDirectory:=NormalDir(TheDirectory);

Res:=FindFirst(TheDirectory+''.'',faAnyFile,SearchRec);

try

whileRes=0do

begin

if(SearchRec.Name<>''.'')and(SearchRec.Name<>''..'')then

begin

if((SearchRec.AttrandfaDirectory)>0)andRecursive

thenbegin

EmptyDirectory(TheDirectory+SearchRec.Name,True);

RemoveDirectory(PChar(TheDirectory+SearchRec.Name));

end

elsebegin

DeleteFile(PChar(TheDirectory+SearchRec.Name))

end;

end;

Res:=FindNext(SearchRec);

end;

Result:=True;

finally

FindClose(SearchRec.FindHandle);

end;

end;



◇[DELPHI]安装程序如何添加到Uninstall列表

操作注册表,如下:

1.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall键下建立一个主键,名称任意。

例HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUninstall

2.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUnistall下键两个串值,

这两个串值的名称是特定的:DisplayName和UninstallString。

3.给串DisplayName赋值为显示在“删除应用程序列表”中的名称,如''AimingUninstallone'';

给串UninstallString赋值为执行的删除命令,如C:\WIN97\uninst.exe-f"C:\TestPro\aimTest.isu"



◇[DELPHI]截获WM_QUERYENDSESSION关机消息

type

Tform1=class(Tform)

procedureWMQueryEndSession(varMessage:TWMQueryEndSession);messageWM_QUERYENDSESSION;

procedureCMEraseBkgnd(varMessage:TWMEraseBkgnd);MessageWM_ERASEBKGND;

private

{Privatedeclarations}

public

{Publicdeclarations}

end;



procedureTform1.WMQueryEndSession(varMessage:TWMQueryEndSession);

begin

Showmessage(''computerisabouttoshutdown'');

end;



◇[DELPHI]得到硬盘序列号

varSerialNum:pdword;a,b:dword;Buffer:array[0..255]ofchar;

begin

ifGetVolumeInformation(''c:\'',Buffer,SizeOf(Buffer),SerialNum,a,b,nil,0)thenLabel1.Caption:=IntToStr(SerialNum^);

end;



献花(0)
+1
(本文系蛮牛的百宝...首藏)