因工作需要维护上个世纪之工程,故学 delphi,已无甚意义,故简记之,供自学用。
技术总结
0、安装IDE。
1、看基础语法(不要求短时间内完全了解)。
2、IDE使用,快捷键。
3、各控件使用、属性等,弹出窗口,多窗口显示,logo,标题,最大/小化。退出程序。对话框弹出。
基础语法
似乎不区分大小写。
function 必须有返回值,procedure 无返回值。 两者表现形式似乎没有区别。
type定义类型,var声明变量。
#:ascii字符: const key = #9
十六进制:$34 ==> 0x34
字符串:string abc
有符号32:integer longint
无符号8:byte,无符号16 word,无符号32 cardinal或longword
有符号8:shortint 有符号16 smallint 有符号64 longint(似乎没有uint64_t)
字符:char(ansichar) widechar(16位,unicode)
布尔:boolean
字符串:string pchar pansichar pwidechar
数字转字符:IntToStr(100)
字符转数字:StrToInt(‘123’)
弹出对话框
ShowMessage(‘hello’)
函数示例:
function foobar(a, b:integer): string;
var
ret:integer;
begin
result := IntToStr(a+b);
end;
(注:没有括号,相同参数只写一个类型,与golang类似。返回值只用result表示)
指针示例:
1 | function test2():integer; |
else 前不能有分号;
。
非主函数中,用exit退出当前函数,相当于“返回”,需注意在此之前要赋值给result。
delphi中{$R*.DFM}
的意思是?–》包含同名窗体资源。
枚举:
1 | // 枚举和数组示例 |
自定义类方法:
1、新建单元,保存,在工程中添加单元。
2、定义类:
1 | type |
实现方法:
1 | function CFoo.FooTest(value: integer): integer; |
3、使用。在uses中引入单元名。定义类,调用类方法: a := myFoo.FooTest(100);
控件及其它缩写
1 | 控件类名及解释 缩写 |
注:有时文本编辑框缩写为txt
。
窗体:frm
片段
1 | MessageBox(0 , '是否要退出本系统?' , '提示信息', MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_TASKMODAL); |
1 | STR := Format('111111111111111111'+ |