1、简介
Delphi 基于Pascal语言,VCl可视化组件开发,采用拖动控件的形式实现,设置对应的属性绑定对应的事件,实现高效快速开发的效果。
2、语法基础
可参照Pascal语法精要进行学习。
1、如何定义变量
2、如何定义常量
3、循环语句
1、for var i := 0 to 100 do
2、for var i := 100 downto 1 do
3、var icount :=0;
while(icount<=100)do
begin
inc(icount);
end;
4、条件语句
if 条件 then
begin
end;
case 字符变量/整型变量 of
begin
条件1:
条件2:
条件3:
end;
5、简化代码语句
如 with query do
begin
close();
sql.text :='';
open();
end;
6、过程与函数
过程是没有返回值的:如 Procedure Add(a,b: integer);
Procedure Add(a,b: integer);
var
c: integer;
begin
c :=a+b;
showmessage(c.tostring());
end;
函数是有返回值的: 如: function Add(a,b: integer):integer;
function Add(a,b: integer):integer;
begin
resullt :=a+b;
end;
procedure Main.btnClick(Sender);
begin
var c :=Add(a+b);
showmessage(c.tostring()) ;
end;
7、枚举类型和记录类型
枚举类型
Job =(doctor,engineer,teacher,student);
var
jobs: job;
begin
jobs :=student;
jobs :=teacher;
end;
记录类型
type
ThresholdParam = ^PThresholdParam;
PThresholdParam = record
isChkV: Boolean;
isChkA: Boolean;
MaxLimitV, MinLimitV, MaxLimitA, MinLimitA: Double;
end;
procedure Tfrm_item.btnSaveClick(Sender: TObject);
var
rec: ThresholdParam;
begin
rec.isChkV :=True;
rec.MaxLimitV :=2.00;
rec.isChkA :=True;
rec.MaxLimitA :=3.00;
end;
8、string、TstringList、TList<T>的运用
string 的用法
var str :='hello word,你好,Delphi';
判断是否包含或它的下标位置
if pos("hello",str)>0 then showmessage("包含");
index := pos("hello",str);
字符串分割
var arrstr :=str.split([',']);
var str1 :=arrstr[0];//hello word
var str2 :=arrstr[1];//你好
字符串替换
str :=str.replace("hello",'''');
字符串截取
str :=str.substring(0,length(str)-1);
字符串去掉空格
str := trim(str);
字符串换行
str :=str+#13#10;
TstringList的用法
var
list :TstringList;
begin
try
list :=Tstringlist.create;
list.add('添加')//添加元素
list.Delete(0);//删除索引0下表元素
list.indexof("你好")//获取该字符串的下标
list.values['nihao'] :='12344';
键值对存储
格式为:’nihao=12344‘
listmap.LoadFromFile(文件路径);加载文件中的字符
finally
list.free;
end;
end;
Tlist<T>的用法,泛型集合应用 单元Generics.Collections,
TmyTime = class(TUniThreadTimer)//定义一个定时器类
var
listTime: TList<TmyTime>;
myTime: TmyTime;
begin
listTime :=TList<TmyTime> .create;
myTime := TmyTime.create;
listTime.add(myTime );
listTime[0]可以调用TmyTime方法属性;
调用完需要释放
for var i:=0 to listTime.count-1
begin
listTime[0].free;
end;
listTime.free;
end;
如果用到Tlist的话
listTime: TList;
myTime := TmyTime.create;
listTime.Add(Pointer(myTime ));
listTime.indexof(TmyTime(myTime ));获取下标;
9、动态数组与静态数组
静态
var arr: array[0..2] of Integer;
begin
arr[0] :=10;
arr[1] :=10;
arr[2] :=10;
for var i :=0 to length(arr)-1 do
begin
showmessage(arr[i].tostring);
end;
end;
动态
var arr: arrayof Integer;
begin
setlength(arr,2);//需要手动设置长度
arr[0] :=10;
arr[1] :=10;
arr[2] :=10;
for var i :=0 to length(arr)-1 do
begin
showmessage(arr[i].tostring);
end;
end;
10、常用函数
str :="20";
strtoint(str);//字符串转int
inttostr(2)//int转字符串
copy(原字符串,起始下标,终止下标);
FileExists(文件)//判断文件是否存在;
length(str)//获取字符串长度
FloatToStr//浮点转字符串
只列举个别,实际用到参考