delphi控件属性和事件
1 常用【属性】 2 Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 3 Anchors:与组件连接的窗体的位置点 4 Align:确定组件的对齐方式 5 AutoSize:确定组件是否自动调整其大小 6 BiDiMode:(所有组件) 为从右向左写的语言提供支持 7 BoundsRect:定义组件边框矩形(只适用于运行时) 8 Borderwidth:(窗口化组件)边框的宽度 9 BorberStyle:设置组件边框形状(样式) 10 Brush:可确定组件的风格和颜色 11 Caption:使用该属性可指定标注组件的文本字符串 12 ClassName:该方法可得到对象的类名,我一直用它来得到数据库中字段的类型,在 其它的方面还没有用到 13 ClientHeight:可读取和设置组件客户区域的像素高度 14 ClientRect:可返回组件客户区的大小,为一个矩形 15 ClientWidth:可读取和设置组件客户区域的像素宽度 16 Color:组件的背景颜色 17 Components:列出了该组件中所有的子组件,并可以对它们进行访问 18 ComponentIndex:(所有组件)当前组件在其主组件所有的从组件列表中的位置 (只适用于运行时) 19 ComponentCount:显示该组件拥有的子组件数 (只适用于运行时) 20 Constraints:(所有组件)在改变大小操作期间限定组件)的最大与最小尺寸 21 ConstrolCount:(所有组件)当前组件的子组件数目(只适用于运行时) 22 Controls:(所有组件)当前组件的子组件数组(只适用于运行时) 23 Create:构造一个对象实例,分配内存,并不初始化 24 Ctrl3D:设置组件边框是否为3D模式,若BORDERSTYLE设置为BSNONE则此属性无效 25 Cursor:指定指针的图像(鼠标经过组件时光标所显示的形状) 26 Destroy:销毁一个对象实例 27 DragCursor:拖动时,鼠标的形状 28 DragKing:可获取或设置组件是拖动还是停靠操作,分别对应Drag和Dock 29 DragMode:设置组件拖动模式。值dmManual和dmAutomatic,分别对应手工和自动 30 Enable:设定组件是否能使用,当设为FALSE时组件会呈灰色 31 Font:设定组件内文字的字型、字体大小、颜色等 32 Free:删除对象实例,并释放内存,如果对象不空,则自动调用析构函数 33 Height:设置组件显示的高度 34 HelpContent 用来为帮助说明文件中的索引值建立关联 35 Hint:设置当指针在该组件上时,显示的帮助信息。此属性必须在ShowHint属性为True时生效 36 ImeName:设置输入法名 37 Left:设定组件与父组件左边框间的距离 38 Name:指定组件的名字,以反映当前应用程序的用途 39 Parent:确定组件的父组件 40 ParentColor:是否使用父组件的颜色,默认为True; 41 ParentFont:是否使用父组件的字体,默认为True; 42 PopupMenu:设定鼠标右键(弹出式)快捷菜单 43 ShowHint:是否显示Hint中的信息 44 TabBorder 设定组件在按下TAB键后焦点(FOCUS)移动的顺序 45 TabOrder:该属性在其父组件的标签顺序中指定组件的顺序 46 TabStop:确定用户是否允许用Tab键访问组件,若设为FALSE,则按TAB键后焦点并不 会在此组件上停留 47 Tag:该属性没有预先定义含义,为开发人员方便面提供 48 Text:只读,组件内部的文本 49 Top:确定组件的顶部位置(组件与父组件上边框间的距离) 50 TransParent:设置该组件是否透明 51 Visible:设定组件是否可见,此属性只在执行时起作用 52 Width:设置组件显示的宽度 53 WordWrap:当文本的长度大于组件的宽度时,是否自动换行 54 55 【方法】 56 Assign:该方法复制Source参数指定的对象数据给自身 57 BeginDrag:开始拖动组件,该方法只有在DragMode为dmManual时生效 58 BringToFront:该方法将组件放置在其父组件内所有其它的组件的前面 59 ClientToScreen:可将一个当前组件的当前坐标系统的Point点转换为与屏幕坐标相应的点 60 EndDrag:该方法结束拖动组件,该方法只有在DragMode为dmManual时生效 61 FindComponent:该方法返回在Components属性数组中的名称与Aname参数中的字符串匹配的组件,使用该方法可确定组件是否拥有另一个组件,该方法不区分大小写 62 Focused:该方法确定窗口组件是否输入焦点 63 GetTextLen:计算组件文本的长度 64 Hide:隐藏组件 65 Refresh:可立即刷新组件 66 SendToBack:把一个窗口组件放置到其它组件的后面 67 SetBounds:可同时修改组件的所有边界属性 68 SetFocus:设置组件具有焦点 69 Show:显示组件 70 Update:更新组件 71 72 73 【事件】 74 OnCanResize:当组件试图改变大小时触发(当组件有所改变时触发的事件) 75 onClick:(鼠标单击事件)当在此组件上按下鼠标左键时触发的事件 76 OnConstrainedResize:在OnCanResize后触发,可调整试图调整大小的组件的约束 77 OnContexPopup:当弹出式菜单弹出时触发 78 OnDblClick:(鼠标双击事件)当在此组件上双击鼠标左键时触发的事件 79 OnDragDrop:释放一个正在拖动的组件时触发 80 OnDragOver:当一个组件在另一个组件上拖动时触发 81 OnEndDock:当结束停靠时触发 82 OnEndDrag:当结束拖动时触发 83 OnEnter:当组件接受输入焦点时触发(当切换到其它组件使该组件失去焦点时触发 的事件,但当切换到另一窗体或另一应用程序时此事件不会触发) 84 onExit:当组件的焦点离开该组件时触发 85 OnGetSiteInfo:该事件返回组件的停靠信息 86 onKeyDown:当按下任一键时产生(当在拥有焦点的组件上按下某个键时触发的事件 ,按键包括所有的英文、数字键、方向键、功能键等) 87 onKeyPress:当用户按下单个字符键时产生(当在拥有焦点的组件上按下某个键时触 发的事件,但按键只包括所有的英文、数字键、TAB、BACKSPACE、ENTER、ESC) 88 onKeyUp:当释放按下的键时产生(当使用者放开键盘上的按键时触发的事件) 89 onMouseDown:当鼠标键在某个组件按下时触发的事件(其参数包括哪个鼠标键被按 下、是否有特殊键(CTRL、ALT、SHIFT)被按下以及鼠标当前的坐标) 90 onMouseEnter:当鼠标在该组件上时触发 91 onMouseLeave:当鼠标离开该组件上时触发 92 onMouseMove:当鼠标在组件内移动时触发的事件 93 onMouseUp:当鼠标键在组件上方放开时所触发的事件 94 onMouseWheel:当鼠标滚轮滚动时触发 95 onMouseWheelDown:当鼠标滚轮向下滚动时触发 96 onMouseWheelUp:当鼠标滚轮向上滚动时触发 97 OnResize:当改变组件大小后触发 98 OnStartDock:当开始停靠时触发 99 OnStartDrag:当开始拖动时并DragKing为dkDrag时触发, 100 ONPAINT 在组件需要被重画时触发的事件,此时可进行自定义画法 101 ========================================================================= 102 ■■■■■■■■■■■■■■■详细属性和事件■■■■■■■■■■■■■■ 103 ========================================================================= 104 opendialog对话框属性 105 106 DefaultExt:当用户未输入文件扩展名时它用于指明默认的扩展名。 107 108 FileName:它为string型用于记录最后一个被选中的文件的全路径名。默认为空。 109 110 Filter(过滤器)特性: 111 它用于设置打开对话框中显示的文件类型,实在打开的对话框中仅显示与该特性所列的相匹配的文件。在程序设计阶段用户可以在对象观察器中,单击Filter特性值框中的“...”按钮,将弹出Filter Editor 对话框,可以在此设置预显示文件的扩展名,既设置过滤器。用户还可以在程序代码中动态的设置该特性值。例如: 112 Filter:='delphi uint Files|*.pas;*.dpr'; 113 114 FilterIndex特性: 115 该特性为integer类型,在设置了多个过滤器时,用于确定在打开对话框中文件类型下拉列表中初始显示的过滤器的序号,其默认值为1。 116 117 InitilDir:用它指明对话框的默认目录。 118 119 Title:用它指明OpenDialog 组件标题栏中的字符串,默认值为“打开”。 120 121 ========================================================================== 122 窗体组件(FORM)常见属性及事件 123 124 属性 说明 125 Active 指示此窗体是否拥有FOCUS 126 ActiveControl 指示窗体中目前拥有FOCUS的组件 127 ActiveMdichild 指示主窗体中目前拥有FOCUS的子窗体 128 ActiveOleControl 用于取得或设定此窗体上的OLE控制,以响应FOCUS改变 129 BorderIcons 指定哪些ICON显示在窗体的TITLE BAR上 130 BorderSytle 用以指定窗体BORDER外观及行为 131 Canvas 提供使用者可在窗体上CLIENT内自行显示的画板,一般在ONPAINT事件中使用 132 ClientHandle 提供可存取系统内部使用的MDI CLIENT WINDOW HANDLE 133 ClientHeight 窗体客户区高度 134 ClientRect 窗体客户区所对应的矩形 135 ClientWidth 窗体客户区宽度 136 DEFAULTMONITOR 指定此窗体所显示的预设的显示器,用于多显示器环境下 137 DESIGNER 此窗体的设计界面,一般不用用户设定 138 DropTARGET 用以指定窗体是否为目前DRAG AND Drop动作的目标 139 FLOATING 用以指示此窗体是否正在停泊在另一个视窗内 140 FORMSTATE 用于指示此窗体所处状态 141 FORMSTYLE 用于指示窗体的样式 142 HELPFILE 用于指定HELP文件 143 ICON 指定窗体最小化时所显示的ICON 144 KEYPREVIEW 指定此窗体是否需在目前的ACTIVE组件之前取得键盘输入 145 MDICHILDCOUNT 用于取得子窗体数目 146 MDICHILDREN 用于取得子窗体(数组) 147 MENU 用于指定窗体主菜单 148 MODALRESULT 当窗体作用为MODAL对话框时,作为对话框的效果 149 MONITOR 用于指示窗体所显示的显示器 150 OLDCreateORDER 指定ONCreate和ONDESTROY事件何时发生 151 OLEFORMOBJECT 对包含在此窗体内的OLE对象指定OLEFORM界面 152 PARENT 设定此窗体的PARENT 153 PARENTBIDIMODE 指定是否此窗体使用PARENT的BIDIMODE 154 PIXELSPERINCH 表示此窗体设计时系统上字形的比例 155 POSITION 表示此窗体的大小及位置 156 PRINTSCALE 表示此窗体打印的比例 157 SCALED 用于指定窗体的大小是否依据PIXELSPERINTCH属性来指定 158 TILEMODE 用于指定TILE方法被调用时子窗体如何排列 159 VISIBLE 用于设定此窗体是否被显示 160 WINDOWMENU 如果窗体是一个MDI PARENT窗体,用于指定视窗的菜单 161 WINDOWSTATE 用于指定窗体如何显示于屏幕中 162 163 事件 说明 164 ONPAINT 当窗体必须重画时发生 165 ONHELP 当窗体收到HELP请求时发生 166 ONDRAGDrop 当一个对象拉进此窗体并丢下时发生 167 ONDRAGOVER 当一个对象拉进此窗体时发生 168 ONCONSTRAINEDRESIZE 在ONCANRESIZE事件发生后发生 169 ONCANRESIZE 当企图改变窗体尺寸时确认是否改变 170 ONRESIZE 当窗体尺寸改变时发生 171 ONSTARTDOCK 当对象开始停泊时发生 172 ONENDDOCK 当对象停泊结束时发生 173 ONUNDOCK 当窗体解除停泊时发生 174 ONDOCKDrop 当其它窗体停泊到此组件时发生 175 ONDOCKOVER 当其它窗体向此组件停泊接近时发生 176 ONGETSITEINFO 当有关停泊消息传回此窗体时发生 177 ONCreate 当窗体创建时发生 178 ONCLOSE 当窗体即将关闭时发生 179 ONCLOSEQUERY 在窗体即将关闭时确认是否真的关闭窗体 180 ONDESTROY 当窗体释放时发生 181 ONSHOW 当窗体显示时发生 182 ONHIDE 当窗体隐藏时发生 183 ONACTIVATE 当窗体获得FOCUS时发生 184 ONDEACTIVATE 当窗体失去FOCUS时发生 185 186 菜单组件(MAINMENU、POPUPMENU)常见属性 187 属性 说明 188 AUTOMERGE 用于指定主窗体的主菜单是否与其它的窗体主菜单合并 189 HANDLE 主菜单的视窗代码 190 BIDIMODE 用于指定选项名是由左至右读或由右至左读 191 IMAGES 用于指定选项旁可显示的图像内容 192 ITEMS 选项的内容 193 OWNERDRAW 用于指定选否是否可自行显示 194 PARENTBIDIMODE 用于指定是否继承父控件的BIDIMODE属性 195 WINDOWHANDLE 使用此菜单的视窗代号 196 197 菜单项属性 说明 198 ACTION 用于指定此选项对应的动作 199 BITMAP 用于指定在此选项旁的图像内容 200 BREAK 用于指定是否从此选项开始建立新的分栏 201 CAPTION 选项显示的名称 202 CHECKED 用于指定此选项是否CHECKED 203 COMMAND 用于指定选项对应的WINDOWS COMMAND ID 204 COUNT 用于指示此选项的子选项数目 205 DEFAULT 用于指示此选项是否为子菜单的预设项目 206 EANBLED 用于指示此选项是否可用 207 GROUPINDEX 用于指定此选项所隶属的逻辑群组,以控制主菜单之间的合并或单选钮互斥的效果 208 HANDLE 对应此选项的Drop-DOWN菜单的WINDOWS MENU HANDLE 209 HELPCONTEXT 对应此选项的HELP CONTEXT ID 210 HINT 用于设定鼠标移入选项范围时的提示信息 211 IMAGEINDEX 用以指定哪个图像显示于选项旁 212 ITEMS 此选项的子菜单项目数 213 MENUINDEX 此选项的父菜单内的选项索引值 214 PARENT 此选项的父菜单的选项 215 RADIOITEM 用于设定此选项是否与同组其它选项互斥 216 SHORTCUT 用于设定此选项的快捷键 217 VISIBLE 用于设定此选项是否可见 218 219 标签(LABEL)常用属性: 220 属性 说明 221 ALIGNMENT 用于设定标签内文本的对齐方式(水平方向) 222 AUTOSIZE 用于设定标签组件是否根据组件内文本自动调整大小 223 FOCUSCONTROL 用于设定键入标签内快捷键后应接受FOCUS的组件 224 LAYOUT 用于设定标签文本如何放置(垂直方向) 225 SHOWACCELCHAR 用于设定是否允许标签内文本是否显示画有下划线的快捷键值 226 TRANSPARENT 用于设定组件是否透明 227 WORDWRAP 用于设定组件文本宽于组件宽度时是否自动换行 228 229 编辑框(EDIT、MASKEDIT)的属性: 230 属性 说明 231 AUTOSelect 用于设定组件获得FOCUS后是否自动选取所有文本 232 AUTOSIZE 用于设定组件内增加输入文字时,是否自动加长组件长度 233 BORDERSTYLE 用于设定组件边框风格 234 CANUNDO 用于设定组件内文本是否可UNDO 235 CHARCASE 用于设定组件内文本大小写状况 236 HIDESelectION 用于设定组件失去FOCUS时,选取文本是否有效 237 MAXLENGTH 用于设定组件内输入文本的最大长度 238 MODIFIED 可用于判定组件内文本是否发生更改 239 OEMCONVERT 决定是否将编辑框内文字ASCII码转换成OEM,再由OEM转换为ASCII 240 PASSWORDCHAR 设定密码输入时取代的字符 241 READONLY 设定编辑框内容是否可修改 242 SELLENGTH 指示编辑框内选定文本长度 243 SELSTART 指示编辑框内选定文本的起始位置 244 SELTEXT 指示编辑框内选定文本 245 246 EDITMASK 指示MASKEDIT掩码字符串 247 248 按钮(BUTTON、BITBTN、SPEED BUTTON)常见属性: 249 普通BUTTON属性 说明 250 CANCEL 设定此按钮是否为取消钮(取消钮即在程序执行时若按ESC键可执行此按钮的单击事件) 251 DEFAULT 指按下ENTER键后是否执行此按的单击事件 252 MODALRESULT 通常用于对话框窗体中,当按下此钮时,此属性值即成为此按钮隶属的MODAL窗体的MODALRESULT 253 CAPTION 设定或取得此按钮上显示的标题 254 255 BITBTN属性 说明(图形式按钮) 256 GLYPH 用以设定此按钮上出现的图像 257 KIND 用以指定按钮的类型 258 LAYOUT 用以设定图像在按钮上显示的位置 259 MARGIN 用以设定按钮边与图像边之间的距离(以象素为单位) 260 NUMGLYPHS 用以设定按钮图像的数目 261 SPACION 用以设定图像与文本之间的距离(以象素为单位) 262 STYLE 用以设定按钮外观 263 264 SPEED BUTTON属性 说明(快速按钮) 265 ALLOWALLUP 用以设定是否包含此快速钮的组中是否能同时保持UP状态 266 DOWN 用以设定此快速钮是否已被选取 267 FLAT 用以设定此快速钮是否显示3D边的效果 268 GROUPINDEX 用以设定快速钮的组 269 TRANSPARENT 用以设定快速钮是否透明 270 271 272 ========================================== 273 备注组件(MEMO)的常见属性和事件: 274 属性 说明 275 LINES 用于取得组件中文本(为数组,因此可支持取单行文本) 276 TEXT 用于取得组件中文本(字符串) 277 READONLY 用于设定组件文本是否可修改 278 SCROLLBARS 用于设定组件滚动条模式 279 WANTRETURNS 用于设定输入的ENTER键是否作为文本内容 280 WORDWRAP 用于设定文本是否自动换行 281 SELSTART 指示选中文本的起始位置 282 SELLENGTH 指示选中文本的长度 283 WANTTABS 用于设定输入的TAB键是否作为文本内容 284 SELTEXT 指示选中文本 285 286 事件 说明 287 MEMO.LINES.ADD() 在当前行增加一行文本 288 MEMO.LINES.APPEND() 在末追加一行文本 289 MEMO.LINES.Insert 在指定位置增加一行文本 290 MEMO.LINES.Delete 删除指定行文本 291 MEMO.LINES.LOADFROMFILE 从指定文件导入文本到组件 292 MEMO.LINES.LOADFROMSTREAM 从指定流导入文本到组件 293 MEMO.LINES.SAVETOFILE 将组件文本存为指定文件 294 MEMO.LINES.SAVETOSTREAM 将组件文本存为指定流 295 MEMO.CLEAR 清除组件所有文本 296 MEMO.CUTTOCLIPBOARD 将选定文本剪切到剪贴板 297 MEMO.COPYTOCLIPBOARD 将选定文本复制到剪贴板 298 MEMO.PASTEFROMCLIPBOARD 从剪贴板粘贴文本到当前位置 299 300 复选框(CHECKBOX)常见属性: 301 属性 说明 302 ALIGNMENT 设定复选框标题位置 303 ALLOWGRAYED 决定复选框是否存在GRAYED状态 304 CHECKED 决定复选框状态 305 STATE 指示复选框状态 306 307 单选按钮(RADIOBUTTON)常见属性: 308 (提供互斥选项,因此通常用于成组实现,可用GROUPBOX或RADIOGROUP实现) 309 属性 说明 310 ALIGNMENT 设定单选框标题位置 311 CHECKED 决定单选框状态 312 313 组框(GROUPBOX)常见属性:(用于作容器) 314 属性 说明 315 CAPTION 组框标题,通常用于指示组件用途 316 317 单选分组框(RADIOGROUP)常见属性: 318 属性 说明 319 CAPTION 指示单选组合名称 320 COLUMNS 指示单选按钮又单行或多行为单位显示 321 ITEMS 单选按钮标题内容(以行为单位) 322 ITEMINDEX 指示当前选定的单选按钮的索引值 323 324 列表框(LISTBOX)常见属性: 325 属性 说明 326 CANVAS 提供自定义显示列表框项目内容的画板,用于ONDRAWITEM事件 327 COLUMNS 设定多重列列表框的列数 328 EXTENDEDSelect 指定是否可使用SHIFT键进行连选 329 ITEMHEIGHT 设定列表框项目的高度 330 ITEMINDEX 指定选取的项目的索引值 331 ITEMS 项目的字符串内容 332 MULTISelect 设定是否允许多重选取 333 SELCOUNT 列表框中选定项目数目 334 SelectED 指示某个项目是否被选取 335 SORTED 指定列表框中项目击者是否按字母顺序排序 336 STYLE 指示列表框显示模式 337 TOPINDEX 指示列表框顶端项目的索引值 338 339 组合框(COMBOBOX)常见属性: 340 属性 说明 341 CANVAS 提供自定义显示组合框项目内容的画板,用于ONDRAWITEM事件 342 CHARCASE 设定组合框内文字字母大小写状况 343 DropDOWNCOUNT 设定组合框下拦菜单最大显示项目个数 344 DropPEDDOWN 用于判定组合框是否处于下拉菜单的状态 345 ITEMINDEX 指示下拉菜单中目前被选取的项目的索引值 346 ITEMS 下拉菜单项目内容 347 MAXLENGTH 设定组合框中编辑部分可输入的字符最大个数 348 SELLENGTH 指示组合框编辑部分被选取文本长度 349 SELTEXT 指示组合框中编辑部分被选取文本 350 SELSTART 指示组合框中编辑部分被选取文本起始位置 351 STYLE 指示组合框显示模式 352 353 滚动条(SCROLLBAR)常见属性: 354 属性 说明 355 MAX 指示滚动条最大值 356 MIN 指示滚动条最小值 357 POSITION 指示滑动块当前位置 358 LARGECHANGE 指示鼠标按滚动条框至滑动块之间区域时移动值 359 SMALLCHANGE 指示鼠标按下滚动条两端箭头时移动值 360 KIND 指示滚动条类型(水平型或垂直型) 361 PAGESIZE 指示按下PAGEUP或PAGEDOWN时变化量 362 363 图像框组件(IMAGE)常见属性: 364 属性 说明 365 AUTOSIZE 本组件是否调整成为与读取图像同等大小 366 INCREMENTALDISPALY 读较大型图像文件时是否逐步显示 367 PICTURE 指向图像文件对象,能常为文件名 368 STRETCH 是否将图像自动调整为本组件预设大小 369 370 图像列表框(IMAGELIST)常见属性: 371 属性 说明 372 BKCOLOR 指定背景颜色 373 BLENDCOLOR 前景混合颜色 374 COUNT 组件中图像个数 375 DRAWINGSTYLE 指示本组件绘出图像时采用的方式 376 HEIGHT 组件内各图像的高度值 377 IMAGETYPE 绘制图像时是否加上MASK图像 378 MASKED 设定是否可以加上MASK 379 WIDTH 组件内各图像的宽度值 380 381 工具栏组件(TOOLBAR)常见属性: 382 属性 说明 383 AUTOSIZE 设定工具栏是否自动调整大小以容纳BAND 384 BUTTONCOUNT 工具栏中按钮个数 385 BUTTONHEIGHT 工具栏中的按钮高度 386 BUTTONS 以INDEX表示在工具栏中的按钮 387 BUTTONWIDTH 工具栏中的按钮宽度 388 DISABLEDIMAGES 当工具按钮DISABLED时显示的图像列表 389 FLAT 是否设定浮出效果 390 HOTIMAGES 当鼠标指向工具栏按钮时显示的图像列表 391 IMAGES 提供显示在工具栏按钮上的图像列表 392 INDENT 设定工具栏左侧间隔大小 393 LIST 设定标题文字是否显示在图形的右方 394 ROWCOUNT 指定工具栏的行数 395 SHOWCAPTIONS 设定工具按钮是否显示文字 396 WARPABLE 设定工具栏排列按钮时是否自动换行 397 398 TOOLBUTTON属性 说明 399 ALLOWALLUP 设定同组工具按钮是否可以都未被选取 400 DOWN 设定按钮是否可停在被按下的状态 401 DropDOWNMENU 当工具按钮按下时所出现的菜单 402 GROUPED 设定同组工具按钮 403 IMAGEINDEX 关联的图像在图像列表框中的索引值 404 INDETERMINATE 是否提供工具栏第三种情况 405 MARKED 设定按钮是否有阴影 406 STYLE 设定按钮样式 407 WRAP 设定在此工具按钮新增者是否为另一新栏 408 409 酷栏(COOLBAR)常见属性: 410 属性 说明 411 ALIGN 设定COOLBAR的对齐方式 412 AUTOSIZE 设定酷栏是否自动调整大小以容纳BAND 413 BANDBORDERSTYLE 设定BAND的边界风格 414 BANDS 显示COOLBAR内所有的BAND 415 BITMAP 设定BAND的背景图像 416 FIXEDORDER 设定是否可自行调整BAND的顺序 417 FIXEDSIZE 设定是否以单一设度限定酷栏内所有的BAND 418 IMAGES 提供BANDS所需要的图像 419 SHOWTEXT 设定BAND是否显示文字 420 VERTICAL 设定BAND的排列方式(水平排列或垂直排列) 421 DOCKSITE 是否允许停泊 422 423 状态栏组件(STATUSBAR)常见属性: 424 属性 说明 425 PANELS 设定状态栏组件区域 426 SIMPLEPANEL 设定状态栏单个区域 427 SIMPLETEXT 设定状态栏单个区域的文本 428 429 ALIGNMENT 设定区域文本对齐方式 430 TEXT 设定区域显示文本 431 WIDTH 设定区域宽度 432 433 进度条组件(PROGRESSBAR)常见属性和事件: 434 属性 说明 435 MAX 设定POSITION最大值 436 MIN 设定POSITION最小值 437 orIENTATION 设定组件显示的方向 438 POSITION 设定进度条当前位置 439 SMOOTH 设定进度条的进度指针为平滑或间隔方式 440 STEP 设定调用STEPIT方法时所增加的量 441 442 事件 说明 443 STEPBY(INTEGER) 进度条增加值(由参数指定增量) 444 STEPIT 进度条增加值(由STEP属性指定增量) 445 446 447 轨迹条组件(TRACKBAR)常见属性: 448 属性 说明 449 FRQUENCY 设定本控制刻度间的间隔值 450 LINESIZE 设定按方向键时移动量 451 MAX 设定POSITION最大值 452 MIN 设定POSITION最小值 453 orIENTATION 设定本组件显示的方向 454 PAGESIZE 设定PAGEUP或PAGEDOWN的移动量 455 POSITION 设定本组件当前位置 456 SELEND 设定选定范围的最后位置 457 SELSTART 设定选定范围的开始位置 458 SLIDERVISIBLE 设定本组件中滑块是否显示 459 TICKMARKS 设定刻度显示的方向位置 460 TICKSTYLE 设定组件刻度记号的配置方式 461 462 多页标签(PAGECONTROL)常见属性 463 属性 说明 464 MULTILINE 设定组件是否依标签数目自定调整行数 465 ACTIVEPAGE 当前组件选中标签 466 TABPOSITION 设定组件标签所有位置 467 STYLE 设定组件标签样式 468 CAPTION 设定指定标签标题 469 PAGEINDEX 指示标签的位置 470 TABVISIBLE 设定指定标签是否显示 471 ============================================================ 472 名称 类型 说明 473 474 abort 函数 引起放弃的意外处理 475 476 abs 函数 绝对值函数 477 478 addexitproc 函数 将一过程添加到运行时库的结束过程表中 479 480 addr 函数 返回指定对象的地址 481 482 adjustlinebreaks 函数 将给定字符串的行分隔符调整为cr/lf序列 483 484 align 属性 使控件位于窗口某部分 485 486 alignment 属性 控件标签的文字位置 487 488 allocmem 函数 在堆栈上分配给定大小的块 489 490 allowgrayed 属性 允许一个灰度选择 491 492 ansicomparestr 函数 比较字符串(区分大小写) 493 494 ansicomparetext 函数 比较字符串(不区分大小写) 495 496 ansilowercase 函数 将字符转换为小写 497 498 ansiuppercase 函数 将字符转换为大写 499 500 append 函数 以附加的方式打开已有的文件 501 502 arctan 函数 余切函数 503 504 assignfile 函数 给文件变量赋一外部文件名 505 506 assigned 函数 测试函数或过程变量是否为空 507 508 autosize 属性 自动控制标签的大小 509 510 backgrounddi2001.jpg 属性 背景色 511 512 beginthread 函数 以适当的方式建立用于内存管理的线程 513 514 bevelinner 属性 控件方框的内框方式 515 516 bevelouter 属性 控件方框的外框方式 517 518 bevelwidth 属性 控件方框的外框宽度 519 520 blockread 函数 读一个或多个记录到变量中 521 522 blockwrite 函数 从变量中写一个或多个记录 523 524 borderstyle 属性 边界类型 525 526 borderwidth 属性 边界宽度 527 528 break 命令 终止for、while、repeat循环语句 529 530 brush 属性 画刷 531 532 caption 属性 标签文字的内容 533 534 changefileext 函数 改变文件的后缀 535 536 chdir 函数 改变当前目录 537 538 checked 属性 确定复选框选中状态 539 540 chr 函数 返回指定序数的字符 541 542 closefile 命令 关闭打开的文件 543 544 color 属性 标签的颜色 545 546 columns 属性 显示的列数 547 548 comparestr 函数 比较字符串(区分大小写) 549 550 concat 函数 合并字符串 551 552 continue 命令 继续for、while、repeat的下一个循环 553 554 copy 函数 返回一字符串的子串 555 556 cos 函数 余弦函数 557 558 ctl3d 属性 是否具有3d效果 559 560 cursor 属性 鼠标指针移入后的形状 561 562 date 函数 返回当前的日期 563 564 datetimetofiledate 函数 将delphi的日期格式转换为dos的日期格式 565 566 datetimetostr 函数 将日期时间格式转换为字符串 567 568 datetimetostring 函数 将日期时间格式转换为字符串 569 570 datetostr 函数 将日期格式转换为字符串 571 572 dayofweek 函数 返回星期的数值 573 574 dec 函数 递减变量值 575 576 decodedate 函数 将日期格式分解为年月日 577 578 decodetime 函数 将时间格式分解为时、分、秒、毫秒 579 580 delete 函数 从字符串中删除子串 581 582 deletefile 命令 删除文件 583 584 diskfree 函数 返回剩余磁盘空间的大小 585 586 disksize 函数 返回指定磁盘的容量 587 588 dispose 函数 释放动态变量所占的空间 589 590 disposestr 函数 释放字符串在堆栈中的内存空间 591 592 ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50% 593 594 dragcursor 属性 当鼠标按下时光标的形状 595 596 dragmode 属性 按动的作用方式 597 598 dropdowncount 属性 容许的显示数据项的数目 599 600 editmask 属性 编辑模式 601 602 enabled 属性 是否使标签呈现打开状态 603 604 encodedate 函数 将年月日合成为日期格式 605 606 encodetime 函数 将时、分、秒、毫秒合成为时间格式 607 608 endmargin 属性 末尾边缘 609 610 eof 函数 对有类型或无类型文件测试是否到文件尾 611 612 eoln 函数 返回文本文件的行结束状态 613 614 erase 命令 删除外部文件 615 616 exceptaddr 函数 返回引起当前意外的地址 617 618 exclude 函数 从集合中删除一些元素 619 620 exceptobject 函数 返回当前意外的索引 621 622 exit 命令 立即从当前的语句块中退出 623 624 exp 函数 指数函数 625 626 expandfilename 函数 返回包含绝对路径的字符串 627 628 extendedselect 属性 是否允许存在选择模式,true时,multiselect才有意义 629 630 extractfiledir 函数 返回驱动器和路径 631 632 extractfileext 函数 返回文件的后缀 633 634 extractfilename 函数 返回文件名 635 636 extractfilepath 函数 返回指定文件的路径 637 638 fileage 函数 返回文件已存在的时间 639 640 fileclose 命令 关闭指定的文件 641 642 filecreate 命令 用指定的文件名建立新文件 643 644 filedatetodatetime 函数 将dos的日期格式转换为delphi的日期格式 645 646 fileexists 函数 检查文件是否存在 647 648 filegatattr 函数 返回文件的属性 649 650 filegetdate 函数 返回文件的dos日期时间标记 651 652 fileopen 命令 用指定的存取模式打开指定的文件 653 654 filepos 函数 返回文件的当前指针位置 655 656 fileread 命令 从指定的文件读取 657 658 filesearch 命令 在目录中搜索指定的文件 659 660 fileseek 函数 改变文件的指针 661 662 filesetattr 函数 设置文件属性 663 664 filesetdate 函数 设置文件的dos日期时间标记 665 666 filesize 函数 返回当前文件的大小 667 668 filewrite 函数 对指定的文件做写操作 669 670 fillchar 函数 用指定的值填充连续字节的数 671 672 findclose 命令 终止findfirst/findnext序列 673 674 findfirst 命令 对指定的文件名及属性搜索目录 675 676 findnext 命令 返回与文件名及属性匹配的下一入口 677 678 floattodecimal 函数 将浮点数转换为十进制数 679 680 floattostrf 函数 将浮点数转换为字符串 681 682 floattostr 函数 将浮点数转换为字符串 683 684 floattotext 函数 将给定的浮点数转换为十进制数 685 686 floattotextfmt 函数 将给定的浮点数转换为十进制数 687 688 flush 函数 将缓冲区的内容刷新到输出的文本文件中 689 690 fmtloadstr 函数 从程序的资源字符串表中装载字符串 691 692 fmtstr 函数 格式化一系列的参数,其结果以参数result返回 693 694 font 属性 设置字体 695 696 format 函数 格式化一系列的参数并返回pascal字符串 697 698 formatbuf 函数 格式化一系列的参数 699 700 formatdatetime 函数 用指定的格式来格式化日期和时间 701 702 formatfloat 函数 指定浮点数格式 703 704 frac 函数 返回参数的小数部分 705 706 freemem 函数 按给定大小释放动态变量所占的空间 707 708 getdir 返回指定驱动器的当前目录 709 710 getheapstatus 返回内存管理器的当前状态 711 712 getmem 建立一指定大小的动态变量,并将指针指向该处 713 714 getmemorymanager 返回内存管理器的入口点 715 716 glyph 函数 按钮上的图象 717 718 halt 停止程序的执行并返回到操作系统 719 720 hi 返回参数的高地址位 721 722 high 返回参数的上限值 723 724 hint 属性 提示信息 725 726 int 返回参数的整数部分 727 728 include 添加元素到集合中 729 730 insert 在字符串中插入子串 731 732 inttohex 将整型数转换为十六进制数 733 734 inttostr 将整型数转换为字符串 735 736 ioresult 返回最新的i/o操作完成状态 737 738 isvalidident 测试字符串是否为有效的标识符 739 740 items 属性 默认显示的节点 741 742 kind 属性 摆放样式 743 744 largechange 属性 最大改变值 745 746 layout 属性 图象布局 747 748 length 函数 返回字符串的动态长度 749 750 lines 属性 缺省显示内容 751 752 ln 函数 自然对数函数 753 754 lo 函数 返回参数的低地址位 755 756 loadstr 函数 从应用程序的可执行文件中装载字符资源 757 758 lowercase 函数 将给定的字符串变为小写 759 760 low 函数 返回参数的下限值 761 762 max 属性 最大值 763 764 maxlength 属性 最大长度 765 766 min 属性 最小值 767 768 mkdir 命令 建立一子目录 769 770 move 函数 从源到目标复制字节 771 772 multiselect 属性 允许同时选择几个数据项 773 774 name 属性 控件的名字 775 776 new 函数 建立新的动态变量并设置一指针变量指向他 777 778 newstr 函数 在堆栈上分配新的字符串 779 780 now 函数 返回当前的日期和时间 781 782 odd 测试参数是否为奇数 783 784 onactivate 事件 焦点移到窗体上时触发 785 786 onclick 事件 单击窗体空白区域触发 787 788 ondblclick 事件 双击窗体空白区域触发 789 790 onclosequery 事件 使用者试图关闭窗体触发 791 792 onclose 事件 窗体关闭后才触发 793 794 oncreate 事件 窗体第一次创建时触发 795 796 ondeactivate 事件 用户切换到另一应用程序触发 797 798 ondragdrop 事件 鼠标拖放操作结束时触发 799 800 ondragover 事件 有其他控件从他上面移过触发 801 802 onmousedown 事件 按下鼠标键时触发 803 804 onmouseup 事件 释放鼠标键时触发 805 806 onmousemove 事件 移动鼠标时触发 807 808 onhide 事件 隐藏窗体时触发 809 810 onkeydown 事件 按下键盘某键时触发 811 812 onkeypress 事件 按下键盘上的单个字符键时触发 813 814 onkeyup 事件 释放键盘上的某键时触发 815 816 onpaint 事件 窗体上有新部分暴露出来触发 817 818 onresize 事件 重新调整窗体大小触发 819 820 onshow 事件 在窗体实际显示之前瞬间触发 821 822 ord 返回序数类的序数 823 824 outlinestyle 属性 类型 825 826 outofmemoryerror 引起outofmemory意外 827 828 pageindex 属性 页索引 829 830 pages 属性 页 831 832 paramcount 函数 返回在命令行上传递给程序的参数数量 833 834 paramstr 函数 返回指定的命令行参数 835 836 pen 属性 画刷设置 837 838 pi 函数 返回圆周率pi 839 840 picture 属性 显示图象 841 842 pictureclosed 属性 设置closed位图 843 844 pictureleaf 属性 设置leaf位图 845 846 pictureminus 属性 设置minus位图 847 848 pictureopen 属性 设置open位图 849 850 pictureplus 属性 设置plus位图 851 852 pos 函数 在字符串中搜索子串 853 854 pred 函数 返回先前的参数 855 856 random 函数 返回一随机函数 857 858 randomize 函数 用一随机数初始化内置的随机数生成器 859 860 read 函数 对有格式的文件,读一文件组件到变量中; 861 862 对文本文件,读一个或多个值到一个或多个变量中 863 864 readln 函数 执行read过程,然后跳到文件下一行 865 866 readonly 属性 只读属性 867 868 reallocmem 函数 分配一动态变量 869 870 rename 函数 重命名外部文件 871 872 renamefile 函数 对文件重命名 873 874 reset 函数 打开已有的文件 875 876 rewrite 函数 建立并打开一新的文件 877 878 rmdir 函数 删除空的子目录 879 880 round 函数 将实数值舍入为整型值 881 882 runerror 函数 停止程序的执行 883 884 scrollbars 属性 滚动条状态 885 886 seek 函数 将文件的当前指针移动到指定的组件上 887 888 seekeof 函数 返回文件的文件结束状态 889 890 seekeoln 函数 返回文件的行结束状态 891 892 selectedcolor 属性 选中颜色 893 894 setmemorymanager 函数 设置内存管理器的入口点 895 896 settextbuf 函数 给文本文件指定i/o缓冲区 897 898 shape 属性 显示的形状 899 900 showexception 函数 显示意外消息与地址 901 902 sin 函数 正弦函数 903 904 sizeof 函数 返回参数所占的字节数 905 906 smallchange 属性 最小改变值 907 908 sorted 属性 是否允许排序 909 910 sqr 函数 平方函数 911 912 sqrt 函数 平方根函数 913 914 startmargin 属性 开始边缘 915 916 state 属性 控件当前状态 917 918 str 函数 将数值转换为字符串 919 920 stralloc 函数 给以null结束的字符串分配最大长度-1的缓冲区 921 922 strbufsize 函数 返回存储在由stralloc分配的字符缓冲区的最大字符数 923 924 strcat 函数 将一字符串附加到另一字符串尾并返回合并的字符串 925 926 strcomp 函数 比较两个字符串 927 928 strcopy 函数 将一个字符串复制到另一个字符串中 929 930 strdispose 函数 释放堆栈上的字符串 931 932 strecopy 函数 将一字符串复制到另一个字符串并返回结果字符串尾部的指针 933 934 strend 函数 返回指向字符串尾部的指针 935 936 stretch 属性 自动适应控件的大小 937 938 strfmt 函数 格式化一系列的参数 939 940 stricomp 函数 比较两个字符串(不区分大小写) 941 942 stringtowidechar 函数 将ansi字符串转换为unicode字符串 943 944 strlcat 函数 将一字符串中的字符附加到另一字符串尾并返回合并的字符串 945 946 strlcomp 函数 以最大长度比较两个字符串 947 948 strlcopy 函数 将一个字符串中的字符复制到另一个字符串中 949 950 strlen 函数 返回字符串中的字符数 951 952 strlfmt 函数 格式化一系列的参数,其结果中包含有指向目标缓冲区的指针 953 954 strlicomp 函数 以最大长度比较两个字符串(不区分大小写) 955 956 strlower 函数 将字符串中的字符转换为小写 957 958 strmove 函数 将一个字符串中的字符复制到另一个字符串中 959 960 strnew 函数 在堆栈上分配一个字符串 961 962 strpas 函数 将以null结束的字符串转换为pascal类的字符串 963 964 strpcopy 函数 将pascal类的字符串复制为以null结束的字符串 965 966 strplcopy 函数 从pascal类的最大长度字符串复制为以null结束的字符串 967 968 strpos 函数 返回一个字符串在另一个字符串中首次出现指针 969 970 strrscan 函数 返回字符串中最后出现字符的指针 971 972 strscan 函数 返回字符串中出现首字符的指针 973 974 strtodate 函数 将字符串转换为日期格式 975 976 strtodatetime 函数 将字符串转换为日期/时间格式 977 978 strtofloat 函数 将给定的字符串转换为浮点数 979 980 strtoint 函数 将字符串转换为整型 981 982 strtointdef 函数 将字符串转换为整型或默认值 983 984 strtotime 函数 将字符串转换为时间格式 985 986 strupper 函数 将字符串中的字符转换为大写 987 988 style 属性 类型选择 989 990 suce 函数 返回后继的参数 991 992 swap 函数 交换参数的高低地址位 993 994 tabs 属性 标记每一项的内容 995 996 tabindex 属性 标记索引 997 998 text 属性 显示的文本 999 1000 texttofloat 函数 将字符串(以null结束的格式)转换为浮点数 1001 1002 time 函数 返回当前的时间 1003 1004 timetostr 函数 将时间格式转换为字符串 1005 1006 trim 函数 从给定的字符串中删除前导和尾部的空格及控制字符 1007 1008 trimleft 函数 从给定的字符串中删除首部的空格及控制字符 1009 1010 trimright 函数 从给定的字符串中删除尾部的空格及控制字符 1011 1012 trunc 函数 将实型值截取为整型值 1013 1014 truncate 函数 截去当前文件位置后的内容 1015 1016 unselectedcolor 属性 未选中颜色 1017 1018 upcase 将字符转换为大写 1019 1020 uppercase 将给定的字符串变为大写 1021 1022 val 函数 将字符串转换为整型值 1023 1024 vararraycreate 函数 以给定的界限和维数建立变体数组 1025 1026 vararraydimcount 函数 返回给定变体的维数 1027 1028 vararrayhighbound 函数 返回给定变体数组维数的上界 1029 1030 vararraylock 函数 锁定给定的变体数组 1031 1032 vararraylowbound 函数 返回给定变体数组维数的下界 1033 1034 vararrayof 函数 返回指定变体的数组元素 1035 1036 vararrayredim 函数 通过改变上限来调整变体的大小 1037 1038 vararrayunlock 函数 解锁指定的变体数组 1039 1040 varastype 函数 将变体转换为指定的类型 1041 1042 varcase 函数 将变体转换为指定的类型并保存他 1043 1044 varclear 函数 清除指定的变体 1045 1046 varcopy 函数 将指定的变体复制为指定的变体 1047 1048 varformdatetime 函数 返回包含日期时间的变体 1049 1050 varisarray 函数 测试变体是否为数组 1051 1052 varisempty 函数 测试变体是否为unassigned 1053 1054 varisnull 函数 测试变体是否为null 1055 1056 vartodatetime 函数 将给定的变体转换为日期时间 1057 1058 vartype 函数 将变体转换为指定的类型并保存他 1059 1060 visible 属性 控件的可见性 1061 1062 wantreturns 属性 为true时,按回车键产生一个回车符; 1063 1064 为false时,按下ctrl+enter才产生回车符 1065 1066 write 命令 对有格式的文件,写一变量到文件组件中; 1067 1068 对文本文件,写一个或多个值到文件中 1069 1070 writeln 命令 执行write过程,然后输出一行结束标志 1071 1072 widecharlentostring 函数 将ansi字符串转换为unicode字符串 1073 1074 widecharlentostrwar 函数 将unicode字符串转换为ansi字符串变量 1075 1076 widechartostring 函数 将unicode字符串转换为ansi字符串 1077 1078 widechartostrvar 函数 将unicode字符串转换为ansi字符串变量 1079 1080 =========================================================== 1081 ◇[DELPHI]产生鼠标拖动效果 1082 通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL: 1083 var xpanel,ypanel,xlabel,ylabel:integer; 1084 PANEL的MouseMove事件:xpanel:=x;ypanel:=y; 1085 PANEL的DragOver事件:xpanel:=x;ypanel:=y; 1086 LABEL的MouseMove事件:xlabel:=x;ylabel:=y; 1087 LABEL的EndDrag事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel; 1088 1089 ◇[DELPHI]取得WINDOWS目录 1090 uses shellapi; 1091 getwindowsdirectory(windir,sizeof(windir)); 1092 或者从注册表中读取,位置: 1093 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 1094 SystemRoot键,取得如:C:\WINDOWS 1095 1096 trunc() 1097 1098 ◇[DELPHI]关于文件、目录操作 1099 Chdir('c:\abcdir');转到目录 1100 Mkdir('dirname');建立目录 1101 Rmdir('dirname');删除目录 1102 GetCurrentDir;//取当前目录名,无'\' 1103 Getdir(0,s);//取工作目录名s:='c:\abcdir'; 1104 Deletfile('abc.txt');//删除文件 1105 Renamefile('old.txt','new.txt');//文件更名 1106 ExtractFilename(filelistbox1.filename);//取文件名 1107 ExtractFileExt(filelistbox1.filename);//取文件后缀 1108 1109 ◇[DELPHI]处理文件属性 1110 attr:=filegetattr(filelistbox1.filename); 1111 if (attr and faReadonly)=faReadonly then ... //只读 1112 if (attr and faSysfile)=faSysfile then ... //系统 1113 if (attr and faArchive)=faArchive then ... //存档 1114 if (attr and faHidden)=faHidden then ... //隐藏 1115 1116 ◇[DELPHI]执行程序外文件 1117 WINEXEC//调用可执行文件 1118 winexec('command.com /c copy *.* c:\',SW_Normal); 1119 winexec('start abc.txt'); 1120 ShellExecute或ShellExecuteEx//启动文件关联程序 1121 function executefile(const filename,params,defaultDir:string;showCmd:integer):THandle; 1122 ExecuteFile('C:\abc\a.txt','x.abc','c:\abc\',0); 1123 ExecuteFile('http://tingweb.yeah.net','','',0); 1124 ExecuteFile('mailto:tingweb@wx88.net','','',0); 1125 1126 ◇[DELPHI]取得系统运行的进程名 1127 var hCurrentWindow:HWnd;szText:array[0..254] of char; 1128 begin 1129 hCurrentWindow:=Getwindow(handle,GW_HWndFrist); 1130 while hCurrentWindow <> 0 do 1131 begin 1132 if Getwindowtext(hcurrnetwindow,@sztext,255)>0 then listbox1.items.add(strpas(@sztext)); 1133 hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext); 1134 end; 1135 end; 1136 1137 ◇[DELPHI]关于汇编的嵌入 1138 Asm End; 1139 可以任意修改EAX、ECX、EDX;不能修改ESI、EDI、ESP、EBP、EBX。 1140 1141 ◇[DELPHI]关于类型转换函数 1142 FloatToStr//浮点转字符串 1143 FloatToStrF//带格式的浮点转字符串 1144 IntToHex//整数转16进制 1145 TimeToStr 1146 DateToStr 1147 DateTimeToStr 1148 FmtStr//按指定格式输出字符串 1149 formatDateTime('YYYY-MM-DD,hh-mm-ss',DATE); 1150 1151 ◇[DELPHI]字符串的过程和函数 1152 Insert(obj,target,pos);//字符串target插入在pos的位置。如插入结果大于target最大长度,多出字符将被截掉。如 Pos在255以外,会产生运行错。例如,st:='Brian',则Insert('OK',st,2)会使st变为'BrOKian'。 1153 Delete(st,pos,Num);//从st串中的pos(整型)位置开始删去个数为Num(整型)个字符的子字串。例如,st:='Brian',则Delete(st,3,2)将变为Brn。 1154 Str(value,st);//将数值value(整型或实型)转换成字符串放在st中。例如,a=2.5E4时,则str(a:10,st)将使st的值为' 25000'。 1155 Val(st,var,code);//把字符串表达式st转换为对应整型或实型数值,存放在var中。St必须是一个表示数值的字符串,并符合数值常数的规则。在转换过程中,如果没有检测出错误,变量code置为0,否则置为第一个出错字符的位置。例如,st:=25.4E3,x是一个实型变量,则 val(st,x,code)将使X值为25400,code值为0。 1156 Copy(st.pos.num);//返回st串中一个位置pos(整型)处开始的,含有num(整型)个字符的子串。如果pos大于st字符串的长度,那就会返回一个空串,如果pos在255以外,会引起运行错误。例如,st:='Brian',则Copy(st,2,2)返回'ri'。 1157 Concat(st1,st2,st3……,stn);//把所有自变量表示出的字符串按所给出的顺序连接起来,并返回连接后的值。如果结果的长度 255,将产生运行错误。例如,st1:='Brian',st2:=' ',st3:='Wilfred',则Concat(st1,st2,st3)返回'Brian Wilfred'。 1158 Length(st);//返回字符串表达式st的长度。例如,st:='Brian',则Length(st)返回值为5。 1159 Pos(obj,target);//返回字符串obj在目标字符串target的第一次出现的位置,如果target没有匹配的串,Pos函数的返回值为0。例如,target:='Brian Wilfred',则Pos('Wil',target)的返回值是7,Pos('hurbet',target)的返回值是0。 1160 1161 ◇[DELPHI]关于处理注册表 1162 uses Registry; 1163 var reg:Tregistry; 1164 reg:=Tregistry.create; 1165 reg.rootkey:='HKey_Current_User'; 1166 reg.openkey('Control Panel\Desktop',false); 1167 reg.WriteString('Title Wallpaper','0'); 1168 reg.writeString('Wallpaper',filelistbox1.filename); 1169 reg.closereg; 1170 reg.free; 1171 1172 ◇[DELPHI]关于键盘常量名 1173 VK_BACK/VK_TAB/VK_RETURN/VK_SHIFT/VK_CONTROL/VK_MENU/VK_PAUSE/VK_ESCAPE 1174 /VK_SPACE/VK_LEFT/VK_RIGHT/VK_UP/VK_DOWN 1175 F1--F12:$70(112)--$7B(123) 1176 A-Z:$41(65)--$5A(90) 1177 0-9:$30(48)--$39(57) 1178 1179 ◇[DELPHI]操作Cookie 1180 response.cookies("name").domain:='http://www.086net.com'; 1181 with response.cookies.add do 1182 begin 1183 name:='username'; 1184 value:='username'; 1185 end 1186 1187 ◇[DELPHI]增加到文档菜单连接 1188 uses shellapi,shlOBJ; 1189 shAddToRecentDocs(shArd_path,pchar(filepath));//增加连接 1190 shAddToRecentDocs(shArd_path,nil);//清空 1191 1192 ◇[DELPHI]判断鼠标按键 1193 if GetAsyncKeyState(VK_L(M,R)Button)<>0 then ... //左键 1194 1195 ◇[DELPHI]设置窗体的最大显示 1196 onformCreate事件 1197 self.width:=screen.width; 1198 self.height:=screen.height; 1199 1200 ◇[DELPHI]按键接受消息 1201 OnCreate事件中处理:Application.OnMessage:=MyOnMessage; 1202 procedure Tform1.MyOnMessage(var MSG:TMSG;var Handle:Boolean); 1203 begin 1204 if msg.message=256 then ... //ANY键 1205 if msg.message=112 then ... //F1 1206 if msg.message=113 then ... //F2 1207 end; 1208 1209 ◇[杂类]隐藏共享文件夹 1210 共享效果:可访问,但不可见(在资源管理、网络邻居中) 1211 取共享名为:direction$ 1212 访问://computer/dirction/ 1213 1214 ◇[DELPHI]随机产生文本色 1215 randomize;//随机种子 1216 memo1.font.color:=rgb(random(255),random(255),random(255)); 1217 1218 ◇[DELPHI]文件名的非法字符过滤 1219 for i:=1 to length(s) do 1220 if s in ['\','/',':','*','?','<','>','|'] then 1221 1222 ◇[DELPHI]转换函数的定义及说明 1223 datetimetofiledate (datetime:Tdatetime):longint; 将Tdatetime格式的日期时间值转换成DOS格式的日期时间值 1224 datetimetostr (datetime:Tdatetime):string; 将Tdatatime格式变量转换成字符串,如果datetime参数不包含日期值,返回字符串日期显示成为00/00/00,如果datetime参数中没有时间值,返回字符串中的时间部分显示成为00:00:00 AM 1225 datetimetostring (var result string; 1226 const format:string; 1227 datetime:Tdatetime); 根据给定的格式字符串转换时间和日期值,result为结果字符串,format为转换格式字符串,datetime为日期时间值 1228 datetostr (date:Tdatetime) 使用shortdateformat全局变量定义的格式字符串将date参数转换成对应的字符串 1229 floattodecimal (var result:Tfloatrec;value: 1230 extended;precision,decimals: 1231 integer); 将浮点数转换成十进制表示 1232 floattostr (value:extended):string 将浮点数value转换成字符串格式,该转换使用普通数字格式,转换的有效位数为15位。 1233 floattotext (buffer:pchar;value:extended; 1234 format:Tfloatformat;precision, 1235 digits:integer):integer; 用给定的格式、精度和小数将浮点值value转换成十进制表示形式,转换结果存放于buffer参数中,函数返回值为存储到buffer中的字符位数,buffer是非0结果的字符串缓冲区。 1236 floattotextfmt (buffer:pchar;value:extended; 1237 format:pchar):integer 用给定的格式将浮点值value转换成十进制表示形式,转换结果存放于buffer参数中,函数返回值为存储到buffer中的字符位数。 1238 inttohex (value:longint;digits:integer): 1239 string; 将给定的数值value转换成十六进制的字符串。参数digits给出转换结果字符串包含的数字位数。 1240 inttostr (value:longint):string 将整数转换成十进制形式字符串 1241 strtodate (const S:string):Tdatetime 将字符串转换成日期值,S必须包含一个合法的格式日期的字符串。 1242 strtodatetime (const S:string):Tdatetime 将字符串S转换成日期时间格式,S必须具有MM/DD/YY HH:MM:SS[AM|PM]格式,其中日期和时间分隔符与系统时期时间常量设置相关。如果没有指定AM或PM信息,表示使用24小时制。 1243 strtofloat (const S:string):extended; 将给定的字符串转换成浮点数,字符串具有如下格式: 1244 [+|-]nnn…[.]nnn…[<+|-><E|e><+|->nnnn] 1245 strtoint (const S:string):longint 将数字字符串转换成整数,字符串可以是十进制或十六进制格式,如果字符串不是一个合法的数字字符串,系统发生ECONVERTERROR异常 1246 strtointdef (const S:string;default: 1247 longint):longint; 将字符串S转换成数字,如果不能将S转换成数字,strtointdef函数返回参数default的值。 1248 strtotime (const S:string):Tdatetime 将字符串S转换成TDATETIME值,S具有HH:MM:SS[AM|PM]格式,实际的格式与系统的时间相关的全局变量有关。 1249 timetostr (time:Tdatetime):string; 将参数TIME转换成字符串。转换结果字符串的格式与系统的时间相关常量的设置有关。 1250 1251 ◇[DELPHI]处理“右键菜单”方法 1252 var 1253 reg: TRegistry; 1254 begin 1255 reg := TRegistry.Create; 1256 reg.RootKey:=HKEY_CLASSES_ROOT; 1257 reg.OpenKey('*\shell\check\command', true); 1258 reg.WriteString('', '"' + application.ExeName + '" "%1"'); 1259 reg.CloseKey; 1260 reg.OpenKey('*\shell\diary', false); 1261 reg.WriteString('', '操作(&C)'); 1262 reg.CloseKey; 1263 reg.Free; 1264 showmessage('DONE!'); 1265 end; 1266 1267 ◇[DELPHI]发送虚拟键值ctrl V 1268 procedure sendpaste; 1269 begin 1270 keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); 1271 keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), 0, 0); 1272 keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), KEYEVENTF_KEYUP, 0); 1273 keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); 1274 end; 1275 1276 ◇[DELPHI]当前的光驱的盘符 1277 procedure getcdrom(var cd:char); 1278 var 1279 str:string; 1280 drivers:integer; 1281 driver:char; 1282 i,temp:integer; 1283 begin 1284 drivers:=getlogicaldrives; 1285 temp:=(1 and drivers); 1286 for i:=0 to 26 do 1287 begin 1288 if temp=1 then 1289 begin 1290 driver:=char(i+integer('a')); 1291 str:=driver+':'; 1292 if getdrivetype(pchar(str))=drive_cdrom then 1293 begin 1294 cd:=driver; 1295 exit; 1296 end; 1297 end; 1298 drivers:=(drivers shr 1); 1299 temp:=(1 and drivers); 1300 end; 1301 end; 1302 1303 ◇[DELPHI]字符的加密与解密 1304 function cryptstr(const s:string; stype: dword):string; 1305 var 1306 i: integer; 1307 fkey: integer; 1308 begin 1309 result:=''; 1310 case stype of 1311 0: setpass; 1312 begin 1313 randomize; 1314 fkey := random($ff); 1315 for i:=1 to length(s) do 1316 result := result+chr( ord(s) xor i xor fkey); 1317 result := result + char(fkey); 1318 end; 1319 1: getpass 1320 begin 1321 fkey := ord(s[length(s)]); 1322 for i:=1 to length(s) - 1 do 1323 result := result+chr( ord(s) xor i xor fkey); 1324 end; 1325 end; 1326 1327 □◇[DELPHI]向其他应用程序发送模拟键 1328 var 1329 h: THandle; 1330 begin 1331 h := FindWindow(nil, '应用程序标题'); 1332 PostMessage(h, WM_KEYDOWN, VK_F9, 0);//发送F9键 1333 end; 1334 1335 1336 □◇[DELPHI]得到图像上某一点的RGB值 1337 procedure Tform1.Image1MouseDown(Sender: TObject; Button: TMouseButton; 1338 Shift: TShiftState; X, Y: Integer); 1339 var 1340 red,green,blue:byte ; 1341 i:integer; 1342 begin 1343 i:= image1.Canvas.Pixels[x,y]; 1344 Blue:= GetBvalue(i); 1345 Green:= GetGvalue(i): 1346 Red:= GetRvalue(i); 1347 Label1.Caption:=inttostr(Red); 1348 Label2.Caption:=inttostr(Green); 1349 Label3.Caption:=inttostr(Blue); 1350 end; 1351 1352 ◇[DELPHI]如何判断字符串是否是有效EMAIL地址 1353 function IsEMail(EMail: String): Boolean; 1354 var s: String;ETpos: Integer; 1355 begin 1356 ETpos:= pos('@', EMail); 1357 if ETpos > 1 then 1358 begin 1359 s:= copy(EMail,ETpos+1,Length(EMail)); 1360 if (pos('.', s) > 1) and (pos('.', s) < length(s)) then 1361 Result:= true else Result:= false; 1362 end 1363 else 1364 Result:= false; 1365 end; 1366 1367 DELPHI]取机器BIOS信息 1368 with Memo1.Lines do 1369 begin 1370 Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061)))); 1371 Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091)))); 1372 Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5)))); 1373 Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71)))); 1374 end; 1375 1376 ◇[DELPHI]网络下载文件 1377 uses UrlMon; 1378 1379 function DownloadFile(Source, Dest: string): Boolean; 1380 begin 1381 try 1382 Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0; 1383 except 1384 Result := False; 1385 end; 1386 end; 1387 1388 if DownloadFile('http://www.borland.com/delphi6.zip, 'c:\kylix.zip') then 1389 ShowMessage('Download succesful') 1390 else ShowMessage('Download unsuccesful') 1391 1392 ◇[DELPHI]解析服务器IP地址 1393 uses winsock 1394 1395 function IPAddrToName(IPAddr : String): String; 1396 var 1397 SockAddrIn: TSockAddrIn; 1398 HostEnt: PHostEnt; 1399 WSAData: TWSAData; 1400 begin 1401 WSAStartup($101, WSAData); 1402 SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); 1403 HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); 1404 if HostEnt<>nil then result:=StrPas(Hostent^.h_name) else result:=''; 1405 end; 1406 1407 ◇[DELPHI]取得快捷方式中的连接 1408 function ExeFromLink(const linkname: string): string; 1409 var 1410 FDir, 1411 FName, 1412 ExeName: PChar; 1413 z: integer; 1414 begin 1415 ExeName:= StrAlloc(MAX_PATH); 1416 FName:= StrAlloc(MAX_PATH); 1417 FDir:= StrAlloc(MAX_PATH); 1418 StrPCopy(FName, ExtractFileName(linkname)); 1419 StrPCopy(FDir, ExtractFilePath(linkname)); 1420 z:= FindExecutable(FName, FDir, ExeName); 1421 if z > 32 then 1422 Result:= StrPas(ExeName) 1423 else 1424 Result:= ''; 1425 StrDispose(FDir); 1426 StrDispose(FName); 1427 StrDispose(ExeName); 1428 end; 1429 1430 ◇[DELPHI]控制TCombobox的自动完成 1431 {'Sorted' property of the TCombobox to true } 1432 var lastKey: Word; //全局变量 1433 //TCombobox的OnChange事件 1434 procedure Tform1.AutoCompleteChange(Sender: TObject); 1435 var 1436 SearchStr: string; 1437 retVal: integer; 1438 begin 1439 SearchStr := (Sender as TCombobox).Text; 1440 if lastKey <> VK_BACK then // backspace: VK_BACK or $08 1441 begin 1442 retVal := (Sender as TCombobox).Perform(CB_FINDSTRING, -1, LongInt(PChar(SearchStr))); 1443 if retVal > CB_Err then 1444 begin 1445 (Sender as TCombobox).ItemIndex := retVal; 1446 (Sender as TCombobox).SelStart := Length(SearchStr); 1447 (Sender as TCombobox).SelLength := 1448 (Length((Sender as TCombobox).Text) - Length(SearchStr)); 1449 end; // retVal > CB_Err 1450 end; // lastKey <> VK_BACK 1451 lastKey := 0; // reset lastKey 1452 end; 1453 //TCombobox的onKeyDown事件 1454 procedure Tform1.AutoCompleteKeyDown(Sender: TObject; var Key: Word; 1455 Shift: TShiftState); 1456 begin 1457 lastKey := Key; 1458 end; 1459 1460 ◇[DELPHI]如何清空一个目录 1461 function EmptyDirectory(TheDirectory :String ; Recursive : Boolean) : 1462 Boolean; 1463 var 1464 SearchRec : TSearchRec; 1465 Res : Integer; 1466 begin 1467 Result := False; 1468 TheDirectory := NormalDir(TheDirectory); 1469 Res := FindFirst(TheDirectory + '*.*', faAnyFile, SearchRec); 1470 try 1471 while Res = 0 do 1472 begin 1473 if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then 1474 begin 1475 if ((SearchRec.Attr and faDirectory) > 0) and Recursive 1476 then begin 1477 EmptyDirectory(TheDirectory + SearchRec.Name, True); 1478 RemoveDirectory(PChar(TheDirectory + SearchRec.Name)); 1479 end 1480 else begin 1481 DeleteFile(PChar(TheDirectory + SearchRec.Name)) 1482 end; 1483 end; 1484 Res := FindNext(SearchRec); 1485 end; 1486 Result := True; 1487 finally 1488 FindClose(SearchRec.FindHandle); 1489 end; 1490 end; 1491 1492 ◇[DELPHI]安装程序如何添加到Uninstall列表 1493 操作注册表,如下: 1494 1.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall键下建立一个主键,名称任意。 1495 例HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUninstall 1496 2.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUnistall下键两个串值, 1497 这两个串值的名称是特定的:DisplayName和UninstallString。 1498 3.给串DisplayName赋值为显示在“删除应用程序列表”中的名称,如'Aiming Uninstall one'; 1499 给串UninstallString赋值为执行的删除命令,如 C:\WIN97\uninst.exe -f"C:\TestPro\aimTest.isu" 1500 1501 ◇[DELPHI]截获WM_QUERYENDSESSION关机消息 1502 type 1503 Tform1 = class(Tform) 1504 procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION; 1505 procedure CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND; 1506 private 1507 { Private declarations } 1508 public 1509 { Public declarations } 1510 end; 1511 1512 procedure Tform1.WMQueryEndSession(var Message: TWMQueryEndSession); 1513 begin 1514 Showmessage('computer is about to shut down'); 1515 end; 1516 1517 ◇[DELPHI]得到硬盘序列号 1518 var SerialNum : pdword; a, b : dword; Buffer : array [0..255] of char; 1519 begin 1520 if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), SerialNum, a, b, nil, 0) then Label1.Caption := IntToStr(SerialNum^); 1521 end; 1522 1523 =======================================================