This commit is contained in:
2013-08-22 05:26:36 +00:00
parent bc592fe251
commit 6c0348d77f
12 changed files with 1470 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
// MakeManualList.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "MakeManualList.h"
#include "MakeManualListDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListApp
BEGIN_MESSAGE_MAP(CMakeManualListApp, CWinApp)
//{{AFX_MSG_MAP(CMakeManualListApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListApp construction
CMakeManualListApp::CMakeManualListApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CMakeManualListApp object
CMakeManualListApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListApp initialization
BOOL CMakeManualListApp::InitInstance()
{
AfxOleInit(); // <= Ãß°¡ÇÑ °ÍÀÓ
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
//#ifdef _AFXDLL
// Enable3dControls(); // Call this when using MFC in a shared DLL
//#else
// Enable3dControlsStatic(); // Call this when linking to MFC statically
//#endif
SetRegistryKey(_T("DnaSoft"));
GetApplicationSettings();
CMakeManualListDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
int CMakeManualListApp::ExitInstance()
{
SaveApplicationSettings();
return CWinApp::ExitInstance();
}
void CMakeManualListApp::GetApplicationSettings()
{
HKEY hSecKey = GetSectionKey("Settings");
/*
DWORD dwType;
m_AppConfig.rcWindow.bottom = 500;
DWORD dwData = sizeof(RECT);
if (RegQueryValueEx(hSecKey, "WindowRect", NULL, &dwType,
(LPBYTE)&m_AppConfig.rcWindow, &dwData) == ERROR_SUCCESS)
{
}
m_AppConfig.strSBAddr = GetProfileString( "SBConfig", "SBAddress", "127.0.0.1" );
m_AppConfig.lSBPort = GetProfileInt( "SBConfig", "SBPort", 5050 );
LPBYTE ppData = 0;
UINT pBytes=0;
if( GetProfileBinary("Config", "Max", &ppData, &pBytes) )
memcpy( &g_AppConfig.fMax, ppData, sizeof(float) );
*/
g_AppConfig.bUsingAmountUp = GetProfileInt( "Config", "UsingAmountUp", TRUE );
g_AppConfig.bUsingAmountDown = GetProfileInt( "Config", "UsingAmountDown", TRUE );
g_AppConfig.bUsingCurUp = GetProfileInt( "Config", "UsingCurUp", TRUE );
g_AppConfig.bUsingCurDown = GetProfileInt( "Config", "UsingCurDown", TRUE );
g_AppConfig.bUsingExchange = GetProfileInt( "Config", "UsingExchange", TRUE );
g_AppConfig.bUsingKosdaq = GetProfileInt( "Config", "UsingKosdaq", TRUE );
g_AppConfig.nAmountUp = GetProfileInt( "Config", "AmountUp", 100000000 );
g_AppConfig.nAmountDown = GetProfileInt( "Config", "AmountDown", 100000 );
g_AppConfig.nCurUp = GetProfileInt( "Config", "CurUp", 50000 );
g_AppConfig.nCurDown = GetProfileInt( "Config", "CurDown", 500 );
}
void CMakeManualListApp::SaveApplicationSettings()
{
HKEY hSecKey = GetSectionKey("Settings");
/*
RegSetValueEx(hSecKey, "WindowRect", 0, REG_DWORD,
(LPBYTE)&m_AppConfig.rcWindow, sizeof(RECT));
WriteProfileString( "SBConfig", "SBAddress", m_AppConfig.strSBAddr );
WriteProfileInt( "SBConfig", "SBPort", m_AppConfig.lSBPort );
BYTE pData[4];
UINT nBytes=4;
memcpy( pData, &g_AppConfig.nContinueTime, sizeof(long) );
WriteProfileBinary( "Config", "ContinueTime", pData, nBytes);
*/
WriteProfileInt( "Config", "UsingAmountUp", g_AppConfig.bUsingAmountUp );
WriteProfileInt( "Config", "UsingAmountDown", g_AppConfig.bUsingAmountDown );
WriteProfileInt( "Config", "UsingCurUp", g_AppConfig.bUsingCurUp );
WriteProfileInt( "Config", "UsingCurDown", g_AppConfig.bUsingCurDown );
WriteProfileInt( "Config", "UsingExchange", g_AppConfig.bUsingExchange );
WriteProfileInt( "Config", "UsingKosdaq", g_AppConfig.bUsingKosdaq );
WriteProfileInt( "Config", "AmountUp", g_AppConfig.nAmountUp );
WriteProfileInt( "Config", "AmountDown", g_AppConfig.nAmountDown );
WriteProfileInt( "Config", "CurUp", g_AppConfig.nCurUp );
WriteProfileInt( "Config", "CurDown", g_AppConfig.nCurDown );
}

View File

@@ -0,0 +1,53 @@
// MakeManualList.h : main header file for the MAKEMANUALLIST application
//
#if !defined(AFX_MAKEMANUALLIST_H__05AADDA9_5CA9_42DB_8ED1_657FD0A74D08__INCLUDED_)
#define AFX_MAKEMANUALLIST_H__05AADDA9_5CA9_42DB_8ED1_657FD0A74D08__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListApp:
// See MakeManualList.cpp for the implementation of this class
//
class CMakeManualListApp : public CWinApp
{
public:
CMakeManualListApp();
void GetApplicationSettings();
void SaveApplicationSettings();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMakeManualListApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
//}}AFX_VIRTUAL
// Implementation
//{{AFX_MSG(CMakeManualListApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAKEMANUALLIST_H__05AADDA9_5CA9_42DB_8ED1_657FD0A74D08__INCLUDED_)

View File

@@ -0,0 +1,235 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Korean resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
#ifdef _WIN32
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
#pragma code_page(949)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 18, 1\r\n"
"#pragma code_page(949)\r\n"
"#endif //_WIN32\r\n"
"#include ""res\\MakeManualList.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
"#include ""l.kor\\afxres.rc"" // Standard components\r\n"
"#endif\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDR_MAINFRAME ICON DISCARDABLE "res\\MakeManualList.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 235, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "MakeManualList 정보"
FONT 9, "굴림"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
LTEXT "MakeManualList 버전 1.0",IDC_STATIC,40,10,119,8,
SS_NOPREFIX
LTEXT "Copyright (C) 2003",IDC_STATIC,40,25,119,8
DEFPUSHBUTTON "확인",IDOK,178,7,50,14,WS_GROUP
END
IDD_MAKEMANUALLIST_DIALOG DIALOGEX 0, 0, 191, 193
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "수동 종목검색"
FONT 9, "굴림"
BEGIN
DEFPUSHBUTTON "검색 시작",IDC_RUN_BTN,59,170,71,17
CONTROL "시가총액 이상 :",IDC_USING_AMOUNT_UP_CHECK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,13,20,60,8
EDITTEXT IDC_AMOUNT_UP_EDIT,75,16,67,14,ES_RIGHT | ES_AUTOHSCROLL |
ES_NUMBER
CONTROL "코스닥",IDC_USING_KOSDAQ_CHECK,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,13,84,48,8
CONTROL "거래소",IDC_USING_EXCHANGE_CHECK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,13,99,48,8
LTEXT "출력파일명:",IDC_STATIC,11,116,38,9
EDITTEXT IDC_OUTPUTFILENAME_EDIT,50,113,128,14,ES_AUTOHSCROLL
CONTROL "Progress1",IDC_RUN_PROGRESS,"msctls_progress32",
PBS_SMOOTH | WS_BORDER,7,152,177,12
CTEXT "진행상황",IDC_PROGRESS_STATIC,7,141,177,10,
SS_CENTERIMAGE
GROUPBOX "조건",IDC_STATIC,7,5,177,129
CONTROL "시가총액 이하 :",IDC_USING_AMOUNT_DOWN_CHECK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,13,34,60,8
EDITTEXT IDC_AMOUNT_DOWN_EDIT,75,30,67,14,ES_RIGHT |
ES_AUTOHSCROLL | ES_NUMBER
CONTROL "현재가 이상 :",IDC_USING_CUR_UP_CHECK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,13,53,60,8
EDITTEXT IDC_CUR_UP_EDIT,75,50,67,14,ES_RIGHT | ES_AUTOHSCROLL |
ES_NUMBER
CONTROL "현재가 이하 :",IDC_USING_CUR_DOWN_CHECK,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,13,66,60,8
EDITTEXT IDC_CUR_DOWN_EDIT,75,64,67,14,ES_RIGHT | ES_AUTOHSCROLL |
ES_NUMBER
LTEXT "원",IDC_STATIC,145,67,24,11
LTEXT "원",IDC_STATIC,145,53,24,11
LTEXT "만원",IDC_STATIC,145,33,24,11
LTEXT "만원",IDC_STATIC,145,19,24,11
END
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "041204B0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "MakeManualList MFC 응용 프로그램\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "MakeManualList\0"
VALUE "LegalCopyright", "Copyright (C) 2003\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "MakeManualList.EXE\0"
VALUE "ProductName", "MakeManualList 응용 프로그램\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x412, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 228
TOPMARGIN, 7
BOTTOMMARGIN, 48
END
IDD_MAKEMANUALLIST_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 184
TOPMARGIN, 7
BOTTOMMARGIN, 186
END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDS_ABOUTBOX "MakeManualList 정보(&A)..."
END
#endif // Korean resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
#ifdef _WIN32
LANGUAGE 18, 1
#pragma code_page(949)
#endif //_WIN32
#include "res\MakeManualList.rc2" // non-Microsoft Visual C++ edited resources
#include "l.kor\afxres.rc" // Standard components
#endif
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MakeManualList", "MakeManualList.vcproj", "{D1016360-2037-4183-9263-2BB0261AF47D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D1016360-2037-4183-9263-2BB0261AF47D}.Debug|Win32.ActiveCfg = Debug|Win32
{D1016360-2037-4183-9263-2BB0261AF47D}.Debug|Win32.Build.0 = Debug|Win32
{D1016360-2037-4183-9263-2BB0261AF47D}.Release|Win32.ActiveCfg = Release|Win32
{D1016360-2037-4183-9263-2BB0261AF47D}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,320 @@
<?xml version="1.0" encoding="ks_c_5601-1987"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="MakeManualList"
ProjectGUID="{D1016360-2037-4183-9263-2BB0261AF47D}"
Keyword="MFCProj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/MakeManualList.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="stdafx.h"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1042"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
SuppressStartupBanner="true"
UACExecutionLevel="2"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug/MakeManualList.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/MakeManualList.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="stdafx.h"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1042"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
SuppressStartupBanner="true"
UACExecutionLevel="2"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine=""
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="MakeManualList.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="MakeManualList.rc"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="MakeManualListDlg.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="StdAfx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath="MakeManualList.h"
>
</File>
<File
RelativePath="MakeManualListDlg.h"
>
</File>
<File
RelativePath="Resource.h"
>
</File>
<File
RelativePath="StdAfx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath="res\MakeManualList.ico"
>
</File>
<File
RelativePath="res\MakeManualList.rc2"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,523 @@
// MakeManualListDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MakeManualList.h"
#include "MakeManualListDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListDlg dialog
CMakeManualListDlg::CMakeManualListDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMakeManualListDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMakeManualListDlg)
m_strOutputFileName = _T("수동_종목코드.txt");
m_nAmountDown = 100000;
m_nAmountUp = 100000000;
m_nCurDown = 500;
m_nCurUp = 50000;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMakeManualListDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMakeManualListDlg)
DDX_Control(pDX, IDC_RUN_PROGRESS, m_hRunProgress);
DDX_Text(pDX, IDC_OUTPUTFILENAME_EDIT, m_strOutputFileName);
DDX_Text(pDX, IDC_AMOUNT_DOWN_EDIT, m_nAmountDown);
DDX_Text(pDX, IDC_AMOUNT_UP_EDIT, m_nAmountUp);
DDX_Text(pDX, IDC_CUR_DOWN_EDIT, m_nCurDown);
DDX_Text(pDX, IDC_CUR_UP_EDIT, m_nCurUp);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMakeManualListDlg, CDialog)
//{{AFX_MSG_MAP(CMakeManualListDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_USING_AMOUNT_UP_CHECK, OnUsingAmountUpCheck)
ON_BN_CLICKED(IDC_USING_AMOUNT_DOWN_CHECK, OnUsingAmountDownCheck)
ON_BN_CLICKED(IDC_USING_CUR_UP_CHECK, OnUsingCurUpCheck)
ON_BN_CLICKED(IDC_USING_CUR_DOWN_CHECK, OnUsingCurDownCheck)
ON_BN_CLICKED(IDC_RUN_BTN, OnRunBtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListDlg message handlers
BOOL CMakeManualListDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
((CButton*)GetDlgItem( IDC_USING_AMOUNT_UP_CHECK ))->SetCheck(g_AppConfig.bUsingAmountUp);
((CButton*)GetDlgItem( IDC_USING_AMOUNT_DOWN_CHECK ))->SetCheck(g_AppConfig.bUsingAmountDown);
((CButton*)GetDlgItem( IDC_USING_CUR_UP_CHECK ))->SetCheck(g_AppConfig.bUsingCurUp);
((CButton*)GetDlgItem( IDC_USING_CUR_DOWN_CHECK ))->SetCheck(g_AppConfig.bUsingCurDown);
((CButton*)GetDlgItem( IDC_USING_KOSDAQ_CHECK ))->SetCheck(g_AppConfig.bUsingKosdaq);
((CButton*)GetDlgItem( IDC_USING_EXCHANGE_CHECK ))->SetCheck(g_AppConfig.bUsingExchange);
((CWnd*)GetDlgItem( IDC_AMOUNT_UP_EDIT ))->EnableWindow( g_AppConfig.bUsingAmountUp );
((CWnd*)GetDlgItem( IDC_AMOUNT_DOWN_EDIT ))->EnableWindow( g_AppConfig.bUsingAmountDown );
((CWnd*)GetDlgItem( IDC_CUR_UP_EDIT ))->EnableWindow( g_AppConfig.bUsingCurUp );
((CWnd*)GetDlgItem( IDC_CUR_DOWN_EDIT ))->EnableWindow( g_AppConfig.bUsingCurDown );
m_nAmountDown = g_AppConfig.nAmountDown;
m_nAmountUp = g_AppConfig.nAmountUp;
m_nCurDown = g_AppConfig.nCurDown;
m_nCurUp = g_AppConfig.nCurUp;
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
void CMakeManualListDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CMakeManualListDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CMakeManualListDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CMakeManualListDlg::OnClose()
{
CDialog::OnClose();
}
void CMakeManualListDlg::OnCancel()
{
CWnd* pWnd = (CWnd*)GetDlgItem( IDC_RUN_BTN );
DWORD dwStyle = pWnd->GetStyle();
if( dwStyle & WS_DISABLED )
{
CString str;
str.Format( "작업이 진행중입니다.\n프로그램을 종료하시겠습니까?" );
int nID = MessageBox( str, "프로그램 종료 질문", MB_ICONQUESTION|MB_YESNO );
if( nID == IDNO )
return;
}
UpdateData();
g_AppConfig.bUsingAmountUp = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_UP_CHECK ))->GetCheck();
g_AppConfig.bUsingAmountDown = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_DOWN_CHECK ))->GetCheck();
g_AppConfig.bUsingCurUp = ((CButton*)GetDlgItem( IDC_USING_CUR_UP_CHECK ))->GetCheck();
g_AppConfig.bUsingCurDown = ((CButton*)GetDlgItem( IDC_USING_CUR_DOWN_CHECK ))->GetCheck();
g_AppConfig.bUsingKosdaq = ((CButton*)GetDlgItem( IDC_USING_KOSDAQ_CHECK ))->GetCheck();
g_AppConfig.bUsingExchange = ((CButton*)GetDlgItem( IDC_USING_EXCHANGE_CHECK ))->GetCheck();
g_AppConfig.nAmountDown = m_nAmountDown;
g_AppConfig.nAmountUp = m_nAmountUp;
g_AppConfig.nCurDown = m_nCurDown;
g_AppConfig.nCurUp = m_nCurUp;
CDialog::OnCancel();
}
void CMakeManualListDlg::OnUsingAmountUpCheck()
{
BOOL bCheck = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_UP_CHECK ))->GetCheck();
((CWnd*)GetDlgItem( IDC_AMOUNT_UP_EDIT ))->EnableWindow( bCheck );
}
void CMakeManualListDlg::OnUsingAmountDownCheck()
{
BOOL bCheck = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_DOWN_CHECK ))->GetCheck();
((CWnd*)GetDlgItem( IDC_AMOUNT_DOWN_EDIT ))->EnableWindow( bCheck );
}
void CMakeManualListDlg::OnUsingCurUpCheck()
{
BOOL bCheck = ((CButton*)GetDlgItem( IDC_USING_CUR_UP_CHECK ))->GetCheck();
((CWnd*)GetDlgItem( IDC_CUR_UP_EDIT ))->EnableWindow( bCheck );
}
void CMakeManualListDlg::OnUsingCurDownCheck()
{
BOOL bCheck = ((CButton*)GetDlgItem( IDC_USING_CUR_DOWN_CHECK ))->GetCheck();
((CWnd*)GetDlgItem( IDC_CUR_DOWN_EDIT ))->EnableWindow( bCheck );
}
void CMakeManualListDlg::OnRunBtn()
{
UpdateData();
CFile * pFile=NULL;
HANDLE hFile;
CString _strFileName;
TCHAR szFilePath[_MAX_PATH]={0,};
CStatic *pStatus = (CStatic*)GetDlgItem( IDC_PROGRESS_STATIC );
int nTotal=0;
double ldAmountUp=0.0, ldAmountDown = 0.0;
long nCurUp=0, nCurDown=0;
BOOL bCheck_AmountUp;
BOOL bCheck_AmountDown;
BOOL bCheck_CurUp;
BOOL bCheck_CurDown;
BOOL bCheck_KO;
BOOL bCheck_EX;
CString str;
str.Format( "거부리스트 검사는 몇분이 소요됩니다.\n"
"이 작업은 옵션적용이 되므로, 옵션설정이 맞는지 확인하세요.\n"
"작업을 계속 진행하시겠습니까?" );
int nID = MessageBox( str, "수동 종목검색", MB_ICONQUESTION|MB_YESNO );
if( nID == IDNO )
goto _EXIT1_;
((CWnd*)GetDlgItem( IDC_RUN_BTN ))->EnableWindow(FALSE);
///////////////////////////////////////////////////////////////////
::GetModuleFileName(NULL, szFilePath, _MAX_PATH);
*(strrchr( szFilePath, '\\' ) + 1) = 0;
_strFileName.Format( "%s%s", szFilePath, m_strOutputFileName );
hFile = CreateFile(_strFileName,
GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox( _strFileName + " 파일을 만들 수 없습니다." );
goto _EXIT1_;
}
else
{
pFile = new CFile(hFile);
pFile->SeekToEnd();
}
///////////////////////////////////////////////////////////////////
bCheck_AmountUp = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_UP_CHECK ))->GetCheck();
bCheck_AmountDown = ((CButton*)GetDlgItem( IDC_USING_AMOUNT_DOWN_CHECK ))->GetCheck();
bCheck_CurUp = ((CButton*)GetDlgItem( IDC_USING_CUR_UP_CHECK ))->GetCheck();
bCheck_CurDown = ((CButton*)GetDlgItem( IDC_USING_CUR_DOWN_CHECK ))->GetCheck();
bCheck_KO = ((CButton*)GetDlgItem( IDC_USING_KOSDAQ_CHECK ))->GetCheck();
bCheck_EX = ((CButton*)GetDlgItem( IDC_USING_EXCHANGE_CHECK ))->GetCheck();
if( bCheck_AmountUp )
ldAmountUp = m_nAmountUp*10000.;
if( bCheck_AmountDown )
ldAmountDown = m_nAmountDown*10000.;
if( bCheck_CurUp )
nCurUp = m_nCurUp;
if( bCheck_CurDown )
nCurDown = m_nCurDown;
if( (bCheck_AmountUp == FALSE) && (bCheck_AmountDown == FALSE) && (bCheck_CurUp == FALSE) && (bCheck_CurDown == FALSE) )
{
AfxMessageBox("시가총액/현재가 모두를 적용하지 않았습니다.\n\n적어도 하나는 지정하셔야 합니다.");
goto _EXIT1_;
}
if( (bCheck_KO == FALSE) && (bCheck_EX == FALSE) )
{
AfxMessageBox("코스닥/거래소 모두를 적용하지 않았습니다.\n\n적어도 하나는 지정하셔야 합니다.");
goto _EXIT1_;
}
try
{
HRESULT hr;
ICpStockCodePtr _objStockCode;
IDibPtr _objStockMst2;
CString strMsg;
long i;
CString strJCode="A000000";
short * TypeGuBun = new short[999999];
memset( TypeGuBun, NULL, sizeof(short)*999999 );
pStatus->SetWindowText( "최기화 검사중..." );
hr = _objStockCode.CreateInstance( CLSID_CpStockCode ); // 종목코드변환.
if (SUCCEEDED(hr))
hr = _objStockMst2.CreateInstance( CLSID_StockMst2 ); // 주식 복수 종목에 대해 일괄 조회를 요청하고 수신한다
if (SUCCEEDED(hr))
{
char szFormat[256]={0,};
wsprintf( szFormat, "' -------------------------------------------------------------------------- \r\n" );
pFile->Write(szFormat, strlen(szFormat));
char szDate[100], szTime[100];
_strdate( szDate ); _strtime( szTime );
wsprintf( szFormat, "' 수동종목 검사일시 : %s : %s \r\n", szDate, szTime );
pFile->Write(szFormat, strlen(szFormat));
wsprintf( szFormat, "' 수동종목 검사설정 : 시가총액이상(%s):%d만원, 시가총액이하(%s):%d만원 \r\n"
"' 현재가이상(%s):%d원, 현재가이하(%s):%d원 \r\n"
"' 코스닥(%s), 거래소(%s) \r\n",
bCheck_AmountUp?"O":"X", m_nAmountUp, bCheck_AmountDown?"O":"X", m_nAmountDown,
bCheck_CurUp?"O":"X", m_nCurUp, bCheck_CurDown?"O":"X", m_nCurDown,
bCheck_KO?"O":"X", bCheck_EX?"O":"X" );
pFile->Write(szFormat, strlen(szFormat));
wsprintf( szFormat, "' 종목코드, 현재가, 시가총액, 장구분 \r\n");
pFile->Write(szFormat, strlen(szFormat));
wsprintf( szFormat, "' -------------------------------------------------------------------------- \r\n");
pFile->Write(szFormat, strlen(szFormat));
pStatus->SetWindowText( "전종목 코드 검사중..." );
const long nCount = _objStockCode->GetCount();
//for(int _j=0; _j<nCount; _j++)
//{
// strJCode = (LPCSTR)(_bstr_t)_objStockCode->GetData(0, _j);
// i = atol( (LPSTR)(LPCTSTR)strJCode.Right(6) );
// // 1-장내, 5-코스닥, 6-제3시장
// TypeGuBun[ i ] = (short)_objStockCode->GetData( 4, _j );
//}
m_hRunProgress.SetRange32(0, nCount);
m_hRunProgress.SetPos(0);
char szCheck[100]={0,};
char szMergeCode[1024]={0,};
long nMergeCount;
short sType;
long nStockCurrent, nStockTotal;
double ldTotalMoney, ul1, ul2;
BOOL bWrite=FALSE;
int nIndex=0;
while( nIndex<nCount )
{
//////////////////////////////////////////////////////////
memset( &szMergeCode, NULL, 1024 );
nMergeCount=0;
for(; nMergeCount<110; nIndex++ )
{
if(nIndex>=nCount)
break;
sType = _objStockCode->GetData( 4, nIndex ); // 1-장내, 5-코스닥, 6-제3시장
strJCode = (LPSTR)(_bstr_t)_objStockCode->GetData(0, nIndex);
strcat( szMergeCode, (LPSTR)(LPCTSTR)strJCode );
strcat( szMergeCode, "," );
nMergeCount++;
//if( sType == 1 && bCheck_EX)
//{
// strcat( szMergeCode, (LPSTR)(LPCTSTR)strJCode );
// strcat( szMergeCode, "," );
// nMergeCount++;
//}
//else if( sType == 5 && bCheck_KO)
//{
// strcat( szMergeCode, (LPSTR)(LPCTSTR)strJCode );
// strcat( szMergeCode, "," );
// nMergeCount++;
//}
}
if( strlen( szMergeCode ) == 0 )
continue;
*(strrchr( szMergeCode, ',' )) = NULL;
//////////////////////////////////////////////////////////
_objStockMst2->SetInputValue( 0, szMergeCode );
_objStockMst2->BlockRequest();
strMsg.Format( "%d/%d 진행중", nIndex, nCount );
pStatus->SetWindowText( strMsg );
short nRecv = (short)_objStockMst2->GetHeaderValue(0);
if( nRecv == 0 )
{
AfxMessageBox("수신된 데이터가 없습니다. Cybosplus 서비스 시간대를 확인해주세요.");
break;
}
for( long k=0; k<nRecv; k++ )
{
strJCode = (LPSTR)(_bstr_t)_objStockMst2->GetDataValue(0, k); // 0 - (string) 종목 코드
i = atol( (LPSTR)(LPCTSTR)strJCode.Right(6) );
nStockCurrent = (long)_objStockMst2->GetDataValue(3, k); // 3 - (long) 현재가
nStockTotal = (long)_objStockMst2->GetDataValue(17, k); // 17 - (unsigned long) 상장주식수
ul1 = nStockCurrent; ul2 = nStockTotal;
ldTotalMoney = ul1 * ul2;
bWrite = FALSE;
if( bCheck_AmountUp )
if( ldTotalMoney >= ldAmountUp )
bWrite = TRUE;
if( bCheck_AmountDown )
if( ldTotalMoney <= ldAmountDown )
bWrite = TRUE;
if( bCheck_CurUp )
if( nStockCurrent >= nCurUp )
bWrite = TRUE;
if( bCheck_CurDown )
if( nStockCurrent <= nCurDown )
bWrite = TRUE;
if( bWrite )
{
char szFormat[256]={0,};
sprintf( szFormat, "%6s, %7d, %17.0f, [%d]\r\n",
(LPSTR)(LPCTSTR)strJCode.Right(6),
nStockCurrent, ldTotalMoney,
TypeGuBun[i] );
pFile->Write(szFormat, strlen(szFormat));
++nTotal;
}
}
m_hRunProgress.SetPos(nIndex);
}
}
_objStockCode.Release();
_objStockMst2.Release();
SAFE_DELETE( TypeGuBun );
strMsg.Format( "수동 종목검사: %d종목.", nTotal );
pStatus->SetWindowText( strMsg );
AfxMessageBox( strMsg );
}
catch( _com_error e )
{
AfxMessageBox( "프로그램을 실행 할 수 없습니다!" );
}
catch(...)
{
AfxMessageBox( "프로그램실행중 문제가 발생하였습니다." );
}
_EXIT1_:
if( pFile )
{
pFile->Close();
SAFE_DELETE( pFile );
}
((CWnd*)GetDlgItem( IDC_RUN_BTN ))->EnableWindow(TRUE);
}

View File

@@ -0,0 +1,61 @@
// MakeManualListDlg.h : header file
//
#if !defined(AFX_MAKEMANUALLISTDLG_H__89FEF579_B4E8_4D42_ABDD_F73C7FA37BD3__INCLUDED_)
#define AFX_MAKEMANUALLISTDLG_H__89FEF579_B4E8_4D42_ABDD_F73C7FA37BD3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CMakeManualListDlg dialog
class CMakeManualListDlg : public CDialog
{
// Construction
public:
CMakeManualListDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMakeManualListDlg)
enum { IDD = IDD_MAKEMANUALLIST_DIALOG };
CProgressCtrl m_hRunProgress;
CString m_strOutputFileName;
UINT m_nAmountDown;
UINT m_nAmountUp;
UINT m_nCurDown;
UINT m_nCurUp;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMakeManualListDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CMakeManualListDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnCancel();
afx_msg void OnClose();
afx_msg void OnUsingAmountUpCheck();
afx_msg void OnUsingAmountDownCheck();
afx_msg void OnUsingCurUpCheck();
afx_msg void OnUsingCurDownCheck();
afx_msg void OnRunBtn();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAKEMANUALLISTDLG_H__89FEF579_B4E8_4D42_ABDD_F73C7FA37BD3__INCLUDED_)

View File

@@ -0,0 +1,9 @@
// stdafx.cpp : source file that includes just the standard includes
// MakeManualList.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
APP_CONFIG g_AppConfig = { TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, 100000000, 100000, 50000, 500 };

53
MakeManualList/StdAfx.h Normal file
View File

@@ -0,0 +1,53 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__CCC5EF88_55F7_477B_903D_BC5C00CD647E__INCLUDED_)
#define AFX_STDAFX_H__CCC5EF88_55F7_477B_903D_BC5C00CD647E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <comdef.h>
#include <afxpriv.h> // T2A macros
// Ãß°¡
#import "c:\daishin\CYBOSPLUS\cpdib.dll" no_namespace named_guids
//#import "c:\daishin\CYBOSPLUS\cptrade.dll" no_namespace named_guids
#import "c:\daishin\CYBOSPLUS\cputil.dll" no_namespace named_guids
#define SAFE_DELETE(pObject) { if (pObject) {delete pObject; pObject = NULL; }; }
typedef struct _tag_APP_CONFIG
{
BOOL bUsingAmountUp;
BOOL bUsingAmountDown;
BOOL bUsingCurUp;
BOOL bUsingCurDown;
BOOL bUsingExchange;
BOOL bUsingKosdaq;
UINT nAmountUp;
UINT nAmountDown;
UINT nCurUp;
UINT nCurDown;
} APP_CONFIG;
extern APP_CONFIG g_AppConfig;
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__CCC5EF88_55F7_477B_903D_BC5C00CD647E__INCLUDED_)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,13 @@
//
// MAKEMANUALLIST.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////

34
MakeManualList/resource.h Normal file
View File

@@ -0,0 +1,34 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by MakeManualList.rc
//
#define IDM_ABOUTBOX 0x0010
#define IDD_ABOUTBOX 100
#define IDS_ABOUTBOX 101
#define IDD_MAKEMANUALLIST_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_USING_AMOUNT_UP_CHECK 1000
#define IDC_AMOUNT_UP_EDIT 1002
#define IDC_USING_KOSDAQ_CHECK 1004
#define IDC_USING_EXCHANGE_CHECK 1005
#define IDC_OUTPUTFILENAME_EDIT 1006
#define IDC_RUN_PROGRESS 1007
#define IDC_RUN_BTN 1008
#define IDC_PROGRESS_STATIC 1009
#define IDC_USING_AMOUNT_DOWN_CHECK 1010
#define IDC_AMOUNT_DOWN_EDIT 1011
#define IDC_USING_CUR_UP_CHECK 1012
#define IDC_CUR_UP_EDIT 1013
#define IDC_USING_CUR_DOWN_CHECK 1014
#define IDC_CUR_DOWN_EDIT 1015
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif