📄 processdata.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 + -