Delphi属性
DELPHI控件属性方法事件及常用函数
DELPHI控件属性方法事件及常用函数DELPHI是一种面向对象的编程语言,用于开发Windows平台上的应用程序。
在DELPHI中,控件是程序的可视化部件,用于用户界面的创建和交互。
以下是一些常用的DELPHI控件属性、方法、事件和常用函数的详细介绍。
一、控件属性:1. Name属性:用于指定控件的名称,以便在程序中引用它。
2. Caption属性:用于指定控件的显示文本。
3. Visible属性:用于控制控件是否可见。
4. Enabled属性:用于控制控件是否可用。
5. Color属性:用于指定控件的背景颜色。
6. Font属性:用于指定控件的字体。
7. Width和Height属性:用于指定控件的宽度和高度。
8. Top和Left属性:用于指定控件在父容器中的位置。
9. Parent属性:用于指定控件的父容器。
二、控件方法:1. SetFocus方法:用于使控件获得焦点。
2. Show方法:用于显示当前控件。
3. Hide方法:用于隐藏当前控件。
4. BringToFront方法:用于将当前控件移到其他控件之前显示。
5. SendToBack方法:用于将当前控件移到其他控件之后显示。
6. Invalidate方法:用于使控件的绘制区域无效,触发重绘操作。
三、控件事件:1. OnClick事件:当用户单击控件时触发。
2. OnDblClick事件:当用户双击控件时触发。
3. OnEnter事件:当控件获得焦点时触发。
4. OnExit事件:当控件失去焦点时触发。
5. OnKeyPress事件:当用户按下键盘上的字符键时触发。
6. OnMouseDown事件:当用户按下鼠标按钮时触发。
7. OnMouseUp事件:当用户释放鼠标按钮时触发。
8. OnMouseMove事件:当用户移动鼠标时触发。
四、常用函数:1. ShowMessage函数:用于在屏幕上显示一个消息框。
2. MessageBox函数:用于在屏幕上显示一个消息框,并且返回用户的选择。
Delphi的类和对象(二)-类的属性
Delphi的类和对象(⼆)-类的属性unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;//TMyClass1 类⾥⾯只有两个字段(变量来到类⾥⾯称做字段)TMyClass1 = classFName: string; {字段命名⼀般⽤ F 开头, 应该是取 field 的⾸字母}FAge: Integer; {另外: 类的字段必须在⽅法和属性前⾯}end;{这个类中的两个字段, 可以随便读写; 在实际运⽤中, 这种情况是不存在的.}//TMyClass2 类⾥⾯包含两个属性(property)、两个⽅法、两个和 TMyClass1 相同的字段TMyClass2 = classprivateFName: string;FAge: Integer;procedure SetAge(const Value: Integer);procedure SetName(const Value: string);publishedproperty Name: string read FName write SetName;property Age: Integer read FAge write SetAge stored True default88;//设置默认值并将属性值存储到窗体⽂件中(.dfm)end;//TMyClass3继承⾃TMyClass2TMyClass3 = class(TMyClass2)publicproperty Age NoDefault;{//当在⽗类中声明了⼀个带有默认值的属性后,要对其进⾏覆盖时,如果不指定新的默认值,应使⽤NoDefault关键字}end;{但这⾥的字段: FName、FAge 和⽅法: SetAge、SetName 是不能随便访问的,因为, 它们在 strict private 区内, 被封装了, 封装后只能在类内部使⽤.属性⾥⾯有三个要素:1、指定数据类型: 譬如 Age 属性是 Integer 类型;2、如何读取: 譬如读取 Age 属性时, 实际上读取的是 FAge 字段;3、如何写⼊: 譬如希尔 Age 属性时, 实际上是通过 SetAge ⽅法.属性不过是⼀个桥.通过属性存取字段和直接存取字段有什么区别?通过属性可以给存取⼀定的限制,譬如: ⼀个⼈的 age 不可能超过 200 岁, 也不会是负数; ⼀个⼈的名字也不应该是空值.看 implementation 区 TMyClass2 类的两个⽅法的实现, 就增加了这种限制.}varForm1: TForm1;implementation{$R *.dfm}{ TMyClass2 }procedure TMyClass2.SetAge(const Value: Integer);beginif (Value>=0) and (Value<200) thenFAge := Value;end;procedure TMyClass2.SetName(const Value: string);beginif Value<>''thenFName := Value;end;//测试:procedure TForm1.Button1Click(Sender: TObject);varclass1: TMyClass1;class2: TMyClass2;beginclass1 := TMyClass1.Create;class2 := TMyClass2.Create;class1.FAge := 1000; {TMyClass1 中的 FAge 字段可以接受⼀个离奇的年龄}class2.Age := 99; {通过 TMyClass2 中的 Age 属性, 只能赋⼀个合理的值}//class2.FAge := 99; {TMyClass2 中的 FAge 字段被封装了, 在这⾥⽆法使⽤}class1.Free;class2.Free;end;end.属性的存储: storedproperty ButtonSize: Integer read FButtonSize write SetButtonSize default 0;property Color: TColor read FColor write SetColor default clBtnHighlight;property Increment: TScrollBarInc read FIncrement write FIncrement stored IsIncrementStored default 8;property Margin: Word read FMargin write FMargin default 0;property ParentColor: Boolean read FParentColor write SetParentColor default True;property Position: Integer read FPosition write SetPosition default 0;property Range: Integer read FRange write SetRange stored IsRangeStored default 0;property Smooth: Boolean read FSmooth write FSmooth default False;property Size: Integer read FSize write SetSize default 0;property Style: TScrollBarStyle read FStyle write SetStyle default ssRegular;property ThumbSize: Integer read FThumbSize write SetThumbSize default 0;property Tracking: Boolean read FTracking write FTracking default False;property Visible: Boolean read FVisible write SetVisible default True;这是类TControlScrollBar中的属性定义,其中的Range属性中存在stored IsRangeStored定义。
delphi教程
delphi教程
Delphi 是一种基于 Pascal 的编程语言,用于创建窗体应用程序和控制台应用程序。
以下是一些Delphi的教程和指南,可以帮助您入门以及深入了解Delphi的各种功能和特性。
1. Delphi 简介和基础知识
- Delphi 是什么?它的历史和背景
- 安装和设置 Delphi 开发环境
- Delphi IDE 的界面和基本功能介绍
- Delphi 的 Pascal 语法和常用关键字
2. Delphi 窗体应用程序开发
- 创建一个简单的窗体应用程序
- 窗体的属性和事件
- 使用组件和控件设计用户界面
- 处理用户输入和事件响应
3. Delphi 数据库应用程序开发
- 连接和操作数据库
- 使用 SQL 查询和更新数据库
- 数据库表格和字段的创建和管理
- 数据集和数据绑定
4. Delphi 高级特性和技巧
- 使用面向对象编程技术
- 使用线程和并发处理
- 图形和图像处理
- 异常处理和调试技巧
5. Delphi 与其他技术的集成
- 使用外部 DLL 和动态链接库
- 与 Web 服务进行通信
- 与其他编程语言进行互操作
- 创建和使用自定义组件和控件
以上是一些Delphi教程的主要内容,在学习过程中,您可以通过搜索更多的资料来深入了解每个主题。
准备好了解Delphi 的强大功能和灵活性吗?开始学习吧!。
DELPHI 表格控件DBGridEh全属性设置详解 最全的属性设置说明
DELPHI 表格控件DBGridEh属性设置详解----白波九道-----Allowedoperations[alopInsertEh,alopUpdateE h,alopDeleteEh,alopAppen dEh]允许操作类型:插入、更新、删除、追加Allowedselections[gstRecordBookmarks,gst Rectangle,gstColumns,gst All] gstRecordBookmarks:书签选中行 gstRectangle :区域选择 gstColumns :列选择 gstAll :所有AutoFitColWidths以自动重置列宽来设置网格的宽度等于客户区宽度AlwaysShowEditBu tton列显示下拉编辑按钮 AutoDropDown 自动下拉框DblClickNextVal 双击单元格为下一个值,数值为加1,列表下下一个 DropDownShowTitl es下拉框显示标题 DropDownSizing 下拉框可否手动调整大小 EndEllipsis 列内容显示不全的显示省略号 [Footer].Tooltips 底栏是否显示提示 HighLightRequired Layout内容位置 Alignment 标题对齐方式 Color 标题颜色EndEllipsis 标题过长用省略号结束 Orientation 标题文字方向 TitleButton 是否显示标题按钮 TitleTooltips 标题是否显示提示 ColumnDefValuesEh (列缺省值)Tooltips是否显示提示Columns[index]/Columns[ColumnName] 列对象,可用索引和名称调用 ColumnsOptimizeWidth根据内容自动调整列宽 Constraints 控件尺寸约束规定 ContraColCount 右侧锁定列 Ctl3D 3d 风格显示 Cursor显示鼠标指针样式 Active 激活数据分组 Color汇总行颜色DefaultStateExpand ed 默认显示是否为为全展开 Font 汇总行字体显示选项DataGrouping(数据分组设置) 表格中显示如EXCEL 中的分类汇总效果须加 MemT ableEh DataSetDriverEh,GroupLevels分组的级数如先按国别分组再按城市分GroupPanelVisible是否显示顶部的分组图示面板 ParentColor 使用父件颜色设置 Uses 添加EhLibMTE ParentFont 使用父件字体设置 AutoEdit自动提交表格修改到数据源 Dataset 数据集选项 Enabled 启用数据源 Datasoure (数据源设置) Tag 数据源标记(LongInt)DefaultDrawing 使用缺省的方式绘制表格,如为FALSE 须 OnDrawDataCell 事件中提供自己的例程 DrawGraphicDataDrawMemoText显示文本式备注字段EditActions[geaCutEh,geaCopyEh,gea PasteEh,geaDeleteEh,geaS electAllEh] 编辑属性,设置是否可以剪切、复制、粘贴、删除、选择 sebshowOnlyforCur Celleh只在当前单元格显示 sebshowOnlyforCur Roweh只在当前行显示 sebshowOnlyWhen GridActiveEh 当表格激活时显示EditButtonShowOptio ns(编辑按钮显示选项)sebshowOnlyWhen DataEditingEh当单元格进入编辑状态时显示 EvenRowColor 偶数行颜色FixedColor 固定区域颜色(如表头列头) Flat 平面显示效果(标题行渐变色须启用) Font 字体设置选项 FooterColor 底栏颜色 FooterFont 底栏字体设置 FooterRowCount 底栏行数 FrozenCols左侧冻结列数 ExtScrollBarSmoothStep True 平滑滚动/False 按列滚动 Tracking True 跟踪显示/Fasle 松开后显示 HorzScrollBar (水平滚动条设置) Visible 是否显示 Imemode 输入法模式选项 ImeName输入法 gioShowRowIndicatorEh 显示行指针 gioShowRecNoEh 显示行号 IndicatorOption (行首指示选项)gioShowRowselCheckbox esEh显示行选择框 IndicatorTitle (行道指示标题)DropdownMenupmNoVisibleCols/ PopupMenu1表头下拉菜单样式ShowDropdownSign显示下拉箭头图案 TitleButton 按钮是否启用 UseGlobalMenu用全局菜单 Left左端位置 MinAutoFitWidth 自适应宽度最小值 Name 控件名称 OddRowColor奇数行颜色 dgEdit能否编辑,dgAlwaysShowEditor 总是显示编辑项,选中时单击单元格直接进入编辑状态,否则双击进入编辑状态 dgTitles 显示列标题 dgIndicator 显示行首指针dgColumnResize 可否调整列宽 dgColLines 显示列线 dgRowLines 显示行线dgTabs 接收TAB 键移动到下一单元格 dgRowSelect整行选择 dgAlwaysShowSelection 显示选择区域 dgConfirmDelete 删除时确认 dgCancelOnExitOptions(表格通用选项)dgMultiSelect 可多行选择dghFixed3D 固定区(表头列头)3D 效果(渐变色须启用) dghFrozen3D 冷区3D 效果 dghFooter3D 栏底3D 效果 dghData3D数据区3D 效果 dghResizeWholeRightPartdghHighlightFocus 高光选择焦点dghClearSelection 移到下一个单元时是否清除已选记录 dghFitRowHeightToText 按文本适应行高 dghAutoSortMarking 自动排序 dghMultiSortMarking 多级排序 dghEnterAsTab 回车键作为TAB dghTraceColSizing 移动列宽时动态显示内容dghIncSearch允许在数据网格中进行增量搜索 Ctrl+F - 开始增量搜索。
DELPHI基础教程
DELPHI基础教程第十九章Delphi自定义部件开发(二)19.2.2 Delphi部件编程19.2.2.1 创建属性属性(Property)是部件中最特殊的部分,主要因为部件用户在设计时可以看见和操作它们,并且在交互过程中能立即得到返回结果。
属性也很重要,因为如果将它们设计好后,将使用户更容易地使用,自己维护起来也很容易。
为了使你在部件中更好地使用属性,本部分将介绍下列内容:●为什么要创建属性●属性的种类●公布(publishing)继承的属性●定义部件属性●编写属性编辑器1. 为什么要创建属性属性提供非常重要的好处,最明显的好处是属性在设计时能出现在Object Inspector窗口中,这将简化编程工作,因为你只需读用户所赋的值,而不要处理构造对象的参数。
从部件使用者的观点看,属性象变量。
用户可以给属性赋值或读值,就好象属性是对象的域。
从部件编写者的观点看属性比对象的域有更强的功能;⑴用户可以在设计时设置属性这是非常重要的,因为不象方法,只能在运行时访问。
属性使用户在运行程序之前就能定制部件,通常你的部件不应包含很多的方法,它们的功能可以通过属性来实现。
⑵属性能隐藏详细的实现细节⑶属性能引起简单地赋值之外的响应,如触发事件⑷用于属性的实现方法可以是虚拟方法,这样看似简单的属性在不同的部件中,将实现不同的功能。
2. 属性的类型属性可以是函数能返回的任何类型,因为属性的实现可以使用函数。
所有的Pascal类型,兼容性规则都适用属性。
为属性选择类型的最重要的方面是不同的类型出现在Object Inspector窗口中的方式不同。
Object Inspector将按不同的类型决定其出现的方式。
你也能在注册部件时描述不同的属性编辑器。
下表列出属性出现在Object Inspector窗口中的方式表19.3 属性出现在Object Inspector窗口中的方式━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━属性类型处理方式───────────────────────────────────────简单类型Numeric、Character和String属性出现在Object Inspector中,用户可以直接编辑枚举类型枚举类型的属性显示值的方式定义在代码中。
delphi控件属性大全
delphi控件属性大全-详解-简介2014年01月23日22:46:03 阅读数:3310更多个人分类:delphibutton 组件:CAPTION 属性:用于在按钮上显示文本内容Cancel 属性:是否设置成默认的取消按钮,当设置为真的时候(true)按ESC 触发改按钮的事件!Default 属性:是否设置成默认的确认按钮,当设置为真的时候按ENTER键的时候触发事件Hint 属性:设置当鼠标在按钮上短暂停留是显示的提示内容。
Showhint 属性:是否显示提示内容默认为假!Bitbtn 组件Kind 属性:他的值就是位图按钮组件上所显示的图标!GLYPH 属性:用于在位图按钮上显示加载后的位图图形!Numclyphs 属性:用于指定位图按钮上所能使用的位图个数!Layout 属性:用于指定位图在位图组件上的位置!Speedbutton 组件Flat 属性:是否具有OFFICE 2000的风格Groupindex 属性:设置分组。
DOWN 属性:设置改按钮是否处于按下状态Allowallup 属性:设置同一组的快速按钮是否具有同时弹起的状态。
Radiobutton 组件Checked 是否处于选中状态Alignment 用于设置选择框和文字的排列方式!Checkbox 组件Allowgrayed 用来设置当前组件被选种时,是否为变灰状态!State 设置当前复选框的状态。
文本类组件label 组件Alignment 用来设置标签中的文本在水平方向的排列方式!AUTOSIZE 用来设置标签的尺寸大小,是否随CAPTION属性中文字的字体大小而进行自动调节!Font 用来设置显示文字的字体,颜色!Layout 用于设置标签中的文本在垂直方向的排列方式!WORDWRAP 用于设置是否自动换行!EDIT组件Charcase 用于设置组件中文字的大小写显示方式!TEXT 用于显示编辑框中的文字内容Modified 用来判断edit组件里的文字内容是否被修改过,若为假,就是没有被修改过!Passwordchar 设置显示密码字符!memo组件lines 用于访问框中每一行的内容Maxlength 设置文本框中最大的文字输入量Scrollbar 设置是否需要滚动条Wantretruns 用于设置在框中按’enter’键是否起回车作用Wanttabs 用于设置在框中按’tab’键是否起移位作用。
delphi 基本数据类型
Delphi 基本数据类型1. 概述Delphi 是一种面向对象的编程语言,它提供了丰富的数据类型用于存储和操作数据。
在 Delphi 中,数据类型用于定义变量、常量和函数的参数和返回值的类型。
本文将介绍 Delphi 的基本数据类型,包括整数类型、浮点数类型、字符类型、布尔类型和字符串类型。
2. 整数类型Delphi 提供了多种整数类型,包括有符号和无符号整数。
下面是一些常用的整数类型:•Byte:无符号 8 位整数,取值范围为 0 到 255。
•ShortInt:有符号 8 位整数,取值范围为 -128 到 127。
•Word:无符号 16 位整数,取值范围为 0 到 65535。
•SmallInt:有符号 16 位整数,取值范围为 -32768 到 32767。
•Integer:有符号 32 位整数,取值范围为 -2147483648 到 2147483647。
•Cardinal:无符号 32 位整数,取值范围为 0 到 4294967295。
•Int64:有符号 64 位整数,取值范围为 -9223372036854775808 到9223372036854775807。
3. 浮点数类型Delphi 提供了两种浮点数类型:单精度浮点数和双精度浮点数。
•Single:单精度浮点数,占用 4 个字节,精度为 7 位有效数字。
•Double:双精度浮点数,占用 8 个字节,精度为 15 位有效数字。
4. 字符类型Delphi 使用 Char 类型表示单个字符,使用 String 类型表示字符串。
Char 类型占用 2 个字节,可以存储 Unicode 字符。
String 类型则可以存储任意长度的字符串。
5. 布尔类型Delphi 的布尔类型只有两个取值:True 和 False。
布尔类型在条件判断和逻辑运算中非常常用。
6. 其他数据类型除了上述基本数据类型,Delphi 还提供了一些其他的数据类型,包括枚举类型、集合类型和指针类型等。
delphi颜色常量 单元
delphi颜色常量单元Delphi是一种流行的编程语言,常用于开发Windows操作系统上的应用程序。
在Delphi中,颜色常量是非常重要的一部分,它们用于设置图形界面中各个控件的颜色属性。
Delphi中定义了一些常用的颜色常量,这些常量可以直接在代码中使用,而不需要手动指定具体的RGB值。
下面是一些常用的Delphi 颜色常量及其对应的颜色值:1. clBlack:黑色(#000000)2. clMaroon:褐红色(#800000)3. clGreen:绿色(#008000)4. clOlive:橄榄色(#808000)5. clNavy:海军蓝(#000080)6. clPurple:紫色(#800080)7. clTeal:蓝绿色(#008080)8. clGray:灰色(#808080)9. clSilver:银色(#C0C0C0)10. clRed:红色(#FF0000)11. clLime:酸橙色(#00FF00)12. clYellow:黄色(#FFFF00)13. clBlue:蓝色(#0000FF)14. clFuchsia:洋红(#FF00FF)15. clAqua:青色(#00FFFF)16. clLtGray:浅灰色(#C0C0C0)17. clDkGray:深灰色(#808080)18. clWhite:白色(#FFFFFF)这些颜色常量可以在编程中轻松地应用于各种图形界面控件的颜色属性设置。
例如,如果想要将一个按钮的背景颜色设置为红色,可以使用以下代码:Button1.Color := clRed;此外,Delphi还提供了其他颜色常量和函数,用于生成更多的颜色变化和效果。
比如,Delphi中有TColor类型的变量,用于存储颜色值,可以用代码:varMyColor: TColor;然后通过函数调用获取具体的颜色值,例如:MyColor := RGBToColor(255, 0, 0); //设置为红色这样,MyColor变量就被设置为了红色的颜色值。
DELPHI常见属性说明【二】
DELPHI常见属性说明【⼆】常⽤DELPHI控件属性设置说明⽬录TForm ClassTPanel组件TToolBar ClassTToolButton ClassTTimer ClassTADOConnection ClassTADOQuery ClassTADODataSet ClassTDBGrid ClassTADOStoredProc ClassTButton ClassTBitBtn ClassTComboBox ClassTStaticText ClassTLabel ClassTEdit ClassTGroupBox ClassTRadioGroup ClassTListbox ClassTTreeView ClassTDataModule ClassVC++使⽤串⼝I. Open 16II. ConfigurationIII. ReadIV. WriteV. CloseConclusionLicenseTForm ClassTForm代表⼀个标准的应⽤程序窗⼝。
在设计阶段,当你在窗体设计器内创建窗体时,他们作为窗体类的⼦节点被执⾏。
窗体能代表应⽤程序的主窗⼝,或者对话框,或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:指定控件的尺⼨约束。
delphi属性翻译
DELPHI常见属性说明:ALIGN 设置组件对齐(同其父容器)方式(运行时画面状态)BORDERSTYLE 设置组件边框形状CAPTION 设置组件标题CTL3D 设置组件边框是否为3D模式,若BORDERSTYLE设置为BSNONE则此属性无效COLOR 设定组件背景颜色CURSOR 设定鼠标经过组件时光标所显示的形状ENABLED 设定组件是否能使用,当设为FALSE时组件会呈灰色FONT 设定组件内文字的字型、字体大小、颜色等HEIGHT 设定组件高度HELPCONTENT 用来为帮助说明文件中的索引值建立关联LEFT 设定组件与父组件左边框间的距离POPUPMENU 设定鼠标右键(弹出式)快捷菜单TABORDER 设定组件在按下TAB键后焦点(FOCUS)移动的顺序TABSTOP 若设为FALSE,则按TAB键后焦点并不会在此组件上停留TOP 设定组件与父组件上边框间的距离VISIBLE 设定组件是否可见,此属性只在执行时起作用WIDTH 设定组件显示宽度DELPHI常见事件说明:ONCHANGE 当组件有所改变时触发的事件ONCLICK 当在此组件上按下鼠标左键时触发的事件ONDBLCLICK 当在此组件上双击鼠标左键时触发的事件ONENTER 当焦点进入此组件时触发的事件ONEXIT 当切换到其它组件使该组件失去焦点时触发的事件,但当切换到另一窗体或另一应用程序时此事件不会触发ONKEYDOWN 当在拥有焦点的组件上按下某个键时触发的事件,按键包括所有的英文、数字键、方向键、功能键等ONKEYPRESS 当在拥有焦点的组件上按下某个键时触发的事件,但按键只包括所有的英文、数字键、TAB、BACKSPACE、ENTER、ESCONKEYUP 当使用者放开键盘上的按键时触发的事件,按键看ONKEYDOWN ONMOUSEDOWN 当鼠标键在某个组件按下时触发的事件(其参数包括哪个鼠标键被按下、是否有特殊键(CTRL、ALT、SHIFT)被按下以及鼠标当前的坐标)ONMOUSEMOVE 当鼠标在组件内移动时触发的事件ONMOUSEUP 当鼠标键在组件上方放开时所触发的事件ONPAINT 在组件需要被重画时触发的事件,此时可进行自定义画法窗体组件(FORM)常见属性及事件属性 说明ACTIVE 指示此窗体是否拥有FOCUSACTIVECONTROL 指示窗体中目前拥有FOCUS的组件ACTIVEMDICHILD 指示主窗体中目前拥有FOCUS的子窗体第 1 页ACTIVEOLECONTROL 用于取得或设定此窗体上的OLE控制,以响应FOCUS改变BORDERICONS 指定哪些ICON显示在窗体的TITLE BAR上BORDERSYTLE 用以指定窗体BORDER外观及行为CANVAS 提供使用者可在窗体上CLIENT内自行显示的画板,一般在ONPAINT事件中使用CLIENTHANDLE 提供可存取系统内部使用的MDI CLIENT WINDOW HANDLE CLIENTHEIGHT 窗体客户区高度CLIENTRECT 窗体客户区所对应的矩形CLIENTWIDTH 窗体客户区宽度DEFAULTMONITOR 指定此窗体所显示的预设的显示器,用于多显示器环境下DESIGNER 此窗体的设计界面,一般不用用户设定DropTARGET 用以指定窗体是否为目前DRAG AND Drop动作的目标FLOATING 用以指示此窗体是否正在停泊在另一个视窗内FORMSTATE 用于指示此窗体所处状态FORMSTYLE 用于指示窗体的样式HELPFILE 用于指定HELP文件ICON 指定窗体最小化时所显示的ICONKEYPREVIEW 指定此窗体是否需在目前的ACTIVE组件之前取得键盘输入MDICHILDCOUNT 用于取得子窗体数目MDICHILDREN 用于取得子窗体(数组)MENU 用于指定窗体主菜单MODALRESULT 当窗体作用为MODAL对话框时,作为对话框的效果MONITOR 用于指示窗体所显示的显示器OLDCreateORDER 指定ONCreate和ONDESTROY事件何时发生OLEFORMOBJECT 对包含在此窗体内的OLE对象指定OLEFORM界面PARENT 设定此窗体的PARENTPARENTBIDIMODE 指定是否此窗体使用PARENT的BIDIMODE PIXELSPERINCH 表示此窗体设计时系统上字形的比例POSITION 表示此窗体的大小及位置PRINTSCALE 表示此窗体打印的比例SCALED 用于指定窗体的大小是否依据PIXELSPERINTCH属性来指定TILEMODE 用于指定TILE方法被调用时子窗体如何排列VISIBLE 用于设定此窗体是否被显示WINDOWMENU 如果窗体是一个MDI PARENT窗体,用于指定视窗的菜单WINDOWSTATE 用于指定窗体如何显示于屏幕中事件 说明ONPAINT 当窗体必须重画时发生ONHELP 当窗体收到HELP请求时发生ONDRAGDrop 当一个对象拉进此窗体并丢下时发生ONDRAGOVER 当一个对象拉进此窗体时发生ONCONSTRAINEDRESIZE 在ONCANRESIZE事件发生后发生ONCANRESIZE 当企图改变窗体尺寸时确认是否改变ONRESIZE 当窗体尺寸改变时发生第 2 页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 用于指定此选项是否CHECKEDCOMMAND 用于指定选项对应的WINDOWS COMMAND IDCOUNT 用于指示此选项的子选项数目DEFAULT 用于指示此选项是否为子菜单的预设项目EANBLED 用于指示此选项是否可用GROUPINDEX 用于指定此选项所隶属的逻辑群组,以控制主菜单之间的合并或单选钮互斥的效果HANDLE 对应此选项的Drop-DOWN菜单的WINDOWS MENU HANDLE HELPCONTEXT 对应此选项的HELP CONTEXT IDHINT 用于设定鼠标移入选项范围时的提示信息IMAGEINDEX 用以指定哪个图像显示于选项旁ITEMS 此选项的子菜单项目数MENUINDEX 此选项的父菜单内的选项索引值第 3 页PARENT 此选项的父菜单的选项RADIOITEM 用于设定此选项是否与同组其它选项互斥SHORTCUT 用于设定此选项的快捷键VISIBLE 用于设定此选项是否可见标签(LABEL)常用属性:属性 说明ALIGNMENT 用于设定标签内文本的对齐方式(水平方向)AUTOSIZE 用于设定标签组件是否根据组件内文本自动调整大小FOCUSCONTROL 用于设定键入标签内快捷键后应接受FOCUS的组件LAYOUT 用于设定标签文本如何放置(垂直方向)SHOWACCELCHAR 用于设定是否允许标签内文本是否显示画有下划线的快捷键值TRANSPARENT 用于设定组件是否透明WORDWRAP 用于设定组件文本宽于组件宽度时是否自动换行编辑框(EDIT、MASKEDIT)的属性:属性 说明AUTOSelect 用于设定组件获得FOCUS后是否自动选取所有文本AUTOSIZE 用于设定组件内增加输入文字时,是否自动加长组件长度BORDERSTYLE 用于设定组件边框风格CANUNDO 用于设定组件内文本是否可UNDOCHARCASE 用于设定组件内文本大小写状况HIDESelectION 用于设定组件失去FOCUS时,选取文本是否有效MAXLENGTH 用于设定组件内输入文本的最大长度MODIFIED 可用于判定组件内文本是否发生更改OEMCONVERT 决定是否将编辑框内文字ASCII码转换成OEM,再由OEM转换为ASCII PASSWORDCHAR 设定密码输入时取代的字符READONLY 设定编辑框内容是否可修改SELLENGTH 指示编辑框内选定文本长度SELSTART 指示编辑框内选定文本的起始位置SELTEXT 指示编辑框内选定文本EDITMASK 指示MASKEDIT掩码字符串按钮(BUTTON、BITBTN、SPEED BUTTON)常见属性:普通BUTTON属性 说明CANCEL 设定此按钮是否为取消钮(取消钮即在程序执行时若按ESC键可执行此按钮的单击事件)DEFAULT 指按下ENTER键后是否执行此按的单击事件MODALRESULT 通常用于对话框窗体中,当按下此钮时,此属性值即成为此按钮隶属的MODAL窗体的MODALRESULTCAPTION 设定或取得此按钮上显示的标题BITBTN属性 说明(图形式按钮)GLYPH 用以设定此按钮上出现的图像KIND 用以指定按钮的类型LAYOUT 用以设定图像在按钮上显示的位置第 4 页MARGIN 用以设定按钮边与图像边之间的距离(以象素为单位)NUMGLYPHS 用以设定按钮图像的数目SPACION 用以设定图像与文本之间的距离(以象素为单位)STYLE 用以设定按钮外观SPEED BUTTON[color=Red]属性 说明(快速按钮)[/color] 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)常见属性:第 5 页(提供互斥选项,因此通常用于成组实现,可用GROUPBOX或RADIOGROUP实现)属性 说明ALIGNMENT 设定单选框标题位置CHECKED 决定单选框状态组框(GROUPBOX)常见属性:(用于作容器)属性 说明CAPTION 组框标题,通常用于指示组件用途单选分组框(RADIOGROUP)常见属性:[color=Red]属性 说明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)常见属性:属性 说明第 6 页MAX 指示滚动条最大值MIN 指示滚动条最小值POSITION 指示滑动块当前位置LARGECHANGE 指示鼠标按滚动条框至滑动块之间区域时移动值SMALLCHANGE 指示鼠标按下滚动条两端箭头时移动值KIND 指示滚动条类型(水平型或垂直型)PAGESIZE 指示按下PAGEUP或PAGEDOWN时变化量图像框组件(IMAGE)常见属性:属性 说明AUTOSIZE 本组件是否调整成为与读取图像同等大小INCREMENTALDISPALY 读较大型图像文件时是否逐步显示PICTURE 指向图像文件对象,能常为文件名STRETCH 是否将图像自动调整为本组件预设大小图像列表框(IMAGELIST)常见属性:属性 说明BKCOLOR 指定背景颜色BLENDCOLOR 前景混合颜色COUNT 组件中图像个数DRAWINGSTYLE 指示本组件绘出图像时采用的方式HEIGHT 组件内各图像的高度值IMAGETYPE 绘制图像时是否加上MASK图像MASKED 设定是否可以加上MASKWIDTH 组件内各图像的宽度值工具栏组件(TOOLBAR)常见属性:属性 说明AUTOSIZE 设定工具栏是否自动调整大小以容纳BAND BUTTONCOUNT 工具栏中按钮个数BUTTONHEIGHT 工具栏中的按钮高度BUTTONS 以INDEX表示在工具栏中的按钮BUTTONWIDTH 工具栏中的按钮宽度DISABLEDIMAGES 当工具按钮DISABLED时显示的图像列表FLAT 是否设定浮出效果HOTIMAGES 当鼠标指向工具栏按钮时显示的图像列表IMAGES 提供显示在工具栏按钮上的图像列表INDENT 设定工具栏左侧间隔大小LIST 设定标题文字是否显示在图形的右方ROWCOUNT 指定工具栏的行数SHOWCAPTIONS 设定工具按钮是否显示文字WARPABLE 设定工具栏排列按钮时是否自动换行TOOLBUTTON[color=Red]属性 说明[/color] ALLOWALLUP 设定同组工具按钮是否可以都未被选取DOWN 设定按钮是否可停在被按下的状态第 7 页DropDOWNMENU 当工具按钮按下时所出现的菜单GROUPED 设定同组工具按钮IMAGEINDEX 关联的图像在图像列表框中的索引值INDETERMINATE 是否提供工具栏第三种情况MARKED 设定按钮是否有阴影STYLE 设定按钮样式WRAP 设定在此工具按钮新增者是否为另一新栏酷栏(COOLBAR)常见属性:属性 说明ALIGN 设定COOLBAR的对齐方式AUTOSIZE 设定酷栏是否自动调整大小以容纳BAND BANDBORDERSTYLE 设定BAND的边界风格BANDS 显示COOLBAR内所有的BANDBITMAP 设定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)常见属性:属性 说明第 8 页FRQUENCY 设定本控制刻度间的间隔值LINESIZE 设定按方向键时移动量MAX 设定POSITION最大值MIN 设定POSITION最小值orIENTATION 设定本组件显示的方向PAGESIZE 设定PAGEUP或PAGEDOWN的移动量POSITION 设定本组件当前位置SELEND 设定选定范围的最后位置SELSTART 设定选定范围的开始位置SLIDERVISIBLE 设定本组件中滑块是否显示TICKMARKS 设定刻度显示的方向位置TICKSTYLE 设定组件刻度记号的配置方式多页标签(PAGECONTROL)常见属性属性 说明MULTILINE 设定组件是否依标签数目自定调整行数ACTIVEPAGE 当前组件选中标签TABPOSITION 设定组件标签所有位置STYLE 设定组件标签样式CAPTION 设定指定标签标题PAGEINDEX 指示标签的位置TABVISIBLE 设定指定标签是否显示第 9 页。
DELPHI控件属性方法事件及常用函数
DELPHI控件属性方法事件及常用函数DELPHI是一种基于对象的编程语言,具有强大的界面设计能力和丰富的控件库。
在DELPHI中,控件是程序中的基本构建块,用于创建图形用户界面(GUI)。
每个控件都有一组属性、方法和事件,可以通过它们来实现控件的定制和交互。
下面是一些常用的DELPHI控件属性、方法、事件及常用函数的介绍。
一、控件属性1. Name:控件的名称,用于在程序中标识和引用控件。
2. Left、Top、Width、Height:控件的位置和尺寸。
3. Caption:显示在控件上的文本。
4. Visible:控件是否可见。
5. Enabled:控件是否可用。
6. Color:控件的背景色。
7. Font:控件的字体设置,包括字体名称、大小、颜色等。
8. Align:控件相对于其父容器的对齐方式。
9. Parent:控件的父容器。
二、控件方法1. Show:显示控件。
2. Hide:隐藏控件。
3. SetFocus:设置控件获得焦点。
4. BringToFront:将控件置于顶层。
5. SendToBack:将控件置于底层。
6. Invalidate:使控件无效,并触发重绘。
7. Perform:发送自定义消息给控件。
8. Free:释放控件。
三、控件事件1. OnClick:鼠标单击控件时触发的事件。
2. OnDblClick:鼠标双击控件时触发的事件。
3. OnEnter:控件获得焦点时触发的事件。
4. OnExit:控件失去焦点时触发的事件。
5. OnKeyDown、OnKeyPress、OnKeyUp:键盘按下、按住和释放时触发的事件。
四、常用函数1. MessageBox:显示一个消息框,用于向用户显示一段消息并等待用户的响应。
2. InputBox:显示一个输入框,用于向用户获取一个字符串输入。
3. StrToInt、StrToFloat:将字符串转换为整数或浮点数。
4. IntToStr、FloatToStr:将整数或浮点数转换为字符串。
Delphi的类和对象(三)-使用数组属性和属性的索引
Delphi的类和对象(三)-使⽤数组属性和属性的索引类中使⽤数组属性,声明⽅式如下:property属性名[参数列表]:属性类型 Read ⽅法名 Write ⽅法名;声明数组属性时要注意:(1)参数表与过程或函数参数表⾮常相似,只是⽤⽅括号,参数表中的参数类型可以是任何类型。
(2)声明数组属性时,访问说明中在Read 或Write 后⾯的必须是⽅法名,不能出现数据成员。
(3)Read 后⾯的⽅法参数表的参数类型和顺序必须与属性参数表相同,Write 后得过程⽅法的参数表中必须列出属性的参数表且与该列表的顺序与属性参数表相同。
在该过程⽅法的最后,是⼀个与属性类型相同的值或常数参数。
(4)数组属性可以通过它的下标访问,下表是传递给读或写⽅法的参数。
(5)在数组属性的⽣命中,不能进⾏存储声明。
但可以使⽤Default 指令符,这时该指令符不是对存储的说明,⽽是指定当前的属性为类中的默认属性。
⽰例:unit Unit4;interfacetypeTmyclass = classprivateFNumber: array[0..100] of String; //读写⽅法私有化(get set)function GetNuber(x: Integer): String;procedure SetNumber(x: Integer; const Value: String);publicproperty Numbers[x: Integer]:String read GetNuber write SetNumber;//数组属性 publicend;implementation{ Tmyclass }function Tmyclass.GetNuber(x: Integer): String;beginResult:= FNumber[x];end;procedure Tmyclass.SetNumber(x: Integer; const Value: String);beginFNumber[x]:= Value;end;end.属性的索引:索引说明⽤来使多个属性共⽤⼀个访问⽅法来设置属性的值。
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和DockDragMode:设置组件拖动模式。
Delphi 属性、函数、事件参考
Delphi 属性、函数、事件参考abort 函数引起放弃的意外处理addexitproc 函数将一过程添加到运行时库的结束过程表中addr 函数返回指定对象的地址adjustlinebreaks 函数将给定字符串的行分隔符调整为cr/lf 序列allocmem 函数在堆栈上分配给定大小的块ansicomparestr 函数比较字符串(区分大小写)ansicomparetext 函数比较字符串(不区分大小写)ansilowercase 函数将字符转换为小写ansiuppercase 函数将字符转换为大写append 函数以附加的方式打开已有的文件assignfile 函数给文件变量赋一外部文件名assigned 函数测试函数或过程变量是否为空beginthread 函数以适当的方式建立用于内存管理的线程blockread 函数读一个或多个记录到变量中blockwrite 函数从变量中写一个或多个记录changefileext 函数改变文件的后缀chdir 函数改变当前目录chr 函数返回指定序数的字符closefile 命令关闭打开的文件comparestr 函数比较字符串(区分大小写)copy 函数返回一字符串的子串datetimetofiledate 函数将delphi 的日期格式转换为dos 的日期格式datetimetostr 函数将日期时间格式转换为字符串datetimetostring 函数将日期时间格式转换为字符串datetostr 函数将日期格式转换为字符串dayofweek 函数返回星期的数值dec 函数递减变量值decodedate 函数将日期格式分解为年月日decodetime 函数将时间格式分解为时、分、秒、毫秒delete 函数从字符串中删除子串deletefile 命令删除文件diskfree 函数返回剩余磁盘空间的大小disksize 函数返回指定磁盘的容量dispose 函数释放动态变量所占的空间disposestr 函数释放字符串在堆栈中的内存空间ditherbackground 命令使背景色的色彩加重或减少50% dragcursor 属性当鼠标按下时光标的形状dragmode 属性按动的作用方式dropdowncount 属性容许的显示数据项的数目editmask 属性编辑模式encodedate 函数将年月日合成为日期格式encodetime 函数将时、分、秒、毫秒合成为时间格式endmargin 属性末尾边缘eoln 函数返回文本文件的行结束状态erase 命令删除外部文件exceptaddr 函数返回引起当前意外的地址exclude 函数从集合中删除一些元素exceptobject 函数返回当前意外的索引extendedselect 属性是否允许存在选择模式,true 时,multiselect 才有意义fileage 函数返回文件已存在的时间fileclose 命令关闭指定的文件filecreate 命令用指定的文件名建立新文件filedatetodatetime 函数将dos 的日期格式转换为delphi 的日期格式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 返回format 函数格式化一系列的参数并返回pascal 字符串formatbuf 函数格式化一系列的参数formatdatetime 函数用指定的格式来格式化日期和时间formatfloat 函数指定浮点数格式frac 函数返回参数的小数部分freemem 函数按给定大小释放动态变量所占的空间getdir 函数返回指定驱动器的当前目录getheapstatus 函数返回内存管理器的当前状态getmem 函数建立一指定大小的动态变量,并将指针指向该处getmemorymanager 函数返回内存管理器的入口点glyph 函数按钮上的图象halt 命令停止程序的执行并返回到操作系统hi 函数返回参数的高地址位high 函数返回参数的上限值int 函数返回参数的整数部分include 函数添加元素到集合中insert 函数在字符串中插入子串inttohex 函数将整型数转换为十六进制数inttostr 函数将整型数转换为字符串ioresult 函数返回最新的i/o 操作完成状态isvalidident 函数测试字符串是否为有效的标识符largechange 属性最大改变值length 函数返回字符串的动态长度lines 属性缺省显示内容ln 函数自然对数函数lo 函数返回参数的低地址位loadstr 函数从应用程序的可执行文件中装载字符资源lowercase 函数将给定的字符串变为小写low 函数返回参数的下限值mkdir 命令建立一子目录move 函数从源到目标复制字节newstr 函数在堆栈上分配新的字符串ondeactivate 事件用户切换到另一应用程序触发ondragover 事件有其他控件从他上面移过触发ord 函数返回序数类的序数outofmemoryerror 命令引起outofmemory 意外pageindex 属性页索引paramcount 函数返回在命令行上传递给程序的参数数量paramstr 函数返回指定的命令行参数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 函数停止程序的执行seek 函数将文件的当前指针移动到指定的组件上seekeof 函数返回文件的文件结束状态seekeoln 函数返回文件的行结束状态setmemorymanager 函数设置内存管理器的入口点settextbuf 函数给文本文件指定i/o 缓冲区showexception 函数显示意外消息与地址sizeof 函数返回参数所占的字节数smallchange 属性最小改变值str 函数将数值转换为字符串stralloc 函数给以null 结束的字符串分配最大长度-1 的缓冲区strbufsize 函数返回存储在由stralloc 分配的字符缓冲区的最大字符数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 函数将字符串中的字符转换为大写suce 函数返回后继的参数swap 函数交换参数的高低地址位texttofloat 函数将字符串(以null 结束的格式)转换为浮点数timetostr 函数将时间格式转换为字符串trunc 函数将实型值截取为整型值truncate 函数截去当前文件位置后的内容unselectedcolor 属性未选中颜色upcase 函数将字符转换为大写uppercase 函数将给定的字符串变为大写val 函数将字符串转换为整型值vararraycreate 函数以给定的界限和维数建立变体数组vararraydimcount 函数返回给定变体的维数vararrayhighbound 函数返回给定变体数组维数的上界vararraylock 函数锁定给定的变体数组vararraylowbound 函数返回给定变体数组维数的下界vararrayof 函数返回指定变体的数组元素vararrayredim 函数通过改变上限来调整变体的大小vararrayunlock 函数解锁指定的变体数组varastype 函数将变体转换为指定的类型varcase 函数将变体转换为指定的类型并保存他varclear 函数清除指定的变体varcopy 函数将指定的变体复制为指定的变体varformdatetime 函数返回包含日期时间的变体varisarray 函数测试变体是否为数组varisempty 函数测试变体是否为unassignedvarisnull 函数测试变体是否为nullvartodatetime 函数将给定的变体转换为日期时间vartype 函数将变体转换为指定的类型并保存他wantreturns 属性为true 时,按回车键产生一个回车符;为false 时,按下ctrl+enter 才产生回车符write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中writeln 命令执行write 过程,然后输出一行结束标志widecharlentostring 函数将ansi 字符串转换为unicode 字符串widecharlentostrwar 函数将unicode 字符串转换为ansi 字符串变量widechartostring 函数将unicode 字符串转换为ansi 字符串widechartostrvar 函数将unicode 字符串转换为ansi 字符串变量。
delphi tglyph用法
delphi tglyph用法
TGlyph是Delphi中TImageList组件的一个属性。
TImageList 是一个用于管理和存储图像的组件,而TGlyph属性则用于设置TImageList中的图像索引。
通过设置TGlyph属性,可以在TImageList中选择不同的图像来显示在控件上。
要使用TGlyph属性,首先需要创建一个TImageList组件,并将一些图像添加到该组件中。
然后,在需要显示图像的控件上,将TGlyph属性设置为所选图像在TImageList中的索引值即可。
例如,假设我们有一个TImageList组件名为ImageList1,其中包含了一些图像。
现在我们有一个TButton控件,我们想让这个按钮显示ImageList1中的第二个图像。
我们可以将按钮的Glyph属性设置为2,即可实现这一目的。
除了TButton控件外,还有一些其他控件也可以使用TGlyph属性,比如TToolButton和TSpeedButton等。
这些控件都具有Glyph 属性,通过设置Glyph属性来显示TImageList中的图像。
总的来说,TGlyph属性的用法就是将TImageList中的图像显
示在其他控件上,通过设置TGlyph属性来选择TImageList中的特定图像。
这样可以方便地管理和显示图像,提高界面的美观性和交互性。
delphi中label的用法
delphi中label的用法在Delphi中,Label组件用于在窗体上显示静态文本或图标。
您可以使用Label控件显示提示信息、标签或任何其他不需要用户进行交互的信息。
首先,在Delphi窗体设计器中拖动一个Label组件到窗体上。
然后,您可以使用以下方法和属性设置Label的外观和行为:1. Caption属性:该属性用于设置Label显示的文本内容。
您可以通过在对象检查器或代码中指定Caption属性来更改文本内容。
```delphiLabel1.Caption := 'Hello World';```2. Font属性:该属性用于设置Label的字体样式,如字体名称、大小和颜色。
```delphi := 'Arial';Label1.Font.Size := 12;Label1.Font.Color := clRed;```3. Alignment属性:该属性用于设置Label的文本对齐方式,包括左对齐、右对齐和居中对齐。
```delphiLabel1.Alignment := taRightJustify;```4. Visible属性:该属性用于设置Label是否可见。
默认情况下,Visible属性为True,即可见。
如果需要隐藏Label,可以将Visible属性设置为False。
```delphiLabel1.Visible := False;```除了以上这些属性之外,Label还具有其他一些属性和事件,如:- Color属性:用于设置Label的背景色。
- AutoSize属性:用于根据文本内容自动调整Label的大小。
- OnMouseDown、OnMouseUp、OnClick等事件:用于处理鼠标操作,如点击、拖动等。
通过设置这些属性和事件,您可以定制Label的外观和行为,使其满足您的特定需求。
希望能对您有所帮助!。
delphi中Cport的各种属性
delphi中Cport的各种属性unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, CPortCtl, Buttons, ComCtrls, WinSkinStore, WinSkinData, CPort;typeTfrmcom = class(TForm)Panel1: TPanel;GroupBox1: TGroupBox;Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;Label5: TLabel;Shpcom: TShape;btnopencom: TButton;Panel2: TPanel;combport: TComComboBox;combbuarte: TComComboBox;combdata: TComComboBox;combparity: TComComboBox;combstopbit: TComComboBox;btnrecclean: TButton;btnstoprec: TButton;stxrec: TStaticText;chkautoclean: TCheckBox;chkrechex: TCheckBox;btnsave: TButton;btnturn: TButton;stxrecsave: TStaticText;Panel3: TPanel;combsecond: TComboBox;Label6: TLabel;chkauto: TCheckBox;chkhex: TCheckBox;btnsendclean: TBitBtn;StaticText3: TStaticText;btnsend: TButton;Panel4: TPanel;StatusBar1: TStatusBar;Panel5: TPanel;Panel6: TPanel;btnselectfile: TButton;btnsendfile: TBitBtn;memsend: TMemo;btncountzero: TButton;Label7: TLabel;Label8: TLabel;Label9: TLabel;btncommand1: TButton;btncommand2: TButton;btncommand3: TButton;Label10: TLabel;TrbTransparence: TTrackBar;Button12: TButton;chktop: TCheckBox;Label11: TLabel;btncommand5: TButton;Label12: TLabel;btncommand4: TButton;Label13: TLabel;btncommand6: TButton;Label14: TLabel;SkinData1: TSkinData;SkinStore1: TSkinStore;com: TComPort;cpdrec: TComDataPacket;OpenDialog1: TOpenDialog;edtsendfile: TEdit;tmsendauto: TTimer;memcommand1: TMemo;memcommand2: TMemo;memcommand4: TMemo;memcommand3: TMemo;memcommand6: TMemo;memcommand5: TMemo;memrec: TRichEdit;chkcrc8: TCheckBox;edtcrc8: TEdit;Label15: TLabel;procedure FormCreate(Sender: TObject);procedure TrbTransparenceChange(Sender: TObject); procedure chktopClick(Sender: TObject);procedure Button12Click(Sender: TObject);procedure combportChange(Sender: TObject);procedure btnopencomClick(Sender: TObject);procedure combbuarteChange(Sender: TObject);procedure combparityChange(Sender: TObject);procedure btnreccleanClick(Sender: TObject);procedure btnstoprecClick(Sender: TObject);procedure btnsaveClick(Sender: TObject);procedure btnturnClick(Sender: TObject);procedure btnsendcleanClick(Sender: TObject);procedure btnselectfileClick(Sender: TObject);procedure cpdrecPacket(Sender: TObject; const Str: String); procedure btnsendClick(Sender: TObject);procedure chkautoClick(Sender: TObject);procedure tmsendautoTimer(Sender: TObject);procedure btnsendfileClick(Sender: TObject);procedure btncountzeroClick(Sender: TObject);procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btncommand1Click(Sender: TObject);procedure btncommand2Click(Sender: TObject);procedure btncommand3Click(Sender: TObject);procedure btncommand4Click(Sender: TObject);procedure btncommand5Click(Sender: TObject);procedure btncommand6Click(Sender: TObject);procedure combdataChange(Sender: TObject);procedure chkcrc8Click(Sender: TObject);procedure Label14Click(Sender: TObject);privatebstop:boolean;{ Private declarations }public{ Public declarations }varfrmcom: Tfrmcom;implementationuses FileCtrl;{$R *.dfm}//接收1个字符,转换成功输出字符对应的数,转换失败输出-1function hex(c:char):integer;varx:integer;begin//if c='' then//x:=0//elseif (ord(c)>=ord('0'))and(ord(c)<=ord('9'))thenx:=ord(c)-ord('0')else if (ord(c)>=ord('a'))and(ord(c)<=ord('f'))thenx:=ord(c)-ord('a')+10else if (ord(c)>=ord('A'))and(ord(c)<=ord('F'))thenx:=ord(c)-ord('A')+10elsex:=-1;result:=x;end;procedure Tfrmcom.FormCreate(Sender: TObject);beginskindata1.LoadFromCollection(skinstore1,0);skindata1.Active:=true;memrec.Text :='';trycom.Connected :=true;if com.Connected thenbeginshpcom.Brush.Color:=clred;shpcom.Pen.Color :=clwhite;statusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) + ',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);btnopencom.Caption :='关闭串⼝';end;exceptshpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;com.Close;statusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) + ',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);showmessage('没有发现此串⼝');end;trymemcommand1.Lines.LoadFromFile('c:\comdata\command1.txt'); memcommand2.Lines.LoadFromFile('c:\comdata\command2.txt'); memcommand3.Lines.LoadFromFile('c:\comdata\command3.txt'); memcommand4.Lines.LoadFromFile('c:\comdata\command4.txt'); memcommand5.Lines.LoadFromFile('c:\comdata\command5.txt'); memcommand6.Lines.LoadFromFile('c:\comdata\command6.txt');MkDir('c:\comdata');end;end;procedure Tfrmcom.TrbTransparenceChange(Sender: TObject);beginfrmcom.AlphaBlend :=true;frmcom.AlphaBlendValue:= TrbTransparence.Position *20;end;procedure Tfrmcom.chktopClick(Sender: TObject);beginif chktop.Checked thenSetWindowPos(frmcom.handle, HWND_TOPMOST, frmcom.Left, frmcom.Top, frmcom.Width, frmcom.Height,0) elseSetWindowPos(frmcom.handle, HWND_NOTOPMOST, frmcom.Left, frmcom.Top,frmcom.Width, frmcom.Height,0);end;procedure GenerateCRC8(value:byte; var CrcValue:byte);varCRC:word;begincrc:= crcvalue xor value;crc:= crc xor (crc shl 1) xor (crc shl 2) xor (crc shl 3) xor (crc shl 4)xor (crc shl 5) xor (crc shl 6) xor (crc shl 7);crc:= (crc and $fe) xor ((crc shr 8) and $01);crcValue:= Crc;end;function GetCrc8(AStr: string; Count:integer):Byte;vari:integer;beginresult:= 0;for i:= 1 to count doGenerateCRC8(ord(Astr[i]), result);result:= result xor $ff;end;function Changefjbh(Afjbh:string): string;varLfjbh: Char;i: Integer;beginresult:='';for i:= 1 to length(Afjbh) div 2 dobeginLfjbh:= chr(strtoint('$' + copy(Afjbh, i*2-1,2)));result:= result + lfjbh;end;end;procedure Tfrmcom.Button12Click(Sender: TObject);beginclose;if com.Connected thencom.Close;procedure /doc/888dabef102de2bd960588b9.html bportChange(Sender: TObject); beginif com.Connected then com.Close;com.Port :=combport.Text;trycom.Open;shpcom.Brush.Color:=clred;shpcom.Pen.Color :=clwhite;btnopencom.Caption :='关闭串⼝';statusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);exceptshpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;com.Close;statusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);showmessage('没有发现此串⼝');btnopencom.Caption :='打开串⼝';end;end;procedure Tfrmcom.btnopencomClick(Sender: TObject);beginif btnopencom.Caption = '打开串⼝' thenbegintrycom.Connected :=true;if com.Connected thenbeginshpcom.Brush.Color:=clred;shpcom.Pen.Color :=clwhite;statusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);btnopencom.Caption :='关闭串⼝';end;exceptstatusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);btnopencom.Caption :='打开串⼝';shpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;com.Close;showmessage('没有发现此串⼝');end;endelseif btnopencom.Caption = '关闭串⼝' thenbegincom.Close;statusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);shpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;btnopencom.Caption :='打开串⼝';end;end;procedure /doc/888dabef102de2bd960588b9.html bbuarteChange(Sender: TObject); beginif com.Connected then com.Close;com.BaudRate :=strtoBaudRate (combbuarte.text);trycom.Open;if com.Connected thenbeginshpcom.Brush.Color:=clred;shpcom.Pen.Color :=clwhite;statusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);btnopencom.Caption :='关闭串⼝';end;exceptshpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;com.Close;statusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);showmessage('没有发现此串⼝');btnopencom.Caption :='打开串⼝';end;end;procedure /doc/888dabef102de2bd960588b9.html bparityChange(Sender: TObject); beginif com.Connected then com.Close;combparity.ApplySettings;trycom.Open;if com.Connected thenbeginshpcom.Brush.Color:=clred;shpcom.Pen.Color :=clwhite;statusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);btnopencom.Caption :='关闭串⼝';end;exceptshpcom.Brush.Color:=clblack;shpcom.Pen.Color :=clwhite;com.Close;statusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits);showmessage('没有发现此串⼝');btnopencom.Caption :='打开串⼝';end;end;procedure Tfrmcom.btnreccleanClick(Sender: TObject);beginmemrec.Text :='';memrec.SetFocus;end;procedure Tfrmcom.btnstoprecClick(Sender: TObject);beginif btnstoprec.Caption ='停⽌显⽰' thenbeginbtnstoprec.Caption :='继续显⽰';bstop:=true;endelsebeginbtnstoprec.Caption :='停⽌显⽰';bstop:=false;end;end;procedure Tfrmcom.btnsaveClick(Sender: TObject);vards:TDatetime;filename:string;beginds:=now();ShortDateFormat := 'yyyymmddhhnnss';filename:=Datetostr(ds);memrec.Lines.SaveToFile(stxrecsave.Caption+'\'+filename+'.doc');end;procedure Tfrmcom.btnturnClick(Sender: TObject);//const// SELDIRHELP = 1000;varDir: string;beginDir := 'C:\COMDATA';// if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then if SelectDirectory('请选择⼀个⽬录', '', Dir) thenstxrecsave.Caption :=Dir;end;procedure Tfrmcom.btnsendcleanClick(Sender: TObject);beginmemsend.Text :='';memsend.SetFocus;end;procedure Tfrmcom.btnselectfileClick(Sender: TObject);beginif opendialog1.Execute thenedtsendfile.text := opendialog1.FileName;end;{function singletodouble(SingleStr: string): string;vari:integer;temp:string;single:char;sinstr:string;begintemp:='';i:=1;sinstr:=SingleStr;while i<=length(sinstr) dobeginsingle:=sinstr[i];if ord(single)<128 thenbegintemp:=temp+#163+chr(ord(single)+128);inc(i);endelsebegintemp:=temp+copy(sinstr,i,2);Inc(i,2);end;end;result:=temp;end; }procedure Tfrmcom.cpdrecPacket(Sender: TObject; const Str: String);varstrtemp:string;i,j:integer;beginj:=0;j:=j+strtointdef(copy(StatusBar1.Panels[1].Text,4,length(StatusBar1.Panels[1].Text)-3),0); if chkrechex.Checked thenbeginfor i:=1 to length(str) do//if str[i]<>' ' thenbeginstrtemp := trim(strtemp+' '+inttohex(ord(str[i]),2));j:=j+1;StatusBar1.Panels[1].Text:='RX:'+inttostr(j);end;if not bstop thenmemrec.Text:= trim(memrec.Text+' ' + strtemp) ;endelsebeginif not bstop thenmemrec.Text :=memrec.Text +str;j:=j+length(str);StatusBar1.Panels[1].Text:='RX:'+inttostr(j);end;if chkautoclean.Checked thenif memrec.Lines.Count>2000 thenmemrec.Text :='';end;function strtobcd(s:string):integer;vartmpint1,tmpint2:integer;beginif length(s)=1 thenbeginresult:=hex(s[1]) ;endelsebeginif length(s)=2 thenbegintmpint1:=hex(s[1]);tmpint2:=hex(s[2]);if (tmpint1=-1)or(tmpint2=-1) thenbeginresult:=-1;endelsebeginresult:=tmpint1*16+tmpint2;end;endelsebeginresult:=-1;end;end;end;procedure Tfrmcom.btnsendClick(Sender: TObject);vari,j,len:integer;crc8:integer;strsend:string;strtemp,strtempsend:string;beginif chkhex.Checked thenbeginstrsend :=memsend.Text;len :=length(strsend);for i:=1 to len dobeginif strsend[i]<>' 'thenstrtempsend:=strtempsend+ strsend[i] ;end;strsend:=strtempsend;strtempsend:='';i:=1;j:=0;j:=j+strtointdef(copy(StatusBar1.Panels[2].Text,4,length(StatusBar1.Panels[2].Text)-3),0); len :=length(strsend);while ibegintrystrtempsend:=strtempsend + chr(strtobcd(copy(strsend,i,2)));i:=i+2;j:=j+1;StatusBar1.Panels[2].Text:='TX:'+inttostr(j);exceptend;end;strsend :=strtempsend;if chkcrc8.Checked thenbegincrc8 :=GetCrc8(strsend,length(strsend));edtcrc8.Text :=inttohex(crc8,2);//edtcrc8.Text := inttostr(GetCrc8(strsend,length(strsend)));strsend :=strsend+chr(crc8);end;trycom.WriteStr(strsend);exceptend;endelsebeginstrsend :=memsend.Text;trycom.WriteStr(strsend);exceptend;j:=0;j:=j+strtointdef(copy(StatusBar1.Panels[2].Text,4,length(StatusBar1.Panels[2].Text)-3),0); j:=j+length(strsend);StatusBar1.Panels[2].Text:='TX:'+inttostr(j);end;end;procedure Tfrmcom.chkautoClick(Sender: TObject);beginif chkauto.Checked thenbegintmsendauto.Interval:=strtointdef(combsecond.Text,1000);tmsendauto.Enabled :=true;endelsebegintmsendauto.Enabled :=false;end;end;procedure Tfrmcom.tmsendautoTimer(Sender: TObject);beginbtnsendClick(self);end;procedure Tfrmcom.btnsendfileClick(Sender: TObject);varf:TextFile;strsend:string;i,j:integer;ch:char;beginAssignFile(f,edtsendfile.Text);trytryreset(f);exceptend;i:=0;j:=0;j:=j+strtointdef(copy(StatusBar1.Panels[2].Text,4,length(StatusBar1.Panels[2].Text)-3),0); while not Eof(F) dobeginRead(F,ch);i:=i+1;j:=j+1;StatusBar1.Panels[2].Text:='TX:'+inttostr(j);strsend:=strsend+ch;end;finallyclosefile(f);end;trycom.WriteStr(strsend);exceptend;end;procedure Tfrmcom.btncountzeroClick(Sender: TObject);beginStatusBar1.Panels[2].Text:='TX:'+inttostr(0);StatusBar1.Panels[1].Text:='RX:'+inttostr(0);end;procedure Tfrmcom.FormClose(Sender: TObject; var Action: TCloseAction);begintrymemcommand1.Lines.SaveToFile('c:\comdata\command1.txt');memcommand2.Lines.SaveToFile('c:\comdata\command2.txt');memcommand3.Lines.SaveToFile('c:\comdata\command3.txt');memcommand4.Lines.SaveToFile('c:\comdata\command4.txt');memcommand5.Lines.SaveToFile('c:\comdata\command5.txt');memcommand6.Lines.SaveToFile('c:\comdata\command6.txt');exceptMkDir('c:\comdata');end;end;procedure sendcommand(cmd:string);varstrsend,strtempsend:string;i,j,len,crc8:integer;beginif frmcom.chkhex.Checked thenbeginstrsend :=cmd;len :=length(strsend);for i:=1 to len dobeginif strsend[i]<>' 'thenstrtempsend:=strtempsend+ strsend[i] ;end;strsend:=strtempsend;strtempsend:='';i:=1;j:=0;j:=j+strtointdef(copy(frmcom.StatusBar1.Panels[2].Text,4,length(frmcom.StatusBar1.Panels[2].Text)-3),0); len :=length(strsend);while ibegintrystrtempsend:=strtempsend + chr(strtobcd(copy(strsend,i,2)));i:=i+2;j:=j+1;frmcom.StatusBar1.Panels[2].Text:='TX:'+inttostr(j);exceptend;end;strsend :=strtempsend;if frmcom.chkcrc8.Checked thenbegincrc8 :=GetCrc8(strsend,length(strsend));frmcom.edtcrc8.Text :=inttohex(crc8,2);//edtcrc8.Text := inttostr(GetCrc8(strsend,length(strsend)));strsend :=strsend+chr(crc8);end;try/doc/888dabef102de2bd960588b9.html .WriteStr(strsend);exceptend;endelsebeginstrsend :=cmd;try/doc/888dabef102de2bd960588b9.html .WriteStr(strsend);exceptend;j:=0;j:=j+strtointdef(copy(frmcom.StatusBar1.Panels[2].Text,4,length(frmcom.StatusBar1.Panels[2].Text)-3),0); j:=j+length(strsend);frmcom.StatusBar1.Panels[2].Text:='TX:'+inttostr(j);end;end;procedure Tfrmcom.btncommand1Click(Sender: TObject);beginsendcommand(memcommand1.Text);end;procedure Tfrmcom.btncommand2Click(Sender: TObject);beginsendcommand(memcommand2.Text);end;procedure Tfrmcom.btncommand3Click(Sender: TObject);beginsendcommand(memcommand3.Text);end;procedure Tfrmcom.btncommand4Click(Sender: TObject);beginsendcommand(memcommand4.Text);end;procedure Tfrmcom.btncommand5Click(Sender: TObject);beginsendcommand(memcommand5.Text);end;procedure Tfrmcom.btncommand6Click(Sender: TObject);beginsendcommand(memcommand6.Text);end;procedure /doc/888dabef102de2bd960588b9.html bdataChange(Sender: TObject);begin{ if com.Connected thenstatusbar1.Panels[0].Text:= com.Port+'打开,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits)elsestatusbar1.Panels[0].Text:= com.Port+'关闭,'+BaudRateToStr(com.BaudRate) +',' + ParityToStr( com.Parity.Bits) +',' + DataBitsToStr(com.DataBits) +',' + StopBitsToStr(com.StopBits); }end;procedure Tfrmcom.chkcrc8Click(Sender: TObject);beginif not chkhex.Checked thenchkhex.Checked :=true;end;procedure /doc/888dabef102de2bd960588b9.html bel14Click(Sender: TObject);beginshowmessage('⼩飞设计QQ86652764:Email:tumingfu@/doc/888dabef102de2bd960588b9.html '); end;end.。
大富翁论坛-富翁笔记-Delphi中的属性编辑器
大富翁论坛-富翁笔记-Delphi中的属性编辑器★★★Delphi中的属性编辑器在Delphi 5中给属性编辑器提供了新的特性,使我们能够以任何形式显示属性的名称和值,比如如果属性有一个下拉列表,我们就可以为每一个列表项添加一个图标。
所有的属性编辑器都是从TpropertyEditor 继承下来的。
我们可以为特定的属性类型、属性名或控件注册一个属性编辑器。
Object Inspector检查每一个要显示的属性的名称和类型,选择合适的属性编辑器类。
然后它会创建这个类的一个实例(每个属性对应一个实例)。
当我们选择了另一个控件,Object Inspector会释放全部的属性编辑器对象,然后为新的控件创建新的对象。
属性编辑器可以决定如何显示属性的值以及用户如何设定一个新的属性值。
它通过重载TpropertyEditor的一个或多个方法来实现的。
★★TPropertyEditor是所有属性编辑器的基类。
一、属性Designer: IFormDesigner; 提供对IDE 中的窗体设计器对象的访问;PrivateDirectory: string; 指定保存辅助文件的位置;在以下键值中保存:HKEY_CURRENT_USER\Software\Borland\Delphi .0\Globals\ PrivateDirPropCount: Integer; 指明在编辑属性的组件的数量;Value: string; 代表由GetValue返回的字符串形式的属性的当前值;二、方法Activate; virtual; 当在Object Inspector中一属性被选择时响应;(为空)AllEqual: Boolean; virtual; 返回是否所有被选择的组件的某属性有相同的值;如PropCount为1则返回True. (仅在GetAttributes的返值包括paMultiSelect被调用)AutoFill: Boolean; virtual; 返回是否属性值可以键入并自动完成;(返回True)(仅在GetAttributes的返值包括paValueList被调用)Destroy; override; 析构一个属性编辑器的实例;Edit; virtual; 当在Object Inspector中双击一属性(或点...按钮)时响应;GetAttributes: TPropertyAttributes; virtual;描述属性以便Object Inspector提供合适的控制(决定显示哪个控件及调用什么属性编辑方法);其返值定义如下:paValueList 可以从下拉列表中选择属性值,适用于枚举型的属性TForm.BorderStyle和整型变量如TColor、TCharSet;(此时应覆盖GetValues方法以提供枚举值)paSortList 按字母顺序排列属性值的列表;paSubProperties 包含子属性,子属性右缩进显示。
DELPHI Canvas的属性大全
pmBlack{总是黑色}pmWhite{总是白色}pmNop{画笔无效}pmNot{背景色取反}pmCopy{画笔设置的颜色}pmNotCopy{画笔颜色取反}pmMergePenNot {画笔颜色与背景颜色的反色的组合} pmMaskPenNot{画笔颜色与背景公共色的反色的组合} pmMergeNotPen {画笔颜色取反后与背景颜色的组合} pmMaskNotPen{画笔的反色与背景的公共色的组合} pmMerge{画笔颜色与背景颜色的组合} pmNotMerge{pmMerge 的反色}pmMask{画笔与背景公共颜色的组合} pmNotMask{pmMask 的反色}pmXor{画笔颜色与背景颜色的Xor 组合} pmNotXor{pmXor 的反色}4.4.3 TBrush——画刷对象画刷对象用以填充图形,如用画刷颜色或图案对矩形或椭圆进行填充。
TBrush拥有一个HBrush(画刷句柄)。
画刷的颜色定义在Color属性中。
画刷还有一个Bitmap属性,该属性只能在运行时得到,画刷可使用位图填充图形以产生特殊效果。
位图大小为8个像素点高,8个像素点宽。
Style属性定义了画刷填充图形的图案,如图4.8所示为Style的取值。
取值图案取值图案图4.8 画刷的类型4.4.4 TColor——颜色对象TColor类型用于定义对象的颜色。
很多组件的颜色属性就是TColor 类型,在Graphics单元中TColor定义如下:TColor = -$7FFFFFFF-1..$7FFFFFFF;这是一个32位二进制数据。
Graphic单元中还定义了一些常用的颜色常量,这些常量或直接映射成系统调色板中最相近的颜色,或映射成Windows控制面板中颜色部分的系统视频颜色。
直接映射成系统调色板中的颜色有:ClAqua,CLBlack,ClBlue,ClbkGrray,ClFuchsoa,...,ClYellow映射程序用4字节的二进制码来定义颜色,低3位字节代表RGB相应的颜色,如$00FF0000表示纯蓝,$0000FF00表示纯绿,$000000FF表示纯红,$00000000表示黑色,$00FFFFFF 表示白色。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◇[DELPHI]网络邻居复制文件uses shellapi;copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);◇[DELPHI]产生鼠标拖动效果通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL:var xpanel,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目录uses shellapi;var windir:array[0..255] of char;getwindowsdirectory(windir,sizeof(windir));或者从注册表中读取,位置:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersionSystemRoot键,取得如:C:\WINDOWS◇[DELPHI]在form或其他容器上画线var x,y:array [0..50] of integer;canvas.pen.color:=clred;canvas.pen.style:=psDash;form1.canvas.moveto(trunc(x[i]),trunc(y[i]));form1.canvas.lineto(trunc(x[j]),trunc(y[j]));◇[DELPHI]字符串列表使用var tips:tstringlist;tips:=tstringlist.create;tips.loadfromfile('filename.txt');edit1.text:=tips[0];tips.add('last line addition string');tips.insert(1,'insert string at NO 2 line');tips.savetofile('newfile.txt');tips.free;◇[DELPHI]简单的剪贴板操作richedit1.selectall;richedit1.copytoclipboard;richedit1.cuttoclipboard;edit1.pastefromclipboard;◇[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 (attr and faReadonly)=faReadonly then ... //只读if (attr and faSysfile)=faSysfile then ... //系统if (attr and faArchive)=faArchive then ... //存档if (attr and faHidden)=faHidden then ... //隐藏◇[DELPHI]执行程序外文件WINEXEC//调用可执行文件winexec(' /c copy *.* c:\',SW_Normal);winexec('start abc.txt');ShellExecute或ShellExecuteEx//启动文件关联程序function executefile(const filename,params,defaultDir:string;showCmd:integer):THandle; ExecuteFile('C:\abc\a.txt','x.abc','c:\abc\',0);ExecuteFile('','','',0);ExecuteFile('mailto:tingweb@','','',0);◇[DELPHI]取得系统运行的进程名var hCurrentWindow:HWnd;szText:array[0..254] of char;beginhCurrentWindow:=Getwindow(handle,GW_HWndFrist);while hCurrentWindow <> 0 dobeginif Getwindowtext(hcurrnetwindow,@sztext,255)>0 then listbox1.items.add(strpas(@sztext)); hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext);end;end;◇[DELPHI]关于汇编的嵌入Asm End;可以任意修改EAX、ECX、EDX;不能修改ESI、EDI、ESP、EBP、EBX。
◇[DELPHI]关于类型转换函数FloatToStr//浮点转字符串FloatToStrF//带格式的浮点转字符串IntToHex//整数转16进制TimeToStrDateToStrDateTimeToStrFmtStr//按指定格式输出字符串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)返回'Brian Wilfred'。
Length(st);//返回字符串表达式st的长度。
例如,st:='Brian',则Length(st)返回值为5。
Pos(obj,target);//返回字符串obj在目标字符串target的第一次出现的位置,如果target没有匹配的串,Pos函数的返回值为0。
例如,target:='Brian Wilfred',则Pos('Wil',target)的返回值是7,Pos('hurbet',target)的返回值是0。
◇[DELPHI]关于处理注册表uses Registry;var reg:Tregistry;reg:=Tregistry.create;reg.rootkey:='HKey_Current_User';reg.openkey('Control Panel\Desktop',false);reg.WriteString('Title Wallpaper','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_DOWNF1--F12:$70(112)--$7B(123)A-Z:$41(65)--$5A(90)0-9:$30(48)--$39(57)◇[DELPHI]初步判断程序母语DELPHI软件的DOS提示:This Program Must Be Run Under Win32. VC++软件的DOS提示:This Program Cannot Be Run In DOS Mode.◇[DELPHI]操作Cookieresponse.cookies("name").domain:='';with response.cookies.add dobeginname:='username';value:='username';end◇[DELPHI]增加到文档菜单连接uses shellapi,shlOBJ;shAddToRecentDocs(shArd_path,pchar(filepath));//增加连接shAddToRecentDocs(shArd_path,nil);//清空◇[杂类]备份智能ABC输入法词库windows\system\user.remwindows\system\tmmr.rem◇[DELPHI]判断鼠标按键if GetAsyncKeyState(VK_LButton)<>0 then ... //左键if GetAsyncKeyState(VK_MButton)<>0 then ... //中键if GetAsyncKeyState(VK_RButton)<>0 then ... //右键◇[DELPHI]设置窗体的最大显示onformCreate事件self.width:=screen.width;self.height:=screen.height;◇[DELPHI]按键接受消息OnCreate事件中处理:Application.OnMessage:=MyOnMessage; procedure Tform1.MyOnMessage(var MSG:TMSG;var Handle:Boolean); beginif msg.message=256 then ... //ANY键if msg.message=112 then ... //F1if msg.message=113 then ... //F2end;◇[杂类]隐藏共享文件夹共享效果:可访问,但不可见(在资源管理、网络邻居中)取共享名为:direction$访问://computer/dirction/◇[Java Script]Java Script网页常用效果网页60秒定时关闭<script language="java script"><!--settimeout('window.close();',60000)--></script>关闭窗口<a href="/" onclick="javascript:window.close();return false;">关闭</a>定时转URL<meta http-equiv="refresh" content="40;url=">设为首页<aonclick="this.style.behavior='url(#default#homepage)';this.sethomepage('');"href ="#">设为首页</a>收藏本站<a href="javascript:window.external.addfavorite('','[未名码头]')">收藏本站</a>加入频道<a href="javascript:window.external.addchannel('')">加入频道</a>◇[DELPHI]随机产生文本色randomize;//随机种子memo1.font.color:=rgb(random(255),random(255),random(255));◇[DELPHI]DELPHI5 UPDATE升级补丁序列号100000318590X25fx0◇[DELPHI]文件名的非法字符过滤for i:=1 to length(s) doif s[i] in ['\','/',':','*','?','<','>','|'] then◇[DELPHI]转换函数的定义及说明datetimetofiledate (datetime:Tdatetime):longint; 将Tdatetime格式的日期时间值转换成DOS格式的日期时间值datetimetostr (datetime:Tdatetime):string; 将Tdatatime格式变量转换成字符串,如果datetime 参数不包含日期值,返回字符串日期显示成为00/00/00,如果datetime参数中没有时间值,返回字符串中的时间部分显示成为00:00:00 AMdatetimetostring (var result string;const format:string;datetime:Tdatetime); 根据给定的格式字符串转换时间和日期值,result为结果字符串,format 为转换格式字符串,datetime为日期时间值datetostr (date:Tdatetime) 使用shortdateformat全局变量定义的格式字符串将date参数转换成对应的字符串floattodecimal (var result:Tfloatrec;value:extended;precision,decimals:integer); 将浮点数转换成十进制表示floattostr (value:extended):string 将浮点数value转换成字符串格式,该转换使用普通数字格式,转换的有效位数为15位。