欢迎您光临花生网社区!

 找回密码
 立即注册
楼主: ktdev

用 .net dll 代替 VBS   [复制链接]



Rank: 8Rank: 8

发表于 2014-8-10 11:10:29 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
8月8日更新:新增对数组的支持,例子
  1. Variable : strArray, fltArray;
  2. If IsLastBar And (StkInBlock(StkLabel,'上海A股') Or StkInBlock(StkLabel,'深圳A股') Or StkInBlock(StkLabel,'创业板') Or StkInBlock(StkLabel,'中小企业')) Then
  3. Begin
  4. url = 'http://s1.dfcfw.com/xml/' + StkLabel + '.xml';

  5. <%#
  6.         using System.Xml;
  7.         String strHtml = "";
  8.         String url = (String)GetVarData("url");
  9.         WebRequest request = WebRequest.Create(url);
  10.         WebResponse response = request.GetResponse();
  11.         StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
  12.         strHtml = reader.ReadToEnd();
  13.         reader.Close();
  14.         reader.Dispose();
  15.         response.Close();
  16.         XmlDocument doc = new XmlDocument();
  17.         doc.Load(new StringReader(strHtml));

  18.         List<String> listString = new List<String>();
  19.         List<float> listFloat = new List<float>();
  20.         XmlNode node1 = doc.FirstChild.NextSibling.FirstChild;

  21.         while (node1 != null)
  22.         {
  23.                 listString.Add(node1.InnerText);
  24.                 listFloat.Add(float.Parse(node1.InnerText));
  25.                 Console.WriteLine(node1.InnerText);
  26.                 node1 = node1.NextSibling;
  27.         }
  28.     //传递数组
  29.         SetVarData("strArray", listString.ToArray());
  30.         SetVarData("fltArray", listFloat.ToArray());

  31. %>

  32. Comment( strArray[0], ' ', strArray[1], ' ', strArray[2], ' ', strArray[3], ' ', strArray[4], ' ', strArray[5]);
  33. Comment( fltArray[0], ' ', fltArray[1], ' ', fltArray[2], ' ', fltArray[3], ' ', fltArray[4], ' ', fltArray[5]);
  34. End
复制代码运行代码

使用道具 举报



Rank: 2

发表于 2014-8-18 16:49:35 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
ptLibert 发表于 2014-8-10 11:10
8月8日更新:新增对数组的支持,例子

新手请教,是不是扩展了fox.api;,接口之后,就可以工作在逐行模式下呢,感觉这个是逐行模式的。记得说.net dll 只能逐根模式。特别希望.net dll 能在逐行下工作,主要是选股

使用道具 举报



Rank: 9Rank: 9Rank: 9

发表于 2014-8-18 18:32:41 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
fengzhanshan 发表于 2014-8-18 16:49
新手请教,是不是扩展了fox.api;,接口之后,就可以工作在逐行模式下呢,感觉这个是逐行模式的。记得说.ne ...

逐行逐根都可以,但SetVarData和GetVarData确实一般来说用在逐行模式,和飞狐的vbs类似

使用道具 举报



Rank: 2

发表于 2014-8-18 19:16:17 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
ktdev 发表于 2014-8-18 18:32
逐行逐根都可以,但SetVarData和GetVarData确实一般来说用在逐行模式,和飞狐的vbs类似 ...

谢谢,我多试试

使用道具 举报



Rank: 2

发表于 2014-10-10 20:27:56 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
谢谢了

使用道具 举报



Rank: 4

发表于 2015-1-5 15:24:01 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
GET

使用道具 举报



Rank: 2

发表于 2015-6-15 16:20:43 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
这个必须鸡冻一下,找了半天总算找到可以很简单就支持外挂库的平台。

使用道具 举报



Rank: 2

发表于 2015-7-16 23:59:39 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
我以前用飞狐自己写的C++的dll,现在想放到金魔方里运行。想用C#来直接处理。以前的函数是这么写,看了楼主的例子,知道.net里可以用类的方法直接替代。但是这个CALCINFO* pData在.net模式下,应该如何改写?还请指点。谢谢!
__declspec(dllexport) int WINAPI cb(CALCINFO* pData)
{
int intt=pData->m_nNumData;
int* cb1;
cb1=(int*)cbh(pData);
for(int y=0;y<intt;y++){pData->m_pResultBuf[y]=cb1[y];}
free(cb1);
return 1;
}

使用道具 举报



Rank: 3Rank: 3

发表于 2015-8-9 01:05:18 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
很好,辛苦楼主发这么有意义的帖

使用道具 举报



Rank: 2

发表于 2016-4-19 17:53:51 |显示全部楼层 | [分享到 腾讯微博 新浪微博]
很好,辛苦楼主发这么有意义的帖

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

bottom

Archiver|www.hs633.com ( 粤ICP备11107430号-3 )

GMT+8, 2018-6-22 04:13 , Processed in 0.062500 second(s), 8 queries .

花生网 Copyright©2012-2014

回顶部