以后会用到获取即时行情数据的方法,并做了测试:如何获取股票数据?
如何获取股票数据?
以后会用到获取即时行情数据的方法,并做了测试:
//---------------------------------金融街网站返回http行情数据分解后存入Stock数组-----
void TForm1::jrjstock_fenjie(AnsiString rqhttp, String stock[])
{
//rqhttp为http返回的待分解的数据,stock[] 为分解后保存到的数据
if(rqhttp=="")return ;
if(rqhttp.SubString(0,3)!="a\r\n")
{ ShowMessage("获取数据失败!");
return;
}
//分解字符串,获取各数据,存放STOCK中
int i,j,p;
i=0; p=2; j=0;
while(i<rqhttp.Length())
{
i++;
if(rqhttp[i]==',')
{
stock[j]=rqhttp.SubString(p,i-p);
p=i+1;
j++;
}
}
//最后一个','后面的字符串
stock[j]=rqhttp.SubString(p,rqhttp.Length()-p-2);
}
//-----------------------------新浪网站返回http行情数据分解后存入Stock数组-----
void TForm1::sinastock_fenjie(AnsiString rqhttp, String stock[])
{ if(rqhttp=="")return ;
//var hq_str_
if(rqhttp.SubString(0,11)!="var hq_str_")
return;
//分解字符串,获取各数据,存放STOCK中
int i,j,p;
i=0; p=rqhttp.Pos("="); j=0;
p=p+2;
i=p;
while(i<rqhttp.Length())
{
i++;
if(rqhttp[i]==','||rqhttp[i]=='"')
{
stock[j]=rqhttp.SubString(p,i-p);
// ShowMessage(stock[j]);
p=i+1;
j++;
}
if(rqhttp[i]==';')
break;
}
}
//--------------------------------chinastock网站返回http行情数据分解后存入Stock数组-----
void TForm1::chinastock_fenjie(AnsiString rqhttp, String stock[])
{ if(rqhttp=="")return ;
//TODO: Add your source code here
int i,p,j=0;
p=rqhttp.Pos("<string>");
p=p+8;
i=p;
while(i<rqhttp.Length())
{ i++;
if(rqhttp[i]=='\r'&&rqhttp[i+1]=='\n')
{
if(rqhttp.SubString(i-9,9)=="</string>")
{ stockdata[j]=rqhttp.SubString(p,i-9-p);
j++ ;
}
if(rqhttp.SubString(i+4,8)=="<string>")
{
i=i+12;
p=i ;
}
else
{
break;
}
}
}
}
//------------------------------------------生成适合的格式----
AnsiString TForm1::GetCodeName(AnsiString code)
{
//TODO: 判断是否为数字,是否为6位,如果是0开头的加上SZ,否则加上SH;
int k=0;AnsiString str="";
for(int i=1;i<code.Length();i++)
{
if(!isdigit(code[i]))
{
ShowMessage("输入不是数字");
k=1;
break;
}
}
if(k==1)return "";
if(k==0&&code.Length()==6)
{
if(code[1]=='0')
str=code.Insert("sz",0);
else if(code[1]=='6')
str=code.Insert("sh",0);
else
str="";
}
return str;
}
//-----------------------------------------------获取网站http返回的数据----------
AnsiString TForm1::GetHttpData(TNMHTTP *hp, String code, int port)
{
//TODO: Add your source code here
if(code=="")return "";
String url;
if(port==1) //金融街网站
{
url="http://quote.jrj.com.cn/htmdata/html/";
url=url+code+".htm";
}
else if(port==2) //新浪网站
{
url="http://hq.sinajs.cn/list=" ;
url=url+code;
}
else if(port==3) //ChinaStock网站
{
url="http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx/getStockInfoByCode?theStockCode=";
url=url+code;
}
else
return "";
hp->Get(url);
<上一篇 怎样分析股票数据?
下一篇> 股票交易手续费计算公式
相关推荐
-
10月16日早盘,铁路公路板块出现异动拉升,截至目前上涨1.63%。据数据显示,板块内的四川成渝涨超9%,赣粤高速涨超2%,山东高速、皖通高速、粤高速A、深高速涨超1%,招商公路上涨0.92%,宁沪高速上涨0.70%,粤高速B上涨0.43%...大盘分析 2024-10-16 11:41:010阅读
-
10月16日早盘,通信服务板块出现小幅拉升,截至目前上涨0.90%。据数据显示,板块内的国脉科技涨超5%,梦网科技涨超1%,中贝通信上涨0.91%,普天科技上涨0.83%,中国电信上涨0.78%,中国联通上涨0.19%;宜通世纪跌超3%,中国卫通...大盘分析 2024-10-16 11:36:420阅读
-
10月16日早盘,装修装饰板块出现异动拉升,截至目前上涨1.76%。据数据显示,板块内的华立股份涨超10%,金螳螂涨超2%,江河集团、广田集团、建霖家居、中天精装、方大集团涨超1%,亚厦股份上涨0.53%;亚翔集成、中铁装配跌超2%。...大盘分析 2024-10-16 11:31:480阅读
-
10月16日早盘,采掘行业板块出现小幅上涨,截至目前上涨0.21%。据数据显示,板块内的广东宏大、铜冠矿建涨超2%,海油发展、石化油服、中油工程涨超1%,金诚信上涨0.97%,海油工程上涨0.92%,中曼石油上涨0.54%,金石资源上涨0....大盘分析 2024-10-16 11:22:540阅读
-
10月16日早盘,电子化学品板块出现大幅上涨,截至目前上涨3.76%。据数据显示,板块内的晶瑞电材涨超20%,容大感光涨超11%,南大光电涨超7%,上海新阳涨超3%,鼎龙股份、安集科技、广钢气体涨超1%,雅克科技上涨0.98%。...大盘分析 2024-10-16 9:42:430阅读