📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "StockDataParse.h"
#include "DlgStockInfo.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_SEL_SEL_FILEPATH, OnSelSelFilepath)
ON_COMMAND(ID_SEL_DRAW_KLINE, OnSelDrawKline)
ON_COMMAND(IDR_SEL_READ_DB, OnSelReadDb)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
:bDrawKLine(false)
{
// TODO: add member initialization code here
//bDrawKLine = false;
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnSelSelFilepath()
{
// TODO: Add your command handler code here
if(IDOK == myDlgReadFile.DoModal())
{
m_dlgPlot.m_List_ST_StockInfoQ = myDlgReadFile.m_List_ST_StockInfoQ;
if(myDlgReadFile.bShowKline == true)
{
bDrawKLine = true;
}
}
}
void CMainFrame::OnSelDrawKline()
{
// TODO: Add your command handler code here
if(bDrawKLine)
{
if(IDOK == m_dlgPlot.DoModal())
{
m_dlgPlot.PlotKLine();
}
}
else{
AfxMessageBox("please select file to plot");
}
}
void CMainFrame::OnSelReadDb()
{
// TODO: Add your command handler code here
DlgStockInfo oDlgStockInfo;
oDlgStockInfo.DoModal();
}
//解析股票报告信息
//DEL int CMainFrame::FunParseStockTypeInfo(unsigned char* pchInput,ST_StockReportInfo* pST_StockReportInfo, int* piRet)
//DEL {
//DEL if(pchInput ==NULL)
//DEL {
//DEL return -1;
//DEL }
//DEL unsigned char* pchStart = pchInput;
//DEL // pchInput = pchInput;
//DEL
//DEL /* 解析股票 类型,字的起始位置
//DEL pchTemp = pBuf+0x20;
//DEL ST_tockType myST_tockType[50];
//DEL memset(myST_tockType,0,sizeof(ST_tockType));
//DEL for(int i=0;i<40;i++)
//DEL {
//DEL int index=0;
//DEL unsigned char* pchTempindex = pchTemp;
//DEL while (*pchTempindex !='\0')
//DEL {
//DEL myST_tockType[i].chStockTypeName[index] = *pchTempindex++;
//DEL index++;
//DEL }
//DEL myST_tockType[i].chStockTypeName[index] ='\0';
//DEL
//DEL myST_tockType[i].uiStockTypeNameOffset = *(int*)(pchTemp+12);
//DEL
//DEL pchTemp = pchTemp+0x20;
//DEL
//DEL }*/
//DEL
//DEL
//DEL //read stock code
//DEL memset(pST_StockReportInfo,0,sizeof(ST_StockReportInfo));
//DEL
//DEL //hu shen
//DEL if(*pchInput =='0')
//DEL {
//DEL pST_StockReportInfo->chSc = 0;
//DEL }
//DEL else
//DEL {
//DEL pST_StockReportInfo->chSc = 1; //chSc
//DEL }
//DEL
//DEL pchInput++;
//DEL
//DEL //股票代码
//DEL memcpy(pST_StockReportInfo->chGpdm,pchInput,6);
//DEL pchInput=pchInput+6;
//DEL
//DEL //更新日期
//DEL memcpy(pST_StockReportInfo->chGxrq,pchInput,8);
//DEL pchInput=pchInput+8;
//DEL
//DEL const int iLen = 14;
//DEL //总股本 Zgb
//DEL pST_StockReportInfo->fZgb = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL //Skip Gjg Fqrfrg Frg
//DEL pchInput = pchInput+3*iLen;
//DEL
//DEL //流通B股 Bg
//DEL pST_StockReportInfo->fBg = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //H股 Hg
//DEL pST_StockReportInfo->fHg = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //流通A股 Ltag
//DEL pST_StockReportInfo->fLtag = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //Skip Zgg Zpg
//DEL pchInput = pchInput+2*iLen;
//DEL
//DEL //总资产: Zzc
//DEL pST_StockReportInfo->fZzc = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //流动资产 Ldzc
//DEL pST_StockReportInfo->fLdzc = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //固定资产: Gdzc
//DEL pST_StockReportInfo->fGdzc = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //无形资产: Wxzc
//DEL pST_StockReportInfo->fWxzc = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //长期投资: Cqtz
//DEL pST_StockReportInfo->fCqtz = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //流动负债: Ldfz
//DEL pST_StockReportInfo->fLdfz = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //长期负债: Cqfz
//DEL pST_StockReportInfo->fCqfz= TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //资本公积金: Zbgjj
//DEL pST_StockReportInfo->fZbgjj= TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //净资产: Jzc
//DEL pST_StockReportInfo->fJzc = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //主营收入: Zysy
//DEL pST_StockReportInfo->fZysy = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //主营利润: Zyly
//DEL pST_StockReportInfo->fZyly = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL
//DEL //应收帐款: Qtly
//DEL pST_StockReportInfo->fQtly = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //营业利润: Yyly
//DEL pST_StockReportInfo->fYyly = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //投资收益: Tzsy
//DEL pST_StockReportInfo->fTzsy = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL // 经营现金流量: Btsy
//DEL pST_StockReportInfo->fBtsy= TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //总现金流量: Yywsz
//DEL pST_StockReportInfo->fYywsz = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //存货: Snsytz
//DEL pST_StockReportInfo->fSnsytz = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //利润总额: Lyze
//DEL pST_StockReportInfo->fLyze = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //税后利润: Shly
//DEL pST_StockReportInfo->fShly = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //净利润: Jly
//DEL pST_StockReportInfo->fJly = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //未分配利润: Wfply
//DEL pST_StockReportInfo->fWfply = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //季报调整净资: Tzmgjz
//DEL pST_StockReportInfo->fTzmgjz = TanslatChar2Double(pchInput,iLen);
//DEL pchInput = pchInput+iLen;
//DEL
//DEL //所属地区3: Dy
//DEL int iLength = 3;
//DEL pST_StockReportInfo->chDy = TranslatChar2Uch(pchInput,iLength);
//DEL pchInput = pchInput+iLength;
//DEL
//DEL
//DEL //所属行业4: Hy
//DEL iLength = 4;
//DEL pST_StockReportInfo->chHy = TranslatChar2Uch(pchInput,iLength);
//DEL pchInput = pchInput+iLength;
//DEL
//DEL //报告类别2: Zbnb
//DEL pchInput++;
//DEL memcpy(&(pST_StockReportInfo->chZbnb),pchInput,1);
//DEL pchInput++;
//DEL
//DEL //上市日期8:ssDate
//DEL
//DEL memcpy(pST_StockReportInfo->chSsDate,pchInput,8);
//DEL pST_StockReportInfo->chSsDate[8] = '\0';
//DEL
//DEL pchInput = pchInput+8;
//DEL
//DEL //Skip Modidate Gdrs
//DEL pchInput = pchInput+15;
//DEL
//DEL *piRet = pchInput - pchStart;
//DEL
//DEL
//DEL return 0;
//DEL
//DEL }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -