广联达Delphi笔试题
广联达Delphi笔试题 本文将对广联达Delphi笔试题中的知识点进行详细的解释和分析。 1. 如果一个元件希望放到 IDE 的元件面板上,它必须从________类派生。如果一个元件能作为其它元件的容器,它必须从_____________类派生,如果一个元件在运行时可见,它必须从___________________类派生。 答案:(A)TGraphicControl、(B)TWinControl、(C)TComponent 解释:在 Delphi 中,一个元件如果希望放到 IDE 的元件面板上,它必须从 TComponent 类派生。TComponent 是 Delphi 中的基类,所有的控件都继承自 TComponent。如果一个元件能作为其它元件的容器,它必须从 TWinControl 类派生。TWinControl 是一个控件容器类,它可以包含其它控件。如果一个元件在运行时可见,它必须从 TControl 类派生。TControl 是一个可见控件类,它继承自 TWinControl。 2. 写出 TEdit、TLabel、TTimer 的主要继承路径。 答案:TEdit -> TCustomEdit -> TEditControl -> TControl -> TComponent TLabel -> TLabel -> TCustomLabel -> TControl -> TComponent TTimer -> TTimer -> TComponent 解释:在 Delphi 中,控件的继承关系是一个非常重要的概念。通过了解控件的继承关系,我们可以更好地理解控件的行为和特性。 3. 为防止界面窗体“僵死”,可调用如下代码。 答案:D、Application.ProcessMessages 解释:在 Delphi 中,如果我们想防止界面窗体“僵死”,可以调用 Application.ProcessMessages 方法。这将使得应用程序可以响应用户的输入和事件,从而防止界面窗体“僵死”。 4. 有如下类定义,请问类 THouse 的 InstanceSize 是_______ 答案:D、40 解释:在 Delphi 中,InstanceSize 是指一个类的实例大小。在这个问题中,我们可以通过计算类 THouse 的成员变量的大小来计算 InstanceSize。 5. 常用的控件 ListBox、ComboBox 等都有 BeginUpdate 和 EndUpdate 方法,请问他们的主要作用是什么? 答案:BeginUpdate 和 EndUpdate 方法的主要作用是防止控件在更新时不断地重绘和重排,从而提高控件的性能。 6. 写 SQL 语句... 答案:(1) SELECT PID, COUNT(*) FROM BaseInfo GROUP BY PID; (2) SELECT b.ID, b.Name, a.Name FROM BaseInfo b, BaseInfo a WHERE b.PID = a.ID ORDER BY b.Name; (3) 在 TSQL 中使用事务需要使用 BEGIN TRANSACTION、COMMIT TRANSACTION 和 ROLLBACK TRANSACTION 语句。 解释:在 SQL 中,我们可以使用 GROUP BY 语句来统计每个 PID 的记录数。我们也可以使用 JOIN 语句来实现复杂的查询。在 TSQL 中,我们可以使用事务来确保数据的一致性和完整性。 7. 解释一下 Windows 的消息机制和经典 Windows 应用程序的运作流程。 答案:Windows 的消息机制是指 Windows 操作系统中的一种机制,它允许应用程序之间进行通信和交互。经典 Windows 应用程序的运作流程是指应用程序从创建到销毁的整个生命周期。 解释:在 Windows 操作系统中,消息机制是指应用程序之间的通信机制。应用程序可以通过发送和接收消息来实现交互和通信。经典 Windows 应用程序的运作流程包括创建、初始化、运行和销毁几个阶段。 8. 解释 Delphi 中“事件”的实现原理,如果你要为控件扩展一个自定义事件,你该怎么做? 答案:Delphi 中的事件是通过委托和回调函数实现的。如果我们要为控件扩展一个自定义事件,可以通过创建一个新的事件类型和实现对应的回调函数来实现。 解释:在 Delphi 中,事件是通过委托和回调函数实现的。委托是指一个函数的引用,而回调函数是指一个函数的实现。当我们触发一个事件时,Delphi 会调用对应的回调函数来实现事件处理。 9.为什么在 TList 中 Add 操作要比 Insert 操作快? 答案:因为 Add 操作只是将元素添加到列表的末尾,而 Insert 操作需要将元素插入到列表的指定位置。 解释:在 Delphi 中,TList 是一个列表类。Add 操作只是将元素添加到列表的末尾,而 Insert 操作需要将元素插入到列表的指定位置。由于 Insert 操作需要移动元素,因此它比 Add 操作慢。 10. 某次调试中发现某树形控件响应很迟缓,经调试发现是如下语句,TreeView.Items.Clear 执行缓慢,请分析可能的原因是什么? 答案:可能的原因是 TreeView 的 Items 集合中有太多的元素,导致 Clear 操作需要很长时间。 解释:在 Delphi 中,TreeView 的 Items 集合是一个很大的集合,当我们清空这个集合时,可能需要很长时间。因此,可能的原因是 TreeView 的 Items 集合中有太多的元素,导致 Clear 操作需要很长时间。 第二部分 Delphi 编程 统计英文文章中各单词的频次,可以使用 Delphi 的 TStringList 类和 TStringList.Sort 方法来实现。 解释:在 Delphi 中,我们可以使用 TStringList 类来存储英文文章中的单词,然后使用 TStringList.Sort 方法来对单词进行排序。我们可以使用 TStringList.Count 方法来统计每个单词的频次。
- yanchaoguang2013-01-10题库有点老,不过还是谢谢
- liangyong007a2014-07-22题目很一般,没有答案,资源分要的多
- lenovo4552014-04-21网上一搜 一大椎。题一般,没有答案。网上有答案
- BugInJava2014-11-04还可以,题目没有答案啊~
- 粉丝: 2
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助