一、 Delphi基础1、Delphi 内置类型 string 和 WideString 的区别。string->AnsiString,指针类型,带引用计数,单字节字符串,由系统自动动态分配和管理,WideString->指针类型,无引用计数,双字节字符串,系统自动管理2、简要描述Delphi代码单元中,以下关键字的作用。 interface:接口部分,声明单元及其使用者可见的数据和过程 implementation:实现部分,单元内可见和接口部分内容的实现 initialization:初始化节 finalization:终结化节3、将一周七天声明成枚举类型。 TWeek=(twSun,twMon,twTues,twWed,twThur,twFri,twSat)4、现有Integer 变量 A、B,在不声明其它变量的情况下,将它们的值交换。 如,A := 1;
B := 2;
交换之后 A = 2;
B = 1。 a;= a+b;
b:= a-b;
a:= a-b a:= a xor b;
b:= a xor b;
a:= a xor b asm{ mov eax, a xchg eax, b mov a, eax} asm{ push a push b pop b pop a} 5、现有以下类:type TBase = class function GetValue: Integer;
virtual;
end;
TChild1 = class(TBase) function GetValue: Integer;
override;
end;
TChild2 = class(TBase) function GetValue: Integer;
override;
end;
function TBase.GetValue: Integer;
begin
Result := 1;
end;
function TChild2.GetValue: Integer;
begin
Result := 2;
Result := inherited GetValue;
end;
function TChild1.GetValue: Integer;
begin
Result := inherited GetValue;
Result := 3;
end;
用以下方法创建对象o1, o2: TBase: o1 := TChild1.Create;
o2 := TChild2.Create;那么调用以下方法的返回值是 o1.GetValue返回:3 o2.GetValue返回:16、如何模块内部获得自身路径? Exe程序: ParamStr(0) DLL程序: GetModuleName()7、描述一下TEidt和TListView的类派生顺序,并说明它们的来源区别。 ....这个,不看帮助一时也说不全,但是TEdit是个包装类。TListView应该是ListBox的扩展吧? TObject->TPersistent->TComponent->TControl->TWinControl->TCustomEdit->TEdit? Tobject->TPersistent->TComponent->TControl->TWinControl->...不知道了。。。 8、用pascal 写一个双向链表。 type DLTNode= record pre:^DLTNode;
pData
ointer;
suc:^DLTNode;
end;
9、设计模式中的单件模式,在Delphi中可以用什么方式创建。 这个说实话,不会,但是从字面看应该保证引用计数唯一就行了吧?我应该会用全局变量。。。10、Delphi快捷键 快速搜索添加控件:?没见过Ctrl+F? 打开工程属性对话框:Ctrl+Shift+F11 切换编辑中的代码窗体:Ctrl+Tab?你指的是这个? 删除一行代码:Ctrl+Y二、 Win32基础1、写出Delphi声明Win32类型的库及其对应的Win32 Dll库(至少3个)。 Windows。Kernel32、user32、Gdi32、version、comctl322、如何在Delphi中完成多线程的内存保护。 。。。不会三、 数据库1、现有MS SQL Server 数据库 UserLibs 列举出所有用户表及其字段。 不会。。。2、现有数据库A,数据库B和A相对应,在数据A中表增加时,或字段增加时,将结构同步到数据库B中,该过程不能损害数据。(上机题)如果按照我答的也不知道能不能录用。。。