/************************************数据类型***************************************/
/* 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. BZOJ 1345[BOI]序列问题 - 贪心 + 单调栈

    题解 真的没有想到是单调栈啊. 回想起被单调栈支配的恐惧 最优情况一定是小的数去合并 尽量多的数,所以可以维护一个递减的单调栈. 如果加入的数比栈首小, 就直接推入栈. 如果加入的数大于等于栈首, 必 ...

  2. 4. Configure maven in Spring Tool Suite

    First of all, you need to copy the folder named like: Choose Window->Preferences->Maven->Us ...

  3. Java数据结构和算法(二)树的基本操作

    Java数据结构和算法(二)树的基本操作 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.树的遍历 二叉树遍历分为:前序遍 ...

  4. DB2 like两个表的字段或like一个变量

    DB2中的like的使用是有限制的,它后面不能跟一个变量或者是字段,因此,在存储过程或SQL语句中就不能like一个变量或一个字段. 比如有两个表A(a,b,c,d),B(a,b,c,d). 普遍的用 ...

  5. 转录组差异表达分析工具Ballgown

    Ballgown是分析转录组差异表达的R包. 软件安装: 运行R, source(“http://bioconductor.org/biocLite.R”) biocLite(“ballgown”) ...

  6. 一个简单的Linux后门程序的实现

    该程序实质是一个简单的socket编程,在受害方上运行攻击代码(后门进程),通过socket打开一个预设端口,并监听,等待攻击方的链接.一旦攻击方通过网络链接工具试图链接该socket,那么后门进程立 ...

  7. day4之内置函数、匿名函数,递归函数

    内置函数: https://www.processon.com/view/link/5adc6062e4b04721d63171eb?pw=3218 匿名函数:lambda lambda 语法: la ...

  8. javascript实现责任链设计模式

    javascript实现责任链设计模式 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿这条链传递该请求,直到有一个对象处理他为止. 这是Gof的定义 ...

  9. 红楼梦3d游戏

    1. 红楼梦大观园2d图 2. 红楼梦3d图 潇湘馆 注册机:根据电脑名和时间生成一个id,然后根据注册机生成注册码.

  10. Android 3D游戏开发

    OpenGL ES(OpenGL Embedded System) Android 3D游戏开发技术宝典:OpenGL ES 2.0(android 3d游戏开发技术宝典 -opengl es 2.0 ...