更新日志--------2024-10-23 升级:修复10-10流处理的问题。 更新日志--------2024-10-10 升级:内核对特殊错误数据的健壮性。 更新日志--------2024-09-30 修正:内核问题。(正常无害,但错误数据可能诱发崩溃问题) 更新日志--------2024-09-26 修正:tssecurity文件相关功能修正。 更新日志--------2024-09-25 修正:ExportFile到xlsx时,出错未返回错误。 修正:ExportFile到xlsx时的其他问题。 修正:arm64 Linux版本使用tssecurity功能输出文件的问题。 更新日志--------2024-09-24 修正:POCO模式内核问题。 修正:Poco连接模式下对Float类型的处理。 更新日志--------2024-09-13 修正:pdf_plugin。 升级:支持使用二进制类描述头中的静态常量。 修正:防止Python多线程锁失败使用强制加锁模式防止多线程运行不稳定。 升级:支持新的calcctrlword,0x100和0x200支持nil类型的.操作和[]操作,对于无参读操作返回NIL。 升级:新增nilinvoke预定义支持识别是否支持上述行为{$IFDEF nilinvoke} {$ENDIF}。 升级:支持::,:.,mcell,mrow,mcol,mIndexCount,mIndex等的对象重载,使得对象支持这些算符。 升级:新增pn_calcctrlword()常量函数。 升级:支持在pubkrnl.ini中[TSL]段中使用CalcCtrlWord=来控制缺省的计算控制字,使得系统的缺省行为可配置。 修正:使用HashCode调用方法的二进制类(如采用此特性开发的TStringList)的派生类,无法访问基类方法问题。 兼容:保持对nil for in什么都不做的行为,防止利用此特性的程序报错。 修正:特殊使用堆栈溢出未能被主动侦测的问题。 修正:堆栈溢出异常因堆栈缺乏无法记载具体原因的问题。 修正:fmarray的复数矩阵无法被子矩阵模式赋值的问题。 修正:syscreatemutex在ubuntu18.04下成功返回0的错误表现,并防止和LINUX其他句柄冲突。 更新日志--------2024-08-30 升级:新增平台委托执行函数LIST和STOP客户机函数支持。 更新日志--------2024-08-29 修正:xlsreadwrite/import xlsx的多线程问题。 升级:支持for in以及msize,mrows,mcols的对象重载,使得对象支持这些算符。 更新日志--------2024-08-27 升级:解释器内核支持globalcache数据在数组中以多级数组的模式进行访问。 修正:python多线程的支持问题。 更新日志--------2024-08-21 修正:office_plugin import开始行列在中间区域的问题。 新增:pdf_plugin,支持pdf生成的功能。 修订:jdbc驱动对PG特殊类型转换导致的问题。 更新日志--------2024-08-16 修正:FIREDAC模式ArrayDML ODBC类型连接模式(例如MSSQL)一列多个BLOB当出现NULL行之后的行均被设置为NULL的问题。 更新日志--------2024-08-13 修正:客户端操作数据表类型插入列的问题。 修正:div在禁止nil运算时无法计算的问题。 修正:复数的特殊计算相关的内核问题。 更新日志--------2024-07-31 升级:office-lib。 优化: MedianOf,LargeOf,SmallOf,PercentileOf,PercentRankOf,QuartileOf,RankOf,TrimMeanOf对每行进行运算的效率问题。 更新日志--------2024-07-22 修正:7-19日升级引起的thashedstringlist工作异常的问题。 修正:7-19日升级的内核优化问题。 更新日志--------2024-07-19 升级:支持优化设置8返回系统类调用的优化信息。如果1+2+4+8 15为返回全部,之前7可以返回全部。 升级:支持tslassigning关键字,识别对象的读操作是否是在对象赋值中。例如a.b.c:=1,b的执行可以得到状态。 升级:TinyODBC/TSJDBC。 升级:内核优化。 更新日志--------2024-07-10 升级:支持缺省加载tslpkg目录里的*.pkg.load包。 升级:TSL命令行支持--build=模式下将无命名空间的函数打包成指定namespace的函数。理论上多套应用包括同名公共函数均可以采用此模式独立打包。 升级:新增tslobjects函数获得内存里的对象信息,支持tslobjects(0)仅获得引用技术或者tslobjects(1)获得对象本身。 升级:LINUX下实现ts_moduleinfo。 升级:LINUX支持遇到严重错误时记录stacktrace以及模块信息等,和WINDOWS类似,但暂时未记录寄存器信息。 修正:极为特殊应用下的内核瑕疵。 修正:JDBC驱动链接模式下sqltable batchinsert时,在表无主键的情况下,生成SQL的列名时对列名的检测存在的问题。 修正:JDBC驱动链接模式下数据库中timestamp with time zone类型进行了修改,根据JVM中时区配置进行数据存取。 更新日志--------2024-07-08 修正:修正内核面向对象特殊应用的相关问题。 更新日志--------2024-07-05 升级:提供对obj.aaa++ --的支持,优化obj.aaa+=等的性能。 升级:UNIT中的变量和常量可能存调试器中手工输入变量输出的表现不正常的问题。 更新日志--------2024-07-02 修正:TSL编辑器等本地调试因为协议升级造成的问题。 更新日志--------2024-06-28 升级:TSL语言UNIT支持在interface或implementation中定义变量或者常量,支持findfunction获得一个unit对象,unit对象支持用.来调用方法或者interface里定义的变量或常量。 升级:JDBC链接模式,支持数据库别名中的options加入driverLoadLock选项,可以=false或者true。处理JAVA的某些版本JDBC驱动实现存在死锁的可能,目前1.8版本或以下缺省为真,设定为真则加载驱动的时候采用互斥模式。 更新日志--------2024-06-18 优化:ansistr2array以及bytetype函数的效率。 优化:内核分级缓存支撑。 更新日志--------2024-06-11 修正:启用的新的流格式存在诱发崩溃的问题。 更新日志--------2024-06-02 修正:officeplugin的问题。 修正:数据库连接采用JDBC驱动时在无主键sqltable插入时数据异常时的问题。 升级:支持超大流的存在,支持tostm(x,0,2)模式(超级大流的紧缩模式),即允许超过1.9G模式。 升级:新增超长binary类型,该类型目前仅在流生成以及流的文件写入等提供支持。新一代客户端提供对超长binary的支持。 升级:支持超大结果集的返回以及超大执行体的执行(包含网格)。 原有的最大流设定依旧生效,且作为缺省值,FileMgr.ini中新增如下设定覆盖该设定: [FileMgr Config] StrmLimited=19000 ;缺省值,单位为M [Strm Limited] user1=20480 ;指定用户,单位为M ;如需要32位和64位问题,则可同时支持StrmLimited64和Strm Limited64来区分64位版本的独立设定。当前由于32位支持暂未继续支持新版本已无必要,但代码仍保留支持。 升级:平台用户可以自主设定流的最大限额,终端用户的流限额保持原有不变。 更新日志--------2024-05-17 升级:MATLAB 支持包,将采用matlab.dll.202xx来支持使用包括R2017b以上及各种未来新MATLAB版本,避免对新版本支持的升级。 更新日志--------2024-05-16 升级:MATLAB 2024a及以上支持包,将采用matlab.dll.202xx来支持使用各种未来新MATLAB版本,避免对新版本支持的升级。 更新日志--------2024-04-30 修订:04-26日版本修复,JDBC连接模式的功能Execsql执行中如果发生错误,将错误信息返回给输出结果集参数。 更新日志--------2024-04-26 修订:JDBC连接模式的功能 增加对ftBytes的支持 TS-SQL insert/update SQLTABLE操作支持数值类型列传入字符串值 Execsql执行中如果发生错误,将错误信息返回给result参数 TS-SQL和ExecSql执行中如果发生错误,在TSL日志中增加连接串别名和SQL 修订:SQLBeginTrans函数实现层支持JDBC连接模式options 升级:tslsvr.ini增加CQ_MARKET的设置,允许配置哪些市场需要除权 修正:event -job命令可能崩溃的问题 更新日志--------2024-04-25 修订:特殊错误表达式导致的问题(正常使用不受影响)。 更新日志--------2024-04-24 修订:tostm函数设定精度对fmarray无效的问题。 升级:支持特殊用户使用特殊的函数名以支持开发用于函数编辑器提示的函数。 更新日志--------2024-04-23 修订:TS-SQL的JDBC链接模式下在SQLTABLE的使用中比较列名时忽略大小写。 修订:解决JDBC链接模式下PG/Gauss下取得的列名都被转换为小写的问题。 修订:解决JDBC链接模式下TS-SQL批量插入返回值问题。 修订:MakeInstance多线程问题。 修订:Linux上threadname设置问题。 修订:GetMsgDigest Linux下表现异常问题。 修订:Unicode和中文 mbcs在ubuntu下转换的问题。 修订:SysExec在某些linux下存在的问题。 升级:新增函数:systhreadself,在linux下返回pthread_t类型的pthread_self(),原有systhreadid修正为真实的threadid。 升级:新增函数:syssettsllibpath,sysgettsllibpath,允许启动后修改函数的查找路径。 修订:解决TSL对老版本Windows支持的问题。 更新日志--------2024-04-18 升级:JDBC从数据库传递巨型结果集给TSL的支持。 修订:因openssl 1.0.2库的线程非安全导致的LIBCURL-TSL的多线程并发可能出现的崩溃问题。 修订:MakeInstance多线程实例用于CreateThread等多线程的问题。 修订:Poco PG Linux对GaussDB支持的问题。 修订:Java容器中TSJNI加载JVM的问题。 修订:GetGlobalCache用::操作存在的问题。 修订:ts-sql select poco的odbc模式下无法支持中文字段和内容的问题。 修订:4-15日版本Linux syscreatemutex的syswaitforsingleobject的timeout处理错误问题。 修订:Poco对time数据类型的修正。 升级:ExecSQL poco的pg驱动提供以参数模式对copy的支持。 升级:Poco驱动提供ExecSQL.ini中配置别名的pre_ping=1模式来识别链接是否已经断开。(为某些国产数据库支持库无法识别是否断开的瑕疵提供的特别支撑) 更新日志--------2024-04-16 修正:Linux版本syscreatemutex问题。 修正:fmarray和fmarray / \算符对浮点和complex计算类型不正确的问题。 更新日志--------2024-04-15 修正:JDBC升级 1. execsql select中1990年1月从java timestamp转TSL datetime double时的偏差。 2. execsql insert中1990年1月从TSL datetime double转java timestamp时的偏差。 3. execsql select使用流拼接,支持大结果集。 4. execsql select返回numeric类型时,直接转为double 5. 连接串的密码中有括号引起的问题 6. 增加对ftMemo类型的识别 更新日志--------2024-04-11 修正:mt_addition几个矩阵函数无法正确地处理浮点矩阵对复数矩阵。 升级:minit,minitdiag函数支持对复数类型的支持。 修正:sysexec在linux上采用超时参数无法正确地获得进程的返回值,哪怕进程在超时时间内已经执行完毕的问题。 修正:sysclientinfo函数有时候执行错误的问题。 更新日志--------2024-04-10 修正:4-9日问题。 修正:4-9日exportfile ftcsv在EXCEL显示多了一行的问题。 升级:JAVA Web支持放入TSJNI,随TSJDBC包。 升级:基本面数据report,reporthist(bid,rid),reporthistexists函数性能大幅度升级。 修正:FileMgr.ini设定的MaxStrLen不生效的问题。 更新日志--------2024-04-09 修正:复数的svd分解的问题。 修正:浮点fmarray和复数fmarray运算问题。 升级:JDBC链接串的ExecSQL函数支持postgresql的copy命令批处理插入数据。 优化:exportfile csv大文件性能优化问题。 升级:新增加exportcsv和importcsv两个函数: function exportcsv(data,Var str,includeindex:boolean=false;includeheader:boolean=true):boolean; function importcsv(s,Var data,includeindex:boolean=false;includeheader:boolean=true;singlearr:boolean=false):boolean; 更新日志--------2024-04-03 修正:JDBC参数绑定时参数名前缀相同的混淆问题。 更新日志--------2024-04-01 修订:fmarray = 模式采用和array判别同样规则,不采用严格相同,这样可以支持-0.0和0的判别,同样存在nan时不再相同。 修订:fmarray complex类型like问题。 修订:fmarray complex类型的集合运算问题。 修订:sumint,meanandstddev,randomfrom,mode,in复数数组等问题。 更新日志--------2024-03-29 修订:复数fmarray的数组式取值和设置的问题。 更新日志--------2024-03-28 修订:weak对象当实体被释放时进行访问,03-27版会导致错误。 升级:TSSVRAPI升级支持对象重载二进制函数功能。 更新日志--------2024-03-27 修订:多fmarray参数函数当fmarray维度不匹配扩展维度时的问题。 修订:jdbc驱动jar包对sqlserver支持的更新问题。 升级:为更好地支持TSNETDB及符号计算等特殊应用,并对GPU、NPU等扩展计算提供基础支撑,升级如下: 在原有算符重载以及TS-SQL重载的基础之上,TSL对象现新增二进制函数重载的支持,例如重载abs/sin/cos等。 本次既支持二进制类用C等语言扩展重载对象的函数(为GPU/NPU等计算提供支撑),也支持TSL开发而成的类重载二进制函数的支持。 对于TSL开发的对象,支持用类方法实现,方法前使用和算法重载一样的operator前缀,参数个数和原始被重载的二进制函数一致。 同时也支持用对象成员函数实现,参数个数比原始被重载的二进制函数少1个,会以第一个参数的对象实例调用该成员函数。 重载二进制函数模式,支持变参,例如trystrtoint等具有变参返回的函数。 下边为TSL类重载二进制函数的具体案例: c:=new c(); echo abs(c),"\r\n"; echo roundto(c,-2),"\r\n"; echo "ret=",trystrtoint(c,i)," i=",i,"\r\n"; echo strtoint(c),"\r\n"; echo class(c).strtoint(c),"\r\n"; //operator方法依旧允许被直接调用 type c=class fa; fb; public function create(); begin fa:=-1111.135; fb:="2345"; end; function operator abs(); //单参数的abs成员方法无参数 begin return ::abs(fa); end; function operator roundto(pr); //两个参数的roundto成员方法只需要一个参数 begin echo "abs:",self.abs(),"\r\n"; //在函数中调用和二进制同名函数需使用self. return ::roundto(fa,pr); //::明确调用全局方法 end; function operator trystrtoint(v);//重载支持变参返回v begin return ::trystrtoint(fb,v); end; class function operator strtoint(v);//重载支持类方法保持和原始函数定义的参数一致 begin return ::strtoint(v.fb); end; end; 更新日志--------2024-03-25 修订:多线程客户机(WEB支持模块等)通讯存在的问题。 修订:format %g模式存在的问题。 升级:支持fmarray复数格式流。 升级:JDBC对SQLSERVER删除记录的问题。 升级:Poco pg支持的BUG,以及对各种驱动的clientencoding支持。 更新日志--------2024-03-22 修订:复数在客户端的显示BUG。 升级:复数支持like。 升级:增加支持复数函数,power,logn,roundto,simpleroundto,iszero... 升级:format %f g等浮点类型支持复数。 更新日志--------2024-03-21 修订:integer*复数的BUG。 更新日志--------2024-03-20 升级:新增数组统计类函数对复数的支持(包括FMARRAY以及ARRAY),包含单序列以及双序列,复数支撑工作基本完成。 偏度丰度以及和大小相关的因复数的特殊性不支持,TS-SQL聚集及数仓统计未做复数支持计划。 修订:因复数支撑产生的BUG以及复数支撑自身的BUG。 升级:客户端支持复数数据类型的显示以及调试。 升级:Python以及R语言支撑部分支持复数和TSL类型进行互相转换。 更新日志--------2024-03-14 修正:TSCURL对邮件编码会因为HEADER项超长时丢失一些字的问题。 升级:复数的绝大部分支撑已经完成,包括各种算符以及新增imag、conj、ifcomplex等函数以及基础函数的支持。 剩下未完成的部分是数组统计类函数对复数的支持。 目前客户端未对复数显示等做支持,但TSL.EXE等已经支持直接使用。复数仍属于测试阶段。 更新日志--------2024-03-05 修正:pk_sql_mysql.dll的问题。 更新日志--------2024-03-04 升级:chromium版本升级到120.0.6099.109,cef升级到120.1.8。 修正:office-lib import xlsx存在sheet参数的时候的问题。 修正:covof,cov等对第二参数具有nil时的处理存在瑕疵的问题。 修正:pocoExecSQL对原本是gbk的进行了utf8到gbk转换导致的字段为column1..的问题。 修正:sysparams[]当系统参数已经被引用时的赋值无法进行的问题。 升级:poco新增pk_sql.dll/libpk_sql.so,具体对应的支持库为pk_sql_*.dll和libpk_sql_*.so。 更新日志--------2024-02-07 修正:THashedStringList问题。 变动:TSSecurity改变对unrar的默认静态链接支持,如果需要unrar依赖其动态库,libunrar.so和Unrar64.dll。 更新日志--------2024-02-05 修正:THashedStringList的效率问题。 更新:TSL.exe的日期申明等。 更新日志--------2024-01-22 修正:Select keepnull无效的问题。 更新日志--------2024-01-19 升级:FireDac oracle clob fix. ts-sql insert update ,dml execsql... 修正:编辑器自动完成功能 更新日志--------2024-01-18 升级:FireDac oracle clob fix. 更新日志--------2024-01-16 修正:CHART图功能的一些出错问题。 更新日志--------2024-01-14 升级:加密配置串等方面的效率升级以及其他问题。 升级:office_plugin浮点精度的问题。 更新日志--------2024-01-08 升级:因修复老版本重新编译。 升级:增加函数收藏内鼠标右键从最近执行列表删除功能。 升级:文件菜单内增加清除最近运行列表功能。 升级:文件菜单内增加清除最近编辑列表功能。 更新日志--------2024-01-05 升级:板块管理新增【导出】【复制到剪切板】【复制为TSL数组】【从剪切板粘贴】等功能。 升级:数据专家支持将选择的内容以【多因子数组模式复制到剪切板】的功能。 升级:函数分类卷滚窗口支持滚轮。 更新日志--------2024-01-02 升级:通讯支持SM2/SM4国密加密算法,需平台支持。(新增gmssl.dll) 升级:数据专家的证券代码搜索显示支持排序。 升级:技术指标数值窗口设置新增不显示。 升级:表格显示支持关闭多行模式。 升级:函数分类采用卷滚窗口。 升级:支持配置串等高强度加密(支持RSA,AES及国密SM2,SM4) 优化:函数特性设置证券代码和类型为行业时候导致性能问题。 修正:客户端服务器列表维护不成功登录未保存的问题。 更新日志--------2023-12-20 修正:内核TStringList类兼容性。 修正:ReadFile兼容性。 增强:内核支持将配置存贮到扩展安全设施中。 更新日志--------2023-12-18 修正:内核TStringList类某些方法的缺陷。 更新日志--------2023-12-15 修正:parsehtml保持和老版本一致。 更新日志--------2023-12-13 优化:数组设置取值效率提升。 优化:提高旧流生成的效率,提升30%左右。 修正:syssendmail附件功能。 更新日志--------2023-12-11 修正:libcurl-TSL在WINDOWS上某些认证提示错误的问题。 修正:数据中心服务在-fullcompactionnewstream -fullcompaction执行过程中未删除老文件的问题。 升级:-fullcompaction加速,无需对数据重新解压和压缩。 升级:新增-fullcompactionoldstream参数,允许全部转换为旧流模式。(可用于测试新旧格式下数据的效率表现等差异) 更新日志--------2023-12-12 修正:LIBCURL-TSL认证兼容性。 更新日志--------2023-12-8 升级:新增函数sysencodecryptstr(s:string;t:integer):string t为0,ExecSQL.ini中的加密连接串,含义见TSL帮助里的-ENCODE t为1,TSL.ini调试配置的密码串,含义见TSL帮助里的-ENCODEDEBUGPASS t为2,TSL字符串编码 修正:新一代的smtp/pop3类 authtype保持和老版兼容。 更新日志--------2023-12-5 修正:internetrequest函数设置header时有可能会送入错误头的问题。 修正:importfile/exportfile如果导入导出失败返回错误字符串,保持和旧版的兼容。 更新日志--------2023-12-4 修正:老模式下使用OFFICE模式importfile ftxls CSV格式导致失败的问题。 升级:ftcsv模式支持utf8 bom格式csv。 更新日志--------2023-12-1 修正:ExcelGetDataRange函数当区域非从第一个单元格开始会存在错误。 更新日志--------2023-11-30 升级:优化老格式流的加载性能。 修正:隐藏菜单功能。 修正:Poco模式对pg 适用TS-SQL insert into批量插入出错的问题。 更新日志--------2023-11-29 升级:增强快速流格式的兼容支持。 升级:支持服务端设置隐藏客户端不需要的菜单和导航功能。 更新日志--------2023-11-28 升级:优化从TSL流加载到内存的性能,传统流模式有百分之几十的性能提升。 升级:新版本的执行返回结果集将使用快速流格式,快速流模式空间需求小,且加载效率快300%。 升级:采用新客户端时,新版本的执行savetable将缺省采用快速流格式(如果存在有不支持新格式的古老执行版本(2020年6月之前的版本)在同一套体系内运行,会导致问题)。 savetable支持第三个参数,如果缺省,则根据前端的版本决定是否存储为新流格式,也设定第三参数为0指定原始流格式,1强制为新流格式。 升级:新一代客户端上传用户数据将采用快速流,为了客户端保持和古旧的平台的兼容性,原有客户端上传的数据依旧采用原始流模式。 注意:如果同时使用老旧的客户端(2020年6月之前的版本)和新的客户端,老旧客户端无法处理新的流模式。 更新日志--------2023-11-17 修正:11-16版本在没有funcext路径时可能会出现监控函数变动的线程忙的问题(CPU被占据一个核心)。 更新日志--------2023-11-16 升级:TSL.INI新增配置 [WebApp] ;OutErrorFlag .& 1 = 1:Disable out error ;OutErrorFlag .& 2 = 2:Disable write error to logfile OutErrorFlag=1 设置为1,不会在WEB端输出运行错误。 更新日志--------2023-11-6 升级:修正sysgetpidtidofwnd函数将pid当tid返回的问题。 更新日志--------2023-11-2 升级:修正var ss:=array();ss[1]:=1;会报出错的问题。 升级:修正未选择返回内容时间序列数据专家会因生成错误执行串而报错的问题。 升级:TSL.EXE支持--runpkg=和--pkg=同时存在,--pkg支持多个包以逗号分隔。 升级:修复使用office_plugin时候import/export xls文件时中文乱码以及xlsx无法导出的问题。 更新日志--------2023-10-25 修正:由于特殊汉字使用CP18030转换失败,默认采用ACP转换。影响包括:L"䶮"的转换,以及wordwritetable内包含特殊此汉字变为问号的问题。 升级:TSL编译输出函数参数支持array of double/integer/int64模式,C语言以double*,size_t len模式来调用,默认转换成为FMARRAY。并支持var模式回写。。 更新日志--------2023-10-19 升级:TSL编译资源的pattern支持,分割,支持*.dfm,*.ini模式。 更新日志--------2023-10-18 *************************************************************************************************************************************** 升级:支持将TSL代码编译成为可执行文件(windows .exe/linux 可执行),动态链接库(windows .dll/linux .so)。 *************************************************************************************************************************************** 升级:升级external执行的效率。 修订:FindFunction("a.b")的模式下,如果是查找a类的b类方法,当a类未被使用过时,会存在不正常的问题。 修订:FindFunction("a.b")的模式下,如果a类为私有的情况下,无法被查找到的问题。但由于a.b模式最初为unit设计,因而私有a类是特例,而单元a优先,因而全局优先于私有,和其他优先级有差异。查找类方法建议使用FindFunction("b",class(a))模式,这样符合私有优先。 修订:无法对数组内的网格使用sum等函数(从加速统计函数以来便一直存在该问题)。 修正:内核BUG(影响极小的个别函数对fmarray类型数据处理上的)。 修正:betainc等一系列函数在处理fmarray的时候可能报错的问题。 更新日志--------2023-09-27 修订:commkrnl可能会丢失断开前数据的问题。 修订:登录失败可能无法显示错误原因仅显示被断开的问题。 升级:JDBC驱动包。 更新日志--------2023-09-22 修正:代理服务器被选用但未设置客户端可以登录但导致WEB浏览白屏的问题。 升级:JDBC支持openforwardonly模式。 升级:新函数,通过标题获得窗口列表sysgetwndofcaption(cap:string[,isContainString=true]):array of HWND如果第二个参数为真,则包含字符串,否则为相等。 升级:新函数,通过窗口句柄获得进程id和线程id sysgetpidtidofwnd(wnd:HWND:string[,Var ThreadId:Integer]):Integer; 更正:sysgetpidofcom函数目前仅支持PID<65535的进程。如果PID获取为65535,需通过上述方式获得。例如Excel Application具备hwnd属性,而Word Application具备caption属性修改标题栏。 更新日志--------2023-09-20 升级:分发支持oa看到网格计算的GID,GID是其启动任务的ID。需要平台升级。 升级:支持sysgetpidofcom函数,获得指定COM对象的进程ID。 范例: getoleobject("Word.application",0,v); echo sysgetpidofcom(v); 升级:支持ExecSql默认使用openforwardonly的模式,增加0x4000000作为NotOpenForwardOnly模式来取消。 openforwardonly的模式可以防止访问大结果集的时候数据库数据集占据内存,导致容易形成内存空洞 具体设置方法如下(此选项对ts-sql无效,ts-sql目前要手动设定openforwardonly): plugin\ExecSql.ini [ExecSql Config] ExecSqlForwardOnly=1 #设置此处则,默认任何别名在EXECSQL均启用openforwardonly模式 [DBAlias] ExecSqlForwardOnly=1 #设置此处则,默认别名DBAlias在EXECSQL均启用openforwardonly模式 更新日志--------2023-09-18 更新:第三方包的LICENSE信息更新,具体见3rdPartyLicense目录。 升级:关于中加入第三方信息。 修正:启动tssecurity库的加载项打印的问题。 更新日志--------2023-09-17 修正:客户端错误检查不报错的问题。 更新日志--------2023-09-15 升级:Execsql flag或者tssql selectopt 0x8000000 支持openforwardonly。采用此种方式可以让大结果集的访问内存占用大大降低。 升级:支持makeinstance 第三个参数,0为单线程,1为多线程单次用于createthread,2为回调多线程,TSL用户可以脱离C++等开发工具直接使用TSL开发多线程以及开发多线程回调函数。 更新日志--------2023-09-12 修订:formatfloat当格式中存在千分位但区域设定不存在千分位时被截断的问题。 升级:提供本地化脚本网格#的多线程调用支持。使用方式和平台网格调用一样,支持本地多线程网格计算,可通过TSL.INI进行配置相关参数。 TSL.INI [multitask] #本地网格计算启动的最大线程数 maxthread=128 #最大计算任务的等待队列 maxpending=16777216 #未完成的任务等待判断间隔毫秒数 busyinterval=3000 #最大等待的次数 busyretry=100000 修订:内核将函数保存成对象会诱发mymem负数的问题。 修订:在类成员函数中使用动态绑定的匿名函数存在问题。 修订:array下标里设定fmarray后再次设置该小标的行为会对fmarray赋值的问题。 修订:median,large,small,percentile,percentrank,quartile,rank,trimmean以及对应的largeof,sp_large等聚集函数以及数据仓库的事件序列方法在存在NAN的时候的问题。 修订:const第二次运行失败的问题。 更新日志--------2023-08-31 修订::.操作符对数组遍历时break的问题。 修订::.操作符导致的?1:.!!2的操作符兼容问题。 更新日志--------2023-08-30 升级:增加:.算符以及:.=,使用方式和::以及::=一样,对于fmarray而言行为一致,但对于数组而言,不假定维度数,而是对数组的节点进行深度遍历。 升级:增加:mfindsparse,对于fmarray而言行为一致,但对于数组而言,不假定维度数,而是对数组的节点进行深度遍历。 更新日志--------2023-08-24 修订:TinyODBC使用中文DSN时的问题。 修订:curl处理邮件里的附件长文件名的编码分行问题。 修订:FIREDAC API模式下ORACLE空clob处理错误问题。 更新日志--------2023-08-18 修订:python模块以及R连接平台的问题。 更新日志--------2023-08-17 修订:python模块连接平台的问题。 更新日志--------2023-08-04 修订:报告模板某些调用无法正常的问题。 修订:对静态计算过多不再报错,直接使用非静态化计算。 修订:office_plugin在大小写方法名上出错的问题。 更新日志--------2023-08-02 备注:下述升级已经升级至客户端本地解释器以及服务端的新一代测试以及测试版。 修订:内核BUG。 修订:在进行计算出现错误类型的时候,提示的行号可能是错误的。 优化:对+-*/等基础计算进行了百分之几十的效率提升。 优化:对minus、outersect等集合运算以及SQL相关的group by,distinct,order by等操作有着从百分之几十到数倍的性能提升。 新增:1L->10L模式的支持,同时提供for对64位整数的支持。 新增:提供PYTHON 3.12的支持包。 新增:新增pn_reporttype()作为底层参数函数。 升级:登录认证提供代理服务器支持,并支持SOCKS5模式。TSL下使用:tslclient.ini 里增加ProxyAuthMode=5代表SOCKS5。在python和r语言里,描述代理服务器的数组增加一项,0为HTTP代理,5为SOCKS5代理。 升级:connectserver函数当使用proxy参数时,proxy参数数组的"AuthMode"下标为5为SOCKS5模式。 更新日志--------2023-07-21 升级:完整支持const定义中的常量计算,包括对父类的常量的引用。 升级:external支持常量以及常量计算,这样对Linux和Windows跨平台定义起到帮助。 修正:TinyODBC的问题。 修正:Apache GetContentLength函数以及HTTP...GET...SERVER_NAME的问题。 修正:CGI模式下的Session onlineuser获得不了以及INI文件不回收的问题。 修正:HTTP请求最大超时只支持1分钟的问题。 更新日志--------2023-07-06 修正:filterin/filternotin字符串下标数据会被返回数字下标的问题。 新增:ansistr2array,支持MBCS字符串的处理。 升级:TinyODBC驱动。 修正:libcurl版本的邮件发送附件文件名过长的时候可能会存在某些版本邮件客户端无法正确解析问题。 修正:COM调用属性和方法同名失败的问题。 更新日志--------2023-06-21 修正:round/roundto对inf的问题。 修正:管理器在递归时在相应函数的根打开不了的问题。 升级:函数编辑器新增缺省参数支持,运行需要新一代平台和新一代终端和解释器支撑。 更新日志--------2023-06-20 修正:globalcache问题。 升级:新增dbgloginasync,loginserverasync函数,...async(channel,user,pwd[ver:double=8.88])。 升级:支持rdo2以及网格计算的命名参数。 更新日志--------2023-06-16 修正:pycall直接调用失败未做失败返回的问题。 升级:内核升级。 升级:python pycall直接支持命名参数。 pycall("numpy.random","randint",low:200,high:900) 升级:python以及COM对象调用支持命名参数。 升级:TSL全面直接支持函数及类方法缺省参数定义以及命名参数调用,二进制实现的类或函数需要本身实现支持。 abcd(); abcd(2,d:99,c:88); //直接命名调用 call("abcd",2,d:88,c:99); //支持call命名构造 c:=new cc(10,c:99); //new 构造支持缺省以及命名 c.bbb(1,e:999);//类方法命名调用 c:=createobject("cc",10,c:9988);//支持createobject命名构造 function abcd(a,b="bbb",e,c,d) //缺省定义 begin echo "a:",a," b:",b," e:",e," c:",c," d:",d,"\r\n"; end; type cc=class public function create(a,b=100,c); //构造缺省定义 begin echo "a:",a," b:",b," c:",c,"\r\n"; end; function bbb(a,b=-100.0,c,d,e) //类方法缺省定义 begin echo "a:",a," b:",b," c:",c," d:",d," e:",e,"\r\n"; end; end; 更新日志--------2023-06-08 修正:用户定义的多选列表参数问题。 修正:python调用失败未做失败返回的问题。 升级:python pycall支持在数组中送入字符串下标作为命名参数。 升级:python在FileMgr.ini里[python Config] Unicode=整数 这个整数可以控制unicode行为,如果Unicode .& 2 为真,则TSL的ansi串直接转为unicode给PYTHON,如果 UniCODE .& 1 为真,则Python的unicode串直接转为TSL的unicode串 升级:新增office_plugin支持直接对xlsx,docx等直接读写操作。 更新日志--------2023-05-22 修正:债券市场更新有时候会导致客户端极慢的问题。 修正:apache模块的问题。 修正:其他内核修正。 升级:JDBC升级。 更新日志--------2023-04-25 修正:函数管理器里排序后查找定位问题。 更新日志--------2023-04-24 升级:支持字符串结果类型显示窗口对字符串的查找。 修正:TSLPy35.pyd的问题。 更新日志--------2023-04-11 修正:管理器查找在排序时的定位问题。 更新日志--------2023-04-10 修正:批量导入加密函数并去除加密函数体引发的问题。 修正:管理器查找当存在排序时定位问题。 修正:帮助文件前置的问题。 更新日志--------2023-04-07 修正:下拉选择板块,一旦当前节点是板块,展开其他节点会导致下拉关闭。 修正:帮助支持CTRL+C的操作。 升级:批量导入导出函数支持进行加密解密操作。 升级:管理器支持递归显示子目录内的函数(由于函数数量原因,如果选中公用函数这种可能会极慢),方便用户对时间排序等操作获得最新的更新函数。 升级:在线升级对话框将同时显示在线升级的whatsnew文件。 修正:API模式下对ORACLE的CLOB/NCLOB支持的瑕疵。 更新日志--------2023-03-09 修正:imap.ListFolders存在解析不正确的情况。 更新日志--------2023-03-05 修正:cpu忙的问题。 更新日志--------2023-02-28 修正:firedac数据库连接以及其他内核修正。 更新日志--------2023-02-22 升级:Apache模块参数解析问题。 升级:sysparamstr中文参数问题。 升级:JDBC驱动。 升级:加入poco版本数据库驱动支持。 更新日志--------2023-02-17 升级:数组*维度更多的fmarray的行为和数组*数组一致。 升级:makeinstance支持多线程回调,调用在TSL的makeinstance所在线程内调用完成。 新增: setfilemode,getfilemode,fileattrtostr,filemodetostr,strtofileattr,strtofilemode 新增:ExecSQL以及ts-sql新增jdbc的支持,支持数据库别名使用JDBC连接数据库的模式。 更新日志--------2023-02-15 修订:[:]:=一个数组会导致右边的数组在copyonwrite模式下字符串内容出错。 新增:weakref,[weakref],autoref,[autoref]支撑,支持weak指针。 更新日志--------2023-2-7 修正:向导里右键的向导函数无法正常工作的问题。 更新日志--------2023-1-30 修正:修订Windows版本SetFileAttr和GetFileAttr保持和WindowsAPI一致。(新一代以及Linux版本新增SetFileMode和GetFileMode来兼容LinuxAPI) 更新日志--------2022-12-29 修订:循环echo这类操作阻塞客户端通讯的问题。 更新日志--------2022-12-2 修订:本地ECHO不起效。 升级:其他关于fmarray的问题。 升级:支持findoverload。 更新日志--------2022-11-3 修正:10-27日版本API Firedac模式下内存泄漏问题。 更新日志--------2022-10-27 修正:API Firedac模式下Decimal类型超大数据越界导致的转换错误,可能诱发崩溃的问题。 更新日志--------2022-10-24 升级:客户端函数编辑器支持TAB移动切换函数的次序。 升级:函数编辑器打开函数会默认打开当前的函数所在的目录。 升级:日期时间的选择组件升级,支持保存时间序列专家里的时间起止值。 修订:在结果页面中搜索,不勾选“区分大小写”的行为区分大小写的问题。 更新日志--------2022-10-20 升级:客户端函数颜色确认后将保存。 更新日志--------2022-10-20 升级:客户端支持函数编辑器的颜色设定。 升级:数组采用copyonwrite模式,只读时采用数组引用不再复制数组,写时进行数组复制。 升级:内核升级,大大提升数组统计函数的效率。 ---------注意,目前已知冲突是对存贮网格的数组进行复制将无法阻塞,需要采用dupvalue函数进行阻塞---------------- 修正:当参数设定转换浮点数字17、18位时进行特定转换。 更新日志--------2022-08-23 修正:floattostr,tostn保留浮点最多15位有效数字。 更新日志--------2022-08-09 修正:curl处理邮件当HEADER分割多行时的问题。 更新日志--------2022-08-03 修正:productof不支持多字段聚集。 修正:debugreturn返回的内容不正确的问题。 更新日志--------2022-07-30 ===============下一代TSL语言测试开始==================== 下一代TSL语言进入测试阶段,可以计算设置里服务选择下一代全新测试 下一代TSL语言的内核以及函数库进行了重新开发,提高了TSL的性能,支持WINDOWS和LINUX,并支持ARM64架构以及准备陆续支持更多的CPU架构 下一代TSL语言对数组的使用上,采用高性能模式,防止因为大量数组拷贝造成的低效问题 下一代TSL语言会提供一些新的特性,这些新特性有的和当前的TSL版本同时支持,有的仅为下一代提供支持 虽然天软已经在下一代TSL版本进行了持续两年的陆续测试,并已经通过全部天软自己内部TEST CASE,但不排除存在一些未能测试覆盖的问题 如若测试中发现任何问题,请及时反馈。 更新日志--------2022-07-30 修订:rank,percentrank,rankof,percentrankof在对重复值保持和EXCEL同样地结果。 修订:exportjsonstring支持直接使用globalcache。 修订:不再主动进行TBB内存回收。 修正:ORACLE API连接可能出现错误的断言。 更新日志--------2022-06-23 修订:编辑器里语法解析在某些特殊场景下出错。 修订:libcurl.dll更新为libcurl-tsl.dll,避免在apache上和同名库的冲突。 修订:极特殊的错误写法导致问题的两个内核BUG修订(不修订也不影响正常使用)。 修订:日期转换失败导致的数据库执行错误,错误场景:PG存贮的日期可能存在异常数据导致对TSL日期转换不合规。 更新日志--------2022-05-31 修订:在uses的时候进行函数调用,不再重复查找已确认不存在的全局TSF函数,解决WEB模式下因为本地函数数量巨大引发的查找性能问题。 修订:确认算符优先级-2^4为-16,也就是说和其他语言保持一致,使得求幂的优先级高过-,另外-2147483648常量不再支持,应该和C++头定义一样写成-2147483647-1 修订:对于-(-2147483647-1)的操作的结果变为浮点数。(对应为0-)越界的操作。 修订:sqlopt(16384)下向后移动存在问题。 升级:新增IMAP类,支持IMAP协议。 更新日志--------2022-04-21 升级:函数编辑器的结构树内增加对成员变量以及property的支持。 更新日志--------2022-03-30 升级:curl版本的网络函数的增强。 升级:增加Python3.10和3.11支持库。 更新日志--------2022-03-24 修正:在界面直接输出Excel的时候,第一个SHEET名称是SHEET2的问题。 修订:技术图形的横坐标线位置偏离且X坐标的值显示异常的问题。 修订:为显示方便表格固定列数被限定。 更新日志--------2022-03-24 修正:日期时间参数无法键盘输入日期的问题。 升级:向导的滚动窗口支持鼠标卷滚键。 修正:新升级新建用户数据可能会进入编辑目录状态的问题。 修正:用户数据排序问题。 更新日志--------2022-03-24 升级:因客户使用用户数据数量较大,导致原有平板式用户数据管理无法满足需求,对管理器中的用户数据管理做出升级如下: 支持类似于函数、板块的按目录显示。 支持新建,更名目录名等。 带路径的用户数据在SaveTable ,LoadTable的时候必需带全路径(\分隔)才可访问。 修正:管理器中某些带路径删除会中途出错的问题。 更新日志--------2022-03-22 修正:某些板块无法选中的问题。 修正:ADO模式下由于数据库驱动不完善所导致的MYSQL TIME类型的值被包括了日期的问题。 升级:市场板块支持搜索。 升级:在导入数据的时候如果输入XLS等类型而对话框未打开选项时显示选项而非关闭。 升级:TSL代码调试和WEB调试的功能修正。 修正:当升级的时候修正退出WORD等程序的提示信息。 更新日志--------2022-03-19 升级:内核支持TSL.EXE和WEB服务调试功能。 升级:支持全局缓存功能。 升级:调试器支持对象调试功能。 升级:新增libcurl为核心的HTTP,FTP,POP3,SMTP等功能,HTTP支持PROXY,会话,COOKIE等功能。 修正:客户端调试器下打开数据后关闭编辑器导致异常的问题。 修订:ZIP文件处理的中文文件名问题。 修订:其他内核修订问题。 更新日志--------2021-11-23 升级:客户端库支持tostm(Data,1)可以转换为新格式的流文件。平台功能升级。 修正:非完全矩阵的计算可能会出现重复计算的可能性。(对于使用非完全矩阵进行四则运算的影响级别高,必需升级) 更新日志--------2021-11-18 升级:优化提升管理器打开的效率。 升级:优化数据向导的打开效率。 升级:新增对matlab r2021b的支持。 更新日志--------2021-11-7 修正:全局查找地内容点击当前函数行号会出错地问题。 升级:优化提升客户端登陆过程的效率。 更新日志--------2021-10-15 修正:进行com对象调用存在的内存泄露问题。 更新日志--------2021-9-1 升级:修改函数编辑器里转换系统函数为用户函数模式,采用另存而不直接采用同名进行存贮。 更新日志--------2021-8-31 升级:用户函数建立更名时检查是否和系统函数冲突。 升级:内核升级对formatfloat等函数正确处理四舍五入中的5的非精确问题(测试版平台已经升级)。 更新日志--------2021-7-22 升级:新增板块选择对话框里的板块查找。 升级:对数据专家里的查找进行了显示和效率优化。 更新日志--------2021-7-16 升级:新增CalcCTRLWord系统参数设置,控制nil参与计算的警告或者出错,以及浮点除0的警告或者出错。 该功能目前已经升级到测试版服务器。 更新日志--------2021-7-9 更新:在数组数据复制到剪切板的时候,对包含回车换行或者TAB、双引号等特殊字符串的进行编码,使得可以正确地粘贴到EXCEL中。 更新日志--------2021-7-1 **************************************************************************** 在这个举国庆祝的重大日子,发布两个微小的更新 近一段时间以来,我们一直在努力让天软的系统可以支持更多的国产化软硬件 天软平台已经可以支持包括X64-LINUX,ARM64-LINUX等平台 我们计划支持MIPS以及ALPHA架构的申威等各类CPU 我们同时在持续专注于产品的性能和效率的优化 我们还有更多的业务类以及IT类产品在持续研发中 有一大波产品在路上 **************************************************************************** 更新:支持Proxy链接时WEB浏览也使用PROXY服务器。 更新:支持返回的表格数据中的多行字符串的显示。 更新日志--------2021-4-6 更新:format函数处理长度超过1K的串的时候可能会出现未处理完被截断的情况。 更新日志--------2021-2-8 新增:MATLAB R2020A的支持库。 更新日志--------2021-1-26 修正:内核修订,对字符串下标的数组进行sortarray或者sorttablebyfield的问题。 更新日志--------2020-11-20 升级:对原始序列采用乱序防止特殊数据导致的快排算法瑕疵。 升级:客户端WEB支持FLASH播放(需安装FLASH官方插件)。 升级:客户端WEB支持开发工具,以方便支撑页面调试。 更新日志--------2020-11-18 升级:客户端管理窗口增加窗口内容过滤以及清除功能。 更新日志--------2020-10-29 升级:客户端自动断开功能检查是否有在线函数在运行,防止错误断开。 修正:特殊的错误数据导致某个字符串类型函数异常。(该错误不会对正常使用产生影响) 更新日志--------2020-10-19 升级:客户端为特殊用户支持自动断开(在服务器后端设置),防止公用账户空闲占用资源。 更新日志--------2020-10-14 升级:防止因TSLInterp.dll和计算平台混用功能导致的close,vol等函数无法找到的问题。 升级:matlab 2020b支持包。 更新日志--------2020-10-12 升级:新版重新支持strtoint的0x的16进制模式。 **************紧急修订*********** 升级:新版本的IncMonth在增加月份为负数且减少后为12月的时候会无法获得正确的日期的问题。 **************紧急修订*********** 更新日志--------2020-09-30 ==========================国庆快乐========================= 升级:编辑器打开很多行的函数存在的效率问题。 更新日志--------2020-09-27 ==========================测试============================ 修订:sysdbfread读错误文件导致的崩溃问题。 新增:国密算法的支持。 升级:openssl-1.1.1g,文件:libcrypto-1_1.dll和libcrypto-1_1-x64.dll 更新日志--------2020-09-26 ==========================测试============================ 新增:sysdbfread和sysdbfwrite函数。 function sysdbfread(Alias,FileName:String;Var value[;IsColInfo:Boolean=false]):Boolean; function sysdbfwrite(Alias,FileName:String;value[;ColInfo]):Boolean; sysdbfread可以读取DBF的内容,或者读取DBF的结构定义。 DBF的结构定义为:array(FieldName1:("Type":FieldType1,"Width":FieldWidth1,"Dec":FieldDec1), FieldName2:("Type":FieldType2,"Width":FieldWidth2,"Dec":FieldDec2),....) 这个已知的DBF结构可以被sysdbfread通过设置第四个参数为真来返回。 也可以在调用sysdbfwrite的时候设置到第四个参数,如果缺省则和exportfile的行为一致,采用自动判别类型。 更新日志--------2020-09-24 ==========================测试============================ 升级:导出显示选中函数数量。 修订:另存为取消后一直显示另存为的问题。 升级:数据专家右键菜单里可以查找指标的帮助。 升级:将rdo2被禁止的提示保留时间延长到30秒。 升级:IIS模块和CGI模块。 更新日志--------2020-09-23 ==========================测试============================ 升级:TSLPy37.pyd的客户端版本升级。 升级:Mod_TSL24.DLL模块补丁。 更新日志--------2020-09-22 ==========================测试============================ 升级:老的函数版本采用legacy_而不是_前缀。(_前缀函数不应被用户函数所使用) 更新日志--------2020-09-18 ==========================测试============================ 修订:测试版本StrToInt,StrToIntDef,StrToFloat,StrToFloatDef的问题。 修订:测试版本concat的问题。 更新日志--------2020-09-16 ==========================测试============================ 修订:GetHttp相关函数在获取失败的时候可能会出现的问题。 修订:内核在取消计算时某些函数导致的瑕疵。 修订:非完全编译模式时可能遇到编辑器里的崩溃。 修订:测试版本的ansitouft8在WIN10表现正常而在server操作系统上表现不正常的问题。 更新日志--------2020-09-14 ==========================测试============================ 修订:数据专家使用ANSIPOS判别字符串字串。 更新日志--------2020-09-11 ==========================测试============================ 修订:测试版对特殊类型的DeleteField的BUG。 修订:测试版的DateTimeToStr在一天的开端和截止处的DateToStr化。使得其行为与之前的版本表现一致。 更新日志--------2020-09-08 ==========================测试============================ 修订:测试版ExecSQL访问失败崩溃的问题。 更新日志--------2020-09-08 修订:因新解释器加速功能导致的导入模式里的字符串常量乱码问题。 更新日志--------2020-09-04 ==========================测试============================ 升级:防止测试超多列数组导致因为CHART相关处理导致的问题。 函数:function ExportJsonStringUTF8(a:array):string;//将TSL矩阵转换为JSON字符串,所有字符转换为UTF8编码。 更新日志--------2020-09-03 ==========================测试============================ 修正:内核错误。 更新日志--------2020-09-02 ==========================测试============================ 修正:浮点数类型无小数的数,客户端输入后被当成整数0 升级:客户端新增小数位数显示的选择。(和平台模型的返回精度不同,当显示小数位数不被设置,默认显示的是数字的最大小数位数) 更新日志--------2020-08-26 ==========================测试============================ 修正:由于新浏览器内核多进程导致的COM服务忙的问题。 修正:sf_betainv以及se_gauss等数值库的几个问题。 更新日志--------2020-08-25 ==========================测试============================ 升级:浏览器内核下载完成后自动打开文件所在目录,自动关闭浏览器打开的空窗口。 测试:重写数值函数库。 更新日志--------2020-08-14 ==========================测试============================ 修正:进程非正常关闭导致的子进程报错的问题。 修正:当前路径不正确时提示浏览器文件找不到的错误。 更新日志--------2020-08-13 ==========================测试============================ 升级:浏览器内允许下载。 更新日志--------2020-08-12 ==========================测试============================ 升级:废弃微软IE内核,引入Chromium内核。 测试:持续内核升级的测试中。 修正:小写的品种名称查找问题。 修正:可能因为检查朋友发送的函数导致的重新登录无法完成的问题。 更新日志--------2020-07-30 ==========================测试============================ 升级:调试的行号跳转不再导致刷新而只跳转行号。 升级:借鉴其他IDE当跳转行号为尾行滚动窗口使得看代码更方便。 测试:持续内核升级的测试中。 更新日志--------2020-07-28 ==========================测试============================ 新增:python3.8,python3.9支持文件。 更新日志--------2020-07-22 ==========================测试============================ 修订:JNI接口返回JAVA非内置类时的内存泄露问题。 更新日志--------2020-07-16 ==========================测试============================ 修订:测试版本的Minof,MaxOf的BUG。 修订:APACHE 获得SCRIPT_NAME的问题。 修订:IsDelimiter函数的错误问题。 测试:新LIB持续测试中。 更新日志--------2020-07-06 =========================================================================== 升级:posthttp等对HTTPS支持的问题。 升级:IMPORT XLSX文件的时候,将空格式当成数据导入的问题。 新增:txlssheet对象新增CalcDimensionsEx方法,重新计算FirstCol,LastCol,FirstRow,LastRow 升级:sortarray,sorttablebyfield,str2array等数十个extsys.dll的函数移植到cplugin.dll,性能得到提升。 *****************************新版本阶段性持续测试中******************************** 升级:ifstring等函数支持ifstring(a,1)对数组内的进行判别,判别结果为同结构数组。 其他内核LIB升级牵涉到的函数如下: datatype, ifint,ifint64,ifreal,ifnumber,ifstring,ifwstring,ifarray,ifnil,ifexp,ifgraph,ifgraphgroup,ifbinary,ifobj,ifmatrix, dupvalue, str2array,array2str,strcmp,length,lengthw,setlength,creatematrix,getmatrixfields,createbinary,getstrindexnum, getstrindexs,getintindexs,getallindexs,sorttablebyfield,sortarray,matrixtoarray, pn_stock,pn_date,pn_rate,pn_rateday,pn_nday,pn_cycle,pn_precision,pn_niltrans,pn_i64trans,pn_languageid,pn_bk,pn_sector,pn_endt,pn_begt,pn_timeindex, cy_day,cy_month,cy_week,cy_1m,cy_5m,cy_15m,cy_30m,cy_60m,cy_quarter,cy_halfyear,cy_year,cy_2m,cy_3m,cy_10m,cy_120m,cy_20m,cy_40m, cy_1s,cy_2s,cy_3s,cy_4s,cy_5s,cy_6s,cy_10s,cy_12s,cy_15s,cy_20s,cy_30s,cy_halfs,cy_detail,cy_freecycle,cy_trailingdays,cy_trailingseconds, rt_none,rt_scale,rt_complex,rd_lastday,rd_firstday,deleteindex,deletefield,tostn,tostm,stn,stm,setspeedcalcmode,getspeedcalcmode,setlikeflag,getlikeflag, convertdatatobuf,convertbuftodata,getformatlocalcode,setformatlocalcode,setprofiler,getprofilerinfo,pn_viewpoint,pn_reportmode,pn_emptymode,pn_freecycle, pn_keeprawdata,pn_standardarray,pn_textresult,pn_resultfilename,pn_uid,cy_f30m,cy_f60m,pn_cyclefilter,cf_default,cf_nonighttrading,cf_callauctiontoseries,cf_suspendtoseries *****************************新版本阶段性持续测试中******************************** ========================================================================================= 更新日志--------2020-05-06 升级:内核和APACHE模块匹配升级。 修正:ORA出现INSERT BLOB报错的问题。 更新日志--------2020-04-30 升级:内核性能升级。 修订:::对子矩阵操作的continue,break问题。 更新:默认当登录修改用户名或者登录不同的平台ID(后台设定的平台标识),函数编辑器将尝试关闭,并对正在编辑的函数进行提醒。 更新日志--------2020-04-22 更新:ExecSQL的Flags定义如下: 高位值,第31位,为1表示为缓存命令(即当Flags .& 0x80000000 <>0),当SQL语句不变需要执行多次的时候,减少SQL编译开销,提高效率。 第30位,为1表示不访问元数据(即当Flags .& 0x40000000 <>0),存贮过程参数类型判定依赖了元数据,但许多其他操作无需进行元数据判别,设置该选项在SQL调用次数很多时可以提高效率。 第29位,当设置第28位的时候生效。为1表示返回字段名转换为大小(即当Flags .& 0x20000000 <>0),0表示转换为小写。 第28位,设置为1时字段名大小写转换生效(即当Flags .& 0x10000000 <>0)。 低位值: 去掉高位以后的值即Flags .& 3 的值,0,表明Result返回的是结果集,当其为1,返回字段结构信息,当其为2时Result[0]返回结果,Result[1]返回字段结构信息。 用例:如果需要返回结果集,且字段转换为大写,即: ExecSQL(0x10000000+0x20000000,....) 更新日志--------2020-04-20 修订:编辑器全局查找会导致界面死锁。 升级:提升大单元以及大类方法调用的效率。 更新日志--------2020-04-14 修订:编辑器全局查找当未完成时候再次查找可能会导致index out of bounds错误。 升级:TSL执行器对内核错误的日志增加了当时运行时系统参数信息的存贮。 更新日志--------2020-04-13 修订:一种特殊的CALL在打开优化信息的时候的问题。 修订:去除用户数据窗不必要显示生成调用代码的图标。 更新日志--------2020-04-10 修订:3月12号升级版本导致邮件发送遇到有附件时会出现正文中的中文乱码。 更新日志--------2020-04-9 修订:使用Importfile操作xls文件会导致内存泄露。 更新日志--------2020-04-2 升级:FileToPDF采用Word内置SaveAs,不再使用Acrobat Distiller。 升级:为Linux版本进行内核的升级。 进展:Linux版本的txlsreadwrite完成测试,可以在Linux下对Excel文件完成读写。 更新日志--------2020-03-31 修正:使用txlsreadwrite类进行Excel读写会丢失主题,导致默认颜色和打开前不一致的问题。 修正:解决"问题后导致的写入CHART等信息的XLSX XML文件因为未对"进行编码导致的警告。 更新日志--------2020-03-30 修正:删除用户数据后同步产生异常的问题。 更新日志--------2020-03-27 修正:缺省邮件编码更换成MBCS。(3月12号升级的版本缺省编码变为了8bit,导致邮件不指定编码会出现乱码) 升级:对于多个客户端在同一个目录里运行,保存文件发生冲突的异常会略过,但会写入异常日志。(一般要规避同一目录里使用的此行为) 更新日志--------2020-03-26 升级:客户端异常将弹出窗口由用户选择是否退出,之前的行为是记录到日志但不影响使用。 更新日志--------2020-03-25 修订:时间序列向导生成代码包括的时间起始时间以及时间索引等系统参数。 修订:删除行等操作可能导致代码树的功能异常。 更新日志--------2020-03-24 升级:去除向导生成代码的非必要系统参数。 升级:在板块相关窗口中进行代码输入的时候,由从全部代码里选择变更为可从当前范围内筛选。 修正:移动编辑器光标代码树定位前移到上一个块首的问题。 更新日志--------2020-03-23 升级:向导生成代码添加了系统参数。 函数运行窗口增加了查看运行代码的功能。 升级:编辑器升级,增加下一块,上一块,向下跳出当前块以及向上跳出当前块的功能。 默认热键为Alt+Up Down以及Ctrl+Alt+Up Down。 更新日志--------2020-03-20 升级:代码树的优化: Repeat Until折叠,且Until独立出来。 为了更好地支持代码树的类视图,对Private,Protected,Public,Published进行折叠。 为了对单元更好地支持单元视图,对Interface,Implementation,Initialization,Finialization进行折叠 为了对异常更好地支持,对Excecpt,Finally进行折叠。 更新日志--------2020-03-19 修订:代码树导致编辑器异常的问题。 更新:代码树不选择try不遗失try内的内容。 更新:减少代码树无谓的刷新。 修正:在线升级的时候CommonDlg在64位版可能出现错误的问题。 升级:重新修订的语言函数帮助文件。 更新日志--------2020-03-18 =================================================================== 更新:代码树新功能尝鲜,这是一个对折叠的替代方案,这是一个创新,我们认为这应该比折叠更有效。。。。。。 在代码树上双击可以跳转到代码 代码光标会自动和代码树进行为止匹配 可以选择自动保存更新代码树,也可以进行手动刷新代码树。 您也可以决定哪类显示在代码树里。 假如您不喜欢代码树这个新的点子,可以关闭之。 =================================================================== 更新日志--------2020-03-12 修正:用户自定义参数编辑里到达最后失效的问题。 升级:解释器升级。 修订:技术指标图形生成函数wg_drawgraph默认配置行为改变的问题。 修订:gethttp等http获得函数支持选择去WININET支持,新增第一个参数为可选,当为数字时代表采用何种模式进行连接: 0表示使用微软的库(存在一定可靠性风险,但兼容性高),1使用TCP直接连接模式。例如: gethttp(1,"https://www.baidu.com",6000,Value,Code); 修订:32位下TCP直接连接GETHTTP等如果存在网页压缩会导致出错的问题。 修订:其他累积的内核问题。 =================================================================== =====LINUX版本的天软平台以及客户机(非本客户端)支持,包括协议,驱动,API等已经内部测试完成==== =================================================================== 更新日志--------2019-09-26 修正:一个微小的内存使用量计算的错误。 更新日志--------2019-09-16 升级:更新函数设置窗的帮助指向。 升级:解决因指数数量巨大导致指数初始化效率问题。 更新日志--------2019-09-15 升级:启用chm使用帮助文件,大部分窗口增加帮助支持。 升级:解决因指数数量巨大导致使用指数类型的参数缓慢的问题。 更新日志--------2019-08-23 修正:GetMsgDigest遇到文件无法打开时弹出对话框的问题。 更新日志--------2019-08-22 修正:当UAC被禁用,excel插件可能会无法读取到正确的用户登录信息,导致输入向导内无内容。 更新日志--------2019-08-16 修正:调试的时候错误地进入函数运行错误信息页。 更新日志--------2019-08-09 ************************************************************************************ 升级:客户端支持多节点协议,即将启用武汉电信枢纽接入节点。 升级:函数运行错误信息支持在函数编辑器中点击行号编辑。 ************************************************************************************ 更新日志--------2019-08-02 修正:ArrayDML中存在Nil会使得第一条也为空的问题。 更新日志--------2019-08-01 修正:binary类型execsql ARRAYDML的问题。 更新日志--------2019-07-31 修订:any,all判定行的问题。 修正:binary类型execsql ARRAYDML的问题。 升级:对于ASCII码为1-31的TOSTN转换为\x01 \x1f 更新日志--------2019-07-30 修订:在存贮过程中利用参数传递BLOB类型可能会遇到转换导致的内容错误问题。 更新日志--------2019-07-19 升级:支持UTF8常量字符串表达式,U"我们"代表UTF8字符串的我们,新的非转义也支持:U%% 我们%% 升级:.PY文件在客户端编辑,将自动以UTF8格式存贮,以吻合目前PYTHON的默认编码为UTF8格式。 升级:增加PyError()函数,获得PyRun运行失败的内容。do python自动报告错误将自动包括PYTHON的堆栈错误。 更新日志--------2019-07-15 升级:RSA公钥格式兼容性,以及增加WEB常用编码encodeuricomponent,decodeuricomponent,encodeuri,decodeuri。 更新日志--------2019-07-02 升级:MATLAB 2018B,2019A的支持。 更新日志--------2019-06-28 升级:DeleteIndex,DeleteField在字符串下标或者非合并的数字下标上效率质的提升。 修正:编辑器里在空格间回车的错误缩进。 更新日志--------2019-06-25 升级:R语言支持多条代码执行。 修正:::没有结尾的错误提示,运行需要平台修订支持,防止这个问题可以加begin end。 更新日志--------2019-06-24 升级:编辑器对%%语法的支持。 更新日志--------2019-06-21 更正:TSLPy35.pyd被错误引入了python37.dll 更正:在32-bit下formatfloat和format在浮点四舍五入上存在和64-bit不一致的问题。 更新日志--------2019-06-10 升级:非转义字符串%%的支持。 定义如下: %%[标识符]<回车换行|回车|tab|空格>字符串原始串%%[标识符] %% \r\nABC%%代表字符串\r\nABC %%JJC %%JJJ%%JJC代表字符串%%JJJ,其中JJC就是标识符 %% abcd%%代表字符串abcd %%__ printf("%%smc")%%__代表字符串printf("%%smc"),其中__为标识符 升级:类信息classinfo允许用classinfo(1)得到一个类类型。 升级:对外部语言的调用,in表示只送入,out表示只送出,var表示送入送出: 如果使用变量名,会默认将同名变量名送入倒外部语言中,但由于TSL的变量名大小写无关,因而送入的都是小写,假如目标语言大小写相关,可以用name关键字 a:=3; c:=2; do python in a name "A",out b,var c %% c=A*c b=c*c %%; 结果c为6,b为36 对于不同的语言而言,可能有的语言存在返回值,有的语言是无返回值的。和语言相关,例如PYTHON的没有返回值,而r有返回值。 如果只执行代码,参数等都可以省略。 对于某些语言,可能会存在其他配置的,可以通过by语法来送入。 do extlanguage [paramlist] [by config] 目前extlanguage已经支持python,r,matlab,今后可能更多的语言会被扩展支持,底层用户也可以通过接口规范来扩展支持其他语言。 配合新的%%无转义字符串语法,对于调用其他语言会更方便。 升级:CTP交易升级。 更新:客户机送入InternetIP,InternetPort,LoginTime等信息。 升级:对象算符重载数组set算符: getnone函数可以获得none类型包含的int值。 ifnone(v,i)可以判断是否属于none并且所含整数位i。 当对象重载下标set的时候,none类型的整数值为set的级别,也就是从0,1,2,3....。如果一旦set的过程出现错误,则调用set重载,值为-1的none类型,这样做方便数据库等事务的实现。 新增:Python对象在TSL方法中传递的支持。Python的对象类型允许在TSL中直接像TSL对象一样来调用该方法。暂时不支持[]等重载算符。 升级:数据库访问新增teradata和mongodb的api直连支持。 新增:客户端协议包新增插件支持,支持将第三方信息送入平台,例如CTP本地插件信息。 新增:增加了对.py/.m/.r存贮的支持。需要服务端支撑。 升级:SetSysParam,GetSysParam等函数提供了客户机和服务器相同的实现逻辑。对R/PYTHON在服务器端运行提供了直接调用TSL服务器函数的支持。 修订:防止new 类名和属性名同名时产生的问题。 修订:空case of的问题。 新增:TSL.EXE -libpath参数 支持:tsl.conf中增加System段里的Libpath参数,可以设定附加的路径,这个路径里支持{$P}来替换为当前所在路径,这种使用主要解决TSL.EXE调用所开发多个.tsl编写的应用的函数重名问题。 例如可以在tsl.conf加入 [system] libpath={$P}funcext\ 这样可以使得.tsl所在的路径下的funcext会成为优先的funcext路径。 更新日志--------2019-04-28 兼容:有2019年1月开始,修订了可以访问到私有的property的问题,但由于有的老程序正好利用了这个特性。 在TSL.INI新增了支持,一旦设定该选项为1,则任何域的property都可被访问,无论是public还是protected,private。默认情况下这种违反规则是不被允许的。 [Compatible] PrivatePropertyAccess=1 更新日志--------2019-04-25 更新:SysBugCheck.exe /o参数写入文件尾带空行问题。 更新日志--------2019-04-24 新增:MagicSetArray和MagicGetArray函数,对数组提供函数支持: MagicSetArray(A,1,2,3,4,99)等同于对数组A进行A[1][2][3][4]:=99。 MagicSetArray的另外一种写法为: MagicSetArray(A,array(1,2,3,4),99),也是同样的,也就是说,第二个参数一旦是数组,认为数组内的数据就是下标。 MagicGetArray(A,1,2,3,4)等同于对数组进行A[1][2][3][4]的获得操作。 MagicGetArray的另外一种写法为: MagicGetArray(A,array(1,2,3,4)),也是同样的,也就是说,第二个参数一旦是数组,认为数组内的数据就是下标。 修订:MD的差别,一旦用MD获得一个不存在的MD数据,数据将返回为nil,之前的行为是不确定的,可能会返回不特定的数字。 修订:AnsiPos函数的位置是将汉字当一个字符。在2018年8月到2019-04-18的版本中,AnsiPos的含义和Pos相同,缺乏意义,进行修订保持原来的含义。 新增:TS_ModuleInfo的函数,支持TS_ModuleInfo()返回两行两列,代表进程以及TSLInterp.dll的时间以及大小信息。 如果有系统权限信息,用TS_ModuleInfo(1)返回所有模块的文件名和时间。 修正:importjsonstring对特殊的含有反斜杠的中文无法处理的问题。 修正:Debugreturn无法返回网格数据。 修正:Reindex可能存在的内核错误问题。 新增:#的with参数里允许用"@AppServerId@"下标来指定需要送入的服务,这个服务可以是服务群组名,也可以是每台执行的名字,例如ip:路径模式,也可以是Exec64.exe.name设定的名字。 当名字超过20个字符的时候,前二十个字符有效。 如果使用Api,指定服务,也可以使用这个机理设定到指定的执行名。 客户端在服务选择中将会列出执行名。(也采用了截断20个字符) 修正:左除错误没必要的日志的问题。 新增:tsappservername函数将返回平台设置的名字,如果没有设置,默认是ip:进程路径,原有tsappserver暂时保持不变,ToDo:未来可能和TsAppServerName的含义保持一致。 更新日志--------2019-4-1 升级:修正支持COM访问的out,in/out参数引发的0参数出现的问题。 更新日志--------2019-3-27 升级:支持COM访问的out,in/out参数。 更新日志--------2019-3-25 修订:TSL.EXE有时候会出现无法退出的情况。 更新日志--------2019-3-18 修订:importjsonstring和exportjsonstring支持nan和inf,相应的浮点转换为NaN,Infinity,-Infinity。注意:json规范并不支持nan和inf,这样做只是为了使用上的便捷,转换串保持和python处理的兼容,无法保障在其他语言中可以正确处理转换出来的json串。 修正:支持Binary的tsl类型在execsql的参数中。 新增:Integer,Int64函数对其他类型的转换,可以获得地址作为唯一值。 修正:Select对象的时候DataNext和Prev增加了一个是否判别日期的参数。 更新日志--------2019-1-30 修订:Property的Private被调用的问题。 修订:Inheritd的Private被调用的问题。 新增:Matlab 2018b支持。 更新日志--------2019-1-18 修订:转换为用户函数无法编辑的BUG。 修订:在只读情况下出现自动完成窗口的BUG。 更新日志--------2019-1-9 修订:执行模型自动保存模型后CTRL+Z到头会导致保存的按钮变为灰色,而不是判定在保存点为灰色。 更新日志--------2019-1-8 修订:保存后CTRL+Z到头会导致保存的按钮变为灰色,而不是判定在保存点为灰色。 修订:SQL语法对TSL对象支持的一个特殊的小问题。 更新日志--------2019-1-3 修订:XLSX的ZIP存在问题的时候,可能会导致死循环无法结束的问题,影响importfile以及xlsx读写类。 修订:XLSX的读写类对Chart图的支持。 更新日志--------2018-12-17 新增:版本控制里增加复制按钮。 *****************************************************基本面数据访问*********************************************************************** 新增:基本面数据的返回增加系统参数选项,pn_EmptyMode(),可以设定当记录不存在的时候report和base的缺省行为。(此功能需要平台升级) 系统参数的取值可为下列数字: 0:缺省值,设置为整数0 1:设置为Nil 2:根据字段的数据类型设定,浮点为0.0 3:设置为短杠字符串 4:设置为N/A字符串 5:设置为浮点NAN 6:根据类型设定,浮点为NAN 更新日志--------2018-12-14 修正:JDBC服务器缺少JAVA类。 更新日志--------2018-12-11 修正:数据库NUMERIC类型超过浮点精度的数字会导致出错的问题。 更新日志--------2018-12-6 修订:32位下浮点或者64位整数作为$的第一个操作符的问题。 修订:数据库操作在事务中,一旦出错会自动关闭链接的问题。 更新日志--------2018-12-5 升级:语言支持Inherited,单独使用为调用父类的同参数同名函数,带函数使用如inherited func(a,b,c)的模式调用父类方法。需服务器支持。 修订:管理器里修改函数名称导致无法保存的问题。 更新日志--------2018-11-26 升级:TSJDBC.ZIP,jdbc增加日志功能。 修订:tslogin.dll的问题。 修订:endexecute的问题。 更新日志--------2018-11-23 升级:在成员方法中,允许直接引用property,而不需要加self.。(此升级需要平台升级支持。) 升级:支持selectopt(16384),该选项影响SQL的REFOF以及移动聚集函数,当有ORDER BY的时候(且非group by),返回列表里的REFOF和移动聚集函数的行为将会以排序结果集为基准,而非原始序。(此升级需要平台升级支持。) 修正:Ado模式数据无符号溢出问题。(此升级需要平台升级支持。) 修正:ViewPoint对周末的处理的BUG。(此升级需要平台升级支持。) 修正:交易明细周期在集合竞价时间段的处理问题。(此升级需要平台升级支持。) 升级:函数编辑器双击tab可以关闭当前。 升级:函数编辑器在选中后查找不再进入到区域查找,除非选中的内容是多行。 升级:增加Shift+F3向前查找。 升级:批量导入导出函数对话框,增加函数的查找功能(支持正则表达式)。 *******************************本地tsf函数和TSL编辑的功能持续测试中***************************************************** 升级:增加本地tsf函数和tsl编辑的功能。 ************************************************************************************************************************** 更新日志--------2018-11-6 升级:当打开编辑器打开历史的多个函数的时候加速打开。 升级:当打开的函数很多的时候加速关闭。 更新日志--------2018-11-5 更新:解决因任务栏升级导致的XP兼容。 更新日志--------2018-11-1 升级:函数编辑器增加关闭所有其他函数。 升级:任务栏(运行时或锁定在任务栏)支持鼠标右键弹出打开最近的函数。 更新日志--------2018-10-30 更新:函数编辑器里的导入和导出以及导航的批量函数导入导出的默认路径设置成一致,且保存并进行联动变化。 更新日志--------2018-10-17 更新:修正SQL对对象的查询插入删除更新等操作。 新增:新增SQL对二进制类对象的查询插入删除更新等操作的支持。 更新日志--------2018-10-16 *****************************以下服务器运行需平台升级,内测新功能进行的修订准备**************************** 新增:cov,commaexpr编译选项,用于判定是否支持双序列聚集和时间序列函数以及是否支持逗号表达式。 新增:类C++的逗号表达式支持。(a:=1,b:=2,a+b)的结果为3。 新增:[]重载时允许多级,如果返回值为对象。 新增:ifnone判定数据类型是否为NONE类型,NONE类型的数据被用在[1]算符重载(setter)的中间级。 新增:objectstate函数判定对象所处的状态。 新增:TStringList对象重载[]算符,支持数字下标或者字符串下标。 更新:TSL.EXE 64位设置为64M默认堆栈。 更新日志--------2018-9-28 修正:sp_slopandintercept未能正确编译的问题。 更新日志--------2018-9-21 更新:函数编辑器允许设定是否自动打开上次编辑的函数。 修正:函数编辑器里新建函数无法出现在重新打开的列表中。 更新:******************************************************基础统计支持增强*********************************************************************************************** 增强数据仓库时间序列的统计函数 新增单序列统计关键字:sp_large,sp_small,sp_percentile,sp_percentrank,sp_quartile,sp_rank,sp_trimmean,sp_frequency,sp_geomean,sp_harmean,sp_median,sp_mode, sp_product,sp_totalvariance,sp_norm,sp_skewness,sp_kurtosis,sp_skewness2,sp_kurtosis2 新增双序列统计关键字:sp_cov,sp_correl,sp_slope,sp_intercept,sp_rsq,sp_steyx,sp_slopeandintercept 新增TS-SQL双序列统计聚集函数 correlof,covof,slopeof,interceptof,rsqof,steyxof,slopeandinterceptof 新增底层双序列统计函数 cov,correl,slope,intercept,rsq,steyx,slopeandintercept *********************************************************************************************************************************************************************** 更新日志--------2018-9-19 更新:函数编辑器的版本DIFF增加横向卷滚条。 修正:ftxlsII输出成.xls的问题。 更新日志--------2018-9-7 修订:shl,shr,rol,ror算符采用和_shl,_shr,_rol,_ror一样的逻辑,即无符号整数位运算,防止出现1L shl 63 shr 63无法获得为1的结果。 更新日志--------2018-9-6 修订:切换登陆平台如果平台ID被错误地设置为一致可能会因为扩展基本面信息的变动导致客户端异常的问题。 修订:客户端默认服务选择地提示信息可能被遮挡的问题。 修订:打开数据文件会导致退出的时候报错的问题。 更新日志--------2018-9-3 修订:64位下客户端版本DIFF存在的问题。 更新日志--------2018-9-2 修订:近期升级导致的EXCEL无法执行股票代码序列的函数。 更新日志--------2018-8-31 修订:基本面文件可能因本地文件损坏而缺失的问题。 增加:TSL语言增加SQLIn算符,含义和IN不同,可以以行的模式来判定是否在其中。 增加:为增加使用的便捷性和兼容性,客户端编辑器支持使用Ctrl加鼠标滚轮调节编辑器的字体大小。原有的Ctrl+鼠标滚轮进行换页的操作修订为ALT+鼠标滚轮。 增加:表格中的Ctrl+鼠标滚轮调节表格的字体大小。 修订:FindClass无法查找对象的父类,如果父类本身不是全局类或者当前函数的子类。 更新日志--------2018-8-29 修订:nil-数字的操作可能不是想要的结果不可预期的问题。 更新日志--------2018-8-26 修订:TSJDBC.ZIP的JDBC驱动存在无法正常地多线程工作的问题。 更新日志--------2018-8-24 修订:classinfo的下标问题。 更新:函数分类。 更新日志--------2018-8-22 修订:Internetrequest以及gethttp当使用HTTPS的时候,无法打开证书有问题的URL。 更新日志--------2018-8-20 修订:键盘精灵第一个字母的问题。 更新日志--------2018-8-17 修订:一些客户的客户端会出现导航栏目第一个函数页的内容无法正确显示。 升级:更好的键盘精灵,当失去焦点的时候会自动关闭,防止影响正常使用。 更新日志--------2018-8-16 修订:修订客户端排序问题,修订8-14日升级里的问题:函数sorttablebyfield等依赖排序的相关函数的问题。 更新日志--------2018-8-15 修订:无法IMPORT/EXPORT类型为DBF类型的问题。 更新日志--------2018-8-14 升级:客户端统一委托执行和在线执行的已过时间的表达模式 升级:客户端支持widestring类型的显示编辑等。 升级:客户端输入代码对话框为便捷进行了代码排序。 升级:解决TSL.EXE或者其他组件重新退出调用超过一定次数会导致TSL.EXE连接平台失败的问题。 说明:SQLSERVER兼容性问题: 如果仅安装驱动版本为ODBC DRIVER 17 FOR SQL SERVER,可能会出现TSL.EXE无法正常退出的问题,最新版本支持该驱动但已将该驱动版本的优先级设置为最低。 在某些操作系统版本下,客户端采用RDO2方式访问SQLSERVER可能会导致无法正常访问的情况。 经检查,此情况为操作系统的兼容性误处理造成的问题,一旦出现这样的问题,请尝试更改客户端安装路,再行尝试。 ****************************************目前大部分UNICODE升级服务端仅在测试版平台支持,测试后会在正式版部署********************************************************************** 升级:Unicode升级,在以下有现实意义 一是文件访问,由于文件名可能无法转换为MultiByte字符串表达,这样只能用Unicode文件名才可以访问。 二是像邮件处理之类的,一些特殊字符编码为UTF8类型,无法正常地转换到MultiByte,需要Unicode支持。 三是数据库的字段,一旦采用Unicode编码,也会存在无法解码到MultiByte格式,需要Unicode支持。 四是对DLL外部调用,支持Unicode可以更好地进行映射。 升级:Unicode支持,包括ExecSQL允许当别名为WideString的时候,默认使用WideString。SQL里的Select支持在SelectOpt里加入8192选项,使得返回字符串为Unicode。 对于Com,Ole的对象,一旦创建采用WideString,则之后调用返回的字符串则使用WideString。 Unicode支持,底层字符串计算的相关基础函数几乎都支持Unicode,但目前和数据仓库系统参数等不支持。基础的类支持Unicode模式,一般类方法调用如果带字符串参数返回也为字符串的,则采用一致类型,其余大部分返回字符串的类方法均添加了W结尾的方法返回WideString。 升级:Unicode支持,新增如下函数: booltostr不支持可选参数返回"True" "False",和目前帮助文档有差异,增加booltostr2 booltostrw,booltostrw2 ifwstring,inttostrw,inttohexw,utf8tounicode,unicodetoutf8,multibytetounicodew,floattostrw,currtostrw,datetostrw,timetostrw,datetimetostrw,strw encoderadixwstr,,decoderadixwstr,ununicodeescw,ununicodeesc2,ununicodeesc2w,IniReadsectionsW 升级:正则表达式支持UNICODE字符串类型。 正则表达式控制串支持包含字符表达如下模式: a: REG_DOTALL; n: REG_NOSUB; 8: REG_UTF8; E: REG_NOTEMPTY; u: REG_UNGREEDY; U: REG_UCP 如果通过likeflag修改like行为,则: REG_DOTALL 0x0010 /* NOT defined by POSIX; maps to PCRE_DOTALL */ REG_NOSUB 0x0020 /* Maps to PCRE_NO_AUTO_CAPTURE */ REG_UTF8 0x0040 /* NOT defined by POSIX; maps to PCRE_UTF8 */ REG_NOTEMPTY 0x0100 /* NOT defined by POSIX; maps to PCRE_NOTEMPTY */ REG_UNGREEDY 0x0200 /* NOT defined by POSIX; maps to PCRE_UNGREEDY */10 REG_UCP 0x0400 /* NOT defined by POSIX; maps to PCRE_UCP */ 以上说明来自于pcre。 ********************************************************************************************************************************************************************************** 更新日志--------2018-07-18 修正:ReadExcelSheets函数对xlsx文件会多一个空字符串项。 更新日志--------2018-07-12 新增:__line__关键字,获得当前的行号 新增:客户端的函数编辑器支持设定热键。用户也可以通过该配置以获得各种编辑器的热键功能。 新增:Python 3.7的支持库。 修正:默认导入函数默认为全部支持类型,并修正了导出的公用函数无法被导入进用户的问题。 升级:ParseRegexpr函数支持替换,在选项串中加入r字符即可,$1$2为求值宏,最大支持$99,$` $'获得匹配的左边和右边的字符串,$&或者$0为匹配项。 source:="ddd2011a uuuu 2012b zzzz 2013c xxx"; ParseRegExpr("(\\d+)(\\w+)",source,"r","$2$1",s ); return s; //结果为ddda2011 uuuu b2012 zzzz c2013 xxx 另一种模式为回调函数模式,回调函数的参数为一个数组,第0项为匹配串,之后为求值的串: source:="ParseRegExpr 2011 ShenZhenTinysoft (TSL)"; ParseRegExpr("(\\d+).*(Tinysoft)",source,"r",function (a)begin return a[1]+a[0] + a[2]; end,s ); return s; //结果为ParseRegExpr 20112011 ShenZhenTinysoftTinysoft (TSL) 升级:面向对象的Operator重载支持[],用[]或者[0]重载getter,用[1]重载setter。 支持++,--重载,如果没重载,没重载++,--,+=,-=可替代 具体用法: a:=new aa(); echo a[1]; //显示的是2 a[33]:=999;//显示的是set->33->999 return; type aa=class public function operator[](index); begin return array(1,2,3)[index]; end; function operator[1](index,v); begin echo "set->",index,"->",v,"\r\n"; end; end; 新增:新函数 datetimetointernetstrw datetimegmttohttpstrw datetimegmttocookiestrw 升级:concat支持unicode 准备:语言内核以及函数的更多UNICODE支持在途中。 更新日志--------2018-6-12 升级:TSL.EXE退出前释放资源,防止某些情况下无法退出的情况。 修正:函数编辑器选择内容越多,滚动的效率越低。 更新日志--------2018-6-3 升级:函数批量导入支持文件多选,支持.fun文件格式。 升级:编辑器新增CTRL+/进行多行注释,CTRL+SHIFT+/进行取消多行注释。 更新日志--------2018-5-31 修正:登录错误的信息提示为已断开的问题。 升级:事务在批量更新时和SQLSERVER的兼容性。 升级:支持Array DML,支持ExecSQL的参数为数组,支持Oracle,SQLServer,MySQL等数据库。 以下为实现高效批量插入的Oracle例子: s:="insert into testtable values(:p1, to_date(:p2,'yyyy-mm-dd'), :p3)"; //假定testtable有三列,第一列为字符串,第二列为日期,第三列为数字,insert语句中使用参数p1,p2,p3。 //param中将p1,p2,p3的值用数组传入 param:=array("p1":array("Direction":1, "Value":array("11","22","33","44","55")), "p2":array("Direction":1, "Value":datetostr(array(today(),today()-1,today()-2,today()-3,today()-4))), "p3":array("Direction":1, "Value":array(1,2,3,4,5))); ret:=ExecSQL(param, OraDBAlias, s, result); 更新日志--------2018-5-23 升级:客户端安全性升级。 升级:客户端超时密码锁定功能。 升级:程序内Echo #127;可清除掉客户端ECHO窗口中的内容。 更新日志--------2018-5-14 修正:特殊情况下Eval导致的一个问题。 更新日志--------2018-5-11 修正:Insert into的一个特殊用法的BUG。 更新日志--------2018-5-3 修正:API模式下,ExecSQL KeepNull参数失效的问题。 更新日志--------2018-4-29 升级:当多用户同时编辑同一个函数的时候,将会存在版本差异提示(需要平台后端支持)。 升级:数组效率得到提升,length函数以及循环&=操作将大大提升效率。 升级:验证码支持(需平台打开功能)。客户机安全性提升。 更新日志--------2018-4-12 修正:InternetRequest函数调用可能出现的内存泄露问题。 更新日志--------2018-4-3 升级:支持R2018a的MATLAB。 更新日志--------2018-3-29 升级:JDBC驱动升级。 更新日志--------2018-3-15 修正:登录时如果服务端有信息弹出会异常并会导致初始化无法完成。 准备:同一用户名多人同时修改同一函数的支持在路上(服务端部分已完成)。 更新日志--------2018-2-6 修正:1月版本JDBC驱动链接不断开的问题。 更新日志--------2018-2-5 升级:SortArray,SortTableByField支持字符串下标(平台支持需要服务器升级)。 更新日志--------2018-2-1 升级:ODBC驱动对非完全矩阵的支持。 更新日志--------2018-1-12 升级:ODBC驱动升级以支持R调用。 升级:JDBC服务器新增invokeport参数支持防火墙,修订并发调用的问题。 兼容:JDBC支持1.6版本JAVA运行环境。 下列升级新功能测试服务支持,测试完成后在正式版本将会进行更新: 修正:解决Begin End语句段调试器的断点行数错误问题 升级:非完全矩阵的四则运算问题。 也就是说支持array("A":1)+array("A":2,"B":3)得到结果为array("A":3,"B":3) 注意:这个改动对nil在四则运算中进行了支撑,允许1+nil的这种操作,以前这样的计算会出错。 升级:表达式允许在跨函数中传导引用参数和变量。 更新日志--------2017-11-28 修正:从Matlab支持包里的MATLAB引擎返回字符串无法正确解析的问题,修正从2012A-2017B的支持版本文件(32位不再支持2015B以后的版本)。 升级:ODBC驱动升级以支持Python的新版本ODBC包。 更新日志--------2017-11-17 修正:ReplaceText,ReplaceStr相关函数规避第二个参数为空串的时候结果为空串。 更新日志--------2017-11-13 修正:技术指标图形无法显示四位小数的问题。 更新日志--------2017-11-3 修正:编辑器自动完成有时候会出现光标跳转位置错误的问题。 更新日志--------2017-10-30 修正:特殊情况下ODBC在多线程的初始化时出现异常。 更新日志--------2017-10-25 升级:大大提升子函数多的类以及单元的编译效率以及大大降低内存占有量。 升级:终端增加TSL脚本类型开发支持(运行需要平台支持)。 升级:支持 ::前缀在局部函数和全局函数/单元函数发生冲突的时候调用到全局函数/单元函数。(需平台升级) 更新日志--------2017-10-18 更新:json处理对大无符号数据转换到INT64。 升级:支持refmaxof,refminof聚集函数,定位最大最小的记录(平台支持需升级)。 使用方法: a:=array((1,2),(4,3),(2,5)); return select maxof([0]),refmaxof([1]) from a end; //访问最大值所在行的[1]的值。 //返回结果集为:array(("Expr1":4.0,"Expr2":3)) 升级:64位版本新增Matlab 2017b的支持,需要的用户请将matlab.dll.2017b更名为matlab.dll 更新日志--------2017-10-11 更新:支持加密函数更名后的函数头修改为更名后的名称。 更新日志--------2017-9-29 更新:Eval允许return。 更新日志--------2017-9-28 更新:TSJDBC.zip,内含Java工具包的使用说明。 更新日志--------2017-9-22 修正:mt_decompose_qr的问题。 更新日志--------2017-9-12 ==========================JAVA=========================== 升级:TSL支持对Java的直接调用。 =========配置:Plugin\Filemgr.ini======= [Java Config] Enabled=1 Version=65544 option1=-Djava.class.path=C:\temp\ option2=-Djava.home=C:\Program Files\Java\jdk1.8.0_45 =================配置说明================ Enabled=1则表明启用JAVA Version是Java的最低版本常量,0x10008表示1.8,10进制为65544,如果设置为1.4则为65540 Java虚拟机启动的时候会带一些参数,一些必要的参数有:Java的类路径,以及java的home 这些参数可以用option1..n来设置 Java对服务器平台的支持,有安全沙箱,可全部许可或者对指定用户进行许可 全部许可方式如下: [Java Config] EnginePermit=1 按用户许可方式如下,例如许可User1,User2使用Java引擎: [Java Config] EnginePermitUser=User1;User2 ============Java的调用说明================ 增加了tjobject(Java对象),tjclass(Java类),tjdescriptor(Java描述符)三个类,一般情况下tjdescriptor不需要使用 ==========tjclass的使用范例============= systemClass:=new TJClass("java/lang/System"); properties:=systemClass.getProperties(); systemClass.out.println(properties.getProperty("java.class.path")); ==========tjobject使用范例============== //构造StringBuffer对象 sbObj:=new TJObject("java/lang/StringBuffer", "hello world"); //调用对象的insert方法 ret:=sbObj.insert(6, "天软"); //调用toString方法 str:=sbObj.toString(); //显示:hello 天软 world echo str, "\r\n"; ============数据类型转换说明================== 绝大多数的数据类型,TSL与Java之间会做隐式类型转换,TSL支持显式的数据类型转换 这是由JavaEncode以及JavaDecode来实现的 ==============JavaEncode JavaDecode范例================== //char[]构造,Unicode字符集,JavaEncode负责生成Unicode编码的char数组 charArr:=JavaEncode("chararray", "Tinysoft天软"); strObj:=new TJObject("java/lang/String", charArr); SystemClass.out.println(strObj.toString()); //构造字符串 strObj:=new TJObject("java/lang/String", "天软科技"); //得到byte数组,系统默认字符集 byteArray:=strObj.getBytes(); //byte数组转换为字符串 str:=JavaDecode("String", byteArray); echo str,"\r\n"; ======================================================== JavaEncode支持的显式转换的类型有: "CharArray", "ByteArray", "CurrentClass" JavaDecode支持的显式类型有 "String","WString" 由于绝大多数数据类型已经在隐式转换里自动支持,例如array(1.0,2.0)会映射到float[] 如存在有需要显式转换的其他类型今后将会根据具体需求进行升级 ========================================================= 更新日志--------2017-9-4 修正:数据库的字段byte等类型的映射问题。 更新日志--------2017-9-3 升级:支持二进制类的方法函数指针。 升级:WEB插件的并发受限问题。 升级:新增SQLCloseConn([DBAlias:String]):Integer;用于关闭数据库链接。 更新日志--------2017-8-18 修正:ORACLE下BCDOVERFLOW的溢出问题。 更新日志--------2017-7-27 更新:更新txlsreadwrite以及txlssheet类。 新增:为支持颜色转换,新增rgbbgr函数,对RGB和BGR两种颜色规范进行转换。 更新日志--------2017-7-26 更新:超多列当打开图形的时候导致程序无响应的问题(作图很慢),做了最大序列数限制,在系统设置里可以修改。 更新:内核更新。 更新:更新txlsreadwrite以及txlssheet类。 更新日志--------2017-7-20 更新:编辑器对系统类名可以支持自动完成。 更新:编辑器直接打开系统类的描述可以被正确编译感知。 更新日志--------2017-7-19 更新:编辑器支持内property的跳转。 更新:为了更好地实现编辑器自动化,支持{$dependency class1,class2}语法,使得可以对相关的类进行自动化完成。 更新:为了更好地实现编辑器自动化,将支持property aaaaa(a,b)这样的定义方法,使得带参数的属性在定义上更可读,自动完成更便捷。 更新:客户端在参数导入数据的时候,将默认不采用EXCEL,防止EXCEL不可靠造成的问题。 更新:编辑器支持二进制类查找和跳转,只要该类的二进制实现定义了原型。 新增:新增EXCEL的读写类,txlsreadwrite以及txlssheet类,请直接用编辑器查看其原型得到帮助。 更新日志--------2017-7-13 更新:64位Matlab 2017a支持库。 更新:为了防止显示结果集效率低,取消显示内容的是否可以保存板块的判断,默认允许保存为板块,即便内容里无合适的股票ID。 更新:升级保存为板块的代码,从显示的数据中保存板块的效率大大提升。 修正:对于导入的函数,解决当次编辑时保存时永远出现另存为的对话框的问题。 更新日志--------2017-6-14 更新:客户端保存函数尤其是批量导入慢的问题。 ======================下列更新需要服务端升级生效=================================== 升级:对GBK的中文字符串的特殊中文的转码问题。 升级:算符重载的右值重载问题的更新。 升级: ->,for step浮点精度的问题,RoundTo,SimpleRoundTo,SetPrecision的精度问题,SetPrecision支持数组。 更新日志--------2017-6-12 更新:编辑器高亮和选中串相同的颜色和选中串进行区别,并且可以在函数编辑菜单关闭掉(密集恐惧症选项)。 升级:增强了子类申明的支持。为WINDOWS界面开发包的开发提供更好的面向对象支持。 升级:新增SHL,SHR,ROL,ROR等四个位运算算符,对应为:左移,右移,左循环位移,右循环位移。 更新日志--------2017-5-19 修正:调试器下交互式调试特殊代码可能导致崩溃的问题。 更新:网格底层升级性能与降低资源占用。 更新日志--------2017-5-16 更新:和COM通讯的时候,ERROR类型数据传递的升级: 在COM模式下(例如直接调用EXCEL功能操作XLS文件),存在有ERROR类型数据,在原有的TSL语言下没有映射,新特性如下: ERROR从COM转换为TSL数据类型:转为NAN,错误号可以使用cverrget函数在这个NAN数据中来获得,cverrget出来的结果仅应使用低32位,也就是需要用 .& 0xFFFFFFFF,因为高字的数据是无法确定的。 从TSL转换为COM类型:提供cverr函数转为包含错误号的特殊的NAN数据,例如,cverr(0x800A07D7)对应EXCEL的除零错,cverr(0x800A07FA)对应错误NA, cverr(0x800A07ED)对应错误NAME,cverr(0x800A07D0)对应错误空,cverr(0x800A07F4)对应错误数据,cverr(0x800A07E7)对应错误引用,cverr(0x800A07DF)对应错误值。 这些错误常量是EXCEL自身定义的。 当使用EXCELSETCELL或者EXCELSETCELLS函数的时候,系统会自动转换NAN和INF到相应的错误。如果NAN是由CVERR转换而成的特殊错误,则会映射成特殊的ERROR数据。 function cverr(v:int64):double; //返回的值为特殊的NAN,内涵错误号 function cverrget(v:double):int64; 更新日志--------2017-5-15 修正:和服务器通讯可能导致句柄增加的问题。 更新日志--------2017-5-10 修正:加密函数出错的BUG,请升级后将出错的加密函数重新编辑并保存。 更新日志--------2017-5-9 更新:编辑器里和选中内容相同的字串会被特殊显示,此功能一般用于显示相同的变量。 更新:case表达式支持: a:=3; b:=case a of 1,2:"1/2"; 3,4:"3/4"; else "OTHER"; end; echo b; 注意:原CASE语法照旧支持,但只要当表达式用,就只能使用新的语法,而不能在CASE里用语句段。 更新日志--------2017-4-26 更新:升级全汉字码表,修正有些汉字无法用拼音查找的问题。 更新日志--------2017-4-18 新增:Python3.6的支持。 更新日志--------2017-4-12 修正:当使用API模式连接数据库的时候,如果字段不允许为空,但设置了默认值,插入会出现错误的问题。 如果不升级又需要使用API模式,需要将有默认值的字段设置为允许空。 更新日志--------2017-4-11 修正:新建类或者过程的时候出现+s1+的问题。 更新日志--------2017-4-10 修正:数据库API模式存贮过程参数模式字符串类型存在不匹配的错误。 修正:板块管理中的移除多个证券会存在移除不完整的问题。 更新日志--------2017-4-5 更新:客户端打开自动完成的时候,输入键左右Pageup/PageDown/Home/End的时候,将会直接作用于编辑器。此外,在自动完成状态输入中文无法进入编辑器的问题也一并解决。 更新日志--------2017-3-31 修正:客户端打开TSL编译自动完成的时候,当代码存在一些不合法的字符可能会导致内存不断增大崩溃的问题。 更新日志--------2017-3-25 更新:API模式访问数据库模块升级。 更新日志--------2017-3-24 更新:查找函数提示所属用户名。 更新:ImportFile对EXCEL文件自动识别.xls或者.xlsx的文件格式,而不仅仅根据文件扩展名来判断是新版本还是老版本格式。 修正:某个运算符在特殊使用的情况下可能会诱发问题。 更新日志--------2017-3-22 修正:某个函数参数问题诱发崩溃的BUG。 更新日志--------2017-3-21 修正:编辑器中引用类的时候当未打开类函数无法提示的问题。 更新:最新的语言帮助文件,增加了JAVA工具集/JDBC的使用说明以及验证码生成加密编码以及压缩解压等函数。 更新日志--------2017-3-20 修正:COM注册按钮失效的问题。 更新日志--------2017-3-17 更新:XP兼容支持。 更新日志--------2017-3-16 更新:升级全汉字码表,修正有些汉字无法用拼音查找的问题。 更新:更快的启动速度,防止在证券代码数过大的时候启动效率很慢的问题。(因债券代码的原因,目前服务器有超过十万个证券代码) 更新:更快的管理器的函数查找效率,提升效率大约一个数量级。 更新日志--------2017-3-15 修正:修正从函数编辑器复制到某些编辑器中出现乱码的问题。 修正:SMTP,POP3的LastCmdResult属性不正确的问题。 更新: VC工具集从2010整体升级到2015。服务器客户升级可以安装VC2015发行包,客户端自动更新动态库。 修正:修正了直接引入外部DLL在64位下调用某些函数可能会遇到故障的Bug。 升级:引入外部DLL支持byte,short类型。 升级:修正升级了一些其他可能存在的内核问题。 =========================================编辑器重大更新=================================================== 更新:函数编辑器升级自动提示的功能,可以自动提示本函数、引用单元、引用类、二进制类的标识符、函数等自动提示。 更新:鼠标右键支持子函数跳转,支持单元,类方法跳转。 ========================================================================================================== =========================================API重大升级====================================================== 更新:ODBC驱动进行了升级,获得更好多线程的性能。 发布: JDBC驱动发布。支持Windows、Linux下的Java对平台的调用,无需通过JDBC-ODBC桥接。 JDBC驱动以及文档更新再TSJDBC.ZIP ========================================================================================================== =========================函数集重大升级=======敬请等待TSDN、本地帮助更新升级文档========================== 发布:提供验证码生成标准函数。 发布:提供加密解密,压缩解压,编码库。 ========================================================================================================== =========================================模型加密重要更新================================================= 升级:在新版本的服务器配合下,新版本客户端支持模型的快速加密。 在快速加密模式下,加密效率比老模式快几个数量级。 原有模式依旧支持,依旧允许用户选择老模式加密,新加密模式仅仅只有新版本服务器支持。 加密的强度与原有模式保持一致,函数加密模式由RSA升级为RSA/AES混合模式,依旧是私钥公钥模式,但主体加密 采用被加密的256位随机AES秘钥而成,大大提高了加密的性能以及可用性,同时得到同样的加密强度。 ========================================================================================================== 更新日志--------2016-12-23 更新:优化客户端表格显示的拖放。 更新日志--------2016-12-19 新增:客户端在批量导入函数里增加对自身用户在客户端里存贮的UserFunc4.0.Func类型文件的导入支持。 新增:客户端默认会在登录或者退出的时候保存一份以日期为前缀的UserFunc4.0.Func版本文件。若因为客户机存贮空间问题,用户可以在系统菜单中关闭该功能。 更新日志--------2016-12-16 修正:InputDialog无法使用的问题。 修正:在某些操作系统下,Excel插件的输入窗口会无法使用的问题。 更新:最新帮助文档 增加了TSExpert_ClientConfig函数的帮助,其中有如何在客户端处理断线重连自动运行模型,客户端的CHART图的颜色序列等等的方法。 增加了算符重载等帮助。 更新日志--------2016-12-13 修正:增强ODBC驱动兼容性。 更新日志--------2016-12-8 新增:64位的MATLAB R2016B支持库。 更新日志--------2016-11-23 修正:DLL和静态数据地址空间超过4G导致ReplaceText出现异常的BUG。 更新日志--------2016-11-18 修正:修正时间序列聚集函数的SelectOpt(64)下的一个BUG。 更新:日期转换函数支持更大的日期范围。 更新日志--------2016-11-17 修正:修正FilterIn/FilterNotIn的一个引发异常的BUG。 更新日志--------2016-10-24 更新:修正编辑器中自定义类型的窗口过小问题。 更新:语言内核支持CreateObject的第一个参数为类类型,且支持new classname(ParamList...)的创建类,以便今后在编辑器中可以增强对类的自动完成的支持。需服务器支持。(需平台升级) 修正:修订语言内核的重载的问题。(需平台升级) 更新日志--------2016-10-14 更新:修正编辑器中双击会将包括.等符号在内的一起选中的问题。 更新:修正API访问数据库的执行串中的&符号会丢失的问题。 更新日志--------2016-10-12 更新:修正TS-SQL insert语句在oracle下的number类型的精度丢失问题。 更新日志--------2016-9-25 更新:因加密登录等和客户端多线程登录存在一定兼容性问题,暂时禁用客户端多线程登录,客户端在连接服务器的时候会存在白屏等待等现象。 更新日志--------2016-9-20 下列更新需服务器支持。 更新:支持匿名函数,a:=function(i1,i2)begin return i1+i2;end;;支持##a(1,2)替代call(a,1,2)的函数指针调用的写法。 更新:支持类算符重载,重载为Operator <(b[,isLeft]) 的写法,如果参数只有一个,则只支持 实例<1模式,也就是对象应在左边, 如果双参数参数IsLeft可以支持 1<对象实例,isLeft为真表明是左值计算,否则为右值计算。 更新:客户端支持密码过期提前提醒等功能(服务端支持密码过期无法登陆)。 更新日志--------2016-8-8 更新:函数,板块可以在客户端看到真实的更新时间。(该功能需要服务器版本支持) 更新:防止因为同步过程中断线造成的某些数据不再重新同步的问题。对老的板块以及函数刷新为真实更新时间。 更新日志--------2016-8-4 更新:增强ODBC兼容性,增强EXCEL的ODBC兼容性。 更新日志--------2016-8-3 更新:增强ODBC兼容性。 更新:TSSVRAPI升级,支持TSL_DoScriptFromFile,TSL_SetEchoProc,TSL_SetDisableCache等新函数,支持WebSocketServer和Web开发标准化。 更新日志--------2016-7-29 更新:增强ODBC兼容性,支持新版本MATLAB的ODBC直连模式。 更新日志--------2016-7-28 新增:ansiformat函数,和format的区别为汉字占位2个位置,而format占一个位置。 更新日志--------2016-7-27 修正:ODBC Driver对R支持的兼容性问题。 更新日志--------2016-7-22 修正:ODBC Driver对SAS支持的兼容性问题。 加速:MRows的性能,提高在if a[field] 的效率。 更新日志--------2016-7-8 修正:Release版本的ODBC Driver的问题。 更新日志--------2016-7-7 新增:HttpGetQueryValueByNameEx(Name:String):Array; 网页多文件一次性上传可能会用多同名多个内容的情况,返回二维数组结构,其中:0列为内容项,1列为HttpGetQueryValueByName函数的AdditionalInfo项。 更新日志--------2016-6-29 修正:空数组转换为COM数据类型的时候结果不可预知的问题。 更新:TSSVRAPI新增插件开发的用户相关函数TSL_GetCurrentUser,TSL_CheckSysRight,TSL_FileSandBox 更新日志--------2016-6-23 更新:客户端登录连接当出现网络故障时不再对使用产生影响。(不再因连接不上导致白屏等无响应现象) 更新:取消保存函数的时候更新导航面板的功能,如需要,手动刷新。 新增:importjsonstring以及exportjsonstring两个函数,实现从json串转换为TSL内部数据结构以及从TSL结构转换为json的功能。 function importjsonstring(json:String):anytype; //从json串转换为TSL数据结构 function exportjsonstring(data:anytype):String; //返回json串 注:新增函数如果需要在服务器平台运行需服务器平台更新后才支持。 更新日志--------2016-6-12 新增:天软平台的odbc驱动,RTD驱动在客户端的安装/注册的支持。详见客户端的系统设置。 新增:all,any函数,all(a)或者all(a,0)判定所有单元格为真,all(a,1)为判定行的所有单元格为真,all(a,2)判定列的所有单元格为真。any为任意为真 新增:任务管理uc,suc命令,suc #Reserved N可以在运行网格的时候保留N个计算任务。 新增:MD函数支持时间序列字段为表格类型(用于支持持仓、指数成分等)。 更新日志--------2016-6-7 新增:天软平台的odbc驱动。 新增:天软平台rtdServer for excel的支持。 更新:tssvrapi.dll版本。 修正:天软终端被允许同一路径运行多次的BUG。 新增:TSL.EXE支持 tsl -eval "echo 100"的模式直接调用TSL语句。 更新日志--------2016-5-17 修正:某些编译错误代码会导致内存溢出的BUG。 更新日志--------2016-5-9 更新:修正XML支撑函数导致的错误。 更新日志--------2016-4-23 新增:SQL中[@Field]可以获得字段的类型。 更新:数量级提升股票代码输入时的显示性能。 更新日志--------2016-4-20 更新:Execsql支持获得字段类型信息。 ExecSQL([Flags:Integer;][Params:Array;]DataBaseName,SQL:String;Var Result[;UserName,Password:String][;DataKeepNull:Boolean]):Integer; 当第一个参数为数字的时候,表明有Flags参数,其默认为0,表明Result返回的是结果集,当其为1,返回字段结构信息,当其为2,Result[0]返回结果,Result[1]返回字段结构信息。 更新日志--------2016-4-18 更新:使用TSSVRAPI未调用setservice时可能会因服务名未指定而导致多线程调用无法执行的情况。 新增:function encoderadixstr(s:string;presuff:string;radix:integer):string; function decoderadixstr(s:string;presufflen:integer;radix:integer):string; 参数说明: s:字符串 presuff:前缀或者后缀串。 presufflen:前缀或者后缀长度。 radix:整数,最高位(31位)为1的时候,表明为后缀方式,否则为前缀模式。第30位为1表明采用小写字母。 低6位为进制,最大支持36进制。 encoderadixstr("123","0x",16)结果为"0x310x320x33" 前缀 encoderadixstr("123","h",0x80000000+16)结果为"31h32h33h" 后缀 decoderadixstr("0x310x320x33",2,16)的结果为123 encoderadixstr("123","h",0x80000000+16)结果为"31h32h33h" decoderadixstr("31h32h33h",1,0x80000000+16)结果为"123" encoderadixstr("天软","0x",16)结果为"0xCC0xEC0xC80xED" 默认大写 encoderadixstr("天软","0x",0x40000000+16)结果为"0xcc0xec0xc80xed" 小写字母 更新:SQLErrorMsg在每次调用之前清除掉原有错误信息(原模式为不主动清除掉错误信息)。这样每次调用之后可以用其是否为空字符串来判定是否SQL调用失败。 注:Select from SQLTable会返回数据,即便中途数据库发生错误,这样会导致部分数据的返回。 此外,由于TS-SQL的Update Delete从数据库中删除,亦有可能发生部分成功的情况,需使用SQLErrorMsg来判定是否在中途发生调用失败的问题。 如果为了防止更新类的部分成功问题,需要用SQLBeginTrans等事务处理功能。 更新日志--------2016-4-12 更新:极端情况下的函数调用溢出的问题。 更新日志--------2016-3-30 新增:matlab R2016a的64位支持。 更新日志--------2016-3-17 修正:更新语言帮助文件。 更新日志--------2016-3-15 修正:0矩阵左除导致内部错误。现在修改后的结果为NAN矩阵。 更新日志--------2016-3-2 更新:行情订阅的更新。 更新日志--------2016-2-24 修订:客户端无法导出SendRunningData的带窗口名的数据。 修订:可能存在于客户端的初始选择服务存在的BUG。 更新日志--------2016-2-5 修订:SQL移动的一个极为特殊的使用导致崩溃的BUG。 修订:一个内存使用计数在64位下的极为特殊情况下的BUG,会显示内存使用超额。 更新:数组相等的判定修正,判定数组内的值0和0.0相等。解决FilterIn的时候浮点和int无法相等的问题。 更新:API增加TSL_AnyAddRef函数,用于内置嵌套对象使用。 更新:解决ExcelSetCell的浮点数设置问题。 ***************************************************************************** 新增:服务器支持行情订阅,可通过本地TSL函数以及API进行调用。说明文档准备中。 ***************************************************************************** 祝所有天软的用户新春快乐,春节将保持在线服务的提供,向加班加点奋斗在策略研发一线的同仁们致敬! 更新日志--------2016-1-22 更新:增强了对Apache2.4的版本兼容性(Apache2.4的第三方发行包存在未遵循文档的BUG)。 更新:为了防止多个软件共用的兼容问题,pcre.dll更换名称为tslpcre.dll。 更新日志--------2016-1-19 更新:API增加TS_GetLoginedUser,TS_GetRemoteAddress,TS_GetRemotePort三个函数。 更新日志--------2016-1-14 更新:EXECSQL支持非SQL类型的ADO、ODBC接口的命令,防止不接受以SQL的标准认为是非正常字符。例如,支持TSL自己ODBC驱动(测试中)。 修正:异步调用的C++ API无法捕获SendRunningData的数据。 更新日志--------2016-1-11 新增: 客户机函数支持(使用loginServer或者DefautConnectAndLogin函数登录后可得到的信息): function logineduser():String; //得到登录到的用户名 function remoteaddress():String; //得到登录的远程地址 function remoteport():Integer; //得到登录的远程端口 Python函数支持: LoginedUser RemoteAddress RemotePort R函数支持 tslLoginedUser tslRemoteAddress tslRemotePort 更新:TSL/服务器开发包API支持。有需要C++开发包范例的请向市场服务人员提出申请。 开发包可以做到:解析TSL数据结构,调用本地TSL代码,调用远程TSL代码,异步调用远程TSL代码,调用管理命令,用C++扩展开发TSL二进制函数,用C++扩展开发TSL二进制类 更新日志--------2016-1-8 更新:matlab 2015b 32/64位支持库。 更新日志--------2016-1-3 更新:API库修正。 更新日志--------2015-12-22 修正:网格计算终止返回的一个流转换异常。 修正:服务器地址在支持多IP登录客户机可能存在缓冲区溢出的情况。 更新日志--------2015-12-17 修正:32位下流过大的日志记录存在错误。 更新日志--------2015-12-15 修正:类方法无参数下params表现可能不正常的问题。 修正:int64类型位与或非以及$算符的支持问题。 增强:TSSVRAPI增强。 增强:filterin和filternotin支持字段参数为数组,这样可以以特定的多个字段作为过滤查询的条件。 例:a:=array(); for i:=0 to 15 do begin a[i]["a"]:=i; a[i]["b"]:=i div 2; a[i]["c"]:=i*2; end; return echo tostn(filterin(a,array(("a":2,"b":1),("a":3,"b":1)),array("a","b"))); 过滤列a以及列b, a列值为2且b列值为1以及a列值为3且b列值为1的行。 更新日志--------2015-12-11 增强:客户端的登录会自动轮询服务器所支持的IP和端口。这样,防止某个运营商链路和客户之间的连接发生故障。 修正:FileSize无法打开只读文件的问题。 增加:增加了对彭博API的支撑,函数名为BLPCall,需要安装了彭博API 并在plugin\FileMgr.ini下增加 [BLP Config] Enabled=1 函数说明: function blpcall(SessionOptions:array;ServiceUrl:String;Request:String;RequestData:Array[;CallBackFuncName:String])[:Array]; 参数说明: SessionOptions:字符串下标的数组,下标值定义如下: "maxEvent":最大的事件数。按照请求的类型有可能事件永远不终结,所以需要最大事件数做请求的结束,不设置则总是等待下一个事件。 "serverHost":服务器地址 "serverPort":服务器端口 "connectTimeout":连接超时的毫秒数。 其他下标可以为: defaultServices,defaultSubscriptionService,defaultTopicPrefix,allowMultipleCorrelatorsPerMsg,clientMode maxPendingRequests",autoRestartOnDisconnection,authenticationOptions,numStartAttempts,maxEventQueueSize,slowConsumerWarningHiWaterMark slowConsumerWarningLoWaterMark,defaultKeepAliveInactivityTime,defaultKeepAliveResponseTimeout,keepAliveEnabled,recordSubscriptionDataReceiveTimes 以上选项的具体含义请参照BLP的手册或者文档。 ServiceUrl:服务URL串,一般以//blp/开头,具体含义请参照BLP的手册或者文档 Request:请求的名字,"subscription"特指订阅,其他请看服务支持创建的request种类。 RequestData:请求的数据参数 对于订阅请求,为一个二维的两列或者三列的字符串数组, 其中:第一列为subscription订阅串,第二列为:fields字段串,第三列为options选项串可以省略。具体含义参照BLP的说明 对于其他请求类型,应为一个二维两列的数组,第一列为字符串,加入到request的element名,第二列为任意类型,加入到的element的值 CallBackFuncName:可选,如果设置为字符串,则是指定的回调函数。目前仅支持同步模式,也就是说在BLPCall函数执行过程中进行回调。 回调函数有一个参数,送入的为BLP的Event,该Event已经转换为TSL的数组结构。 回调函数返回真则表明还可以继续等待下一个事件,否则结束整个函数。 返回值:如果有回调函数,则无返回值,否则返回一个包括所有收到的Event的数组。 测试范例: //订阅两支指数的最新价格 a:=array(); a[0]:=array("FSSTI Index", "LAST_PRICE"); a[1]:=array("DAX Index", "LAST_PRICE"); blpcall(array("maxEvent":300),"//blp/mktdata","subscription",a,"hello"); function hello(b); begin echo "-----------------------------------\r\n"; if b["type"]=8 and b["msgs"][0,"id"]="FSSTI Index" then c[0,1]:=b["msgs"][0,"value"]["LAST_PRICE"]; else if b["type"]=8 and b["msgs"][0,"id"]="DAX Index" then c[1,1]:=b["msgs"][0,"value"]["LAST_PRICE"]; echo tostn(c),"\r\n"; return 1; //return false退出,如果一直返回真,就等到接收到系统结束的事件或者事件数达到maxEvent的规定。 end; 测试:新的内核代码使得流转换的速度比原来快一倍,客户端测试中。 预告:标准的TSL与服务器连接的API将会发布,测试中。 更新日志--------2015-10-2 修订:本地解释器(包括web解释器)的一个问题。 更新日志--------2015-9-29 修订:reindex函数在特殊情况下不可靠的问题。 更新日志--------2015-9-28 升级:format函数%d %u %x 支持使用浮点数,%g %e %f %n %m支持使用整数,规避类型不匹配很容易导致错误。 升级:客户端登录后将会把 用户名\UserFunc4.0.func复制到上一级目录,支持独立用R,Python等用API调用TSL的用户函数。 修订:修订邮件多个文件名过长的附件会产生文件名错误的问题。 更新日志--------2015-9-24 升级:Import csv文件的时候,不再因一个字段的某个值无法转换为数字而导致之后的值为字符串,此外,自动识别是整数还是浮点,不再全部默认为浮点。 另外,"12345"这类的值在CSV中将恒定被识别为字符串。 #DIV/0!以及NAN被识别为NAN,INF,-INF被识别为INF以及-INF,NIL被识别为NIL,如果需要特别不被识别,需要加""标识为字符串。 ***************************************************************************************************************** 由于此处会改变原有CSV导入的行为,所以原有开发程序需要检查是否与此存在冲突性。 ***************************************************************************************************************** 更新日志--------2015-9-21 升级:增加Python3.5支持。如果使用Python3.5请将TSLPy35.pyd复制成为TSLPy3.pyd,用TSLPy34.pyd复制为TSLPy3.pyd则使用3.4版本。 更新日志--------2015-9-18 更正:更新Python导致Python禁止则R支持被禁止的问题。 更新:尝试对R的多线程调用支持,类似于Python,增加了REnsure以及RRelease函数。 RRelease():Boolean; R解释器只支持单线程调用,对R的调用TSL会自动加锁,如果希望立刻手动释放则需要调用RRelease,这样其他并发线程才可以获得R的资源。 如果用户一直不调用RRelease,将在该主模型完全执行完毕后自动释放。 REnsure():Boolean; 该函数锁定R解释器资源。由于REval和RPutVar,RGetVar会智能锁定,所以用户一般来说不需要调用该函数。 此更新对R在本地服务端运行的客户有效,且用户需要更新最新的执行服务程序,否则用户必需手动调用RRelease。 更新日志--------2015-9-17 更新:增加调用Python的新函数支持,类似于RGetVar,RPutVar,MGetVar,MPutVar: PyPutVar(VarName:String;VarValue:Any):Integer; PyGetVar(VarName:String):Any; 范例: a:=rand(10,10); pyputvar("a",a); pyrun("print(a)"); return echo tostn(pygetvar("a")-a); 更新日志--------2015-9-15 更新:升级程序将自动更名TSLPY3.PYD到TSLPy3.pyd,TSLPY2.PYD到TSLPy2.pyd 更新日志--------2015-9-14 更新:因Python对动态库库的大小写敏感,因此请手动将TSLPY3.PYD和TSLPY2.PYD更名为TSLPy3.pyd以及TSLPy2.pyd。 更新日志--------2015-9-13 ************************************************************************************************* 以下是关于Python与TSL的相互调用的重大更新,更详细具体的文档还在准备中,请关注TSDN的更新。 增强:=======================================PythonCallTSL======================================= 增加两个Python的模块,一个是TSLPy3.pyd支持python3.4,另一个是TSLPy2.pyd支持python 2.7 注意64位和32位版本需要和python的版本相对应 输出函数如下: 远程调用支持 RemoteExecute(ExecString:String;SysParam:dict):Tuple(ErrNo,Result,ErrMsg) RemoteCallFunc(Func:String;Args:list|tuple;SysParam:dict):Tuple(ErrNo,Result,ErrMsg) 本地调用支持 LocalExecute(ExecString:String):tuple(ErrNo,Result,ErrMsg,ErrLineNo) LocalCallFunc(Func:String;Args:list|tuple):Tuple(ErrNo,Result,ErrMsg,ErrLineNo) SetSysParam(Name:String;Value:Any) GetSysParam(Name:String):Any 认证以及登录: ConnectServer(Addr:String;port:Integer[;list|tuple(proxyaddr,proxyport[,proxyuser,proxypass])]) 返回为0表示连接成功 LoginServer(User:String;Pass:String):Tuple(ErrNo,ErrMsg) Disconnect():NONE Logined():Boolean; SetService(Service:String) SetComputeBitsOption(Option:Integer) GetComputeBitsOption():Integer GetService():String DefaultConnectAndLogin(Alias:String):tuple(ErrNo,ErrMsg) //参考TSL语言中的DefaultConnectAndLogin,可以将用户名和密码以及服务器等资料设置在plugin/tslclient.ini中 日期转换: EncodeDate(Y,M,D):double EncodeTime(h,m,s,ss):double EncodeDateTime(Y,M,D,h,m,s,ss):double DecodeDate(date):Tuple(Y,M,D) DecodeTime(time):Tuple(h,m,s,ss) DecodeDateTime(datetime):Tuple(Y,M,D,h,m,s,ss) =======================================PythonCallTSL======================================= =======================================TSLCallPython======================================= 设置: Plugin\FileMgr.ini,客户端或者TSL.EXE在其中增加如下内容,注意Python\dlls应该在系统的路径中。 [Python Config] Enabled=1 version=3 如果版本为2.7则version=2 如果服务器端需要支撑Python调用,在[Python Config]中使用以下配置串的意义如下: EnginePermit=1 这表明所有用户均有权限调用Python EnginePermitUser=User1;User2 这表明User1和User2用户有权限调用Python 函数支持: PyRun(PythonCode:String[;flag:Integer]):Integer; 简单运行Python的代码,flag默认不被指定,该含义由PyCompileFlags指定组合的状态,处理UTF-8源代码等问题。具体请参考Python手册。 PyCall([callFlag:Integer;]ModuleName:String;FuncName:String;Param1..ParamN):Any; callFlag是一个按位的状态组合字 1:设置则直接返回结果、找不到ModuleName、FuncName则函数报错。如果不设置状态1,则返回值为一个数组,第0项目为boolean型表明是否调用成功,第1项为错误字符串 2:设置则参数是否以一个单一数组送入。如果不设置状态2,则送入的参数以参数的方式一个个送入。 callFlag的默认值为1,即默认直接返回结果,参数一个个送入。 例子: PyRun("import TSLPy3"); PyCall("TSLPy3","LocalCallFunc","IntToStr",array(1111)) ans= array(0,"1111","",0) PyCall(0,"TSLPy3","LocalCallFunc","IntToStr",array(1111)) ans= array(1, (0,"1111","",0)) PyCall(3,"TSLPy3","LocalCallFunc",array("IntToStr",array(1111))) ans= array(0,"1111","",0) PyCall(2,"TSLPy3","LocalCallFunc",array("IntToStr",array(1111))) ans= array(1, (0,"1111","",0)) 以上例子在TSL中调用了Python的方法TSLPy3.LocalCallFunc,这个方法又调用了TSL的IntToStr函数,理解以上这个例子会对理解整个调用逻辑有所帮助,至于IntToStr的参数为什么用数组传入以及返回结果是一个四项的数组可在前边的Python调用TSL的说明中找到 PyRelease():Boolean; 由于Python解释器只支持伪多线程调用,因此,当使用PyRun或者PyCall调用Python的时候,会自动锁定Python解释器资源,如果希望立刻手动释放则需要调用PyRelease,这样其他并发线程才可以获得Python的资源。 如果用户一直不调用PyRelease,将在该主模型完全执行完毕后自动释放。 PyEnsure():Boolean; 该函数锁定Python解释器资源。由于PyRun和PyCall会智能锁定,所以用户一般来说不需要调用该函数。 =======================================TSLCallPython======================================= ******************************************************************************************* 增强:R语言支持增加R的几个日期处理函数,用来解析和生成TSL的日期时间类型: tslEncodeDate(Y,M,D):double tslEncodeTime(h,m,s,ss):double tslEncodeDateTime(Y,M,D,h,m,s,ss):double tslDecodeDate(date):list(Y,M,D) tslDecodeTime(time):list(h,m,s,ss) tslDecodeDateTime(datetime):list(Y,M,D,h,m,s,ss) 更新日志--------2015-9-10 修正:TSLR语言支持中的小缺陷。 修正:用户板块另存为无法选择正确的目录。 修正:从数据中保存板块的时候会丢失一些客户端代码表中缺乏的代码。 预告:Python完整支持近日将发布,Python中可以类似于R语言一样直接调用TSL代码,TSL语言也可以直接调用Python。 更新日志--------2015-9-1 增强:平台增加了密码强度的支持,将为对有密码强度要求的用户提供升级。(后台检查密码的复杂度如字母大小写数字等等) 增强:对半秒线(cy_halfs())提供支持,如果要转换字符串请用formatdatetime替代datetimetostr,datetimetostr并不处理毫秒。客户端已经支持时间列转换支持毫秒,请注意返回精度。 增加:Matlab 2014b,2015a的支持库。 更新日志--------2015-8-20 修订:当出现字符串类参数时,字符串中出现|会导致异常。 更新日志--------2015-8-14 修订:解决select * from thisgroup的性能问题。回测框架效率明显提升。 更新日志--------2015-8-11 修订:tsl的全局对象析构调用导致崩溃的问题,暂禁用全局对象的析构函数。 更新日志--------2015-8-10 增强:增加DeleteOpt关键字(仅支持数组处理),方便处理把数组当HASH的以及方便处理稀疏矩阵。 用例: a:=array((1),(0.1),(0.2),(0.6),(0.2)); delete deleteopt(1) from a where [0]>0.5; 结果为:array(1:(0.1),2:(0.2),4:(0.2)); 不加deleteopt的结果为array((0.1),(0.2),(0.2)),会对原来的下标进行处理。 注意:delete不加deleteopt(1)的情况下由于性能的均衡考虑,对数字下标的稀疏矩阵的处理不一定保障得到的是希望的结果。 修正:在稀疏矩阵中删除数组的下标可能会导致数组结果不正常的问题。 更新日志--------2015-7-28 修正:发送邮件主题过长会导致邮件不正确的问题。 更新日志--------2015-7-3 增强:天软终端COM服务对象增加I64Trans属性。 0: 转换为64位整数。默认值 1: 转换为32位整数。可能会溢出。 2: 转换为双精度浮点数。可能会丢失精度。 以上增强是因为目前买卖盘量已经转换为64位整数,而某些COM前端不支持64位整数,例如Matlab2009等。用户可以设置该属性来控制转换的行为。 更新日志--------2015-7-2 修订:正式服务器已经升级最近发现的BUG补丁。 增强:客户端“帮助”->“关于”功能已经升级。可以在关于中看到更多的账户信息。 更新日志--------2015-6-30 修订:更正select 1 from array() end会返回一条记录的问题。 增强:客户端增加对即将过期的信息提示(需服务器版本支持并启用)。 增强:客户端增加了密码过期的提示。(需服务器版本支持并启用)。 更新日志--------2015-6-18 修订:邮件对象附件文件名过长的时候会在文件名中间产生一个多余的空格的问题。 更新日志--------2015-6-15 增强:COM转换对INT64的支持问题。 更新日志--------2015-2-12 增强:内核提供期权相关快速的计算方法。 更新日志--------2015-2-2 增强:API链接方式的ORACLE中的中文字符串按照GBK返回的长度问题。 更新日志--------2015-2-2 增强:API链接方式支持oracle存贮过程的sys_refcursor输出参数,会作为多结果集返回。 假定oracle存贮过程如下: create or replace procedure testproc(b out sys_refcursor,c out sys_refcursor) is begin open b for select * from TESTTABLE; open c for select * from TESTTABLE; end testproc; 可以使用如下代码来获得两个结果集: a:=array( "b":("Direction":2,"Type":22), "c":("Direction":2,"Type":22) ); execsql(a,"ora2","TESTPROC",r); 注:ADO模式无法支持此种类型返回参数。 更新日志--------2015-1-29 增强:提升inttostr等基础函数的效率,提升接近一个数量级,解决支持数组后的效率低下问题。 更新日志--------2015-1-20 修正:本地解释器的一个内核缺陷,该BUG主要会影响web,不启用编译缓存在并发大的时候容易出现故障。 更新日志--------2015-1-19 修正:函数以及板块SaveAs的时候,多级目录的默认目录不正确的问题。 更新日志--------2015-1-8 增强:pop3,smtp,ftp支持ssl。 更新日志--------2015-1-7 增强:TSL UI内核增强。 更新日志--------2014-12-24 修正:升级DIV0等支持后excel导入存在空单元格时的问题。 修正:一个SQL语法中非正常使用导致崩溃的问题。(仅在非常特殊的错误使用下才会出现问题) 增强:增加multibytetounicode以及unicodetomultibyte函数,增加LCMapString解决GB<->BIG5码转换问题。 增强:异步调用远程函数的支持以及其他内核支持准备。 更新日志--------2014-12-9 修正:内核在特殊BINARY类型下的BUG。 更新日志--------2014-11-18 更新:帮助文件更新了R的支持部分。 更新日志--------2014-11-14 增强:支持将INF以及NAN导入导出EXCEL,INF对应为EXCEL的DIV0,NAN对应为NA 增强:对过大的结果集的返回产生正确的错误提示。 更新日志--------2014-11-13 修正:为了使用便捷性,对R调用TSL的函数进行如下修正: tslLocalCallFunc以及tslLocalExecute的返回结果与tslRemoteCallFunc和tslRemoteExecute的结果中的错误信息位置均为第三项,并且第一项均以0为正确。 更新日志--------2014-11-12 增强:增加TSL对R的调用支持。 使用步骤:1、请确认R安装目录的R.dll所在的路径在系统路径中,没有则添加到系统路径中。 设置天软的plugin\FileMgr.ini,在其中加入 [R Config] Enabled=1 *****修改后,客户端需要重新启动。 2、TSL的函数支持 RPutVar("AAA",99); Ret:=REval("AAA=AAA+1",Code); //Code=0则正确 VarValue:=RGetVar("AAA"); 由于安全原因R的支持服务器不授权不能被调用,因此请用RDO2来测试 Rdo2 RPutVar("AAA",99); Ret:=Rdo2 REval("AAA=AAA+1",Code); //Code=0则正确 VarValue:=Rdo2 RGetVar("AAA"); 为了效率,在实际使用中,避免多次RDO2调用,将R的调用封装函数用: Function TestRPlus(V); begin RPutVar("AAA",V); return REval("AAA+1"); end; 调用的时候 Rdo2 TestRPlus(99); 更新日志--------2014-11-11 增强:增加R对TSL的调用支持。 使用步骤:1、将天软的路径设置为系统路径。 假定路径为:C:/program files/Tinysoft/Analyse.NET 2、加载: 在R中使用dyn.load("C:/program files/Tinysoft/Analyse.NET/tslr.dll") R的版本如果是32位,则需要32位的客户端,64位R需要64位的天软客户端 3、在R中的调用: 远程调用支持 .External("tslRemoteExecute","return rand(10,10);",NULL) .External("tslRemoteExecute","return close();",list(StockID="SH000300")) .External("tslRemoteCallFunc","inttostr",list(99),NULL) .External("tslRemoteCallFunc","close",NULL,list(StockID="SZ000002")) 本地调用支持 .External("tslLocalExecute","return rand(10,10);") .External("tslLocalCallFunc","inttostr",list(99)) .External("tslSetSysParam","AAA",1111) .External("tslGetSysParam","AAA") 4、无需客户端启动的使用方法: .External("tslConnectServer","tsl.tinysoft.com.cn",443,NULL) 返回为0表示连接成功 .External("tslLoginServer","username","password") .External("tslDisconnect") .External("tslLogined") .External("tslSetService","正式版") .External("tslSetComputeBitsOption",0) .External("tslGetComputeBitsOption") .External("tslGetService") .External("tslDefaultConnectAndLogin","test") //参考TSL语言中的DefaultConnectAndLogin,可以将用户名和密码以及服务器等资料设置在plugin/tslclient.ini中 详细使用帮助将会在TSDN以及帮助文件中更新 更新日志--------2014-10-27 增强:global全局变量的++,--无法正常执行的问题。 更新日志--------2014-10-7 增强:修正小规模内存泄露的问题。 增强:修正数据库别名多连接串模式的问题。 增强:增加ifnumber对INT64的判断,并增加ifint64函数判定是否INT64整数。 更新日志--------2014-9-23 增强:connectman.exe支持新的数据库连接方式。 增强:修正新的数据库连接方式无法支持Oracle的CLOB数据类型的问题。 更新日志--------2014-9-22 增强:支持非ADO的数据库连接模式。 两种典型数据库的非ADO连接串范例: Oracle: ConnectStr=DriverID=Ora;Database=ServerName:Port/ServiceName;CharacterSet=ZHS16GBK;User_Name=username;Password=password SqlServer: ConnectStr=DriverID=MSSQL;Server=ServerName;Database=DataBaseName;User_Name=username;Password=password 更新日志--------2014-9-12 增强:支持控制表格显示窗口下图形的线的粗细。 增强:TSL.EXE解释器不带参数的时候支持直接输入TSL代码进行运行。 更新日志--------2014-9-5 修正:日期类型参数无法修改为字符串以及板块等参数类型。 更新日志--------2014-8-28 修正:新用户数据到达无法双击打开的问题。 新增:在选择股票对话框用上下键可以选择股票,回车加入。 更新日志--------2014-8-27 修正:用户数据流过大导致客户端异常的问题。 修正:用户自定义参数编辑完成后未选择默认值会导致丢失的问题。 更新日志--------2014-8-23 修正:解决客户端通讯库无法支持网格的RDO2问题。 修正:解释器THISROW,THISROWINDEX在LEFT JOIN,RIGHT JOIN,FULL JOIN的时候的问题。 修正:ExcelSetRangeProp函数无法直接用属性名设置非数组内容的一个BUG。 更新日志--------2014-8-21 更新:股票选择以及板块选择的界面中,增大了默认的窗口大小,并对板块以及股票列表的显示提供了大小移动的选择,以支撑内部品种名字命名过长的显示。 更新:新安装32位终端将默认位自动选择后台的运算服务器,而非以前的指定32位计算服务。(天软的终端用户请尽量使用64位计算服务,防止计算被所需内存限制) 更新日志--------2014-8-14 修正:大数的时候显示小数点位数出现的BUG。 更新日志--------2014-8-9 更新:global支持作为rdo2的变参。 更新:客户端提升显示特别大表格的效率。 更新日志--------2014-8-7 测试更新:增加了global关键字支持,支持全局变量,使用方法如下: 在函数体内或者function与begin之间使用 global x,y; 这样在该函数体内使用的x,y就是全局变量。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 更新日志--------2014-7-23 更新:提升SQL的迭代时间序列聚集函数。 修正:新客户端数据专家中无法修改选中的内容的位置的BUG。 更新日志--------2014-7-20 更新:持续测试的新服务已正式上线,测试服务将持续发布最新的测试功能。 更新:对任意秒以及任意天的滚动周期的支持: 可以设置周期为"130s"为130秒,"13d"为13天。也可以用cy_trailingseconds(130)或cy_trailingdays(13)。 更新:在系统参数上客户端对滚动周期的选择提供了支持。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 更新日志--------2014-7-15 更新:解决了注册/注销TSOLE.DLL动态库失败导致无法正常启动的问题。该问题仅在极个别的计算机出现,可能与操作系统、OFFICE安装等等有关。 一旦注册/注销导致失败,下一次启动系统将会询问是否注册/注销,使得该操作步骤可以被选择性跳过。 更新日志--------2014-7-14 修正:基本面信息以及用户数据等名称为中文的,第二次登录会出现显示乱码的问题。如果已经出现乱码请删除掉客户端存贮路径的data以及“客户端用户名”目录。 客户端的系统设置中可以打开存贮目录。 更新日志--------2014-7-11 更新:取消了各种资源在客户端的大小限制,包括函数、板块数量、板块中的股票个数、用户数据表的个数等等,并对一些资源进行了优化加速。 修正:客户端编辑器在打开帮助的时候,最小化帮助窗口可能会导致光标丢失的BUG。 测试修正:MFIND对字符串下标的一个BUG。 测试修正:更新了MODEOF以及MODE的计算BUG。 测试新增:增加了EmaOf以及SmaOf两个SQL聚集函数。对于SMAOF而言,类似于LARGEOF,对于SMA(CLOSE(),5,3)这样的写法,为SmaOf(["close"],3,true,5) Ema(close(),3)应为EmaOf(["close"],true,3),因指标的特殊性,SMAOF和EMAOF不支持没有移动N的表达方式。 测试新增:支持64位整数常量定义,即在整数常量后加字母L,例如1234567890L。 测试更新:SQL的聚集函数在原有参数后增加了两个参数,一个是移动N条的时候如果有条件判别到底表示最近N条内符合条件函数最近符合条件的N条,为真表示最近N条内符合条件的, 用户可以使用a:=rand(1000,1);return select MaxOf([0],[0]>0.5,10,true),MaxOf([0],[0]>0.5,10,false) from a end;来同时使用两种模式,以前仅仅能通过selectopt来控制整条sql的表现。 另一个参数为缓存标志,类似于EMA,SMA等技术指标的缓存标志。 SQL性能提升:用户现在完全可以使用SQL实现原来需要依靠NDAY以及MA/EMA/SMA等等实现的技术指标,例如: EmaOf(AvgOf(["close"],true,30),true,30) //这相当于ema(ma(close(),30),30)。 由于SQL的聚集移动的性能得到了空前的提高,所以效率与原来在NDAY中的效率基本一致,在某些环境下效率甚至于更高。 更新日志--------2014-5-16 测试更新:增加CallInArray关键字,支持CallInArray("StrToIntDef",Array("12345",0))的模式,与CALL相仿,但是不支持变参返回。 更新:TSL.EXE、TSLInterp.DLL等解释器组件以及WEB模块组件。 更新:正则表达式ParseRegExpr函数支持仅处理第一条符合的结果。 帮助更新:增加测试新功能的帮助内容。修正ExecSQL关于存贮过程调用的帮助,更新正则表达式ParseRegExpr函数的帮助。 更新日志--------2014-5-11 测试更新:测试服务器新增任意滚动周期支持,使用方法一: SetSysParam("FreeCycle",1); SetSysParam(pn_Cycle(),cy_1m()); SetSysParam(pn_Date(),Day+StrToTime("13:30:15")); 当打开了FREECYCLE开关的时候,秒以及分钟周期将变为滚动周期,也就是说将以设置的时间为基准进行滚动,而非默认的固定截止周期。 使用方法二: SetSysParam(pn_Cycle(),100); SetSysParam(pn_Date(),Day+StrToTime("13:30:15")); 当周期被设置为整数的时候,会将周期设置为滚动的秒数周期,例如这个例子的100秒周期,我们目前支持4小时内的任意秒数周期。 在时间序列中,滚动周期的周期是不跨越交易日的(交易日不是自然日,对于夜盘而言,晚上和凌晨的均在一个交易日内),也就是说在跨越交易日的时候,如果剩下的时间不够一整个周期,将剩余的时间作为一个周期,下一个周期从上一日开始。 测试修正:修正TechCacheDo的多证券调用技术指标可能导致错误计算的BUG。 更新:客户端提升了板块列表参数的效率。 更新日志--------2014-4-28 更新:增加Matlab 2014a版本的支持。 更新日志--------2014-4-24 测试更新:新增mt_decompose_ldl,mt_decompose_chol两个分解函数。 测试更新:修正面向对象父类中SELF无法访问到重载的子类虚方法。 测试更新:新增两个关键字likeeps以及likeepsrate,可以获得和设置实数like的时候的精度计算。 Like的计算方法如下: 如果两个数的差的绝对值的功能。 A:=array(0,1,array("A","B","C","D","E","F"))->5;可以生成一个以"A"到"F"为下标的0->5的序列 即array("A":0,"B":1,"C":2,"D":3,"E":4,"F":5) 增强:Rand,Nils,Ones,Zeros支持任意多维数组的初始化 例如Nils(3,4,5)生成一个3*4*5的三维NIL矩阵。 由于Rand的第三个参数为随机数产生方法的选项参数,因此如果要生成三维的随机矩阵,需要如此用: Rand(3,4,nil,5),如果要生成正态分布的3*4*5大小的三维矩阵则rand(3,4,array("normal",0,1),5)。 增强:增加关键字mIndex,mIndexCount实现多维矩阵的遍历方法: 其中mIndex可以取到下标,mIndexCount表明遍历的下标的个数。 如果有三维矩阵: a:=rand(3,4,nil,5); a[:,:,:]::begin echo mIndex(0),"->",mIndex(1),"->",mIndex(2),"->",mCell,"\r\n"; end; 更新日志--------2013-7-19 增强:mFind 支持替换: mFind(a,mcell>1,nil,1),第三个参数为NIL表示不返回行列结果,最后一个参数1表示将符合条件的替换为1。 支持直接返回真值下标 mFind(a),这种用法与多个参数的返回结果有一个差异,即如果a是一维数组,则返回一维。 用途范例: 假定有随机数组b如b:=rand(1000,10); select的代码 c:=select * from b where [0]>0.5 end; 可以很便捷地使用矩阵模式代码替代: c:=b[mFind(b[:,0].>0.5)]; 增强:ImportFile和ExportFile的时候,均允许直接导入导出DBF文件,增加了ftDBF()的类型函数。 新增:增加Reshape函数,A:=Rand(3,6);支持Reshape(A)产生一维数组,支持Reshape(A,2,9)产生2*9的矩阵,支持Reshape(A,6,Array("A","B","C"))产生指定下标的6*3矩阵,当然也支持Reshape(A,array("A","B","C","D","E","F"),array("F1","F2","F3"))的方式产生矩阵。 新增:Ftp类,支持FTP文件传输,具体文档见即将发布的新文档。 增强: 字符串类函数,日期类函数,分布、逆分布类函数等等支持矩阵,至今为止,数百个基础函数支持了矩阵。 增强:SELECT聚集函数支持的功能,基本上可以找到对应功能的直接函数,反之亦然。具体参见即将的新文档。 更正:新升级的矩阵式支持的函数出现入口参数和返回变参为相同的情况下可能出错的问题。 例如trystrtoint(a,a)可能会导致结果不可预知。 更正: 当最大化窗口的时候,客户端左栏最小化会导致无法点击到还原的钮的问题。 更新日志--------2013-7-8 修正:解决一些窗体在多屏的时候显示未居中在当前屏幕中的问题。 更新日志--------2013-7-5 ********************************************************** ************许多基础函数支持矩阵计算********************** 例如:abs(X)支持对一个N维数组进行处理 Mean支持二维矩阵 多达百余个基础函数进行了矩阵支持升级, 今后陆续会对更多的函数进行升级 ************请稍后留意TSDN上的更新文档******************** 更新日志--------2013-7-4 增强:客户端在多显示器上的兼容性。 更新日志--------2013-7-3 更正:客户端在多显示器上显示不正常的问题。 更新日志--------2013-7-2 更正:Rand随机参数在上个版本更新的问题。 更新日志--------2013-6-27 修正:ThisOrder有可能会出现不可靠的BUG。 更新:排序NAN算最小值。 修正:解决64位下客户端当打开图形的时候内容包含有NAN有可能会出现死锁的问题。 更新日志--------2013-6-22 **********************特别提示*************************** 服务器已经采用了全新数组处理的内核,基本上兼容旧有的语法 但有一个子矩阵操作的语法不兼容,特别需要注意: 原有子矩阵处理的时候, 取子矩阵: a:=b[:,1];//取出b数组的列标1,取出结果为1维数组,这个新旧语法相同 设置子矩阵: b[:,1]:=a;//原有语法不支持直接对列标进行子矩阵设置,b[:,1]:=a的含义等同于b[:,1:1],也就是说a应是一个二维数组 换而言之,老语法b[:,1]是b[:,1:1]的简写。 在新语法中,b[:,1]:=a就是对下标1这一列赋值,所以a的值应为一维数组,这就产生了和原来不兼容的地方 在新语法中,b[:,"aa"]:=a;这样的语法被允许,而在老语法中,这样写会出错。 新增语法支持,目前对多维数组的操作得到了增强,例如: b:=a[:,0,:]就是对一个三维的数组进行切片,产生一个二维的数组。 同样,可以用a[:,0,:]:=b来设置子矩阵。 系统对子矩阵最多支持16维。 此外,对于设置子矩阵,除了支持下标序列1:3的模式目前已经支持数组作为下标来设置子矩阵: a[array(1,2,3),array(2,3,4)]:=1;或者 a[array(1,2,3),array(2,3,4)]:=rand(3,3);都是被支持的。 而a[array(1,2,3),array(2,3,4)]:=array(1,2,3);可以使得相应的行的指定列均为1,2,3 以上1,2,3行的含义表示下标为1,2,3,因此: array[:,array("aa","bb")]同样被支持。 子矩阵支持 A[:,"A"]+=2这类"算符="的运算符,规则与设置子矩阵相同。 具体关于子矩阵计算的更新的内容请留意TSDN的更新,将会有相关专题文档。 **********************特别提示*************************** 增强:++,--操作符。 A++可以返回A的原始值,++A可以返回加完之后的A值 A--可以返回A的原始值,--A可以返回减完之后的A值 A[0,0]++;返回A[0,0]的原始值,++A[0,0]返回A[0,0]加1之后的值 以上操作即便A的本身是一个矩阵,均遵循如上原则,用户亦不需要关心在不需返回值的时候对数组操作是否应该采用++A来加速运算,因为系统已经对此进行优化。 需要注意的是,子矩阵的++,--操作,例如A[:,:]++以及++A[:,:]可以正确计算,但不会存在返回值。 增强:提高和服务器之间的通讯效率,降低通讯时延。 增强:导出到EXCEL的时候,增加XLSX的类型选项。 更新日志--------2013-6-19 增强:为新内核进行前端准备。 更新日志--------2013-6-18 修正:客户端在数据专家中无法导入导出结果组。 更新日志--------2013-4-20 增强:tostn支持小数点位数,使用方法为tostn(a,2)则为保留两位小数。 修正:一些EXCEL的处理函数导致EXCEL进程不退出的BUG。 修正:去除tsole.dll对tslkrnl.dll的依赖,测试了32位和64位EXCEL插件。 增强:在编辑器菜单中增加了Smart Tab的选项,TAB的行为可以选择。 修正:with **可能导致崩溃的BUG。 修正:对内存不够所引起的无法运行会提示为内存不够以及其他内核增强。 更新日志--------2013-4-5 更新:增加Matlab 2013a版本的支持。 更新:qr分解支持经济大小。 更新日志--------2013-3-7 更新:修正了MSelect的一个BUG(当选择出来的行数应为0的时候,返回为1行空值,且特殊情况下可能会出错)。 更新日志--------2013-3-5 更新:增强32位下本地交易接口方法。 更新日志--------2013-3-4 修正:打开文件的对话框丢失显示字段、索引等信息。 更新日志--------2013-2-28 修正:密码框显示问题。 修正:32位CTP交易插件版本不匹配问题。64位客户端暂时未提供CTP交易插件。 更新日志--------2013-2-28 更新:支持手动升级,允许关闭自动升级功能。 更新:增加任务管理功能(需要权限),支持收听服务器广播消息。 增强:导入导出CSV格式支持"",和通用CSV格式保持一致。 修正:其他内核增强。 更新日志--------2013-1-17 增强:ExportFile支持Matrix类型。 更新日志--------2013-1-11 修正:outersect=不支持的问题。 更新日志--------2012-12-19 更新:在系统设置中增加了注册COMSERVER和从注册表删除COMSERVER的功能。 某些用户由于安全软件阻拦的缘故导致COMSERVER注册不成功,使得在EXCEL,Matlab等软件中无法调用到天软,请使用注册COMSERVER的按钮。 修正:MATHKRNL在上一个版本更新导致某些调用产生问题。 修正:提高了邮件类的处理兼容性。 更新日志--------2012-11-19 更新:增加密码参数功能,请选择字符串参数,参数名称包含password,此类参数不存贮内容,每次客户端重新启动均设置为空。 其他:交易支持插件准备更新。 更新日志--------2012-11-18 更新:64位客户端版本正式发布,32位版本和64位版本的新安装包可以下载: http://www.tinysoft.com.cn/download/setup.exe http://www.tinysoft.com.cn/download/setup64.exe 更新:内核增强,如提升多核心服务器上的运行效率等。 修正:当新用户数据到时,显示和键盘精灵冲突可能导致界面无法使用。 更新日志--------2012-11-14 更新:64位版本服务器开放测试。 用户可以在客户端登陆的时候选择使用何种版本的计算服务器进行计算。 64位版本的客户端亦将开放测试,亦支持与64位MATLAB进行互动。 更新: 交易网关打包进客户端,为客户端交易做准备。 更新: 增加三个和环境变量相关的支持: 假定a:=array(pn_stock():"SZ000002",pn_cycle():cy_1m()); with *,a do c:=close();的含义是在当前的环境下,设置a内指定的环境,运算结束后恢复特殊的系统环境变量。 with **,a do c:=close();的含义是切换环境为a,这样原有的环境失效,运算结束后恢复原有的所有的环境。 c:=specall(close(),a);的含义与with *,a c:=close();类似,但是with支持语句段,而specdall只支持表达式。 更新: 增加对Matlab 2012B的支持。 其他内核级增强。 更新: WEB服务器的支持包以及脚本支持包更新进客户端。 更新日志--------2012-10-31 修正:新版本中编辑器内输入完中文以后,会存在前几个输入英文字母不被接收。 拼音文件更新。 其他内核增强。 更新日志--------2012-10-11 修正:新版本中编辑器内一旦一行的前边有中文,CTRL+CTRL无法正常呼出自动完成窗口。 更新日志--------2012-9-28 修正:新版本中管理器中目录更名的问题。 更新日志--------2012-9-24 修正:编辑器、板块管理等窗口的热键在其他窗口激活时有效的问题。 修正:编辑器的行号显示不完全的问题。 修正:编辑器中替换全部按钮失效的问题。 更新日志--------2012-9-20 修正:新版本COMSERVER遗失Logined,NilTrans,KeepRawData等属性。 修正:新版本存在检查新用户数据出现自动退出的问题。 更新日志--------2012-9-19 修正:新版本存在客户端堆栈不够的问题。 修正:新版本存在编辑器COPY不完整的问题。 修正:EXPORTFILE,IMPORTFILE中的XLSX的文件处理问题。 更新日志--------2012-9-19 本次升级为一些重大的升级做全面准备,有任何问题请及时与客服人员沟通反馈。 如果遇到更新失败无法运行的情况,请下载微软的VC发行包:http://www.tinysoft.com.cn/download/vcredist_x86.exe自行安装解决问题。 更新日志--------2012-8-27 1、Rand函数升级,支持各类随机分布 应用方法范例: a:=rand(100,100,array("normal")); //正态分布 也可以写成rand(100,100,array("normal",0,1)); 支持如下类型(大小写无关): "normal","poisson","Gamma","Uniform","Binomial","Geometric","Exp","Beta","Lognormal","Weibull","Cauchy","Laplace","Hypergeometric","IntUniform","Rayleigh" 更新日志--------2012-7-24 1、修正在某些输入法状态,在函数编辑器中无法正常输入左括号(的问题。 更新日志--------2012-7-16 1、矩阵计算效率升级,效率得到数量级提升,主要增强为求逆(伪逆),矩阵乘法,除法,SVD分解等。 2、mt_decompose_svd支持可选参数输出。 3、增加mt_decompose_eig,function mt_decompose_eig(a:matrix;var wr,wi:array of double;[var vr,[vl :matrix]]):integer; wr,wi分别存放特征值的实部和虚部,vr,vl为右特征向量和左特征向量。 4、修正:external的外部DLL函数调用,当数组的可变参数为多维数组的时候,导致系统崩溃。 例如: pr:=rand(10,10); a(pr,m,n);//会导致崩溃,老版本的这个问题,需要采用pr:=rand(100);采用一维数组来存贮二维结构来解决。 function a(var p1:array of double;m,n:integer):double; cdecl; external "C:\\test.dll" name "a"; 目前,此BUG被消除,以上代码可以正常使用。 更新日志--------2012-7-10 1、修正:版本控制在函数正在编辑的时候进行DIFF无法反映当前编辑的改动。 2、修正:当登录切换服务器的时候,如果其中一台服务器的在线升级包不完整会导致切换服务器要下载升级过多的问题。 3、增强:客户端的板块管理的性能提速两个数量级,可以极速处理包括数十万个品种的板块。 4、服务器加速:板块保存(savebk)、savetable均高两个数量级的效率,大板块的GETBK也有显著性能提升。 5、其他内核增强。 更新日志--------2012-7-8 1、*****************************版本控制支持终于支持了******************************* 请在函数编辑器选择VER按钮,尝鲜功能。并查看在函数编辑器中的文件菜单中的新选项, 终端用户:后台已经自动存贮了几个月的版本信息,您可以选择删除,当然也可以浏览历史版本 源代码管理将变得轻松百倍 ********************************************************************************** 2、支持条件编译,{$DEFINE}{$IFDEF}{$ELSE}{$ENDIF},目前还不支持{$INCLUDE}但计划中将支持。 3、系统将支持共用函数隐藏,一些遗留的函数将会无法黑体,也无法在管理器看到,但可以被调用。 4、支持自定义终端的ICON。(仅对于服务器客户) 5、客户端插件库将不会再重载服务器函数。(仅对服务器客户) 6、TSL调用COM的数据转换效率提升。 7、修正:终端作为COM服务器的时候,会产生轻微泄露问题。 8、clSkyBlue函数不正确的问题。 9、非完美支持:编辑器可以自动化完成并对参数名显示黑体,但子函数中依旧只识别到母函数的参数。 10、更快速的平台响应速度。 11、更健壮的内核。 12、*********************一个特大前所未有的功能已经准备完毕**************************** 敬请等待发布 *********************************************************************************** 更新日志--------2012-6-25 1、matlab 2012a支持库。 更新日志--------2012-5-21 1、修正了某些机器客户端导致CPU过高的问题。 更新日志--------2012-5-18 1、通讯包增强,Commkrnl.dll提高性能十倍以上。 2、其他内核增强。 更新日志--------2012-4-28 1、修正:select full join的时候当两者均为空数组会出现在日志中记载异常的问题。 更新日志--------2012-4-26 1、修订最后一行为//单行注释可能会导致编译错误的问题。 2、使用通讯库调用服务器运算在多线程下可能会出现不可靠的情况。(使用WEB以及API联接服务器的客户必需更新commkrnl.dll) 更新日志--------2012-4-21 1、修订importfile为ftStream等类型时内存存在轻微泄露问题(服务器请更新相应的库:pubkrnl.dll)。 更新日志--------2012-4-17 1、更新内核存在的特殊情况下的内存泄露问题(服务器请更新相应的库:tslkrnl.dll pubkrnl.dll)。 更新日志--------2012-4-12 1、解决调试运行下运行RDO2中PAUSE会出现的问题。 2、在终端支持财务数据模式的系统参数。("ReportMode"系统参数) 3、矩阵运算方面的增强。 更新日志--------2012-3-9 1、支持在Select中进行计算并不返回: select a:=["aaa"]/["bbb"] as nil,a*10 from r end; 在第一个计算中计算了a但是该列不返回(使用as nil)。 2、IN支持子集运算,例如array(1,2,3) in array(1,2,3,4)的结果为真 3、FilterIn/FilterNotIn中的第三个参数(为列下标)允许为NIL,这样可以以行为单位进行整体过滤。 典型应用,可以支持一维数组的过滤: FilterNotIn(array(1,2,3,4,5,5,6,7),array(1,2,3,4),nil) 此外,可以以行为整体进行过滤: a:=array(); a[0]["A"]:=1;a[0]["B"]:=2;a[0]["C"]:=3; a[1]["A"]:=2;a[1]["B"]:=3;a[1]["C"]:=4; a[2]["A"]:=1;a[2]["B"]:=2;a[2]["C"]:=3; a[3]["A"]:=4;a[3]["B"]:=5;a[3]["C"]:=6; b:=array(); b[0]["A"]:=1;b[0]["B"]:=2;b[0]["C"]:=3; b[1]["A"]:=2;b[1]["B"]:=3;b[1]["C"]:=4; filterin(a,b,nil); 4、新增加的集合运算会导致原始结果集被修改的BUG修正 5、其他内核修正。 更新日志--------2012-1-29 1、客户端的左边导航栏内模型顺序从时间次序变更为显示串的自然排序。 更新日志--------2012-1-17 1、修正了导出的XLSX文件含有中文会导致无法被正常使用的问题。 2、增加算符:|、:|=,这个算法和|以及|=的差异为:|会自动对齐列,而|为每一行左靠拢。 在运算数据为完整的矩阵的时候,含义是相同的。 3、在结果窗点EXCEL按钮文件扩展名从xls/xlsx随机变化的问题。 更新日志--------2012-1-4 ***************************2012年更新将有新的变化********************************** 天软TSDN电子杂志即将推出,将有专栏讲解新功能 1、*******************请小心,函数参数个数需要仔细检查***************************** 函数允许缺省参数,送入的参数比定义的参数个数少的情况下,后边的参数的值缺省为NIL。 新增关键字RealParamCount可以访问实际送入的参数个数。 ******************************************************************************** 2、新增矩阵集合运算关键字: 并集: Union2,和union不同,union2去除了重复的内容 交集: Intersect 补集的并集:Outersect 补集: Minus 以上所有的运算结果均去掉重复项目 union2相当于oracleSQL的union,union相当于oracleSQL的union all Intersect相当于oracleSQL的intersect Minus相当于oracleSQL的Minus 具体案例: array(1,2,3) union2 array(3,4)的结果为array(1,2,3,4) array(1,2,3) intersect array(3,4)的结果为array(3) array(1,2,3) outersect array(3,4)的结果为array(1,2,4) array(1,2,3) minus array(3,4)的结果为array(1,2) 除了支持一维数组的运算以外,以上集合运算均支持二维数组以及更多维数组的运算。 以上运算等于操作符均为算符后=,例如:a union2= b,相当于a:=a union2 b; 3、SelectOpt增加新选项,允许聚集函数在移动统计中先移动后统计。 例如select avgof(["a"],["a"]>0.5,10) from data end;的含义是移动10条>0.5的平均值 如果采用select selectOpt(64) avgof(["a"],["a"]>0.5,10) from data end;的含义是移动10条中的>0.5的平均值 4、新的聚集函数ProductOf,累乘 5、新增过滤支持,FilterIn取存在的子集,FilterNotIn取不存在的子集: a:=array(); for i:=0 to 9 do begin a[i]["i"]:=i; a[i]["idiv2"]:=i div 2; end; b:=array(3,5,7); c:=FilterIn(a,b,"i"); //过滤结果 //C的结果为 //array( //("i":3,"idiv2":1), //("i":5,"idiv2":2), //("i":7,"idiv2":3)) c:=FilterIn(a,b,"i",false); //过滤仅返回下标 //C的结果为array(3,5,7) c:=FilterNotIn(a,b,"i"); //过滤结果 //C的结果为 //array( //("i":0,"idiv2":0), //("i":1,"idiv2":0), //("i":2,"idiv2":1), //("i":4,"idiv2":2), //("i":6,"idiv2":3), //("i":8,"idiv2":4), //("i":9,"idiv2":4)) c:=FilterNotIn(a,b,"i",false); //过滤仅返回下标 //C的结果为array(0,1,2,4,6,8,9) 6、qr分解函数更新成单参数为返回r值。 7、新增conv计算卷积。 更新日志--------2011-12-16 1、更详尽的数据库与文件访问错误日志记录。 2、内存不足时更多的日志。 更新日志--------2011-12-15 ********************************************************************************************** 请仔细阅读以下内容,升级可能已经造成了您的代码无法运行,但是暴露的是您代码中隐藏的不规范的错误 ********************************************************************************************** 1、TSL语言升级,暴露以往开发的代码隐藏的不可靠性 1:出现单独的常量或者变量不被支持 原因:以往可以独立写 abcd;这样的代码不会出错,在end之前写 abcd end这样的代码也不会出错 这样假如调用无参数的函数未写()也不会报错,但是什么也不会执行,为了解决这个问题,不允许这种写法。 影响:由于TSL语言支持以汉字中文作为变量(今后不一定还会默认支持),而用户在使用输入法的时候,往往有 误操作到全角字母,输入汉字的空白符,这种汉字的空白会被当成是变量名,如果这种变量出现在END之前, 是被允许的,也就是说不会产生编译错误,目前这类错误会被暴露出来,需要用户删除掉汉字空白符,方法可以用全局替换, 空白的全角空格替换成为半角空格。 2:独立的a=1;a+b; 等等不再被支持。 原因:以往有用户写:=的时候写成了a=1,但是编译器未能检查出错误,因为a=1是一个合法的表达式,这样导致a变量的初始值依旧为0而不是1 影响:出现错误的时候请自己解决这类错误代码。 2、数据库操作支持事务处理,定义如下。 Function SQLBeginTrans(DBAlias:String):Integer;//-1:falure,否则返回处在第几级事务 Function SQLCommnit(DBAlias:String):Integer;//-1:failure,1 表示还处在事务中(多级事务),0则不再在事务中 Function SQLRollback(DBAlias:String):Integer;//-1:failure,1 表示还处在事务中(多级事务),0则不再在事务中 Function SQLInTrans(DBAlias:String):Integer;//-1:falure,否则返回第几级事务 3、其他内核更新,内存使用更健壮,并修正了错误定位不准确的问题。 更新日志--------2011-11-13 1、新增Matlab 2011b支持库 更新日志--------2011-9-22 1、UI开发支持、 2、SendRunningData支持数据运行时发送。 3、MTIC,MTOC支持 4、SetProfiler,GetProfilerInfo得到运行的详细信息 5、->算法支持,1->5表示array(1,2,3,4,5),array(1,2)->5表示1,3,5 更新日志--------2011-9-21 ................................................................................. 更新日志--------2011-9-5 1、EXCEL 4.0版本的EXCEL文件的导入汉字乱码问题(某些交易系统导出的文件格式为该格式)。 2、解决图形复制黏贴到WORD里有下边和右边的边缘线的问题。 更新日志--------2011-8-29 1、实数常量:支持了1E-5的写法,而不需要1.0E-5。 2、like操作符升级:和其他简单算法一样支持数组计算,并修正了NAN参与like为true的问题。 3、COMSERVER增加属性Logined,在调用天软的COM组件的时候,可以用Logined属性来判定是否登录成功。 4、goto语句的label标号后可以允许不需要语句。例如: for i:=0 to 999 do begin if i>99 then goto endlabel; j++; label endlabel; end; 5、数字返回窗口,在常用日期范围内,将会被自动翻译成为日期字符串,方便用户查阅。 更新日志--------2011-8-18 1、解决2011-8-17日Matlab模型调用TSL模型使用RDO2提示信息导致系统出现Dispatch出错的问题。 更新日志--------2011-8-17 1、支持函数的管理函数。(用户一般无需使用) 2、增强:在matlab等调用平台模型,如果模型使用RDO2,会弹出客户端提示进行安全检查,不再在未设置为允许的时候默认拒绝调用。 3、新关键字:syssafeeval(非WEB开发类用户无需使用) 更新日志--------2011-8-15 1、支持class里uses 2、去除dupestring最多100次重复的限制。 更新日志--------2011-8-8 1、支持goto,label Example: i:=0; label a; i++; if i<100 then goto a; label标号之后一定要有合法的语句。 2、允许安装到多个目录下的多个版本客户端的用户登录信息文件互相独立。 更新日志--------2011-8-4 1、客户端支持创建单元。 2、支持RDO2通过unit(UnitName).FunctionName()模式调用单元函数。 3、RDO2支持自动查找支持模型中Uses的单元。 4、RDO2支持执行函数的子函数(之前版本RDO2仅支持全局函数)。 更新日志--------2011-8-3 关于通过COM调用天软的RemoteCallFunc调用二维数组单行或者单列被天软转换为一维数组的问题说明以及解决方案: 说明:此问题并非BUG,而是设计如此,因为用户使用EXCEL和MATLAB和天软交互很多,而EXCEL或者MATLAB里利用COM传递数据给天软的时候会遇到一个问题 即MATLAB没有一维数组,EXCEL的表单数据也是二维的,因此在此处天软默认进行了单列或者单行的二维数组的一维转换。 解决方案: 增加一个属性:KeepRawData,可为整型,默认为0,表示和以前兼容,单行、单列均转换为一维数组。 设置ts.KeepRawData为1的时候,所有的转换均不做,保留原始数据的摸样。 设置ts.KeepRawData为2的时候,仅转换单列的数据为一维数组。 设置ts.KeepRawData为3的时候,仅转换单行的数据为一维数组。 其他说明: 以上设置也可以使用ts.SetSysParam('KeepRawData',Value)的模式。 更新日志--------2011-8-3 1、提供了Matlab R2011a的支持库,文件为matlab.dll.2011a 2、编辑器:具备调试断点的函数在增删行的时候断点位置自动适应调整。 3、增加UNIT,INTERFACE,IMPLEMENTATION,INITIALIZATION,FINALIZATION,USES。允许访问函数的子函数,以及支持函数包的模式。 4、数据库访问数字字段支持BCD四位小数兼容模式(仅为提供老版本向前兼容,普通用户无需理会),该选项为默认关闭,可通过ExecSql.ini中EnableBCD字段进行配置打开。 更新日志--------2011-7-20 1、QR分解允许空矩阵分解为空矩阵。 更新日志--------2011-7-18 1、增强QR分解,支持mt_decompose_qr(a,q,r,e)的分解模式。 2、增强矩阵计算,支持.> .< .= .<> .>= .<=,利用这些算符可以很便捷地进行矩阵的比较运算。 更新日志--------2011-7-14 1、修正了kurtosisof和skewof的问题,保障了处理大数据集的正确性,此函数组为兼容Excel的计算公式。 2、增加了kurtosis2of和skew2of,此函数组为兼容Matlab的计算公式。 3、增强了矩阵计算,支持1*1的矩阵替代常量进行矩阵乘法计算。 4、增强了矩阵计算,支持空矩阵参与矩阵乘法等矩阵计算返回空矩阵。 5、!对标量计算为导数。 6、增加算符,以下算符均支持矩阵: .! 算术取反 .!!逻辑非 .& 算术与 .| 算术或 .&&逻辑与 .||逻辑或 .||=逻辑或等于,a.||=b相当于a:=a.||b; .&&=逻辑与等于,a.&&=b相当于a:=a.&&b; .&= 算术与等于,a.&=b相当于a:=a.&b; .|= 算术或等于,a.|=b相当于a:=a.|b; 7、增强了取子矩阵,允许数组作为下标取子矩阵。但目前不支持使用数组做下标设置子矩阵。 更新日志--------2011-7-8 1、增强了SELECT对分组结果的处理能力,增加thisgroup关键字,增加了refsof关键字,允许访问上级SELECT,增加了THISORDER关键字,可以得到order by后的准确的序号(相同内容的序号相同) 有关新的功能将会有具体文档和使用案例。 更新日志--------2011-6-20 1、登录信息存贮文件从安装目录转换至users/user/Tinysoft/Analyse.NET/下,以支持多用户在服务器的同一计算机使用的问题。 更新日志--------2011-6-14 1、修订了负数浮点转换整数的问题。 更新日志--------2011-6-10 1、修订了对外部DLL引出函数调用可能导致崩溃的BUG。 更新日志--------2011-6-9 1、修订了函数SysExec导致句柄外泄的BUG。 更新日志--------2011-6-3 1、修订了导出xls文件在excel 2010中无法打开的问题。 2、增加matlab 7.0的支持库,文件名为matlab.dll.7.0 更新日志--------2011-5-17 1、防止导入特殊Excel文件时更新询问以及退出提示保存。 2、增加安静模式阻止RDO2的命令提示。(在系统设置里设置相应设置) 3、其他内核增强。 更新日志--------2011-3-20 1、增加SaveBK,DeleteBK等两个板块管理函数 例如,生成一个目录在"我的一级分类\\我的二级分类",名为"我的板块"的板块 SaveBk("我的板块","我的一级分类\\我的二级分类",Array("SZ000001","SZ000002")); 注意:注意板块的名字是不重复的,也就是说,建立不同目录下的同名板块是行不通的 删除该板块: DeleteBk("我的板块") 2、增加ListTable,DeleteTable等两个数据表管理函数 ListTable()可以返回用户数据表列表 DeleteTable("我的表目录\\我的表")可以删除用户数据表,用户数据表与板块不同,名字和目录在一起 3、增加了like对浮点数的支持 由于浮点数的特殊性,判断浮点是否相等以前比较困难,现在可以用 if 1 like 1.00001 then来测试like对浮点的支持。 以前 a=b 这种浮点判断可以改为 a like b 更新日志--------2011-3-4 1、增加:MATLAB7.1,R2010B的支持库。分别为matlab.dll.7.1和matlab.dll.2010b 2、增强了数值计算库。 3、升级了正则表达式库。 更新日志--------2011-1-20 1、增加:调试器。 2、增加模型分类。 更新日志--------2010-12-3 1、增强:伪逆运算。 更新日志--------2010-12-1 1、增强:支持奇异矩阵求逆,以及其他的内核更新。 2、邮件处理类对一些不符合规范的邮件客户端的邮件增加了兼容性。 3、增加keepresident关键字,支持外部动态库引入函数常驻。 更新日志--------2010-11-23 1、客户端:****表格类型数据可以复制到剪贴板了***。。 更新日志--------2010-11-17 1、增强:TSL语言进行了提速。 2、新增:TSL语言正式支持Namespace。 3、客户端:CHART图形默认颜色。 4、客户端:增加采用函数模式来设置默认的客户端配置,如函数分类以及显示设置,CHART的颜色调色板设置,有需要的用户请等待正式文档。 更新日志--------2010-10-28 1、订正:TStream类的Read,Write方法处理浮点数的问题。 更新日志--------2010-10-25 1、订正:导出到EXCEL 2007格式的时候当数据中存在空值的时候不正确的问题。 2、增强:一个内核API对多线程的支持。 更新日志--------2010-10-11 1、支持时间以及日期时间参数类型。 2、支持传输加密,支持证书。 3、TSL引擎以及WEB引擎支持RDO。 更新日志--------2010-09-24 1、订正:导入Excel文件的时候,当行数<列数的时候会有出错。 更新日志--------2010-09-03 1、订正:sf_gamma的计算精度问题。 更新日志--------2010-09-02 1、订正:full join 的左边为空的问题 2、增强:大矩阵的乘法的效率。 3、订正:qr分解函数的特殊情况下的问题。 4、订正:偶然出现“变量未申明”的问题。 更新日志--------2010-08-06 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R TSL语言对R语言的支持文档出来了。 R R http://www.tinysoft.com.cn/download/devDocs/R通过RCom调用天软金融平台.doc R R 请通过以上链接下载,有问题请咨询技术支撑人员 R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 1、增加了matlab 2007a的支持文件matlab.dll.2007a,使用该版本的用户可以用该文件替代掉matlab.dll 2、订正:批量insert,当字段找不到失败的时候,sqlerrormsg可以返回出错原因。 3、订正:子矩阵的::循环算符现在支持了。 4、函数新增:逆分布函数sf_normalinv,sf_normalinv2,sf_betainv,sf_gammainv,sf_tinv,sf_finv,sf_x2inv 注意beta,gamma对应的分布函数为sf_incompletebeta,sf_incompletegamma,此外,用户请注意两个函数的参数次序 增加mt_decompose_lu(lu分解),mt_decompose_qr(qr分解),mt_decompose_Cholesky等矩阵分解函数 5、报告生成引擎:解决了剪切板遗留信息,增加了锁支持。 在docproc.dll当前路径下,新建docproc.ini,并加入如下内容。 [WordTemplate] SingleProc=1 Timeout=300000 表明同一时刻下只允许一个报告模板生成,但等待时间为5分钟,即300000毫秒,倘若无限等待,可设置为-1 6、*************************重要修改***************************** 6.1降低一元运算符+和-号的优先级,优先级修改为和二元运算符+,-的级别相同 影响范围:-2^2的结果为-4而非4,对不使用^,:^算符的用户无影响 6.2提升“^,:^,~”的优先级到“乘法除法” 到 “!,`等一元运算符”优先级之间。 影响范围:对于所有使用了^,:^,~算符的用户(~为对数算符) ************************************************************* 注意:以上更新在帮助文件以及函数原型声明暂时未更新,但用户可以直接使用。 更新日志--------2010-07-26 1、增加了matlab 2010a的支持文件matlab.dll.2010a,使用该版本的用户可以用该文件替代掉matlab.dll 2、提示:有用2009b的用户无法正常调用成功,用户需要在路径中加入相应目录的bin\win32目录。(该版本安装后未主动加入该路径) 更新日志--------2010-07-22 1、更新了积分函数。 2、修正了MatrixToArray函数。 更新日志--------2010-07-16 1、增加了matlab 2007b的支持文件matlab.dll.2007b,使用该版本的用户可以用该文件替代掉matlab.dll 更新日志--------2010-07-02 1、增加了对一维模式a[n:m]:=子矩阵赋值的支持(此问题需服务器同时升级)。 2、为了支持全球市场,修正了股票总数不能超过一万个的限制,修正了板块的股票不能支持超过四千个的限制。 更新日志--------2010-06-17 1、修正了mgetvar变量名不存在或者变量类型非可转换时出错的问题。 2、修正了和matlab前端交互返回矩阵类型的稳定性问题。 更新日志--------2010-06-9 1、增加了matlab 2009b的支持文件matlab.dll.2009b,使用该版本的用户可以用该文件替代掉matlab.dll 更新日志--------2010-06-7 1、支持var a:=1;的写法,可以初始化申明的变量。(必须写在begin end内,初始化不可在begin前) 2、以前对正常代码后的垃圾代码忽略了错误,由于容易引发笔误,已经修正为报错。 3、解决了异常日期(例如超大日期,如几十亿年以后的日期)引发异常的问题。 4、解决了SAVETABLE的表名参数类型非字符串的异常问题。 更新日志--------2010-06-6 1、=========***********增加编译选项***********=========== 更新内容如下: 增加了编译选项的支持,目前支持两个编译选项,一个是Explicit,另一个是VarByRef 具体情况,由于越来越多的开发人员利用TSL开发大型模型,许多开发人员都遇到了类似的问题: 1.1:TSL默认允许函数修改掉调用者送入的参数的值,导致运行时被调用的函数把值修改而不易于查错的问题。 1.2:TSL默认变量不需要申明,导致开发大程序的时候容易产生写错变量名不易于查错的笔误。 具体使用如下: 1.3:在程序中,插入{$Explicit}或者{$Explicit+},可以打开变量申明检查的编译选项,系统默认是不检查的,一旦打开了编译选项,局部变量在使用前必须用: Var来申明。使用范例: {$Explicit} Var a; a:=1; 如果打开了变量申明的编译选项,遇到没有申明的变量,编译器会报错。 如果仅仅只是对一小段程序打开编译选项,那么你在使用完后可以用{$Explicit-}关闭这个检查选项。 1.4:在程序中,插入{$VarByRef-}可以关闭允许参数值修改的编译选项,系统默认是允许修改的,一旦关闭了编译选项,函数将无法修改传入的参数。 如果要重新打开该选项,用{$VarByRef}或者{$VarByRef+}即可。 如果我们默认是允许修改参数的,而有参数要临时指定不允许修改,可以使用const前缀即可。 例如: n:=100; m:=10; l:=abcd(const n,m); return echo "n=",n," m=",m," l=",l; function abcd(a,b); begin a:=a+1;b:=b+1; return a*b; end; 以上代码如果没有const,n的值会变为101,由于有了const,n的值就不变了,还是保持了100,而m的值则变成了11。 {$VarByRef-} n:=100; m:=10; l:=abcd(var n,m); return echo "n=",n," m=",m," l=",l; function abcd(a,b); begin a:=a+1; b:=b+1; return a*b; end; 以上代码由于使用了{$VarByRef-}开关,关闭了允许修改,所以默认情况下,n,m的值不会被修改,如果我们要临时允许修改,可以使用var前缀。 以上代码执行完后,n的值变成了101,而m的值不变,依旧是10。 需要注意的问题: 1.5:编译选项是影响的编译,而非运行。所以在一个函数中打开或者关闭了开关,调用到另外一个函数的时候,该开关是不会生效的。所以每一个函数里都需要使用开关。 1.6:编译选项影响的编译是编译选项后的程序的编译代码,如果一个在函数体内里包括局部函数,编译选项也会影响到下边的局部函数。 ======================================================================================== 更新日志--------2010-06-3 1、增加了平台echo 对TSL解释器或者WEB开发的支持,调用的平台模型ECHO可以输出到控制台或浏览器端。可更新tslclient.dll到相应路径。 更新日志--------2010-05-17 1、增加了对bit类型的SQL字段的支持。 更新日志--------2010-05-17 1、增加了对bit类型的SQL字段的支持。 更新日志--------2010-05-12 1、增强了RDo2对变参的返回的支持。 2、增加了清除掉返回的信息内容的按钮。 3、修正了信任函数的功能。 4、更新了语言帮助 更新日志--------2010-05-11 更新:1、=操作符支持数组是否相等的判断。 2、rdo2调用允许返回变参,rdo2调用本地的函数基本上可以和平台上调用相同。 3、增加Nils初始化空数组。 4、增强信任中心,默认禁止掉调用,设置安全模式级别。 5、增加MatrixToArray支持matrix类型转换为array类型。 6、处理不规则EXCEL的导入问题。 7、解决数组的++和--放在后边和前边的问题。数组加1一定要用++arr,不要用arr++,arr++效率很低。因为arr++返回的结果为arr的原始值,所以会存在数组的备份。 8、Encodegraph出来的图形数据支持空数组不画线的问题。 9、修正了RenameFile函数的行为。 10、修正在Array初始化出错的行定位问题。 11、matlab引擎函数的小的修正。 更新日志--------2010-04-18 更新:1、尝试当导入EXCEL文件失败的时候使用EXCEL导入 2、支持AvgOf( * )以及 AvgOf( 0 to 5 )等聚集函数的写法,允许一次生成多个聚集 更新日志--------2010-04-16 更新:1、支持打印调试信息到客户端,方便调试,请尝试echo,write,writeln 2、支持程序运行过程中直接输出到客户端(需用户许可)********** 3、支持程序运行过程中访问客户端资源,例如访问本地EXCEL文件,调用本地MATLAB等(需用户许可)************ 使用如下命令:sendtoclient,rdo,rdo2 4、Word插件中对OFFICE 2007的支持。客户端支持超过65500行的以EXCEL2007格式输出。 5、select增加了largeof,smallof,percentileof,percentrankof,quartileof,rankof,trimmeanof,frequencyof聚集函数的支持 6、类中的成员变量支持static前缀,为静态变量。 7、增加mfind,msize,mrows,mcols,mcell,mcol,mrow,zeros,ones,eye,rand,nan,inf,aggvalue,rdo,rdo2关键字 8、增加:*=,:\=,:/=,:^=,::=,::,:*,:\,:/,:^,+=,-=,*=,/=,\=,%=,^=,|=,&=,~=,div=,|,union,`,\,^,~,!算符 其中包括许多矩阵计算功能 9、增强了对EXCEL读写的支持函数,在数量级上提高了EXCEL的访问效率,增加导入ftxls3()类型,并增加了readXlsSheets函数、SetCells,GetCells等函数 10、EXECSQL增加了传递参数给存贮过程的支持。 11、增加了一组meval,msetvisible,mgetvisible,mclose,mputvar,mgetvar,mgetbuf函数支持Matlab调用,可不需要编译的情况下直接调用 直接调用,结合服务端访问客户端的能力,可以在TSL里调用本地MATLAB的方法和程序 12、修正INSERT批量插入的时候,如果存在空行会插入空记录的问题。 13、修正正则表达式的位置返回问题。 14、修正了客户端阻止操作系统重启动的问题。 15、修正SELECT数据库无法仅返回最后一条的一个小BUG。 16、修正了对外部DLL调用时对多维数组支持的小BUG。 17、修正了用户数据名称修改为空的BUG。 18、增加了sqlerrormsg函数返回最后的SQL执行错误信息。对insert等无法返回错误信息的尤为有用 19、增加isBackground函数判断是否在委托执行状态。 20、setechostring,unsetechostring,isEchoRedirect支持ECHO到缓冲区中的功能(对WEB开发和平台WEB模型的一致性很有用) 21、增加了本地运行模型的支持。 22、sp_g,sp_s等同于getsysparam和setsysparam 23、select *返回的次序无法保障的问题解决了。这也是一个要注意的问题,现在遵循先后次序,但是以前利用原有特性的程序不得不修改。 24、取消了皮肤设置,界面做了小的调整。 25、增加天软教学,天软研究等栏目类型。 更新日志--------2009-11-22 更新:1、更正了面向对象的构造函数在特殊情况下的问题。 2、增加了thisrowindex,thisrow对多表的支持。 3、修正了对SQLSERVER的binary类型的支持。 4、ExecSql增加了KeepNull参数选项,允许将空内容返回为NIL。 5、*******增加了散点图图表类型的支持*******。 6、*******增加了对坐标轴的设定的按钮,可以很方便地设置双轴图******。 7、*******修正了自由图表类型对于多字段序列显示不正确的问题********。 更新日志--------2009-10-23 更新:1、更正了面向对象的析构函数在特殊情况下影响到调用者的返回值问题。 2、更正了CHECKSUMOF行校验函数的问题。 更新日志--------2009-10-22 更新:1、更换了对空数据的转换方法,解决和MATLAB以及其他软件的NIL兼容问题。 问题描述:由于Excel,Matlab,S-PLUS等多种统计软件对空类型的支持不尽相同,导致出现兼容性问题, 无法用统一的转换类型来解决,现在通过增加一个COM组件属性NilTrans来解决此问题,由用户自由选择转换的方法 具体操作如下: 假定天软的COM组件实例为ts 设置 ts.NilTrans 属性为 下列值(默认为0): 0: 转换为Unassigned 1: 转换为Empty 2: 转换为NULL 3: 转换为NaN 4: 转换为整数0 5: 转换为浮点0 6: 转换为空字符串 7: 转换为'NIL'字符串 8: 转换为'NULL'字符串 9: 转换为'-'字符串 10: 转换为'/'字符串 其他值: 转换为Unassigned 用户也可以使用ts.SetSysParam('NilTrans',N)来起到相同效果,N代表上述值 BTW: 假如用户在其他的本地应用中与外部COM打交道,例如调用EXCEL,那么用户可以在TSL中使用 SetSysParam('NilTrans',N);//N为0-10的上述值 的方式来调整NIL对COM数据类型转换的行为。 更新日志--------2009-10-21 更新:1、更换了对空数据的转换方法,解决和MATLAB的兼容问题。 更新日志--------2009-9-18 更新:1、内核更新,增加类索引器index对字符串的支撑。 2、内核对格式转换增加地区支持。 3、增强了对iis的支持。 4、增强了WEB功能,支持同时POST和GET。 5、修正了数据库DEC类型仅支持四位小数问题。 6、增强了对ORACLE的兼容性,EXECSQL支持多结果集返回。 7、修正了HTTP访问的TIMEOUT失效问题。 8、增强了邮件处理类的标题编码问题。 9、修正了快捷方式执行函数的问题,可以正常运行输出函数的桌面快捷方式。 10、解决了当安装ISA后启动速度特别缓慢的问题。 11、其他内核更新。 12、EXCEL插件更新。 13、语言帮助更新。 更新日志--------2008-12-4 更新:1、内核更新。 2、内存管理器更新。 3、增加了常用内置类。 4、增强了对WEB开发的支持。 5、更新了语言帮助文件。 更新日志--------2008-10-22 更新:1、内核更新:select 支持多表查询,支持JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN,CROSS JOIN等语法 更新日志--------2008-9-22 更新:1、Cookie兼容性。 2、内核更新。 更新日志--------2008-8-19 更新:1、语言内核更新。 2、对MATLAB提供直接支持。 3、提供在WORD编写过程中利用研究报告自动生成功能添加内容的功能。 4、其他内核更新。 更新日志--------2008-7-12 更新:1、语言内核更新。 更新日志--------2008-6-22 更新:1、语言内核更新。 2、修正非报告期类型表在向导中无法右键添加的问题。 更新日志--------2008-6-16 更新:1、语言内核更新。 2、增加TStringList,TIniFile,TFileStream等内置对象。 更新日志--------2008-6-6 更新:1、语言内核面向对象开发更新。 2、增强多屏兼容性。 3、内核FastCGI支持更新。 更新日志--------2008-5-22 更新:1、支持类方法的外联方式。 2、重新兼容旧函数头无;的模式。 更新日志--------2008-5-19 更新:1、更新EXCEL模板函数到最新。 3、更正了双屏下的显示问题。 4、其他内核更新。 5、******************更新语言内核到Object TSL,建模支持面向对象******************。 更新日志--------2008-3-14 更新:1、*************提供了自有数据管理维护以及访问的支持***************。 2、更新EXCEL模板函数到最新。 3、增强了对Vista的兼容性,(仍然需要对EXCEL以管理员身份运行以运行插件)。 4、其他内核更新。 5、更新语言帮助到最新。 更新日志--------2007-12-24 更新:1、修正从不规范的EXCEL文件中导入数据可能会产生很多无用的空行数据的问题。 2、更新EXCEL模板函数到最新。 3、向导界面小的改动,为下一个版本的新特性做支持。 4、其他内核更新。 5、更新语言帮助到最新。 更新日志--------2007-10-9 更新:1、在数据专家中允许统计函数统计非数字类型指标。 更新日志--------2007-7-7 更新:1、内核更新。 2、为WORD里执行共享模型增强支持。 更新日志--------2007-7-5 更新:1、修正了内核里TSL语言里的OLE对象调用参数次序问题 2、其他内核更新 更新日志--------2007-6-29 更新:1、增强类SQL支持,增加insert,update,delete语法支持。 2、UI函数增强。 3、其他内核增强。 4、更新了EXCEL模板函数到最新函数集合。 5、编辑器里自动完成提高了性能。 6、增加EXCEL以及WORD模板的栏(将会在其中陆续增加模板) 7、更新了函数帮助手册到最新。 更新日志--------2007-6-15 更新:1、更新excel插件为菜单方式。 2、在WORD中增加菜单,将推出直接在WORD里利用金融分析.NET插件功能更好地编写文档。 3、其他内核增强。 更新日志--------2007-4-26 更新:1、更新excel插件指标 2、超大规模数据导出的性能增强。 3、单列的矩阵类型的显示问题 4、其他内核增强。 更新日志--------2007-3-21 更新:1、修正在向导以及导入导出中指标某些参数会自动更改的问题 更新日志--------2007-1-20 更新:1、内核增强 2、支持CASE 3、支持NAN和INF 4、EXCEL插件里的指标更新 更新日志--------2006-11-03 更新:1、增强了select语法,增加了利用其直接访问SQL型数据源。 2、SELECT增加了大数,中数,等等聚集统计函数扩充,并支持统计函数的移动统计。 3、加速过的EXCEL在EXCEL文件的兼容上有小问题,恢复原有的导入模式。 4、其他核心增强,如matrix数据 类型的支持。 5、对明细数据的访问提供了很多新的内容和访问方法。 更新日志--------2006-08-17 更新:1、完成功能上对SQLSERVER的select语法的兼容。 2、支持SELECT语法聚集函数的自扩充。 3、对EXCEL的直接输出与EXCEL的导入进行了加速。 更新日志--------2006-08-07 更新:1、语言核心整体支持select语法,支持对基本面,行情,交易明细数据,以及内存表进行查询统计。 更新日志--------2006-07-06 修正:1、在板块数据专家里默认显示的板块指标分类里并非板块指标,修正了这个显示错误。 2、修正了特殊情况下函数编辑器退出后无法再打开的BUG。 更新:1、提高了向导里查找指标的效率。 2、在EXCEL里增加了直接对模型以及任意指标输入的支持。 3、更新Excel模板函数到最新。 更新日志--------2006-06-14 更新:1、语言内核更新 in/like/repeat until/try finally支持。 2、为select等保留关键字 3、*****支持动态条件板块。*****需服务器支持 4、增加了新的统计功能,在数据专家中可以使用验证、测试、统计中的相关指标来测试和统计。 更新日志--------2006-05-31 更新:1、增加了不考虑股改对价的比例复权。 更新日志--------2006-05-30 更新:1、修订了在字段数量多的时候显示结果速度慢的问题。 2、其他内核修正。 更新日志--------2006-05-15 更新:1、语言内核更新,支持编写更强大的模型。 更新日志--------2006-03-15 更新:1、内核更新:语言增加COM支持,支持''''的PASCAL语法兼容模式,修正了多行字符串常量导致的编译/运行错误的定位不准确的问题。 2、修订了Excel插件自动计算以及手动计算状态有时候显示错误的问题。 3、语言帮助更新。 4、增强了CHART图的序列选择方式。 5、WORD模板增加了条件块语句。 更新日志--------2006-03-02 更新:1、内核更新。 2、增强了Word模板功能。 3、语言帮助更新。 更新日志--------2006-02-22 更新:1、修订了Excel插件自动计算以及手动计算状态有时候显示错误的问题。 2、Excel插件中增加了重新计算。 3、Excel插件保存时不再重新计算。 4、增强了Word模板功能。 5、语言帮助由2004年版更新到2006年版。 6、技术指标支持用语言预设坐标轴。 7、增强了计算核心模块。 更新日志--------2005-11-26 更新:支持在Excel的指标输入窗内的鼠标右键菜单。方便用户输入如季度,环比的基本面数据,以及其他扩展统计数据。 更新日志--------2005-11-16 更新:将Excel插件的函数更新到最新。 增强了内核。 ********支持自己编写指标以及非公有指标在EXCEL中的调用。******* 更新日志--------2005-11-10 增强:1。在【板块数据专家】-->扩展指标中增加了板块的: (1)主要财务指标(季度值) (如:2005年7-9) (2)利润指标(季度值) (如:2005年7-9) (3)盈利能力(季度值) (如:2005年7-9) (4)季度环比 :本季度 与 上一个季度的比较 (如:2005年7-9 与2004年4-6) (5)季度同比 :本季度 与 去年同一个季度的比较(如:2005年7-9 与2004年7-9) 2。在【证券数据专家】-->基本指标中增加了: (1)季度环比 :本季度 与 上一个季度的比较 (如:2005年7-9 与2004年4-6) (2)季度同比 :本季度 与 去年同一个季度的比较(如:2005年7-9 与2004年7-9) 3。在【证券数据专家】-->扩展指标-->市盈率.市净率.市现率.市销率下新增: (1)有形净值比(PRBR) 4。在【板块数据专家】-->扩展指标-->市盈率.市净率.市现率.市销率下新增 (1)有形净值比(PRBR) 5。在【证券数据专家】-->基本数据-->盈利能力 下新增 (1)营运报酬率(%) (2)资本报酬率(%) 6。在【板块数据专家】-->扩展指标-->板块指标-->盈利能力 下新增 (1)营运报酬率(%) (2)资本报酬率(%) 更新日志--------2005-10-31 增强:增强了Excel插件功能。 更新:更新了最新的指标到EXCEL的VBA模块。 更新日志--------2005-9-13 修正:在WORD模板中输出图形的显示方式。wordwritegraph 增加两个参数,支持控制为线宽和图形类别 增强:其他内核增强。 更新日志--------2005-9-7 修正:统计图在图非常多的时候颜色异常的BUG。 更新日志--------2005-9-5 增强:*****增强和优化了图表/图形的输出功能,修改了百分比坐标显示。 修正:修正了原对数坐标显示的BUG。 更新日志--------2005-8-7 增强:*****增强了横向图表的列选择功能。 更新日志--------2005-7-30 增强:****增强了在浏览表格数据的时候的图表功能,包括横向序列表格的支持,以及逆序列,光标跟随等功能。 更新:更新了最新的EXCEL宏,支持新增加的指标的调用。 更新日志--------2005-6-23 新增加:增加Excel插件的数据以及指标输入界面,使用更简便。 更新日志--------2005-6-12 修订:Excel插件的小内存泄露问题,会导致占用内存增长的BUG。 修订:多驱动器下多份安装下Excel插件在多个路径下使用Excel插件的使用问题。 更新日志--------2005-6-8 新增:Excel插件支持。非常有用的功能,请查看范例。 修订:板块向导中的组管理的小BUG。 增强:内核增强。 增强:增强了数据表导入的兼容性。 更新日志--------2005-5-20 修改:表格内实数用千分号表示,数字使用右对齐,负数由红色表示。 更新日志--------2005-5-19 修改:真假型参数使用选择框替代以前的下拉框。 修改:基本面指标组的导入导出由文件模式变为与证券数据专家导入导出兼容。 更新日志--------2005-5-13 新增:加入独立的支持多级表头的EXCEL输出功能,原来的导出功能不支持多级表头。 新增:基本面指标组支持导入导出成文件。 更新日志--------2005-5-11 新增:多股票输入以及板块管理窗口均可以调用选股得到股票列表,使用更方便。 新增:增加了格式转换菜单,常用格式转换更方便。 修正:按下和菜单热键相同的键出不来键盘精灵的问题。 更新日志--------2005-4-27 新增:内核支持扩展基本面数据。 修正:更新了参数组无法正确反馈到终端的BUG。 更新日志--------2005-4-25 重要发布:在证券数据专家或者板块数据专家中,在基本面数据以及许多扩展指标上,可以用鼠标右键进行非常方便的统计工作。Enjoy it! 改动:表格的固定列数更加智能,可以智能识别所需的列并固定。 修正:数据专家中返回了的指标位置向下移动的BUG。 更新日志--------2005-4-21 改动:增加了图形显示设置的项目,优化了显示,方便更好地输出。 修正:板块市场选择的小瑕疵。 增加:内核增加了相对性统计的支持。 更新日志--------2005-4-18 改动:所有的模型运算允许设置返回的小数点未数 修正:某些情况下改变参数再执行还是原来的参数的问题 修正:在向导中的返回内容里查看不了函数 更新日志--------2005-4-17 打开和保存板块/函数的时候,允许建立子目录以及删除函数和板块,板块支持多级目录。 增强了图形显示 内核为数据专家增加了统计功能,将支持在数据专家里的指标列表上用鼠标右键进行统计操作。 更新日志--------2005-4-3 增强了键盘精灵,绝大多数情况下用户不需要用鼠标激活右下角输入框就可以使用键盘精灵 修正了在网络极端差劲时可能出现退出的问题 对图形显示功能做了一定的修正 修正了函数编辑器的滚动条使用皮肤的时候操作异常的问题 更新日志--------2005-3-28 修订了在Win98/Win2000下模型导航显示速度特别缓慢的问题。 增大了股票最大数,对各类数据系统有了更好地支持。 更新日志--------2005-3-23 增加功能:更方便地查看和导出图形的数据--见“图形”菜单或工具条上的“整个图形数据”图标。 在切换栏上增加了关闭所有数据窗口的功能 修订:用数据做统计图的时候,如果选择的是点图或者线图,默认不再分页,更方便用户使用。 修正BUG:当某个结果被打开了子窗口,切换栏的下拉菜单存在特定情况下的自动下拉及定位错误。 更新日志--------2005-3-22 修订皮肤与统计图在WINDOWS2000/2003下的不兼容性 更新日志--------2005-3-21 修订的功能: 增加了皮肤功能 界面做了一些修订 更新日志--------2005-3-9 修订的功能: 增加了季线,半年线,年线等周期 修订并增加了一些参数种类 更新日志--------2005-3-4 修订的功能: 1、断开登录代码重复问题 2、在选择用户板块的时候做了分类显示 3、修订了修改系统函数参数保存后可能出现的问题 4、修订了切换条的BUG 5、增加了直接关闭按钮 6、增加了参数分组功能 7、其他核心增强 更新日志--------2005-1-24 不再要求用户输入参数,模型按照默认参数执行 增加了键盘精灵(在屏幕的右下角) 参数与结果一同显示 股票参数下拉的为最近使用的代码 更新日志--------2005-1-8 降低了CPU占用率 修订了在Windows 2000和Windows 9x/Me下的菜单下的模型/指标显示问题 增强了数据专家的组管理(数据专家的导入导出功能) 修正了上一更正版本板块管理无法打开的问题 修订了上一更正版本无法打开板块时间序列数据专家的问题 增加了宏观/行业分类的支持(支撑宏观/行业数据的服务器客户) 更新日志--------2005-1-7 更正了前端CPU占用率高的问题 在收藏中增加了最近执行的列表 更新日志--------2005-1-7 更正了提示信息无法消除的错误 新的界面展现 消除了向导无法保存上次退出时内容的错误 更新了模型的分类 增加了月度报告期(拥有宏观/行业数据的服务器客户可以利用月度报告期访问该数据) 仍存在的已知问题:第一次下拉系统菜单可能会出现显示不正常情况,第二次下拉就可以消除该现象 更新日志--------2004-12-23 支持多级表头 新的界面展现方式 其他核心增强 更新日志--------2004-12-2 更正了一些新界面引发的小BUG:例如向导窗口最大化后会使得市场板块恢复为:深证A股 其他一些核心增强 更新日志--------2004-11-25 更正了由24日升级引发的一些小BUG。 更新日志--------2004-11-24 1、行业修订,支持证监会多级行业分类。目前门类/次类/一级分类/二级分类均被很好地支持 2、其他的相关增强。 更新日志--------2004-11-11 1、修订了界面上的一些小问题 2、优化了核心,使用内存可以更少 3、修订了股票代码和市场可能存在对照问题的错误 4、增强了二进制数据的支撑。 5、最大限度地防止如执行函数等系统窗口被返回的结果窗覆盖的问题。 6、解决了在向导中债券与转债被隐藏的BUG。 更新日志--------2004-10-21 1、更正了由于新界面所引发的管理器使用的BUG。 2、修订了在某些非正常状态下退出时会报错的BUG。 3、修订了当用户设置IE的安全为发送数据需要确认的时,用户无法使用全文系统中的股票查询的BUG。 更新日志--------2004-10-19 1、更正了自由指标无法使用的BUG 2、主界面进行了修订,增加了还原以及关闭按钮。 更新日志--------2004-10-15 1、更正了在浏览器中无法回车的问题 2、主界面进行了修订,最大化后的窗口关闭需要使用切换栏目的鼠标右键 3、其他内核更新 更新日志--------2004-9-8 新增了几组系统支撑函数,对几个字符串函数的多字节支持进行了修订。增加了用户WEB个性化处理能力。 更新日志--------2004-7-22 在安装程序的Templates子目录更新了策略以及公司研究两个模板,部分用户可以综合相应的数据模型来生成报告。 更新日志--------2004-7-3 更新了最新的语言帮助。主要更新如下:CGI函数,Excel函数,WordTSL的Excel函数,GUI函数等。 更新日志--------2004-6-30 增加了直接由WORD模板生成报告(如果模板仅仅只访问本地资源)。 增加了显示消息对话框,输入字符串,显示文件打开对话框等等函数,方便WORD模板中进行交互。 增加了从EXCEL里复制内容到WORD中的功能(支持直接复制以及复制成为图片的功能),WORD模板可直接从EXCEL中输入数据。 更新日志--------2004-6-28 修订上一修订版本导致无法展开级联表。 增强并对一些系统函数进行了优化。 更新日志--------2004-6-25 增加了中小企业板块的支持 对系统进行了一些优化,修订了几个小BUG。 增加了对CGI的支持 更新日志--------2004-6-17 更新了语言帮助 Word模板处理增加了直接输出本系统支持的所有技术图形,如K线,成交量,MACD等等。系统函数为:WordWriteGraph,包装后的公用函数为:WordWriteSysGraph,SetResultGraph,GetSysStoreGraph等。 增强了WordWrite函数,允许直接输出图形。修订了WordWriteChart,减少了一些WORD错误。 新增加了WordWritePicFromFile,允许WORD模板内从插入图形文件。 更新日志--------2004-6-11 语言帮助使用CHM版本。 更新了使用界面。 更新日志--------2004-6-7 更新了语言帮助文件。 更新日志--------2004-6-4 增强了DOC模板处理功能,增强了错误的侦测。修订了Chart图形输出的大小不一致问题。 更新日志--------2004-6-3 扩展了板块类参数,增加了合成板块的支持。如:目前在不需要新建任何板块的基础上允许将 深证A股 和 上证A股 合成为 深证A股#上证A股 这个新板块。 更新日志--------2004-5-31 增加了由模型+WORD模板直接生成报告(WORD文档)的功能,具备数据导出的用户有权限使用本功能。 增加了正则表达式的支持 增加了HTTP,HTML的支持 增强了语言的一些功能 修订了与某些网络相关的软件的兼容性问题(new dot net 622) 更新日志--------2004-3-24 增加了港股的交易数据,可用技术指标查看或者用数据提取工具提取其交易数据。 界面上做了些小改动,增加了主程序管理器,新的功能将陆续添加到主程序管理器中。 更新日志--------2004-3-2 增强了代理服务器的兼容性,增加了对UNIX类代理服务器的支持,增加了代理服务器连接错误的日志。 修订了代理服务器的设置无法保存的BUG。 修订了当初始化过程中出错无法直接退出的BUG。 更新日志--------2004-2-13 增加了XML的支持,支持导出到XML类型。并且可以从导出的XML格式导入数据。 更新日志--------2004-1-17 1、修正了一个非常用函数(DeleteIndex)的BUG。 更新日志--------2004-1-5 1、修正了编辑器中无法用右键打开共享函数的BUG。 更新日志--------2003-12-21 1、解决了在大表格初始显示缓慢的问题。 2、增强了板块导入的格式,可以直接支持如000001的六位代码格式的导入,支持1表示000001,2表示000002的代码格式。 3、板块管理内添加了“导入”的按钮,板块的导入可以直接在板块管理内进行了。 更新日志--------2003-12-20 1、增加了解释器对类pascal语法的MOD,DIV的支持。 更新日志--------2003-12-17 1、修订了一个权限错误的BUG 2、前端支持新的周期类型 更新日志--------2003-11-27 1、同一向导产生的结果不再打开多个窗口。 2、在帮助菜单中加入了常用的使用帮助联接。 更新日志--------2003-11-24 1、增强了版本控制功能,增加了版本校验功能 2、增强了统计图形功能。 更正的BUG: 1、修订了启动后自动打开的向导的市场板块下拉窗中市场板块为空的BUG 更新日志--------2003-11-5 1、增加了策略研究类别 更新日志--------2003-10-17 增强: 1、增强了对服务器多语言的支持。 更新日志--------2003-10-16 更正的BUG: 1、当任务条未设置为自动隐藏的时候,最大化的窗口有部分被任务条遮盖的BUG。 更新日志--------2003-10-10 小变更: 1、某些窗体在800*600模式下过大的问题。 2、自由指标添加基本面的时候的参数自动修改回的问题。 更新日志--------2003-9-29 更正的BUG: 1、日期参数修改无效的BUG。(非常严重的BUG,必需更新) 更新日志--------2003-9-27 更正的BUG: 1、更正了在某些情况下进行系统设置后无法自动重新启动的BUG。(非常轻微的BUG) 更新日志--------2003-9-26 更正的BUG: 1、技术指标执行后,如果选择了除权,仍然会显示成不除权的BUG 2、技术指标执行时候,如果该技术指标无参数,即便采用多图方式仍然不会显示出用户参数框的BUG。 3、更正了在Win95,Win98下不正常的BUG 更新日志--------2003-9-25 发布3.0 更正的BUG: 1、展开的数据不再需要存入用户数据,可以直接导出。 2、修正了一个对某些返回结果无法呈现的BUG。 3、修正了证券下拉框内不包括所有的证券的BUG。 增强功能: 1、在 数据专家中增加了 查找功能 2、在 数据专家中可以直接 加入 “自由指标”,无需编写程序,可以方便地将现有的指标进行组合生成新的临时指标作为条件或者返回 3、为了防止用户在不知情的时候未清除 条件 中的内容,使得使用向导不正确,在下次进入向导的时候 将不使用保存的条件 4、为了防止用户在使用向导的时候,对范围 同时有“市场板块”以及“股票列表”两项可组合的内容不大容易理解,修改为 只能选择其中一项 5、在主窗口中增加了 打开文件 的功能,可以不需要利用用户数据的功能,直接打开已有的文件内容。 6、在向导的 基本面数据 中,隐藏了所有直接返回缺乏意义的字段数据,例如十大股东的股东名称,用户可在 表格数据 中返回所需要的整张表,例如股票.十大股东表。 7、在主菜单中增加了系统设置,可以对系统的许多方面进行定制。 8、将向导的功能加入了函数编辑器以及表达式参数编辑中。 9、开始支持多语言 10、增加了桌面自动保存的功能,退出时候打开的向导在下次进入时会重新打开。 11、增强了对统计图形支持,支持复杂的统计图形。 12、增强了在线升级的程序。 ================================================================================================================ 更新日志--------2003-8-3 更正的BUG: 1、日期型参数在数据专家中的BUG BUG描述:在数据专家中,如果选中的指标包含日期型参数,最后一个北修改的日期参数可能无效,仍然是修改前的参数值。 BUG严重性:非常严重。 2、组管理中的公用组转换为用户组的BUG BUG描述:在数据专家中的组导入导出管理中,公用组无法使用弹出菜单将公用组转换为用户组。除非该组在用户组已经存在。 BUG严重性:一般。 增强的功能: 数据专家中的组管理中,增强了对修改完的用户组进行更新的功能。 使用方法:修改后,在用户组的名称上用弹出菜单点更新。 更新日志--------2003-7-31 更正的BUG: 函数指标的返回的名称内增加了函数的参数,但是当修改参数后该字段显示有问题 更新日志--------2003-7-30 更正的BUG: 修订了分钟线的时间参数无法在运行窗口里修改的问题。 增强功能: 函数指标的返回的名称内增加了函数的参数,使得不再依赖@1,@2来分辨。 用户可以在结果窗内利用结果分析模型对结果进行再处理。我们将会逐渐增强这些功能,请用户在论坛上为我们提供建议。 更新日志--------2003-7-24 更正的BUG如下: 日期参数在周期为分钟线的时候不能显示时间选择 展开功能的内存泄露问题 增强功能: 展开表格的功能增加了参数支持,可以选择性地填充因为展开后的空白处。 更新日志--------2003-7-23 更正的BUG如下: 如果系统中途断开,重新连接系统后,有大约1%的概率不可用,需要再次断开重新连接系统的问题。 增强功能: 1、对于规则的层次表格数据(如券商持股结果、向导返回中含有表格数据的如返回分红送配表等),可以自动被展开成平面数据 使用的方法为:如果为层次数据,在表格的工具条上,有一个展开层次数据的按钮,点击展开可打开一个展开后的新窗口。 注意:如果所展开的表格的数据非常多,可能需要比较长的时间,例如几分钟 2、对于表格中的NIL数据,现在默认显示为空,而非"",但是在表格的工具条上,提供了一个NIL按钮,选上可显示为"" 3、加入了一个市场分类:其他市场,中间有银行间债券,货币,开放式基金,中止上市,暂停上市 更新日志--------2003-7-18 更正的BUG如下: 如果系统安装的Excel是Office XP以下的版本,无法正确地导入.XLS文件的问题。 更新日志--------2003-7-16 更正的BUG如下: 小的显示方面的BUG 增强功能: 增加了对开放式基金、银行间债券、货币对人民币汇率、人民币利率等的支持 更新日志--------2003-6-23 更正的BUG如下: 1、用户板块的更新需要重起程序才可以使用的问题。 2、报告期输入控件的问题 3、多图方式下直接运行K线的问题 4、打开运行日志导致重新登录无法正常的问题 5、用户数据取特殊的名称导致无法使用的问题 6、最小化终端后,当结果返回时,会显示出结果,但是主窗口仍然被最小化的问题 增强功能: 1、在专家窗口里,对于已经选择好的条件以及返回,可以用弹出菜单来删除、移动位置 2、专家中返回的基本面添加了其所属报告期等标示 更新日志--------2003-6-10 增加了在结果集中用鼠标右键察看指定的股票或者板块/市场的指标。相应的定义在函数的属性定义里。 增强了板块、股票管理的界面 在管理器中取消了板块部分,其相应操作可在主菜单的《系统->板块管理》中找到 在管理器中取消了用户数据部分,其相应操作可在主菜单的 《数据》中找到 增加了任务切换栏,取消了窗口菜单。用户可利用任务切换栏进行窗口的切换 新增加了区间的股票、板块指标选取功能。(试用功能,本功能为高级版功能) 更新日志--------2003-5-31 目前已经可以支持Windows 95了。如果要在Windows 95下使用,请重新下载安装包安装。 在Windows 95 & Windows 98上,如果无法正常使用本产品,可能是您的计算机缺乏一些系统包的缘故。 请从如下连结下载 http://download.microsoft.com/download/vc60pro/Update/1/W9XNT4/EN-US/VC6RedistSetup_enu.exe 请运行他将VCRedist.exe释放到一个目录,再运行VCRedist进行安装。 更新日志--------2003-5-29 新的支持Win98的安装版本已经在WEB上更新了,如需要安装在WIN98上,请重新下载安装程序 更新日志--------2003-5-29 更正BUG如下: 1、修订了上一个版本在WIN98下异常的问题 修改功能: 1、去掉了函数优先级别的属性 更新日志--------2003-5-24 更正BUG如下: 1、无法正常执行共享函数 2、修订了某些对话框独立显示的问题 3、修订了不显示参数的时,默认参数有错误的问题 4、修订了当显示一些特殊的图形模型(如指数拟合)的时候,仍然显示股票代码以及周期、除权情况的BUG 5、修订了执行函数的窗口在某些时候不可预知地退出的BUG 6、修订了在板块编辑器中不能新建多个板块的BUG 7、修订了在一些对话框中按ESC会出帮助的BUG,例如登录对话框。 新增加功能: 1、增加了选股、数据专家模块;用户可以利用这个模块进行选股以及灵活的提取基本面数据以及用函数扩展的指标 2、增加了函数的分类,函数结果类型,函数优先级的定义 3、增加了将数据另存为板块的功能 4、去掉了应用菜单,增加了按照应用的所属分类的菜单 更新日志--------2003-4-3 发布2.0版本 新增加功能: 1、大多数操作均可利用主窗口的菜单来执行 2、大多数主窗口的菜单提供了鼠标右键操作,方便用户使用 3、窗口的位置、大小状态均可以被记录。 4、每个数据窗口都可以将数据另存为用户数据,方便用户将数据保存使用。 5、取消了多文档模式。 6、修订了四图不能被正常运行的BUG。 7、开始了本地化分析的工作。