⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processdata.pas

📁 这是一个股票盘后数据分析系统基础底层,已经实现了基本的K线图的重现,RIS线,均线图的重现, 是在一个台湾高手发布的原码上修改的,现在支持通达信的股票数据格式.
💻 PAS
字号:
unit ProcessData;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, ComCtrls, DB, ToolWin, Grids, DBGridEh, MemDS,
  VirtualTable, ADODB, fDef, StdCtrls;

type
  TStockInfo = packed record
    Code: string;
    Name: string;
    ZJM: string;
  end;

type
  TProcessDataForm = class(TForm)
    WorkQuery: TADOQuery;
    DataQuery: TADOQuery;
    OpenDialog1: TOpenDialog;
    AC: TADOConnection;
    SubTable: TVirtualTable;
    SubTableField: TStringField;
    SubTableField2: TStringField;
    SubTableField3: TStringField;
    SubTableField4: TFloatField;
    SubTableField5: TFloatField;
    SubTableField6: TFloatField;
    SubTableField7: TFloatField;
    SubTableField8: TFloatField;
    SubTableField9: TFloatField;
    SubTableField10: TFloatField;
    SubTableField11: TFloatField;
    SubTableField12: TFloatField;
    SubTableField13: TFloatField;
    SubTableField14: TFloatField;
    SubTableField15: TStringField;
    DBGridEh1: TDBGridEh;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    StatusBar1: TStatusBar;
    DataSource1: TDataSource;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ImageList1: TImageList;
    Memo1: TMemo;
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
  private
    BaseData: array of TStockInfo;
    MS: TMemoryStream;
    procedure LoadDataFile(FileName: string);
  public
    { Public declarations }
  end;

var
  ProcessDataForm: TProcessDataForm;

implementation

{$R *.dfm}

procedure TProcessDataForm.LoadDataFile(FileName: string);
var
  ThePo   : Pointer;
  Head, RecSize: Word;
  I, Max, J, N: Integer;
  Code, Name: string;
  Buffer  : ^string;
begin
  Head := 41;
  RecSize := 250;

  if FileExists(FileName) then
  begin
    MS := TMemoryStream.Create;
    MS.LoadFromFile(FileName);
    MS.Position := 41;

  end;
  //交易数据笔数
  if MS = nil then
    Max := 0
  else
    Max := (MS.Size - 40) div 250;
  GetMem(Buffer, MS.Size);
  while MS.Position < MS.Size - 4 do
  begin
    MS.ReadBuffer(Buffer^, 4);
    try
      Memo1.Lines.Add(string(Buffer));
    except

    end;
  end;

end;

procedure TProcessDataForm.ToolButton5Click(Sender: TObject);
begin
  Close;
end;

procedure TProcessDataForm.ToolButton1Click(Sender: TObject);
begin
  LoadDataFile('shex.tnf');
end;

procedure TProcessDataForm.ToolButton2Click(Sender: TObject);
var
  stream_M: TMemoryStream;
  s, s1   : string;
begin
  try
      stream_M := TMemoryStream.Create;
      stream_M.LoadFromFile('shex.tnf');
      stream_M.Seek(0, soFromBeginning);
      stream_M.Position := 41;
      stream_M.ReadBuffer(s1, stream_M.Size); //stream_M.Size的值为4

      Memo1.Lines.Add('   ' + s1);
  finally
    stream_M.Free;
  end;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -