• SSL学习笔记


    /************************************数据类型***************************************/
    /* Number(数值型),Boolean(布尔型),String(字符型),Date(日期型),Array(数组)
    /* 注: 1, 数值型包括整型和浮点型
    /* 2, 布尔型包括,T.和.F.
    /* 3. 数组有一维数组和多位数组,数组里可以存在不同的数据类型
    /* 不解:Empty()只返回True或False,不知道为什么手册上将Empty()归类于数据类型;


    /************************************常用函数***************************************/
    /* LimsTypeEx(v) --> 获取变量类型 v:一个值
    /* Len(v) --> 获取数组或者字符串的长度 v:一个值
    /* Empty(v) --> 判断v是否为空(NIL),返回true或false, v:一个值(可以不传入参数,Empty()返回true)
    /* DoProc(procName,argsArray) --> 调用存储过程,procName:存储过程的名称,字符串 argsArray:传入存储过程的参数,数组
    /* Today() --> 返回当天的时间,格式为:2015-10-17 0:00:00;
    /* usrmes(v1,v2) --> 用于日志调试,在JScript中调用此脚本文件的时候会在Server Log中显示相关调试信息,v1:一个固定值,v2:用于被比较的值
    /* Chr(13) --> 表示回车换行符;
    /* Chr(39) --> 表示单引号;
    /* Chr(59) --> 表示分号;
    /* LimsString(v) --> 将其他类型转化为字符串,v:被转化为字符串的值;
    /* ExecFunction(funcName,avgsArray) --> 执行一个函数,funcName:被执行的函数名,字符串,avgsArray:参数数组
    /* BuildString(array) --> 将一个数组里的内容转化为字符串,与LimsString函数的区别:
    LimsString将其他类型转化为字符串类型,内容不变,BuildString将数组的内容转化为字符串,
    例如,LimsString({1,2,3})返回字符串类型的{1,2,3},而BuildString({1,2,3})返回字符串类型的1,2,3
    /* SqlExecute(sqlStr) --> 执行一条SQL语句,sqlStr:SQL语句,字符串。返回值:如果是select语句,返回一个二维表,否则返回true或false
    /* ExtractCol(arData,colNum) --> 提取一个结果集第colNum列所有数据的数组,arData:结果集,col:列数(从1开始)
    /* GetRegion(regionName) --> 获取名为regionName的REGION内的代码,返回字符串类型
    /* ExecUDF(script,avgsArray) --> 动态执行脚本script,avgsArray是参数列表,如果不需要传入参数,则avgsArray可以省略

     

    /* :DECLARE关键字与:RETURN关键字;

    /* 不解:手册上说VarType(a)会返回INT32,然而却报错了: Invalid built-in function: VarType ;

    /* :DECLARE a;
    /* a := 2;
    /* :RETURN LimsTypeEx(a); /* NUMERIC
    /* :RETURN VarType(a);


    /* :PROCEDURE关键字, ENDPROC关键字, :IF关键字 , :ENDIF关键字, :WHILE关键字, :ENDWHILE关键字
    /* Len() --> 获取数组或者字符串的长度
    /* DoProc() --> 调用存储过程;

    /* :RETURN DoProc("CompareArrays",{{1,2,3,4},{1,2,3,4}});
    /* :RETURN DoProc("StringsAreDifferent",{"abbc","abbc"});
    /* :PROCEDURE StringsAreDifferent;
    /* :PARAMETERS s1,s2;
    /* :IF s1 <> s2;
    /* :RETURN "Strings are not equal";
    /* :ENDIF;
    /* :RETURN "Strings are equal";
    /* :ENDPROC;
    /* :PROCEDURE CompareArrays;
    /* :PARAMETERS arr1,arr2;
    /* :DECLARE len1,len2;
    /* :DECLARE i;
    /* len1 := Len(arr1);
    /* len2 := Len(arr2);
    /* :IF len1 <> len2;
    /* :RETURN .F.;
    /* :ENDIF;
    /* i := 0;
    /* :WHILE(i += 1) <= len1;
    /* :IF arr1[i] != arr2[i];
    /* :RETURN .F.;
    /* :ENDIF;
    /* :ENDWHILE;
    /* :RETURN .T.;
    /* :ENDPROC;



    /* String字符串加减操作
    /* +运算符代表字符串拼接;
    /* -代表将第一个字符串内后面的空格去掉之后再和第二个字符串拼接;
    /* 可以使用[]返回指定字符串下标的字符,从1开始,如"abc"[1]返回"a";
    /* :DECLARE s;
    /* s := "ab";
    /* s := s + "c ";
    /* s := s - "d";
    /* :RETURN "|" + s + "|"; /* |abcd|;


    /* :DECLARE d;
    /* d := Today();
    /* d := d + 10;
    /* d := d - 3;
    /* :RETURN d; /* 2015-10-17 0:00:00 ;

     


    /* usrmes("TestNumericOperators", DoProc("TestNumericOperators") );
    /* usrmes("TestStringOperators", DoProc("TestStringOperators") );
    /* usrmes("TestDateOperators", DoProc("TestDateOperators") );
    /* :PROCEDURE TestNumericOperators;
    /* :DECLARE n;
    /* n := 2;
    /* n += 3;
    /* n ^= 2;
    /* n *= 3;
    /* n /= 5;
    /* n %= 4;
    /* n -= 1;
    /* :RETURN n;
    /* :ENDPROC;
    /* :PROCEDURE TestStringOperators;
    /* :DECLARE s;
    /* :DECLARE dummy;
    /* s := "ab";
    /* /* This will not work;
    /* /*s += "c";
    /* /* This will work;
    /* dummy := s += "c ";
    /* dummy := s -= "d";
    /* :RETURN s;
    /* :ENDPROC;
    /* :PROCEDURE TestDateOperators;
    /* :DECLARE d;
    /* d := Today();
    /* d += 3;
    /* d -= 1;
    /* :RETURN d;
    /* :ENDPROC;

     


    /* IIf(condition,result1,result2)相当于一个三目运算符,
    /* 如果condition为真,返回result1的值,如果为假,返回result2的值;

     


    /* :DECLARE a, b;
    /* :DECLARE s1, s2;
    /* a := 2;
    /* b := 3;
    /* /* Implemented in classic way ;
    /* :IF a < b;
    /* s1 := "a is less than b";
    /* :ELSE;
    /* s1 := "a is greater than b";
    /* :ENDIF;
    /* /* Implemented using IIf operator;
    /* s2 := IIf(a < b, "a is less than b", "a is greater than b");
    /* :RETURN s1 + Chr(13) + s2;

     


    /*相当于switch分支语句;
    /* :DECLARE a;
    /* :DECLARE b;
    /* a := 10;
    /* b := 0;
    /* :BEGINCASE;
    /* :CASE a > 3;
    /* b := 4;
    /* :EXITCASE;
    /* :CASE a > 7;
    /* b := 7;
    /* :EXITCASE;
    /* :CASE a < 0;
    /* b := -1;
    /* :EXITCASE;
    /* :OTHERWISE;
    /* b := -2;
    /* :EXITCASE;
    /* :ENDCASE;
    /* :RETURN b;

     

    /*:LOOP相当于java中的continue,表示跳过本次循环,;
    /*:DECLARE ar, s;
    /*:DECLARE i, n;
    /*s := "";
    /*ar := {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    /*n := Len(ar);
    /*i := 0;
    /*:WHILE (i += 1) < n;
    /* :IF i == 5;
    /* :LOOP;
    /* :ENDIF;
    /*/* :IF i == 6;
    /*/* :EXITLOOP;
    /*/* :ENDIF;
    /* s := s + "i=" + LimsString(i) + Chr(13);
    /*:ENDWHILE;
    /*:RETURN s;

     


    /*:DECLARE strSql;
    /*:DECLARE arData;
    /*strSql := "SELECT * FROM CAOBT_USERS";
    /*arData := SqlExecute(strSql);
    /*arData := ExtractCol(arData, 1);
    /*:RETURN arData;

     


    /* :REGION/:ENDREGION 代码块;

     

    /* :DECLARE a, b;
    /* :DECLARE s;
    /* a := "2";
    /* b := "3";
    /* /*s := GetRegion("ClientScriptTemplate", {"$a", "$b"}, {a, b} );
    /* s := s + Chr(13) + GetRegion("SimpleClientScript");
    /* :RETURN s;
    /* :REGION ClientScriptTemplate;
    /* var par1 = $a;
    /* var par2 = $b;
    /* var ret = form.ShowModalDialog( formAddress, [par1, par2] );
    /* :ENDREGION;
    /* :REGION SimpleClientScript;
    /* var a = ret[0];
    /* var b = ret[1];
    /* lims.CallServer("Math.Add", [a, b]);
    /* :ENDREGION;

     


    /* Chr(59)是分号;

     

    /*:DECLARE script;
    /*script := "";
    /*script := script + ":PARAMETERS x, y" + Chr(59) + Chr(13);
    /*script := script + ":RETURN x + y" + Chr(59) + Chr(13);
    /*:DECLARE sum;
    /*sum := ExecUDF(script, {2, 3});
    /*:RETURN sum;

     

    作者:caobotao
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
    作者:caobotao
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    windows下vs2015编译BOOST
    第一篇 CUDA基础
    【windows】vs添加库外部库的一般步骤
    关于模板
    命令收集
    【4】facebook大数据搜索库faiss使用——Faiss索引介绍
    【2】facebook大数据搜索库faiss使用
    【ubuntu】windows链接库——怎样从DLL导出C++类
    【3】facebook大数据搜索库faiss使用——选择Index
    【ubuntu】linux链接库
  • 原文地址:https://www.cnblogs.com/caobotao/p/4950543.html
Copyright © 2020-2023  润新知