Delphi TStrings 用法

Delphi TStrings 用法
Delphi TStrings 用法

Delphi TStrings 用法

对于TStrings类型变量,需要使用TStringList.Create;创建[luther.gliethttp],否则提示abstract error错误

TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。

常规的用法大家都知道,现在来讨论它的一些高级的用法。

先把要讨论的几个属性列出来:

1、CommaText

2、Delimiter & DelimitedText

3、Names & Values & ValueFromIndex

先看第一个:CommaText。怎么用呢?用代码说话:

const

constr :String = 'aaa,bbb,ccc,ddd';

var

strs :TStrings;

i :Integer;

begin

strs := TStringList.Create;

https://www.360docs.net/doc/8410670889.html,maText := constr;

for i := 0 to Strs.Count-1 do

ShowMessage(Strs[i]);

end;

执行了这段代码后,可以看到ShowMessage显示出来的分别是:aaa bbb ccc ddd。

也就是说,https://www.360docs.net/doc/8410670889.html,maText := constr这一句的作用,就是把一个字符串以','为分割符,分段添加到TStrings中。

那么如果不是以','来分割,又该怎么做呢?现在看第二个例子。使用Delimiter和DelimitedText。

const

constr :String = 'aaa\bbb\ccc\ddd';

var

strs :TStrings;

i :Integer;

begin

strs := TStringList.Create;

strs.Delimiter := '\';

strs.DelimitedText := constr;

for i := 0 to Strs.Count-1 do

ShowMessage(Strs[i]);

end;

可以看到,显示的效果和第一个例子是一模一样的。解释一下:Delimiter为分隔符,默认为:','。DelimitedText就是按Delimiter为分隔符的一个串,得到赋值后回把这个字符串按Delimiter的字符添加到TStrings中。

说到这里,有想起一个属性,QuoteChar。其默认值为:'"'(不包括单引号)

有何用呢?看例子:

const

constr :String = '"aaa"\"bbb"\"ccc"\"ddd"';

var

strs :TStrings;

i :Integer;

begin

strs := TStringList.Create;

strs.Delimiter := '\';

strs.DelimitedText := constr;

for i := 0 to Strs.Count-1 do

ShowMessage(Strs[i]);

end;

显示出来的仍然是aaa bbb ccc ddd。为什么不是:"aaa" "bbb" "ccc" "ddd"呢?

再来看一个例子:

const

constr :String = '|aaa|\|bbb|\|ccc|\|ddd|';

var

strs :TStrings;

i :Integer;

begin

strs := TStringList.Create;

strs.Delimiter := '\';

strs.QuoteChar := '|';

strs.DelimitedText := constr;

for i := 0 to Strs.Count-1 do

ShowMessage(Strs[i]);

end;

显示出来的又是aaa bbb ccc ddd。对比一下,应该不难明白吧?这个就不多说了,用得也不多。

但是还要多说一句,当Delimiter为:','而QuoteChar为:'"'时,DelimitedText 和CommaText是同等的。

最后要说的三个是:Names & Values & ValueFromIndex。

看看下面的代码:

const

constr :String = '0=aaa,1=bbb,2=ccc,3=ddd';

var

strs :TStrings;

i :Integer;

begin

strs := TStringList.Create;

https://www.360docs.net/doc/8410670889.html,maText := constr;

for i := 0 to strs.Count-1 do

begin

ShowMessage(https://www.360docs.net/doc/8410670889.html,s[i]);

ShowMessage(strs.Values[https://www.360docs.net/doc/8410670889.html,s[i]]);

ShowMessage(strs.ValueFromIndex[i]);

end;

end;

通过这个例子不难看出:

这个时候strs中的内容是:

0=aaa

1=bbb

2=ccc

3=ddd

而Names中则是:

1

2

3

在Values中则是:

aaa

bbb

ccc

ddd

这几个属性用来处理ini文件是非常好用的。

另外说一句,在Delphi6下似乎没有ValueFromIndex这个属性

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.360docs.net/doc/8410670889.html, " 定义第3行第2列的文本内容为:“https://www.360docs.net/doc/8410670889.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.360docs.net/doc/8410670889.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

坐席控件开发接口使用说明最新

呼叫中心坐席端控件(EasyAgc.ocx)使用说 明 为什么需要坐席端控件 在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。 坐席端控件支持的开发语言 北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法 tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA

组态王视频控件使用方法

组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 1插入通用控件video control 图1 Ifi人控件 图2 2、单击确定后鼠标变成“ +”状,按住鼠标左键,拉出一个矩形框,松开即可;

图3第三步添加按钮; 图4 第四步设置视频控件动画连接属性,完成后点击“确定”按钮,然后在开发系统界面的文件下拉菜单下选择全部存;

图5 第五步编辑按钮动画连接属性; 1、双击“打开视频”按钮,弹出下图对话框,单击“按下时”; 图6

弹出图XXX对话框选择“控件属性和方法”按钮,弹出(图8)对话框; 图7

选择“ Open Video ”单击确定弹出(图10)对话框了; 授伸名珊 |确定 両毎习 ZJ 取消 查若类型 1揑件方法 2d 屈性戒方进 Kb outB ox CapVll^ToAVI ^LoselTideo G E tl'evKum Zip enAVI 图8 KeadFort

图10 “LONG nReslnde”代表设备号,右键“我的电脑—管理—设备管理器一图像处理设备”双击你安装的视频设备就可以查看你的视频设备号。 关闭视频:视频练习.CIoseVideo(); 拍照:视频练习.SaveVideoFrame(LPCTSTR IpszPicName)" LPCTSTR IpszPicNam” 照片的保存地址和名称; 回放:视频练习.OpenAVI(LPCTSTR lpszFileName) “LPCTSTR lpszFileNam e要回 放的视频保存位置及名称; 摄像:视频练习.CapVideoToAVI(LPCTSTR IpszAVIName)'LPCTSTR lpszAVINam”表示录制的视频将保存的位置及视频文件名称; 抓拍:视频练习.SaveVideoFrameToRect(LPCTSTRlpszPicName) ;“ LPCTSTR IpszPicName”表示抓拍的图片即将保存的BMP文件的位置和名称; 设置视频源:视频练习.VideoSource();设置视频的来源,即选择视频设备; 停止摄像:视频练习.StopCapVideo();

KVHTrend控件使用方法

KVHTrend控件使用方法 KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、.曲线的打印等。该曲线控件最多可以绘制16条曲线。 1、创建历史曲线控件: 在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑” 下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图1所示。 图1 历史曲线控件 2、设置控件固有属性: 控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图2所示。

控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。 2、1 曲线属性页 如图2所示,曲线属性页中下半部分为定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它数据库为数据源。 曲线属性页中上半部分“曲线”是定义曲线图表初始状态的曲线变量、绘制曲线的方式、是否进行曲线比较等: ?列表框:显示已经添加的变量的名称及绘制方式定义等。 ?“增加”按钮:增加变量到曲线图表,并定义曲线绘制方式。 单击该按钮,弹出如图3所示的对话框。 图2 历史曲线控件固有属性

新控件XtraReport使用

软件工程研究所 新控件报表使用方法版本号:13.2.6 制作人:艾传波 2014/11/23

目录 一、提前准备 (2) 二、连接数据库 (3) 三、拖入数据集 (5) 四、报表控件使用 (6) 4.1设置属性实现报表 (6) 4.2通过动态编码实现报表 (17)

一、提前准备 以学生管理系统为例,数据库脚本如下: create table S ( SNO VARCHAR2(3), SNAME VARCHAR2(10), SEX VARCHAR2(10), ADDRESS VARCHAR2(50), MAJOR VARCHAR2(50) ); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('1', '赵一','男','湖北大学三期公寓3037','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('2', '钱二','男','湖北大学三期公寓1000','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('3', '孙三','男','湖北大学三期公寓6890','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('4', '李四','女','湖北大学三期公寓1234','软件工程'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('5', '王五','女','湖北大学三期公寓357','软件工程'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('6', '张六','女','湖北大学三期公寓7688','软件工程'); create table C ( CNO VARCHAR2(3), CNAME VARCHAR2(30), CTEACHER VARCHAR2(10) ); insert into C (CNO, CNAME, CTEACHER) values ('1', '语文', '语文老师'); insert into C (CNO, CNAME, CTEACHER) values ('2', '数学', '数学老师'); insert into C (CNO, CNAME, CTEACHER) values ('3', '英语', '英语老师'); insert into C (CNO, CNAME, CTEACHER) values ('4', '历史', '历史老师'); insert into C (CNO, CNAME, CTEACHER) values ('5', '地理', '地理老师'); insert into C (CNO, CNAME, CTEACHER) values ('6', '生物', '生物老师'); create table SC ( SNO VARCHAR2(3),

datagridview控件使用方法

DataGridView动态添加新行: DataGridView控件在实际应用中非常实用,特别需要表格显示数据时。可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[index].Cells[1].Value = "2"; this.dataGridView1.Rows[index].Cells[2].Value = "监听"; 利用dataGridView1.Rows.Add()事件为DataGridView控件增加新的行,该函数返回添加新行的索引号,即新行的行号,然后可以通过该索引号操作该行的各个单元格,如 dataGridView1.Rows[index].Cells[0].Value = "1"。这是很常用也是很简单的方法。 方法二: DataGridViewRow row = new DataGridViewRow(); DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell(); textboxcell.Value = "aaa"; row.Cells.Add(textboxcell); DataGridViewComboBoxCell comboxcell = new DataGridViewComboBoxCell(); row.Cells.Add(comboxcell); dataGridView1.Rows.Add(row); 方法二比方法一要复杂一些,但是在一些特殊场合非常实用,例如,要在新行中的某些单元格添加下拉框、按钮之类的控件时,该方法很有帮助。DataGridViewRow row = new DataGridViewRow();是创建DataGridView的行对象,DataGridViewTextBoxCell是单元格的内容是个TextBox,DataGridViewComboBoxCell是单元格的内容是下拉列表框,同理可知,DataGridViewButtonCell 是单元格的内容是个按钮,等等。textboxcell是新创建的单元格的对象,可以为该对象添加其属性。然后通过row.Cells.Add(textboxcell)为row对象添加textboxcell单元格。要添加其他的单元格,用同样的方法即可。最后通过dataGridView1.Rows.Add(row)为dataGridView1控件添加新的行row。 DataGridView取得或者修改当前单元格的内容: 当前单元格指的是DataGridView 焦点所在的单元格,它可以通过DataGridView 对象的CurrentCell 属性取得。如果当前单元格不存在的时候,返回Nothing(C#是null) // 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value);

VB编程中网格控件的选用及使用方法_0-最新范文

VB编程中网格控件的选用及使用方法 微软公司的面对对象的程序开发软件VB(VisualBasic)日益成为当前所流行的主流开发工具。作为其显著的特色之一,VB所提供的网格类控件,在实际的数据库管理系统的开发过程中具有很大的实用性和灵活性。本文旨在讨论在使用VB的实际开发过程中,如何有选择的使用VB所提供的网格类控件以及如何方便、简洁的去使用。 随着基于构件开发(Component-BasedDevelopment)技术的发展,供开发者使用的软件构件越来越多,单就VB中可使用的网格类控件也有许多种。网格类控件常用在数据库管理系统的开发中,用来直观地显示表或视图的二维关系,在对数据的操作上,有些控件也提供了很多便捷的方法。同样是完成这些显示和操作数据的功能,面对各式各样的控件,选择那种来达到目的,成了软件开发者必须考虑的问题。唯有选择了一个好的控件,才能提高开发效率,增强软件的功能,达到事半功倍的效果。下面,本人根据自己长期以来积累的实际经验,总结出以下几点网格控件的选用应考虑的方面: 第一,要考虑控件的实际功能。功能强、接口多的控件可以增强应用软件的质量,也可减少编程工作量,当然,这要结合应用需求来定,并不是功能越多越好。提供的功能多了,控件本身就很大,占好几兆空间,增加了程序的冗余代码。另外,一些功能闲置,灵活性太强也可能导致最终用户不易掌握使用。 第二,控件的稳定性要强。作为应用程序的基石,不应选用那些控

件本身容易出错,补丁(patch)太多的版本。 第三,控件的易用性要高。选用那些属性配置合理,事件触发机制明晰流畅,易于设计和使用,项目组中的程序员都容易接受掌握的控件。以下简要介绍几种网格类控件的特点,以供选用。Grid控件:Grid 控件可显示简单的二维表格,不用和数据库直接连接,具有滚动条、行头、列头等特性,运行时可用鼠标调整行列的宽度,可用于浏览数据,若想对数据进行编辑,需结合TextBox控件,或采取其他变通方法。 下面所示画面即为日本东京社会调查研究所开发的《要员管理系统》中硬件管理部分的画面。画面中的下部即为Grid控件,定义其名称为GrdHardComp。 使用时,要首先在下图所示的属性窗口中定义其行列数,控制条格式,字体大小,填充格式,鼠标模式等特性。当然,如果使数据真正写入数据库,还需进行数据库的读写操作。Grid只是提供了一个预览的功能,便于数据的修改。由以上Grid的特点及其使用方法可以看出,在需要对数据库进行大量数据的操作时,为了减少对数据库的直接操作,提高数据库的安全性,使用Grid控件,还是有很大方便的。Grid是VB 在早期版本中就带有的控件,使用简便,稳定性好,在早期的VB开发过程中,使用尤其广泛。但现在与其它控件比较起来功能有些不足。 DBGrid控件:DBGrid是专用来操作数据库的网格控件,可以绑定到Data控件,几乎不用写代码就可方便地对数据进行显示,增加、删除或修改记录,DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新记录或删除修改时对数据进行有效性检验,来实现事务处理功

Delphi 第三方控件使用方法大汇总

//========== 系统环境: Windows 2003 标装版 Delphi7 + Update 1.1 控件有: TeeChart 7.04 FastReport 3.18 2005-11-4 by Robot5 //========== 安装前请册除原有的FR控件。 1. "Tools|Environmet options..."中的"Library"标签面下"Library path"添加FastReport路径。 FastReport 3\FastQB <-这个不知道是什么我这里不加会编译不了 FastReport 3\FastScript FastReport 3\Source FastReport 3\Source\BDE,ADO,IBX,DBX FastReport 3\Source\ExportPack 2. 生成汉化文件 运行"recompile.exe"文件,设置相应选项,我的设置如下: 1.Select the compiler 设置为Delphi7 2.Select the FR3 Version 设置为Professional 3.Select the TeeChart version 设置为TeeChart77 (如你用的是Delphi7中自带的版本这步可以不改) 4.What you want to do 下的Change language To: 设置为Chinese (这个还用说) 这里需要说明一下的是我的TeeChart版本为Pro 7.04不知道这里的设置对不对,第三项中还有个TeeChart77,这还需要高手指点一下(后面的.INC文件中的设置也一样拿不准)。 3. 修改INC文件,有两个文件要修改如下:(如你用的是Delphi7中自带的版本请跳过这一步) FastScript\fs_ireg.inc 找到 //---------- TeeChart component ---------- {$DEFINE TeeChartStd} 将{$DEFINE TeeChartStd}这行注掉。 找到 //---------- TeeChart Pro 7 component ---------- // If you have TeeChart 7, uncomment the following line: //{$DEFINE TeeChart7} 将//{$DEFINE TeeChart7}前面的注释去了,保存 然后是Source\frxReg.inc 要修改的内容同上 4. 编译运行包(其它版本的Delphi选择相对应的文件编译) - FastReport 3\FastQB\fqb70.dpk - FastReport 3\FastScript\fs7.dpk - FastReport 3\FastScript\fsDB7.dpk

网格控件的使用方法

网格控件的使用方法 DBGrid控件是VC6.0里内含的ActiveX控件,它用来进行网格的控制。你的第一印 象和我一样,它肯定和数据库有关,刚开始接触VC的数据库的时候我就使用了它,一直是手写的输入每一行每一列,直到最近一个同事告诉我,你为什么不用RDC呢,我才恍然大悟:原来还有这么一个东西。哈。。。早先写的一些程序都快累四我了。。。。他怎么不早说呢!!不过也好,原来的工作使我熟悉了数据库以及网格的具体操作的方法,有失必有得吗(自我安慰)呵呵。。 如果你是一个初学者,我一并向你介绍这两个控件:DBGrid和RDC。 DBGrid不用说了,是一个网格控件,而RDC是RemoteData Control远程数据控制 控件的缩写。 如果你学习过VB,DBGrid相当于Grid控件,而RDC相当于VB数据控件的Data 控件。 下面让我们来举几个例子吧: 首先,先建立一个基于单文档的工程:GridRDC 单文档,别忘了:) 连续单击下一步,直到第6步: 选择CFormView,这样就可以在View中加入控件了,这是把单文档和对话框结合 的最简洁的办法了,请你记住这种方法。非常的实用的方法! 单击Finish按钮完成工程的建立。 先把“TODO: 在这个对话框里设置表格控制。”这个静态控件删掉,它没用。

好了注意下面的步骤:它是加入ActiveX的基本步骤: 单击菜单中的project->Add To Project->Components and controls...,如下图所示: 经过几十秒的等待以后,出现一个对话框:双击Registered ActiveX Controls 分别选择DBGrid Control和Microsoft RemoteData Control, version 6.0。在 出现的对话框中一串Insert和OK。最后单击Close按钮关闭对话框。这时候我们 已经把这两个控件加入到我们的工程当中去了!在右边的控件窗体上我们可以看到它们: 这就是我们刚加入的控件,我们加入的其他控件也可以从这里看到! 现在让我们来应用他们:首先你做一个Access的数据库,如果你不会做,买本书自己瞅瞅,我就不在这里教你了,很容易,如果你不会,现在又不想学,那么请下载我做的一个示意的版本,下载。把它解压缩以后放到工程文件的目录中去! 在这里我们使用ODBC,如果你不知道什么是ODBC,它的全称叫开放式数据接口。先别问我它是什么(因为我也不太懂),现在你只需要知道它和数据库有关系就可以了,可以通过它对数据库进行操作! 进入windows的控制面板,双击其中的ODBC数据源(32位) 出现下面的窗体: 单击添加(D)...按钮: 单击完成(F)按钮

vsPrinter控件的使用

vsPrinter控件的使用 一、一般使用的步骤 WITH Thisform.vsPrinter (一)Set up Device (设置设备) .Preview=True .Device= “Epson LQ-1900K” .ExportFile=”C:\mydocus\test.rtf” .ExportFormat=vpxRTF (二)Set up Document (设置文档) .Font=”T ahoma” .FonSize=9 .Header=”T est| |page %d” .MarginLeft=”1in” (三)Start Document (开始文档) .StartDoc (四)Generate Document (产生文档) For i=0 to 1 .Paragraph=”Hello,World1”+str(i) if .Error<> then exit endif endfor (五)End Document (结束文档) .EndDoc (六)Preview/Print/Save Document (预览,打印,保存文档) .PrintDoc .SaveDoc(“C:\mydocus\test.rtf”) EndWith 二、详细说明 1、用户接口属性 (1)控件外观 ⒈Appearance, BackColor, BorderStyle(略)

⒉EmptyColor [=colorref&]:设置预览页面周围区域的颜色 ⒊NavBar [=NavBarSettings]:返回或设置是否显示导航条 Constant Value Description vpnbNone 0 不显示 vpnbTop 1 在控件上方显示一简单的导航条 vpnbBottom 2 在控件下方显示一简单的导航条 vpnbTopPrint 3 在控件上方显示一复杂的导航条,这是缺省设置 vpnbBottomPrint 4 在控件下方显示一复杂的导航条 默认值为vpnbTopPrint(3) ⒋NavBarColor [= colorref&]:返回或设置导航条的颜色 ⒌AbortWindow [={True|False}]:返回或设置在打印时是否显示中断对话框,默认值为True ⒍AbortWindowPos [=AbortWindowPosSettings]:返回或设置缺省中断对话框的放置 Constant Value Description awAppWindow 0 自动中断对话框显示在控件的中心 awScreenCenter 1 自动中断对话框显示在屏幕的中心 默认值为awAppWindow(0) ⒎Error[=PrinterErrorSettings]:返回描述一个错误条件的代码 Constant Value vperCantAccessPrinter 3 vperCantStartJob 4 vperUserAborted 5 vperAlreadyPrinting 6 vperDeviceIncapable 7 vperControlIncapable 8 vperCantInBrowser 9 ⒏AbortCaption[=value as string]:返回或设置缺省中断对话框的标题,默认值为:"Printing..." ⒐AbortT extButton[=value as string]:返回或设置缺省中断对话框中按钮的标题,默认值为:"Cancel" ⒑AbortT extDevice[=value as string]:返回或设置缺省中断对话框中设备字串的标题,默认值为:"on the %s on %s",第一个%s代表设备名,第二个%s代表端口名。 ⒒AbortT extPage[=value as string]:返回或设置缺省中断对话框中页字串的标题,默认值为:"Now printing Page %d of",%d代表当前页号 (2)预览 ⒈Preview[={True|False}]:返回或设置输出是存为预览还是直接打印,默认值为True ⒉PreviewPage[=value as integer]:返回或设置当前预览的页号 ⒊Val%=PreviewPages:返回当前在预览屏幕中的页数,这取决于ZoomMode的设置 ⒋ShowGuides[=ShowGuidesSettings]:返回或设置是否显示边距线 Constant Value Description gdHide0 从不显示 gdShow 1 总是显示

WebBrowser控件使用详解

WebBrowser控件使用详解 方法 ?GoBack相当于IE的“后退”按钮,使你在当前历史列表中后退一项 ?GoForward相当于IE的“前进”按钮,使你在当前历史列表中前进一项 ?GoHome相当于IE的“主页”按钮,连接用户默认的主页 ?GoSearch相当于IE的“搜索”按钮,连接用户默认的搜索页面 ?Navigate 连接到指定的URL ?Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入 ?Refresh 刷新当前页面 ?Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自 RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器 REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新 REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器 属性 ?Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现 的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser控件的自动化对象 ?Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿 主或IE窗口 ?Container 返回WebBrowser控件容器的自动化对象。通常该值与Parent属 性返回的值相同

最新Winsock控件使用手册

Winsock控件使用手册 本文使用Word2000排版,如你阅读时版面较凌乱,请使用Word2000阅读。 Winsock控件对用户是不可视的,可以很容易地访问TCP 和UDP网络服务。TOM注:制作网络通讯软件,应该没有比VB+WINSOCK控件更简单的方案了吧? 其可以被Microsoft Access, Visual Basic ,Visual C++或Visual FoxPro开发人员使用。 用Winsock控件编写客户和服务器应用程序,不需要了解TCP或调用底层Winsock API的具体细节。 通过设置Winsock控件的属性和调用该控件的方法,可以很容易地连接到远程计算机并进行双向的数据交换。 TCP基本知识 TCP(Transfer Control Protocol)允许你创建并维护一个与远程计算机的连接,使用该连接,两台计算机之间就可以交换数据了。 如果你在创建一个客户应用程序,你必须知道服务器计算机的名字T注:建议用IP地址或IP地址(RemoteHost属性),以及要监听的端口号(RemotePort属性),然后调用Connect 方法。

如果你在创建一个服务器应用程序,设置要监听的端口号(LocalPort属性),调用Listen方法。当客户建立连接请求时,产生ConnectionRequest事件。要完成该连接,在ConnectionRequest事件中调用Accept方法。 一旦建立了连接,两台计算机之间就可以发送和接受数据了。要发送数据,调用SendData方法。当接受数据时,产生DataArrival事件。在DataArrival事件中调用GetData 方法来检取数据。 UDP基本知识 UDP(User Datagram Protocol)是无连接的协议。 与TCP操作不同,计算机并不建立一个连接。并且,UDP 应用程序可以是客户也可以是服务器。 要传输数据,首先设置客户计算机的LocalPort属性。服务器计算机T注:实际含义是指发送方只需要将RemoteHost属性设置为客户计算机T注:实际上的意思是指接收方的IP地址,将RemotePort 属性设置为客户计算机上的LocalPort属性值,然后调用SendData方法开始发送数据。客户计算机在DataArrival事件中使用GetData方法检取数据。

新控件电子病历管理系统使用手册_1105

电子病历管理系统 ——使用手册 山西导通信息科技有限公司

目录 第一章电子病历管理系统的系统要求 (3) 1.1 电子病历管理系统的硬件要求 (3) 1.2 电子病历管理系统的开发环境 (3) 1.3 电子病历管理系统的运行环境 (3) 第二章电子病历系统的安装与启动 (4) 2.1 安装配液管理系统 (4) 2.1.1 安装运行环境 (4) 2.1.2安装程序 (4) 2.2 登录电子病历管理系统 (4) 第三章电子病历管理的业务处理 (5) 3.1 在院患者一览 (5) 3.2 质控意见一览 (5) 3.3 病案首页 (7) 3.3.1 病案首页必填项 (8) 3.3.2 病案首页与病历相关项 (9) 3.4 入院记录 (10) 3.4.1单项选择 (11) 3.4.2多项选择 (12) 3.4.3月经生育史公式 (12) 3.4.4绘制表格 (13) 3.4.5插入图像 (14) 3.4.6插入医疗常用语 (14) 3.4.7临床数据提取 (16) 3.4.8满页提醒 (16) 3.5病程记录 (17) 3.6 值班医师记录病程 (20) 3.7上级医师修改病历 (21)

3.8个人质控检测 (22) 3. 9 病历中禁止出现的内容 (23) 3. 10病历中必须出现的内容 (24) 3. 11 患者出院 (25) 3.12 信息发布提示 (27) 第四章病历模板的建立 (31) 4.1病历模板管理 (31) 4.2添加病历模板 (31) 4.3模板内容建立 (32) 4.3.1 宏、关键字、关键字标题 (33) 4.3.2 单项选择、多项选择、有无选择 (33) 4.3.3 录入提示 (36) 4.3.4 格式化录入 (37) 4.3.5特殊字符 (38) 4.3.6初步诊断与鉴别诊断 (39) 4.4 模板的调入 (39) 4.5 模板的存入 (40) 4.6 模板的应用 (41)

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