function tsdn_getnamestock(codename);
begin
{
说明:获取指定股票简称的A股代码,
先获取A股与其简称对照表,再获取指定简称的A股代码,
对照表的简照包括:盘后简称,基本信息表的中文简称,名称变更表的变更前后名称
参数:
codename:string,股票简称
返回:string,A股代码
}
namestocks:=getsysparam("tsdn-namestocks");
if not istable(namestocks) then
begin
stocks:=getbk("A股;暂停上市;终止上市;即将上市");
rt:=array();
for i,stock in stocks do
begin
jc:=array(spec(base(10004),stock));
tmp1:=spec(InfoArray(14),stock);
names:=array(stockname(stock)) union2 jc union2 tmp1[:,"变更前名称"] union2 tmp1[:,"变更后名称"];
rt&=select thisrow as "名称",stock as "代码" from names end;
end
rt:=select ["名称"],array2str(sselect ["代码"] from thisgroup end) as "代码"
from rt group by ["名称"] end;
namestocks:=NormalTabletoStrSubscript(rt,"名称");
SetSysParam("tsdn-namestocks",namestocks)
end
return namestocks[codename,"代码"];
end