/************************************数据类型***************************************/
/* 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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

SSL学习笔记的更多相关文章

  1. 【HTTPS】Https和SSL学习笔记(二)

    此文讲述证书的相关信息,参考文章链接http://www.guokr.com/post/116169/ 一. 证书的类型 常用的几种证书如下: (1) SSL证书,用于加密HTTP (2) 代码签名证 ...

  2. 【HTTPS】Https和SSL学习笔记(一)

    1. 什么是HTTPS 在说HTTPS之前必须要先说一下HTTP.我们平常浏览网页用的就是HTTP协议,HTTP协议之间传输的数据都是明文,这样对于一些敏感信息传输其实是不安全的,很容易被恶意窃取.应 ...

  3. RSA算法、SSL协议学习笔记

    最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...

  4. Nodejs学习笔记(四)——支持Mongodb

    前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs ...

  5. Rest API 开发 学习笔记(转)

    Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...

  6. squid 学习笔记

    Squid学习笔记 1.安装前的配置 编译安装之前需要校正的参数主要包括File Descriptor和Mbuf Clusters. 1.File Descriptor 查看文件描述符的限制数目: u ...

  7. Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...

  8. Visual Studio 2015 Owin+MVC+WebAPI+ODataV4+EntityFrawork+Identity+Oauth2.0+AngularJS 1.x 学习笔记

    2016年,.net 会有很多大更新 ASP.NET 5 在此之前我都是用着古老的.net做开发的 (WebForm + IIS) 为了接下来应对 .net 的新功能,我特地去学习了一下基本的 MVC ...

  9. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

随机推荐

  1. DefaultSingletonBeanRegistry

    DefaultSingletonBeanRegistry 这是 DefaultSingletonBeanRegistry 类的体系结构,由一个类一个责任的原则: AliasRegistry : 提供别 ...

  2. MySQL相关知识总结

    1. 显示所有表 show tables; 还有information_schema数据库里面有tables表,记录了所有表信息 use information_schema; select * fr ...

  3. part1:12-sudo用户管理和Linux密码故障排除

    sudo用户管理 权力下放! 1.Root密码破解步骤 a.在系统启动时,迅速按下任意键或回车键.进入grub选项菜单 b.在grub选项菜单按e进入编辑模式,上下选择kernel行.然后按e进入编辑 ...

  4. PHP 用 ZipArchive 打包指定文件到zip供用户下载

    Ubuntu需安装zlib sudo apt-get install ruby sudo apt-get install zlib1g zlib1g.dev   Windows需开启php_zip.d ...

  5. 2018.09.01 poj2689 Prime Distance(埃式筛法)

    传送门 一道挺有趣的. 第一眼以为每个数都用miller_rabin判一次,但感觉会被卡时间啊. 继续分析发现可以晒出sqrt(r)中的所有素数,然后用类似埃式筛法的方法晒出[l,r]" r ...

  6. s111 stark组件

    内容回顾: 1. 类当做key 2. django中的model所在app名称.以及小写类名. def index(request): # print(m1.UserInfo,m1.UserInfo. ...

  7. MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

    第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一 ...

  8. HDU6026 Deleting Edges 2017-05-07 19:30 38人阅读 评论(0) 收藏

    Deleting Edges                                                                                  Time ...

  9. C语言 fread()与fwrite()函数说明与示例

    1.作用 读写文件数据块. 2.函数原型 (1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); 其中,pt ...

  10. EBS获取附件URL

    http://wenku.baidu.com/link?url=MnYX269RBqW9ZRh-4famwduhYq9As0-vsIyVPA7aqv64cdxxjZEOaEE1_KZ9SGjY9qCx ...