知识库 > 平台访问客户端资源,平台与客户端交互专题

在平台模型运行时打印信息到客户端/Web端    

  • 在运行平台模型的时候,为了调试方便,也为了监控模型的正常运行,往往需要知道模型运行的状态,这样我们需要在模型运行过程中输出一些信息到终端,而不是等待模型执行完毕得到最终结果。
    这就需要使用打印信息到客户端的功能。
    我们看一个案例,这个案例就是获得每个股票的Beta值:

    Stks:=GetBk("深证A股;上证A股");
    Result:=Array();
    for i:=0 to length(Stks)-1 do
    begin
    SetSysParam(pn_Stock(),Stks[i]);
    Result[i]["StockID"]:=Stks[i];
    Result[i]["Beta"]:=StockBeta4("SH000300",10); //最近一年的Beta
    Echo Result[i]["StockID"],"->",Result[i]["Beta"];
    end;
    Return Result;

    由于调用Beta的时候,计算效率会稍微低,我们利用Echo把当前运行的信息打印到了客户端,客户端的窗口内容如下:

    利用这样的方法,我们就可以实时知道当前模型运行的状况了。我们在很多地方可以用到这个功能,例如我们可以简单地打印几个时间或者运行的时间长短来知道运行的效率。
    对于运行中间得到的结果是一个复杂结果的,例如数组等内容,那么就没办法直接Echo这个结果,这就要结合tostn函数来输出调试了。

    Stks:=GetBk("深证A股;上证A股");
    Result:=Array();
    for i:=0 to length(Stks)-1 do
    begin
    SetSysParam(pn_Stock(),Stks[i]);
    Result[i]["StockID"]:=Stks[i];
    Result[i]["Beta"]:=StockBeta4("SH000300",10); //最近一年的Beta
    Echo tostn(Result);
    end;
    Return Result;


    每一行的内容会显示在右边部分,这个时候我们可以利用转换数据按钮把字符串以数据的方式来显示。
    除了Echo以外,我们还可以利用Writeln或者Write函数来输出这些内容。
    当我们不是在终端上运行这些模型,而是在WEB端或者独立解释器里调用运行这个模型,信息会直接输出到浏览器或者控制台中。