/************************************数据类型***************************************/
/* 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. springmvc 整合shiro

    1.引用maven <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro ...

  2. PetaPoco与MySQL

    随便写写的,PetaPoco与MySQL一起使用,在一个工控项目中充分使用节省不少开发时间,经历大半年的努力的项目接近完成,客户不认帐,开始需求合同就是个败笔,技术还是仅能解决技术问题而已! 上图上代 ...

  3. 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)

    传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...

  4. 2018.09.27 bzoj2510: 弱题(概率dp+循环矩阵优化)

    传送门 简单概率dp. 显然每次转移的式子可以用一个矩阵表示出来: 这个是循环矩阵. 因此只用维护第一行快速幂一波就行了. 代码: #include<bits/stdc++.h> #def ...

  5. hdu - 1072(dfs剪枝或bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1072 思路:深搜每一个节点,并且进行剪枝,记录每一步上一次的s1,s2:如果之前走过的时间小于这一次, ...

  6. git分支删除

    1.列出本地分支: git branch 2.删除本地分支: git branch -D BranchName 其中-D也可以是--delete,如: git branch --delete Bran ...

  7. C++标准模板库(STL)和容器

    1.什么是标准模板库(STL)? (1)C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板 ...

  8. 数据分析工具R和RStudio入门介绍

    https://www.cnblogs.com/yjd_hycf_space/p/6672995.html Python&R语言-python和r相遇:https://www.cnblogs. ...

  9. 【翻译】JavaScript循环和作用域

    我的翻译小站:https://www.zcfy.cc/article/javascript-loops-and-scope 翻译原文链接:https://flaviocopes.com/javascr ...

  10. (匹配)Fire Net --hdu --1045

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1045 http://acm.hust.edu.cn/vjudge/contest/view.action ...