epx吧 关注:9贴子:78
  • 6回复贴,共1

EPX Studio编程语言FastScript语法介绍

只看楼主收藏回复

EPX6 FastScript编程指南


IP属地:广东来自Android客户端1楼2015-03-15 15:56回复
    第一章FastScript是什么
    FastScript是原本是一FastReport的一部分,一个款面向DELPHI的著名的脚本库,FastScript具有优秀的面向对象的开发能力,大大提升了DELPHI程序的灵活性,过去,DELPHI程序只有编译成机器代码后再执行,如果遇到需求变化或公式改变,都需要对程序进程重新编译发布,而FastScript却改变了这一现状,让程序员继续运用熟悉的语法编写程序,但是这一部分程序却可以动态加载来执行,因此具有了Script特性。
    FastScript本身是100%地使用DELPHI语法编写出来的一套组件,可以很好地工作在DELPHI的所有版本中,包括LINUX下,因此EPX从最初就选择了以此为语言基础来构建平台。
    FastScript很独特的是同时能够使用多种语法的能力,包括Pascal Script,C++ Script,Java Script,Basic Script,因此你可以使用你最喜欢的语法来编写脚本程序。
    FastScript本身是面向对象的结构,继承自DELPHIVCL构架,因此本身具有很高的执行效率,加上EPX后期的优化编译,获得的开发的目标程序具有体积小,代码执行快的特点,程序各种接口和功能灵活多样,具有强大的可扩展能力。


    IP属地:广东2楼2015-03-15 23:00
    回复
      第二章快速开始
      以下示例代码演示了使用FastScript最简单的方式。

      没错,正如你所看到的,以上语法再简单不过,脚本内容可以使用你最熟悉的语
      法来编写,如果语法没有错误,则运行后你可以得到一个如下图的提示消息窗口。


      IP属地:广东3楼2015-03-15 23:11
      回复
        第六章基本数据类型
        FastScript具有以下基本数据类型,但是在编译后,对应的数据类型相对较少:



        IP属地:广东7楼2015-03-15 23:19
        回复
          第七章枚举与集合
          FastScript虽然不支持集合定义,但是通过另外的方式对集合进行了支持,例如在Delphi中字体风格就是一个枚举集合类型,下面将两种方式进行了对比:
          Delphi中的代码:
          Font.Style:= [fsBold];
          Font.Style:= [fsBold, fsItalic];
          Font.Style:= [];
          FastScript中的代码:
          Font.Style:= fsBold;
          Font.Style:= fsBold+ fsItalic;
          Font.Style:= 0;
          大家可以通过EPX Studio开发环境中的菜单“工具-API查看工具”来查询一些常用的枚举型常量值。


          IP属地:广东8楼2015-03-15 23:21
          回复

            function Sqrt(e: Extended): Extended
            求平方根函数
            function Abs(e: Extended): Extended
            求绝对值函数
            function Sin(e: Extended): Extended
            求数学三角正弦函数的值
            function Cos(e: Extended): Extended
            余弦函数
            function ArcTan(X: Extended): Extended
            反正切函数
            function Tan(X: Extended): Extended
            正切函数
            function Exp(X: Extended): Extended
            指数函数
            function Ln(X: Extended): Extended
            自然对数
            function Log10(X: Extended): Extended
            以10为底的对数
            function Pi: Extended
            圆周率
            procedure Inc(var i: Integer; incr: Integer = 1)
            自增函数
            procedure Dec(var i: Integer; decr: Integer = 1)
            自减函数
            procedure RaiseException(Param: String)
            触发异常对话框
            procedure ShowMessage(Msg: Variant)
            显示消息对话框
            procedure Randomize
            初始化随机数种子
            function Random: Extended
            取随机数
            function ValidInt(cInt: String): Boolean
            合法整数判定
            function ValidFloat(cFlt: String): Boolean
            合法浮点数判定
            function ValidDate(cDate: String): Boolean
            合法日期判定
            function CreateOleObject(ClassName: String): Variant
            创建一个OLE对象
            function GetActiveOleObject(ClassName: String): Variant
            获取一个已经存在的OLE对象
            function VarArrayCreate(Bounds: Array; Typ: Integer): Variant
            动态数组创建
            function MutualCase(value : string): string
            用于将字符串原先的字母大小写形式互换
            function FirstUpperCase(value : string): string
            用于将字符串中每一个词词首的字母转换为大写字母
            function SBCCase(value : widestring): string
            转换字符串的半角字符为全角字符
            function DBCCase(value : widestring): string
            转换字符串的全角字符为半角字符
            function StrTrimCtrlChar(value : widestring): string
            删除字符串的所有控制字符即是ASCII码为#0 - #31的字符
            function StrTrimLineBreak(value : widestring): string
            删除字符串的所有回车换行符, 具体参照system的sLineBreak常量
            function OemToAnsi(value : string): string
            以OEM方式编码的字符串转换为ANSI编码
            function AnsiToOem(value : string): string
            ANSI编码方式的字符串转换为以OEM方式编码的字符串
            function Utf7ToAnsi(value : string): WideString
            将以UTF7(一种Unicode种编码方式)方式编码的字符串转换为ANSI编码
            function AnsiToUtf7(value : WideString): string
            将以ANSI编码方式的字符串转换为以UTF7方式编码的字符串
            function AnsiToUnicode(value : WideString): string
            将以ANSI编码方式的字符串转换为以UCS方式编码的字符串
            function UnicodeToAnsi(value : string): WideString
            将以UCS编码方式的字符串转换为以ANSI方式编码的字符串
            function DosToUnix(value : string): string
            此函数是将DOS文本转换为UNIX文本
            function UnixToDos(value : string): string
            此函数是将UNIX文本转换为DOS文本
            function DecodeMime(value : string): string
            将以MIME方式编码的字符串进行解码
            function DecodeQP(value : string): string
            将以QP方式编码的字符串进行解码
            function DecodeHZ(value : string): string
            将以HZ方式编码的字符串进行解码
            function StrSimilar(s1, s2: string): Integer
            比较字符串的相似度如 'Jim' and 'James' = 40%
            function StrUpset(value : WideString): widestring
            将字符串倒转过来此函数采用了宽字节因此兼容双字节形式的编码
            function StrCompare(Source, Pattern: String): Boolean
            比较字符串的相似度如 StrCompare('David Stidolph','*St*') = true
            function NumberSwitch(value : WideString; Source, Target : Integer): string
            将字符串中的数字替换为指定格式的形式
            function TabulationSwitch(value : WideString; format : integer): string
            格式化字符串中的制表符即是文本表格线
            function CurrencySwitch(value : string; Format : Integer): string; overload
            将字符串中的货币数值替换为指定格式的形式
            function ExtractHtml(value :string):string
            提取HTML文档源代码的文本
            function ExtractEmail(value, Delimiter : String): string
            提取字符串的EMail地址
            function TabToSpace(Value: string; TabWidth : Integer = 8): string
            将TAB键的字符转换为相应宽度的空格
            function SpaceToTab(value : string; TabWidth : Integer = 8): string
            将字符串的空格转换为TAB键
            function GetRandomStr(Source : string; StrLen : Integer) : string
            生成随机的字符串
            function Dec2Bin(value : Integer; MinBit : Integer) : string
            将十进制数字转换为二进制方式的数字字符串
            function Bin2Dec(const value : string) : Integer
            将二进制方式的数字字符串转换为十进制方式的数字
            function Hex2Dec(const value : string): Integer
            将十六进制方式的数字字符串转换转换为十进制数方式的数字
            function Hex2Str(const value : String) : String
            将十六进制方式的数字字符串转换转换为相应ASCII码的字符串
            function Mem2Hex(Buffer: string; Size : Longint): string
            将字符串转换为十六进制方式的数字字符串
            function Str2Hex(value : string): string
            对于函数MemToHex的一个调用主要是方便字符串变量类型的转换
            function StrWrap(const Text, LineBreak: string; const Reorder : boolean; const Hanging, FirstLine, LeftSpace, PageWidth : Integer; const Break : String; const BreakMode : Integer): string;
            对一段文本进行换行function IsBIG5(value: string): Boolean
            function IsGBK(value: string): Boolean
            是否是GBK编码的汉字function IsGB(value: string): Boolean是否是GB编码的汉字
            function GBToBIG5(value: String): string
            将以GB编码的汉字转换为以BIG5的编码形式
            function BIG5ToGB(value: String): string
            将以BIG5编码的汉字转换为以GB的编码形式
            function GBKToTraditional(value : widestring): string
            将汉字全部转换为汉字繁写形式
            function GBKToSimplified(value : widestring): string
            将汉字全部转换为汉字简写形式
            function GBKToSpell(value : widestring): string
            将汉字转换为汉字拼音
            function GBKToSpellIndex(value: widestring): string
            返回汉字拼音的首个字母
            function ChinesePunctuation(value : widestring): string
            格式化为中文符号会自动检测成对单引号或双引号
            function EnglishPunctuation(value : widestring): string
            格式化为英文符号
            function NumToStr (mNumber: Integer; mScale: Integer; mLength: Integer = 0): string
            任意进制的数转换为字符串
            function StrToNum (mDigit: string; mScale: Integer): Integer
            任意进制的字符串转换为数
            function RomanNumerals(N: Integer): string
            返回十进制数字的罗马数字
            function BoolFromStream(Stream: TStream): Boolean
            从流中读取布尔值
            function ByteFromStream(Stream: TStream): Byte
            从流中读取字节
            function IntFromStream(Stream: TStream): Integer
            从流中读取整数
            function LongIntFromStream(Stream: TStream): LongInt
            从流中读取长整型
            function FloatFromStream(Stream: TStream): Extended
            从流中读取浮点型
            function ColorFromStream(Stream: TStream): COLORREF
            从流中读取颜色
            function StringFromStream(Stream: TStream; Size : Integer): string
            从流中读取字符串
            function DateTimeFromStream(Stream : TStream) : TDateTime
            从流中读取日期
            procedure StreamFromStream(Source, SubStream: TStream; Size: Integer)
            从流中读取流
            function ObjectFromStream(Stream : TStream; Source: TPersistent) : Boolean
            从流中读取对象
            function ComponentFromStream(Stream : TStream; Source: TComponent) : Boolean
            从流中读取组件
            procedure BoolToStream(Stream: TStream; Value: Boolean)
            将布尔型写入流
            procedure ByteToStream(Stream: TStream; Value: Byte)
            将字节写入流
            procedure IntToStream(Stream: TStream; Value: Integer)
            将整型写入流
            procedure LongIntToStream(Stream: TStream; Value: LongInt)
            将长整型写入流
            procedure FloatToStream(Stream: TStream; Value: Extended)
            将浮点型写入流
            procedure ColorToStream(Stream: TStream; Value: COLORREF)
            将颜色写入流
            procedure StringToStream(Stream: TStream; Value: string)
            将字符串写入流
            procedure DateTimeToStram(Stream : TStream; Value : TDateTime)
            将日期时间写入流
            procedure StreamToStream(Stream, SubStream: TStream; Size : Integer)
            将流写入流
            function ObjectToStream(Stream : TStream; Source: TPersistent) : Boolean
            将对象写入流
            function ComponentToStream(Stream : TStream; Source: TComponent) : Boolean
            将组件写入流
            function ExecuteQueryWithResult(EServer: Variant; ASQL: string; AStart: Integer=0;ACount: Integer=0): Variant
            执行SQL语句并返回结果集(仅适用于服务端环境)
            function ExecuteQueryWithoutResult(EServer: Variant; ASQL: string): Boolean
            执行更新SQL语句(仅适用于服务端环境)
            function GenerateDynamicLoadScriptContent: string
            生成动态加载JavaScript脚本


            IP属地:广东11楼2015-03-15 23:58
            回复
              EPX Studio编程语言FastScript语法基础知识,新手入门必看。


              IP属地:广东来自Android客户端12楼2015-03-16 08:03
              回复