1. 主函数及函数声明及使用 1.1 主函数及函数声明及使用 1.2 函数的声明及使用2. 变量的声明和使用 2.1 变量的声明 2.2 变量的类型 2.3 变量的赋值及使用3.打印和输入 3.1 打印值 3.2 输入值4.条件判断语句 4.1 逻辑运算 4.2 逻辑判断5. 循环语句 5.1 For语句 5.2 While语句 5.3 Repeat语句6. 延时语句 6.1 Sleep语句 6.2 Wait语句7. 数组的使用 7.1 定义数组 7.2 获取数组值8. 功能性指令语句 8.1 加载服务器连接配置信息至内存 8.2 加载配置数据信息至内存 8.3 从服务器获取文件到本地 8.4 将本地文件放置到服务器 8.5 在服务器端目录间复制文件 8.6 过滤服务器文件中的内容 8.7 发送邮件并将文件作为附件
主函数是必须要声明的,这是整个Y3程序的入口。它由Func main()和EndFunc组成,具体代码可以写在这2者之间。
Func main()
具体代码
Endfunc
使用时,本软件自动会加载Y3程序并寻找main函数来进入执行。
函数的声明由Func关键字、函数名、参数组成,参数都依次写在()中,但是不需要声明参数的类型。例如如下myfunction的函数的声明。
Func myfunction(num)
具体代码
myfunction=值;
Endfunc
使用时,直接在main主函数的代码中通过函数名(参数)的形式进行调用。例如:S = myfunction( X );而在末尾使用与函数名一致的变量赋值时则会自动返回函数计算的最终值。
通过变量=值的方式来声明变量,例如N = 1.1;
本软件会自动识别变量的类型,当变量值没有小数点时,则该变量会被自动识别为整型,又如当变量值有小数点是,则该变量会被自动识别为浮点数,例如N = 1.1;
给变量赋值可以采用=值的方式,在程序中引用该变量则会引用到该变量对应的值。例如:test = N + (M - num);
打印时,使用Write函数或者PrintLn函数。例如Write( "Enter a number: " );
输入值是,使用Read函数,Read函数会从console中读取输入的值并且赋予给变量。例如Read ( X );
逻辑运算主要是由And(A,B)与运算、Or(A,B)或运算、NE(A,B)判断不相等、EQ(A,B)判断相等、GE(A,B)判断大于等于、GT(A,B)判断大于、LE(A,B)判断小于等于、LT(A,B)判断小于等。
当SimpleIf判断条件为真时,则执行Do语句后面所指定的Scope语句范围中的语句,否则自动执行下一句语句作为Else部分,同样也可以继续通过ElseIf判断条件为真时,执行ElseIf后面的Do语句后面所指定的Scope语句范围中的语句。例如:
SimpleIf (EQ(M,1))
Do Scope(s5,s5)
ElseIf (EQ(M,2))
Do Scope(s6,s6)
ElseOther
Do Scope(s7,s7);
s5: PrintLn("M value is 1");
s6: PrintLn("M value is 2");
s7: PrintLn("M value is not 1 or 2");
其中的S5、S6、S7分别是语句标号, Do Scope(s5,s5) 代表只执行s5语句段, Do Scope(s5,s7) 代表执行s5到s7语句段的所有语句。
循环运算主要是通过For、While、Repeat语句来处理的。
For循环会根据括号参数中的整数来知道循环次数,Step来决定每次步骤后,Index值增加多少,Scope决定依次执行语句标号对应的哪些语句。例如如下程序片段。
For (LE(N,num))
Do Scope(d1,d3) Step 1;
Write ("K is:");
Write ( K );
d1: M = M + N;
d2: K = K + N;
d3: L = L + N;
While循环会每次判断括号中的条件是否满足循环的必要条件,条件满足时执行Scope中所设定的依次执行的语句。
While (AND(GE(N,2),LE(N,7)))
Do Scope(s1,s2);
s1: PrintLn(ListAt(A,N));
s2: N=N+1;
Repeat循环会根据参数来决定循环几次来执行Scope中所设定的依次执行的语句。例如:
Repeat(2)
Do Scope(v1,v2) Wait(1*1000);
v1: Rsh(CnvCheckDiskH(Nil));
v2: Rsh(CnvCheckDiskH("/home"));
循环运算主要是通过Sleep和Wait语句来处理的。
用户可以使用SleepFor语句来让程序暂时延时一段时间,延时的时间长短由参数来决定。
用户可以使用Wait语句来让程序暂时延时一段时间,延时的时间长短由参数来决定。
我们通过MakeList函数来创建和定义一个数组,目前只支持一维数组。例如:
MakeList(A,{myitem1 myitem2 myitem3 myitem4 myitem5 myitem6 myitem7 myitem8});
它将创建一个数组并且赋于给变量A。此时,变量A就具有了一维数组的特征和数据。
我们通过ListAt函数来从数组中获取某个Index对应的数据。例如:
PrintLn(ListAt(A,N));
这句语句将从A中获得N所对应的数值并打印。
我们使用UseServer语句来加载信息。当没有域名而只有服务器名的时候,则使用Nil来代替空值。
例如:UseServer("Server1",Nil); 其中Server1就是服务器名,Nil就是域名空值。
我们使用UseConfig语句来加在配置数据。所有配置数据都需要在xml文件中已经配置好,加载时,通过配置信息的code来加载。
例如:UseConfig("Config1"); 其中Config1就是配置数据的code。
我们使用GrabFileFromServer语句来复制服务器文件至本地。
例如:GrabFileFromServer("服务器上的文件全路径","本地目录");
在RSH模式下执行本指令,本软件将从服务器上把文件复制到本地。
我们使用PushFileToServer语句来复制本地文件至服务器目录中。
例如PushFileToServer(“本地文件全路径”,”服务器目录”);
在RSH模式下执行本指令,本软件将把本地文件复制到服务器目录中。
我们使用CopyFileOnServer语句在服务器上不同目录间复制文件。
例如CopyFileOnServer(“源文件全路径”,”目标文件全路径”);
在RSH模式下,本命令将完成文件在不同目录间的复制。
我们使用FilterFileOnServer语句在RSH模式下对服务器上的文件内容进行过滤并放置到新文件中。
例如FilterFileOnServer(“源文件全路径”,”过滤条件”,”目标文件全路径”); 过滤条件通过空格隔开。
在使用UseConfig语句之后,我们可以使用SendMail语句将文件发送到目标邮箱中。
例如:SendMail("目标邮箱","cc邮箱","bcc邮箱","附件文件全路径");