DELPHI面试题研发笔试试卷
2023-07-05
第一部分 Delphi知识
1. 如果一个元件希望放到IDE的元件面板上,它必须从________类派生,
如果一个元件能作为其它元件的容器,它必须从_____________类派生,
如果一个元件在运行时可见,它必须从___________________类派生
(A)TGraphicControl (B)TWinControl (C)TComponent (D)TPersistent (E)TControl
2、写出TEdit、TLabel、TTimer的主要继承路径,答题格式TXXX->TXXX->……
3、1) 为防止界面窗体“僵死”,可调用如下代码
A、Application.DoEvent
B、Application.DoEvents
C、Application.Idle
D、Application.ProcessMessages
2) 解释为什么?
4、有如下类定义,请问类THouse的InstanceSize是_______
TPoint = packed record
X: Longint;
Y: Longint;
end;
THouse = class
private
FOwner: string;
FPosition: TPoint;
FBounds: array[0..2] of Integer;
FLessees: TStrings;
public
procedure Paint;
property Owner: string read FOwner;
end;
A、24 B、28 C、32 D、40
5、常用的控件ListBox、ComboBox等都有BeginUpdate和 EndUpdate方法,请问他们的主要作用是什么?
6、写SQL语句
如果有一个部门人员表BaseInfo,字段为ID,PID,Name(姓名),PID表示上下级关系:
(1)分组查询:统计每个PID的记录数 ID 记录数
(2)请做一个查询,得到以下结果(按姓名排序)
ID 姓名 下属姓名
(3)在TSQL中使用事务需要用那些SQL关键字?
7、解释一下Windows的消息机制和经典Windows应用程序的运作流程
8、解释Delphi中“事件”的实现原理,如果你要为控件扩展一个自定义事件,你该怎么做?
9、为什么在TList中Add操作要比Insert操作快?
10、某次调试中发现某树形控件响应很迟缓,经调试发现是如下语句,TreeView.Items.Clear执行缓慢,请分析可能的原因是什么?
第二部分 Delphi编程
【编程】 给定一个文本文件(英文文章),统计其中各单词的频次。
网友提供答案:
1. C,B,E
2.TObject-Tpersistent-TCompernent-TWinControl-TCustomEdit,
TObject-Tpersistent-TCompernent-TGraphicControl-TCustomLable,
TObject-Tpersistent-TCompernent
3.D
4.C