Delphi 关键字
absolute
//它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.
var
Str: string[32];
StrLen: Byte absolute Str;
//这个声明指定了变量StrLen起始地址与Str相同.
//由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.
begin
Str := 'abc';
Edit1.Text := IntToStr(StrLen);
end;
abstract
//它允许你创建抽象的方法, 包括有抽象方法的类称为抽象类.
//Abstract关键字必须与Virtual或Dynamic关键字同时使用, 因为抽象方法必须被覆盖式实现.
//抽象类不能实例化, 抽象方法不能包含方法体.
type
TDemo = class
private
protected
procedure X; virtual; abstract;
public
constructor Create;
destructor Destroy; override;
published
end;
and
//一、表示逻辑与
if (a>0) and (b>0) then
//二、表示位运算
var
a,b,c: Integer;
begin
c := (a and b);
end;
//使用And表示逻辑时, And左右的表达式必须用小括号括起, 以避免以生条件的冲突.
//例如:
if a>0 and b>0 then
//编译器可能会理解为:
if a>(0 and b)>0 then
//或:
if (a>0) and (b>0) then
//但是实际编译时, 编译器会产生一个冲突, 报告错误.
//并且第一种可能包含了a>b>c的形式, 这在Delphi中不被支持.
//所以使用And运算符时必须使用括号, 以区分左右的条件.
//表示位运算时也必须加上括号, 将And以及左右参数括起.
array
//Array用于表示数组, 任何的对象都能被声明成数组.数组分为静态和动态的2种.
//静态数组
var
Arr1: array [1..10] of Integer;
//动态数组, 由于声明时不知其元素个数, 所以必须在后期用SetLength方法设置数组的大小
var
Arr2: array of Integer;
//数组作为参数时, 不能传入数组的大小, 只能传入数组名, 然后用Length方法获取数组的元素个数
function X(A: array of Integer): Integer;
var
i: Integer;
begin
Result := 0;
for i := 0 to Length(A)-1 do
Result := Result + A[i];
end;
as
//As用于将一个对象转换为另一个对象
procedur
相关文档:
DELPHI用得不太多,加上脑筋不好使,就记一下最常用对开发效率很有帮助的几个:
Ctrl+鼠标左键:查找定义
Ctrl+Shift+↑:上一操作与其正好相反,由定义查找实现
Ctrl+Shift+空格:在一个函数没有输入参数的括号内按下此快捷键时会出现函数相关参数的提示信息,包括重载的所有函数的信息 ......
具体要求:
1、计算机及相关专业专科以上学历,有2年以上的工作经验;
2、精通Delphi并有运用Delphi成功开发项目的经验;
3、熟悉网络开发,有控件开发经验者优先考虑;
4、熟悉软件工程,具有良好的开发习惯,能正确使用版本控制工具;
5、具有很强的团队合作和吃苦耐劳的精神,具有一丝不苟的工作作风和认真负责的 ......
近来发现一个Delphi莫名其妙的bug,当使用SetOptionalParam时,不能使用一连串数字的字符串,如'101',注意,是带引号的。在SaveToFile时,就会出现'Invalid field type'的异常,真是百思不得其解!连'001'这种串也不行,去掉引号,直接按数字赋值,则正常。
procedure TForm1.Button1Click(Sender: TObject);
var
  ......
//Delphi部分
//回调函数定义
type TOnMyCallBack = procedure(data:pchar; id:Integer);stdcall;
//DLL中的导出函数声明
procedure StartCall(param: TOnMyCallBack(data:pchar; id:Integer);stdcall;
begin
...
...
end;
&n ......