爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • FastERP-1帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

      • 系统函数
      • 系统程序
        • 1. 字符串处理程序
          • 1.1. Delete
          • 1.2. Insert
          • 1.3. SetLength
          • 1.4. StrToStream
          • 1.5. Val
        • 2. 科学计算程序
          • 2.1. DivMod
        • 3. 序数程序
          • 3.1. Inc
          • 3.2. MomentSkewKurtosis
        • 4. 金融程序
        • 5. 随机数程序
          • 5.1. Randomize
        • 6. 单位转换程序
          • 6.1. RaiseConversionError
        • 7. 日期程序
          • 7.1. DecodeDate
          • 7.2. DecodeDateDay
          • 7.3. DecodeDateMonthWeek
          • 7.4. DecodeDateTime
          • 7.5. DecodeDateWeek
          • 7.6. DecodeDayOfWeekInMonth
          • 7.7. DecodeTime
          • 7.8. IncAMonth
          • 7.9. ReplaceDate
          • 7.10. ReplaceTime
        • 8. 文件处理程序
          • 8.1. ChDir
          • 8.2. RmDir
          • WriteIni
        • 9. 格式化程序
          • 9.1. FmtStr
          • 9.2. WideFmtStr
        • 10. 对话框程序
          • 10.1. ShowMessage
        • 11. 流程控制
          • 11.1. Abort
          • 11.2. Exit
      • 自定函数
      • 自定程序
目录

系统程序

# FastERP 系统程序

  该手册内的内容用于编写脚本时作为参考,包含系统中使用的部分程序。

# 1. 字符串处理程序

# 1.1. Delete

procedure Delete(var S: string; Index,Count: Integer);
1
  • 该过程从一个字符串中移除一个子串。
部分 说明
S 字符串表达式
Index 整形表达式,表示删除字符串的起始位置
Count 整形表达式,表示删除的字符数
  • 示例:
var
  s1: String;
begin
  s1 := 'Hi,Hello';
  Delete(s1,1,4);
  ShowMessage(s1);
end;
1
2
3
4
5
6
7
  • 运行结果:

ello

# 1.2. Insert

procedure Insert(Source: String; var S: String; Index:Integer);
1
  • 该过程以某个位置开始相字符串中插入一个子字符串。
部分 说明
Source 字符串表达式
S 字符串表达式,作为插入的数据
Index 整形表达式,表示插入字符串的起始位置
  • 示例:
var
  s1: String;
  s2: String;
begin
  s1 := 'Hi,Hello';
  s2 := 'IsoFace,';
  Insert(s2,s1,0);
  ShowMessage(s1);
end;
1
2
3
4
5
6
7
8
9
  • 运行结果:

IsoFace,Hi,Hello

# 1.3. SetLength

procedure SetLength(var S; NewLength: Integer);
1
  • 该过程用于设置字符串或动态数组的长度。
部分 说明
S 字符串或者动态数组表达式
NewLength 整形表达式,用于设置字符串或动态数组的长度
  • 示例
var
  arr: Array of Integer;
  i: Integer;
begin
  SetLength(arr,5);
  for i := 0 to 4 do
  begin
    arr[i] := i;
    ShowMessage(IntToStr(arr[i]));
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
  • 运行结果

0 1 2 3 4

# 1.4. StrToStream

Procedure StrToStream(AString:String;AStream:TMemoryStream);
1
  • 该程序将字符串转换为流。
部分 说明
AString 要被转换的字符串
AStream 转换后的流

# 1.5. Val

procedure Val(S; var V; var Code: Integer);
1
  • 该函数转换一个数字格式字符串为数字表达式。
部分 说明
S 是一个字符串表达式,它必须是由一系列数字格式的字符组成
V 是一个整形或实形表达式,如果V是一个整数,则S必须能够转换为整数
Code 是一个整形表达式,如果字符串S不符合要求,则该非数字字符索引会被存储在Code中,否则Code会被设置为0,对于以Null结尾的字符,非数字字符返回的错误位置比实际的以0基准的字符索引大1
  • 示例:
var
  s1: String;  i,m: Integer;
begin
  s1 := '3231EC5';
  Val(s1,i,m);
  if m = 0 then
    ShowMessage(IntToStr(i))
  else
    ShowMessage(IntToStr(m));
end;
1
2
3
4
5
6
7
8
9
10
  • 运行结果:

5

# 2. 科学计算程序

# 2.1. DivMod

procedure DivMod(Dividend: Cardinal; Divisor: Word; var Result, Remainder: Word);
1
  • 该过程返回两个操作数相除的商和余数。
部分 说明
Dividend 整型表达式,表示被除数
Divisor 整型表达式,表示除数
Result 整型表达式,用于存储Dividend与Divisor相除的商
Remainder 整型表达式,用于存储余数
  • 示例:
var
  a,b: word;
begin
  DivMod(13,3,a,b);
  ShowMessage(IntToStr(a) + ' ' + IntToStr(b));
  DivMod(15,3,a,b);
  ShowMessage(IntToStr(a) + ' ' + IntToStr(b));
end;
1
2
3
4
5
6
7
8
  • 运行结果:

4 1 5 0

# 3. 序数程序

# 3.1. Inc

procedure Inc(var X[;N:Longint]);
1
  • 该过程用于整数自加N。
部分 说明
X 待增加的整数
N 增加的步长,无步长时,默认加1
  • 示例:
var
  i: Integer;
  j: Integer;
  k: Integer;
begin
  i := 1; j:= 1; k:= 1;
  Inc(i);
  Inc(j,4);
  Inc(k,8);
  ShowMessage(IntToStr(i));
  ShowMessage(IntToStr(j));
  ShowMessage(IntToStr(k));   
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 运行结果:

2 5 9

# 3.2. MomentSkewKurtosis

procedure MomentSkewKurtosis(const Data: array of Double; var M1, M2, M3, M4, Skew, Kurtosis: Extended);
1
  • 计算一组数据的各项统计指标
部分 说明
Data 一个浮点型数组
M1 平均数
M2 差值
M3 倾斜度
M4 峰度
Skew 倾斜度系数
Kurtosis 峰度系数
  • 示例:
var
  M1,M2,M3,M4,Skew,Kurtosis: Extended;
begin
  MomentSkewKurtosis([1.21,2.02,3.3,4.2,5.6,6.5,7.1],M1,M2,M3,M4,Skew,Kurtosis);
  ShowMessage(FloatToStr(M1));
  ShowMessage(FloatToStr(M2)); 
  ShowMessage(FloatToStr(M3));
  ShowMessage(FloatToStr(M4));
  ShowMessage(FloatToStr(Skew));
  ShowMessage(FloatToStr(Kurtosis));
end;
1
2
3
4
5
6
7
8
9
10
11
  • 运行结果:

4.27571428571429 4.30319591836735 -0.766464402332362 29.4727402330112 -0.0858628520935413 1.59161593158165

# 4. 金融程序

  该章节暂无可用程序。

# 5. 随机数程序

# 5.1. Randomize

procedure Randomize;
1
  • 该程序用于初始化内置的随机数生成器。

  • 示例:

begin
  Randomize;
  ShowMessage(IntToStr(Random(10)));
end;
1
2
3
4
  • 运行结果:运行该语句后产生一个大于等于0小于10的整数。

# 6. 单位转换程序

# 6.1. RaiseConversionError

procedure RaiseConversionError(const AText: string);
1
  • 该程序用于触发一个单位转换异常。
部分 说明
AText 字符串表达式,用于指定异常产生时的消息
AArgs 数组常量表达式,用于支持AText所标识的格式
  • 示例:
begin
  RaiseConversionError('类型转换错误');
end;
1
2
3
  • 运行结果:弹出错误提示。

# 7. 日期程序

# 7.1. DecodeDate

procedure DecodeDate(Date: TDateTime; var Year,Month,Day:Word);
1
  • 该程序分解TDateTime类型表达式为年、月、日。
部分 说明
Date 待分解的TDateTime值
Year 得到TDateTime值分解后的年份
Month 得到TDateTime值分解后的月份
Day 得到TDateTime值分解后的日
  • 示例:
var
  Year,Month,Day: Word;
begin
  DecodeDate(Now,Year,Month,Day);
  ShowMessage(IntToStr(Year) + '年' + IntToStr(Month) + '月' + IntToStr(Day) + '日');
end;
1
2
3
4
5
6
  • 运行结果:显示当前日期的年月日信息。

# 7.2. DecodeDateDay

procedure DecodeDateDay(const AValue: TDateTime; out AYear, ADayOfYear: Word);
1
  • 该程序把TDateTime类型表达式分解为年和该日是该年的第几天。
部分 说明
AValue 待分解的TDateTime值
AYear 返回日期表达式的年份
ADayOfYear 返回日期表达式表示的日是该年的第几天
  • 示例:
var
  Year,Month,Day: Word;
begin
  DecodeDateDay(StrToDate('2020-11-1'),Year,Day);
  ShowMessage(IntToStr(Year) + '年第' + IntToStr(Day) + '日');
end;
1
2
3
4
5
6
  • 运行结果:

2020年第306日

# 7.3. DecodeDateMonthWeek

procedure DecodeDateMonthWeek(const AValue: TDateTime; out AYear, AMonth, AWeekOfMonth, ADayOfWeek: Word);
1
  • 该程序获得TDateTime类型表达式指定的日期表示灯年份,月份以及该月的第几周和周值。
部分 说明
AValue 待分解的日期时间表达式
AYear 返回日期表达式的年份
AMonth 返回日期表达式的月份
AWeekOfMonth 返回该日是当月的第几周
ADayOfWeek 返回当日的周值
  • 示例:
var
  Year,Month,weekofmonth,dayofweek: word;
begin
  DecodeDateMonthWeek(StrToDate('2020-11-1'),Year,Month,weekofmonth,dayofweek);
  ShowMessage(IntToStr(Year) + ' ' + IntToStr(Month) + ' '  + IntToStr(weekofmonth) + ' ' + IntToStr(dayofweek));
end;
1
2
3
4
5
6
  • 运行结果:

2020 10 5 7

# 7.4. DecodeDateTime

procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word);
1
  • 该函数把TDateTime的值拆分成年、月、日、小时、分、秒、毫秒。
部分 说明
AValue 待分解的日期时间表达式
AYear 返回日期表达式的年份
AMonth 返回日期表达式的月份
ADay 返回日期表达式表示的日
AHour 返回日期表达式表示的小时
AMinute 返回日期表达式表示的分钟
ASecond 返回日期表达式表示的秒钟
AMillisecond 返回日期表达式表示的毫秒
  • 示例:
var
  Year,Month,Day,Hour,Minute,Second,MilliSecond: word;
begin
  DecodeDateTime(StrToDateTime('2020-11-1 13:25:43.323'),Year,Month,Day,Hour,Minute,Second,MilliSecond);
  ShowMessage(IntToStr(Year) + ' ' + IntToStr(Month) + ' '  + IntToStr(Day) + ' ' + IntToStr(Hour) 
  + ' ' + IntToStr(Minute) + ' ' + IntToStr(Second) + ' ' + IntToStr(MilliSecond));
end;
1
2
3
4
5
6
7
  • 运行结果:

2020 11 1 13 25 43 323

# 7.5. DecodeDateWeek

procedure DecodeDateWeek(const AValue: TDateTime; out AYear, AWeekOfYear, ADayOfWeek: Word);
1
  • 该程序将指定的日期表示为第几周和星期几,以及所在的年份。
部分 说明
AValue 待分解的日期时间表达式
AYear 返回日期表达式的年份
AWeekOfYear 返回日期表达式该日期是当年的第多少周
ADayOfWeek 返回日期表达式的星期
  • 示例:
var
  Year,WeekOfYear, DayOfWeek: word;
begin
  DecodeDateWeek(StrToDate('2020-11-1'),Year,WeekOfYear,DayOfWeek);
  ShowMessage(IntToStr(Year) + ' ' + IntToStr(WeekOfYear) + ' '  + IntToStr(DayOfWeek));
end;
1
2
3
4
5
6
  • 运行结果:

2020 44 7

# 7.6. DecodeDayOfWeekInMonth

procedure DecodeDayOfWeekInMonth(const AValue: TDateTime; out AYear, AMonth, ANthDayOfWeek, ADayOfWeek: Word);
1
  • 该程序用于将TDateTime类型的表达式指定的日期拆分成年、月、日、周值,以及周值在本月的序号。
部分 说明
AValue 待分解的日期时间表达式
AYear 返回日期表达式的年份
AMonth 返回日期表达式的月份
ANthDayOfWeek 返回日期表达式的星期值在本月的序号
ADayOfWeek 返回日期表达式的星期
  • 示例:
var
  Year,Month,NthDayOfWeek,DayOfWeek: word;
begin
  DecodeDayOfWeekInMonth(StrToDate('2020-11-1'),Year,Month,NthDayOfWeek,DayOfWeek);
  ShowMessage(IntToStr(Year) + ' ' + IntToStr(Month) + ' '  +  IntToStr(NthDayOfWeek) + ' ' +IntToStr(DayOfWeek));
end;
1
2
3
4
5
6
  • 运行结果:

2020 11 1 7

# 7.7. DecodeTime

procedure DecodeTime(Time: TDateTime; var Hour,Min,Sec,MSec:Word);
1
  • 该过程将TDateTime表达式的日期时间拆分成时、分、秒、毫秒。
部分 说明
Time 待分解的时间表达式
Hour 返回时间表达式的小时
Min 返回时间表达式的分钟
Sec 返回时间表达式的秒钟
MSec 返回时间表达式的毫秒
  • 示例:
var
  hour,minute,second,millisecond: Word;
begin
  DecodeTime(Now,hour,minute,second,millisecond);
  ShowMessage(IntToStr(hour) + ':' + IntToStr(minute) + ':' + IntToStr(second) + ':'
  + IntToStr(millisecond)); 
End;
1
2
3
4
5
6
7

  该语句执行后,显示当前的系统时间。

# 7.8. IncAMonth

procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1);
1
  • 根据指定的值来增加或修改月份。
部分 说明
Year 返回年份
Month 返回月份
Day 返回日
NumberOfMonths 待增加或减少月的数量
  • 示例:
Var
  Year,Month,Day: Word;
begin
  Year := 2020;
  Month := 11;
  Day := 1;
  IncAMonth(Year,Month,Day,1);
  ShowMessage('下个月的日期为:' + IntToStr(Year) + '年' + IntToStr(Month) + '月' + IntToStr(Day) + '日');
end;
1
2
3
4
5
6
7
8
9
  • 运行结果:

下个月的日期为2020年12月1日

# 7.9. ReplaceDate

procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
1
  • 该过程将指定时间中的日期替换为其他日期。
部分 说明
DateTime 将要替换日期部分的时间
NewDate 替换日期的指定值
  • 返回值:返回替换后的日期。

  • 示例:

var
  ADate: TDateTime;
  BDate: TDateTime;
begin
  ADate := StrToDate('2020-11-01');
  BDate := StrToDate('2020-10-01');
  ReplaceDate(ADate,BDate);
  ShowMessage(DateToStr(ADate));
end;
1
2
3
4
5
6
7
8
9
  • 运行结果:

2020-10-01、

# 7.10. ReplaceTime

procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
1
  • 该过程将指定时间中的时间替换为其他时间。
部分 说明
DateTime 将要替换的时间
NewDate 指定替换的时间
  • 返回值:返回替换后的时间。

  • 示例:

var
  ADate: TDateTime;
  BDate: TDateTime;
begin
  ADate := StrToDateTime('2020-11-01 12:00:00');
  BDate := StrToDateTime('19:28:17');
  ReplaceTime(ADate,BDate);
  ShowMessage(DateTimeToStr(ADate));
end;
1
2
3
4
5
6
7
8
9
  • 运行结果:

2020-11-01 19:28:17

# 8. 文件处理程序

# 8.1. ChDir

procedure ChDir(const S: string);
1
  • 该程序将当前目录修改为指定目录。
部分 说明
S 指定修改的目录
  • 示例:
begin
  ChDir('..\');
end;
1
2
3
  • 运行结果:将当前目录修改为指定的目录。

# 8.2. RmDir

procedure RmDir(const S: string);
1
  • 该程序删除一个空的文件夹。
部分 说明
S,P 将要删除的文件夹名称
  • 示例:
begin
  RmDir('Sample');
end;
1
2
3
  • 运行结果:上述语句将Sample文件夹删除。

# WriteIni

procedure WriteIni(filename,section,Ident,Values:String);
1
  • 该程序用于设置向ini配置文件写入配置信息。
部分 说明
filename 文件名称
section 配置分组名称
Ident 配置参数值名称
Values 配置参数取值

# 9. 格式化程序

# 9.1. FmtStr

procedure FmtStr(var Result: string; const Format: string; const Args: array of const);
1
  • 该程序按指定方式格式化一个数组常量的字符形式。使用方法与Format相同,不同的是把返回值放在了Result参数中。
部分 说明
Result 是一个字符串表达式,将格式化后的字符串保存在该变量中
Format 是一个字符串表达式,指定格式化所使用的格式
Args 是一个数组表达式,指定要格式化的内容
FormatSettings 是一个记录类型,包含了系统预定义的格式化方法
  • 示例:
var
  Str: String;
begin
  FmtStr(Str,'x=%.5d',[2]);
  ShowMessage(Str);
end;
1
2
3
4
5
6
  • 运行结果:

x=00002

# 9.2. WideFmtStr

procedure WideFmtStr(var Result: WideString; const Format: WideString; const Args: array of const);
1
  • 该程序按指定方法格式化一个数组常量的多字节字符形式。
部分 说明
Result 用于存放格式化后的字符串
Format 指定格式化所使用的格式
Args 是一个数组表达式,指定要格式化的内容
FormatSettings 是一个记录类型,包含了系统预定义的格式化方法
  • 示例:
var
  S: WideString;
begin
  WideFmtStr(S,'%1:s %0:s',['How Are You!','Hello!']);
  ShowMessage(S);
end;
1
2
3
4
5
6
  • 运行结果:

Hello! How Are You!

# 10. 对话框程序

# 10.1. ShowMessage

procedure ShowMessage(const Msg: String);
1
  • 该过程显示一个简单的消息框。
部分 说明
Msg 消息对话框要显示的提示信息内容
begin
  ShowMessage('Hello');
end;
1
2
3

  执行上述代码,弹出Hello提示。

# 11. 流程控制

# 11.1. Abort

procedure Abort;
1
  • 该过程产生一个特殊的"无记载异常",此异常与其他异常相同,只是不显示错误信息。

# 11.2. Exit

proceure Exit;
1
  • 该过程立即使控制退出当前过程,继续执行此过程调用位置后的代码,如果当前过程为主程序,则程序终止运行。
系统函数
自定函数

← 系统函数 自定函数→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式