同花顺盘后日线数据提取是一款专为股票投资者设计的数据分析工具,它能够帮助用户在交易日结束后快速获取和整理股市的日线图表信息,包括开盘价、收盘价、最高价、最低价以及成交量等关键指标。通过直观的界面展示,使用户能更便捷地进行市场趋势研究和技术分析,辅助决策制定。
很久没用Delphi 7了,但小应用的原生代码还是需要转回到D7。这两天在看同花顺和通达信,想直接将下载后的盘后数据导入Excel。参考网上的同花顺数据格式介绍,下面这段代码用于显示文件头和文件内容。
```delphi
procedure TForm1.btOpenClick(Sender: TObject);
var
TM: TMemoryStream;
FHard: TDayRec;
PColDef: PByte;
s, i : integer;
tmp: DWord;
begin
if OpenDialog1.Execute then begin
FName := OpenDialog1.FileName;
tm := TMemoryStream.Create;
try
tm.LoadFromFile(FName);
tm.Read(FHard,sizeof(TDayRec));
Memo1.Lines.Add(format(数据记录总数:%x / %d, [fhard.rows, fhard.rows]));
memo1.lines.add(format(数据记录内容开始地址:%x / %d,[Fhard.StartAdd,Fhard.StartAdd]));
memo1.lines.add(format(每条记录的长度:%x / %d,[FHard.RecordLenght,FHard.RecordLenght]));
memo1.Lines.Add(format(每个记录的列数:%x / %d, [fhard.ColNum, fhard.ColNum]));
FHard.StartAdd := sizeof(TDayRec) + fHard.ColNum * 4;
Memo1.lines.add(format(数据记录内容真实开始地址:%x / %d,[Fhard.StartAdd,Fhard.StartAdd]));
s:=FHard.Colnum*sizeof(TRecordDefine);
GetMem(PColDef, S);
try
tm.Read(PColDef^,S);
for i := 0 to FHard.ColNum -1 do begin
tmp := PDWordArray(Pcoldef)[i];
memo1.Lines.Add(format(列 %d: %x , 列长度:%x, [i,tmp,TColdef(tmp).ColLength]));
end;
finally
FreeMem(PColDef);
end;
finally
tm.Free;
end;
end;
```