Borland 基础与应用开发课程认证试题整理集五
- 摘要:试题121利用ActionList进行事件/任务以及Groupindex的分配,比较方便试题122StyleGroupedAllowAllUp效果TbsButton(缺省)任意任意普通按钮False(缺省)任意复选按钮TbsCheckTrueFalse(缺省)单选按钮True单选但可全不选试题123如果要做出复选效果,可令几个按钮有不同的非0的GroupIndex且其AllowAllUp为True。Panel+Speedbutton做出工具栏的样子GroupIndexAllowAllUp效果0
- 标签:Borland 应用开发
试题121 利用ActionList进行事件/任务以及Groupindex的分配,比较方便
试题122 Style Grouped AllowAllUp 效果
TbsButton(缺省)任意 任意 普通按钮
False(缺省) 任意 复选按钮
TbsCheck True False(缺省) 单选按钮
True 单选但可全不选
试题123 如果要做出复选效果,可令几个按钮有不同的非0的GroupIndex且其AllowAllUp为True。
Panel + Speedbutton做出工具栏的样子
GroupIndex AllowAllUp 效果
0(缺省) 任意 普通按钮
非0 False(缺省) 单选按钮
True 单选但可全不选
非0但值不同 true 多选但可全不选
试题124 Imagelist组件的使用
试题125 在按钮中如何改变Form1的标题
Caption:=’kkk’;
Self.caption :=’kkk’;
Form1.Caption:=’kkk’;
试题126 查询字段必须做过索引(findkey:datasource),或者locate不一定需要有索引。
试题127 通过DBExpress单向只读引擎从数据库下载数据到本地客户集,在本地修改后,如何提交到服务器上。
如果在本地修改了数据,然后执行Refresh方法希望从数据库得到新的数据,你会得到一个异常。
这个问题的解决要这样做:先在本地提交数据修改Applyupdates使(delta为空),然后refresh
利用客户数据集的ApplyUpdates方法将本地数据提交到服务器,参数的含义表示容错级别
-1表示忽略所有的修改错误,有多少可以在数据库提交的就该多少
>=0 表示如果有一条修改在服务器出现错误则所有的修改无效
例如5 如果发生了4个错误则可以把其他的正确提交,如果错误数达到5则所有的修改无效。
这个要注意。
试题128 窗体默认的Position属性是poDesigned,屏幕居中 poScreenCenter
试题129 如何访问字段,持久字段(利用字段组件名即可),命名习惯:数据集名+字段名
非持久字段的方法:Fields/FieldByName/FindField 返回的类型都是TField
还有一个方法直接在数据集名字后加上['数据表中字段名']如:Table1['ID'] 返回类型是变体
属性数组中如果缺省值做法是 default; 说明它是这个类的缺省属性,可以通过类名加下标访问
property FieldValues[const FieldName: string]: Variant read GetFieldValue write SetFieldValue; default;
default 只能针对数组
试题130 Trunc(2.8) 返回整数部分,Round(2.5)返回的总是偶数此处为:2,Round(3.5)返回4
正负数规律一样。
试题131 DataSetProvider:构成客户数据集与外部存储之间的管道,向提出请求的客户集提供数据,
并且在客户修改数据时候赋则将数据发送回底层数据存储(实际由构造SQL语句完成)
应用程序服务器:通常包含企业逻辑,它包含连接底层数据库和向客户应用程序提供结果数据所需的全部代码。
试题132 TClientSocket如何指定服务器:
1.指定服务器机器,其中Host优先于Adress
2.指定服务器服务端口,Service优先于Port
TServerSocket组件如何监听,指定监听端口时候service优先于Port
连接或者监听采用:Active属性或者Open方法
试题133 [学生]考过InputQuery以及相关的对话框的使用
试题134 NMFTP NMHTTP NMUDP NMSMTP NMPOP3使用的协议
试题135 通过文件或者流填充记住四个方法
LoadFromFile, SaveToFile, LoadFromStream, SaveToStream
注意:上述保存方法中除文件名/流对象名称参数外还有一个格式参数,有缺省值
Format:TdataPacketFormat = dfBinary
DfBinary 专门的二进制格式,
DfXML,dfXMLUTF8 :XML格式
保存到磁盘上的客户数据集文件就是所谓MyBase文件(cds文件),
一般它保存一个单独的数据集,也可以保存嵌套数据集。
试题136 Data 与 Delta的作用:客户机的数据全部放在data中,
刚开始delta为空;用户修改使用post后,修改的状况将反馈到data和delta中
最后使用ApplyUpdates()提交到服务器(实际构造SQL语句从Delta中提交数据完成)
试题137 嵌套数据集例子需要如下组件:(利用DBExpress组件实现三层形式的数据库应用)
SQLConnection,两个SQLClientDataSet,DataSource,DatasetProvider, ClientDataset
SQLConnection连接Interbase数据库,主SQLClientDataSet取自SQLConnection连接Customer表,
从SQLClientDataSet取自SQLConnection连接Order表,
DataSource的DataSet属性与主客户集连接
从客户集的MasterSource连接DataSource,MasterFields产生Customer表的CustNo
与Order表的CustON建立关联。
DataSetProvider的DataSet取自主客户集,然后将ClientDataSet的ProviderName
设成DataSetProvider,设置Active=true就可以了在客户端提取服务器端的数据了。
在ClientDataSet上右键单击保存成Binary或者XML文档
这样就实现了从服务器下载数据到本地客户集,然后保存成本地文件,方便携带编辑,
如果需要提交到服务器,可以再把本地数据发送到服务器的数据库。把单向数据集变成
可双向编辑方便携带的本地数据集。
试题138 组件 TcustomerClientDataSet->TclientDataSet
优点:1)基于内存 // 2)快速 //本地内存数据当然快
3)高效 //数据存储的格式 4)支持动态索引
5)支持撤销操作和汇聚 //汇聚 求平均值等
缺点: 1)单用户 //基于内存
试题139 在设计期创建
数据字段:data 占据物理存储
计算字段:不占据物理存储,每当需要时候动态计算受AutoCalcFields属性影响,
缺省(True)条件下在打开数据集进入编辑模式,窗体上移动焦点修改时候自动计算。
否则只有在打开数据集进入编辑模式时候重新计算。
内部计算字段:占物理存储,因此可以在其上创建索引,计算一次后存储在内存中,
当相关底层字段发生变化时候自动重新计算
查找字段:类似计算字段,当要依赖另外一个数据集
添加两个ClientDataSet组件,双击进入字段编辑:建立一个部门表和部门描述表
cdsCustomer: ID,LastName,FirstName,Department,Bonus,Names,DepartDesc,Salary
计算字段:Bonus, 内部计算字段:Names
在cdsCustomerCalcFields事件中编写:
CDSCustomerBonus.AsFloat:=CDSCustomerSalary.AsFloat*0.15;
if CDSCustomer.State=dsInternalCalc then //只有当内部字段需要计算时候
CDSCustomerNames.AsString:=CDSCustomerLastName.AsString+','+
CDSCustomerFirstName.AsString;
cdsDepartment: Dept,Description
其中Department->Dept DepartDesc->Description
然后 Create DataSet创建一个数据集,最后右击选择4种类型进行保存数据集这就是公文包的形式
试题140 运行其创建字段的方法
var
cds:TclientData;
begin
cds:=Tclientdataset.create(nil);
try
finally
end;
添加字段,使用AddFieldDef方法
var FieldDef:TfieldDef;
begin
FieldDef:=cds.FieldDefs.AddFieldDef;
FieldDef.Name:=’ID’;
FieldDef.DataType:=ftString;
FieldDef.Size:=20;
FieldDef.Required:=True;
end;
也可以使用:cds.FieldDefs.Add(‘Names’,ftString,20,true)
试题141 创建索引
设计时候创建:indexdefs属性
运行时候创建:AddIndex方法和DeleteIndex方法
ClientDataset1.AddIndex(‘ByName’,’LastName;FirstName’,[ixUnique]);
参数:索引名,索引字段名用分号隔开,选项
使用索引: IndexName属性如:clientDataset1.IndexName:=’Byname’;
或者 IndexFieldNames属性注意分号隔开。、
获取索引信息:GetIndexNames方法,结果放入Tstings对象中。