下面这段代码是读取大智慧股票日线数据的代码,话说钱龙的数据格式和大智慧的应该一样,但是我用它来读取钱龙的股票日线数据,各种参数明显不对。求高手指教,或者说能否把下面的代码转化为通达信数据格式,各个字段的定义不要改变,在线等待高人。
Procedure TFormKXianMain.ReadData(Sender: Tobject);
Var I:Integer;
Var FileName:String;
Var DataFile:File;
Var DataDate: LongWord;
Var DataOpen: LongWord;
Var DataHigh: LongWord;
Var DataLow: LongWord;
Var DataClose: LongWord;
Var DataShuLiang: LongWord;
Var DataJinE: LongWord;
Var DataNoOne: LongWord;
Var DataNoTwo: LongWord;
Var DataNoThree: LongWord;
Begin
Try
DayCount:=0;
FileName:=DayPathName+'\'+CurrentCode+'.day';
If FileExists(FileName) Then
Begin
AssignFile(DataFile, Filename);
Reset(DataFile,1);
DayCount:=Round(FileSize(DataFile)/40);
//基本数据
SetLength(DayData,7);
For I := Low(DayData) to High(DayData) do
SetLength(DayData[I],DayCount);
I:=0;
while not Eof(DataFile) do
Begin
BlockRead(DataFile, DataDate, SizeOf(DataDate));
DayData[0][I]:=Not DataDate;
BlockRead(DataFile, DataOpen, SizeOf(DataOpen));
DayData[1][I]:=Not DataOpen; //Open
BlockRead(DataFile, DataClose, SizeOf(DataHigh));
DayData[4][I]:=Not DataClose; //Close
BlockRead(DataFile, DataHigh, SizeOf(DataLow));
DayData[2][I]:=Not DataHigh; //High
BlockRead(DataFile, DataLow, SizeOf(DataClose));
DayData[3][I]:=Not DataLow; //Low
BlockRead(DataFile, DataJinE, SizeOf(DataShuLiang));
DayData[5][I]:=Not DataJinE;//Jin E
BlockRead(DataFile, DataShuLiang, SizeOf(DataJinE));
DayData[6][I]:=Not DataShuLiang;//Shu Liang
BlockRead(DataFile, DataNoOne, SizeOf(DataNoOne));
BlockRead(DataFile, DataNoTwo, SizeOf(DataNoTwo));
BlockRead(DataFile, DataNoThree, SizeOf(DataNoThree));
I:=I+1;
End;
CloseFile(DataFile);
End//数据文件存在
Else
MessageDlg('数据文件不存在,请重试!', mtInformation,[mbOk], 0);
Except
MessageDlg('文件读写错误,请重试!', mtInformation,[mbOk], 0);
End;
End;股票行业数据
Procedure TFormKXianMain.ReadData(Sender: Tobject);
Var I:Integer;
Var FileName:String;
Var DataFile:File;
Var DataDate: LongWord;
Var DataOpen: LongWord;
Var DataHigh: LongWord;
Var DataLow: LongWord;
Var DataClose: LongWord;
Var DataShuLiang: LongWord;
Var DataJinE: LongWord;
Var DataNoOne: LongWord;
Var DataNoTwo: LongWord;
Var DataNoThree: LongWord;
Begin
Try
DayCount:=0;
FileName:=DayPathName+'\'+CurrentCode+'.day';
If FileExists(FileName) Then
Begin
AssignFile(DataFile, Filename);
Reset(DataFile,1);
DayCount:=Round(FileSize(DataFile)/40);
//基本数据
SetLength(DayData,7);
For I := Low(DayData) to High(DayData) do
SetLength(DayData[I],DayCount);
I:=0;
while not Eof(DataFile) do
Begin
BlockRead(DataFile, DataDate, SizeOf(DataDate));
DayData[0][I]:=Not DataDate;
BlockRead(DataFile, DataOpen, SizeOf(DataOpen));
DayData[1][I]:=Not DataOpen; //Open
BlockRead(DataFile, DataClose, SizeOf(DataHigh));
DayData[4][I]:=Not DataClose; //Close
BlockRead(DataFile, DataHigh, SizeOf(DataLow));
DayData[2][I]:=Not DataHigh; //High
BlockRead(DataFile, DataLow, SizeOf(DataClose));
DayData[3][I]:=Not DataLow; //Low
BlockRead(DataFile, DataJinE, SizeOf(DataShuLiang));
DayData[5][I]:=Not DataJinE;//Jin E
BlockRead(DataFile, DataShuLiang, SizeOf(DataJinE));
DayData[6][I]:=Not DataShuLiang;//Shu Liang
BlockRead(DataFile, DataNoOne, SizeOf(DataNoOne));
BlockRead(DataFile, DataNoTwo, SizeOf(DataNoTwo));
BlockRead(DataFile, DataNoThree, SizeOf(DataNoThree));
I:=I+1;
End;
CloseFile(DataFile);
End//数据文件存在
Else
MessageDlg('数据文件不存在,请重试!', mtInformation,[mbOk], 0);
Except
MessageDlg('文件读写错误,请重试!', mtInformation,[mbOk], 0);
End;
End;股票行业数据
解决方案 »
- 挑战你的编程技巧:如何在TreeView控件里实现存储附加信息的功能。
- 急问:如何在MDI中把DLL当作子窗口调用?
- 谁能帮帮我啊?
- 如下代码如何转换?
- 用ClientDataSet,怎麼在post後檢查主鍵有沒有重複?用CustomConstrain能行嗎?急急!
- 对delphi6.0没信心,请问哪里有delphi5.0下载,最好是有下载并安装成功经历的,免得浪费银子。
- 在DBGrid上执行Query1.Locate定位时,如何让带蓝色背景的选择随游标一起绑定定位
- 倒计时
- 学习的方法??
- 小白求问 才开始学 搞不懂啊 拜求各位大佬
- TCHART图表和TQRChart的复制
- 使用Delphi读取Excel单元格批注时如何判断是否存在批注?
通达信
http://blog.sina.com.cn/s/blog_53864cba01008mwx.html
大智慧
http://blog.sina.com.cn/s/blog_53864cba01008msb.html
http://blog.csdn.net/yjbnew/article/details/8993513