์ด ํ๋ก์ ํธ๋ ํค์์ฆ๊ถ OpenAPI๋ฅผ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ผ๋ฉฐ, ๋ค์ํ ๊ฐ์ด๋์ ํค์์ฆ๊ถ OpenAPI์์ ๋๋ ์ฌ์ฉ๋ฒ์ด ์์ต๋๋ค.
| name | Explanation | ํ์ฌ ์ํ |
|---|---|---|
| test | ํค์์ฆ๊ถ OpenAPI๋ฅผ ์ฌ์ฉํ ์ฝ๋๊ฐ ์์ฑ๋์ด์์ต๋๋ค. | ์์ฑ์ค |
| Kiwoom-Image | ํค์์ฆ๊ถ ๊ฐ์ด๋๋ฅผ ์์ฑํ๋ฉด์ ์ฌ์ฉ๋ ์ด๋ฏธ์ง ํ์ผ | ์์ฑ์ค |
| guide | ํค์์ฆ๊ถ OpenAPI ์ฌ์ฉ ๊ฐ์ด๋์ ๋๋ค. | ์์ฑ์ค |
- ํค์์ฆ๊ถ OpenApi
-
- OpenApi ์๋น์ค ์ฌ์ฉ ์ ์ฒญ
-
- ํค์ Open API+ ๋ชจ๋ ๋ค์ด๋ก๋
-
- ๊ฐ๋ฐ๊ฐ์ด๋
- KOA Studio
- ๊ต์ก VOD
- ์๋ฃ์ค
-
- ์์ ๋ชจ์ํฌ์ ์ ์ฒญ
-
[๋ก๊ทธ์ธ ๊ฐ์] ๋ก๊ทธ์ธ์ CommConnect()ํจ์๋ฅผ ํธ์ถํ๋ฉฐ OnEventConnect ์ด๋ฒคํธ ์ธ์๊ฐ์ผ๋ก ๋ก๊ทธ์ธ ์ฑ๊ณต์ฌ๋ถ๋ฅผ ์์ ์์ต๋๋ค. ์ด ๊ฐ์ด 0์ด๋ฉด ์ฑ๊ณต์ด๊ณ ๋๋จธ์ง๋ ์คํจ๋ก ์ค๋ฅ์ฝ๋๊ฐ์ ์ฐธ๊ณ ํด์ ์คํจ์์ธ์ ํ์ ํ ์ ์์ต๋๋ค. ์ค์๋ฒ์ ๋์ผํ ์์ธ๋ฐ์ดํฐ๋ก ์ฃผ๋ฌธํ ์คํธ๋ฅผ ํ ์ ์๋ ๋ชจ์ํฌ์์๋ฒ๋ฅผ ์ ๊ณตํ๋๋ฐ ๋ก๊ทธ์ธ์ฐฝ์์ "๋ชจ์ํฌ์ ์๋ฒ"์ ์ ํํด์ ๊ฐ๋จํ ์ ์ํ์ค์ ์์ต๋๋ค. [์๋ ๋ก๊ทธ์ธ] ๋ก๊ทธ์ธ์ฐฝ์ ๋ก๊ทธ์ธID์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ ๋ ฅํด์ ๋ก๊ทธ์ธ์ ํ๋๊ฒ์ ๋งํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋ก๊ทธ์ธ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์๋ ๋ก๊ทธ์ธ์ค์ ๋ฒ์ ์ฒ๋ฆฌ๋ด์ฉ์ด ์๋ ๊ฒฝ์ฐ ๋ฒ์ ์ฒ๋ฆฌ๋ ํจ๊ป ์งํ๋ฉ๋๋ค. [์๋ ๋ก๊ทธ์ธ] ๋ก๊ทธ์ธํ ๋ค์ ๊ณ์ข๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ์ ํตํด ์๋๋ก๊ทธ์ธ์ ์ค์ ํ ์ ์์ต๋๋ค. ํธ๋ ์ด ๋ฉ๋ด(๋ชจ๋ํฐ ์ค๋ฅธ์ชฝ ํ๋จ)์์ "๊ณ์ข๋น๋ฐ๋ฒํธ ์ ์ฅ" ๋ฉ๋ด๋ฅผ ์ ํํ๋ฉด ํ๋ฉด์ด ํ์๋๋๋ฐ ์ฌ๊ธฐ์ ๋ก๊ทธ์ธ ์ดํ ์ฌ์ฉํ ๊ณ์ข์ ๊ณ์ข๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๊ณ ๋ฑ๋ก๋ฒํผ์ ๋๋ฌ์ ์ ์ฅํ ๋ค์ ๊ณ์ข๋ฒํธ ์๋์ ์๋ AUTO์ฒดํฌ ๋ฐ์ค๋ฅผ ์ ํํ์๋ฉด ์๋ ๋ก๊ทธ์ธ์ ์ํ ์ค์ ์ด ๋ชจ๋ ๋๋ฉ๋๋ค. ๋ก๊ทธ์ธ ์ค์ ์ ์๋์ผ๋ก ํ๋ฉด ์ข ๋ชฉ์ ๋ณด๋ฅผ ์ ์ธํ ๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ ๋ฌด์ํ๊ฒ ๋๋ฉฐ ๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ๋ค์ ๋ฐ์ผ๋ ค๋ฉด AUTO๋ฒํผ์ ์ฒดํฌ ํด์งํ๊ณ ํ๋ก๊ทธ๋จ์ ์ฌ ์คํ ํ์๋ฉด ๋ฉ๋๋ค. [๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ] ์๊ณ ๋ ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก,์๋๋ฑ ๊ณ์ข๊ด๋ จ ์กฐํ๋ ์ฃผ๋ฌธ์ ์ ๋ฏธ๋ฆฌ ๊ณ์ข๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ์ค๋ฅ ์๋ฆผ์ฐฝ๊ณผ -301 ์ค๋ฅ์ฝ๋์์ด ์ฌ์ฉํ์ค์ ์์ต๋๋ค. ๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ์ ๊ณ์ข๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ์์๋ง ๊ฐ๋ฅํ๋ฉฐ ์ด ์ ๋ ฅ์ฐฝ์ ๋ฉ๋ด๋ ํจ์๋ก ์ถ๋ ฅํ์ค์ ์์ต๋๋ค. ๋ฉ๋ด์ด์ฉ - ๋ก๊ทธ์ธํ ํธ๋ ์ด ๋ฉ๋ด(๋ชจ๋ํฐ ์ค๋ฅธ์ชฝ ํ๋จ)์์ "๊ณ์ข๋น๋ฐ๋ฒํธ ์ ์ฅ"์ ํ ํจ์์ด์ฉ - ๋ก๊ทธ์ธํ OpenAPI.KOA_Functions(_T("ShowAccountWindow"), _T(""))ํธ์ถ [๋ฒ์ ์ฒ๋ฆฌ] ๋ก๊ทธ์ธํ ๋ ๋ฒ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋ฒ์ ์ฒ๋ฆฌ ์๋ฆผ์ฐฝ์ด ์ถ๋ ฅ๋ ์ ์์ต๋๋ค. ์ด ์๋ฆผ์ฐฝ์ด ํ์๋๋ฉด OpenAPIํ๋ก๊ทธ๋จ์ ๋จผ์ ๋ชจ๋ ์ข ๋ฃํ๋ค์ ์๋ฆผ์ฐฝ์ ์๋ ๋ซ๊ธฐ๋ฒํผ์ ๋๋ฅด์ ์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฒ์ ์ฒ๋ฆฌ๊ฐ ์ ์์ ์ผ๋ก ๋๋์ง ์์์ ๋ก๊ทธ์ธํ ๋ ๋ ๋ฒ์ ์ฒ๋ฆฌ ์๋ฆผ์ฐฝ์ด ํ์๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฆผ์ฐฝ์ด ํ์๋์์๋ KOA Studio๋ ์คํ์ค์ด๋ฉด ์ญ์ ํจ๊ป ์ข ๋ฃ์์ผ์ฃผ์ ์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ OpenAPIํ๋ก๊ทธ๋จ์ ๋ชจ๋ ์ข ๋ฃํ์ ๋ค์ ์๋ฆผ์ฐฝ์ ๋ซ์์ฃผ์๋ฉด ๋ฒ์ ์ฒ๋ฆฌ๊ฐ ์๋์ผ๋ก ์งํ๋๊ณ ํ๋ก๊ทธ๋จ์ ์ฌ์คํ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. [๋ชจ์ํฌ์] ๋ก๊ทธ์ธ ์ฐฝ์์ ๋ชจ์ํฌ์์ ์์ ์ ํ์ ์ฒดํฌํ๋ฉด ๋ชจ์ํฌ์๋ก ์ ์ํ๋ฉฐ ์ด ์ฒดํฌ๋ฅผ ํ๋ฉด ์ค์๋ฒ(์ด์์๋ฒ)๋ก ์ ์ํฉ๋๋ค. ๋จ KOA Studio ํ๋ก๊ทธ๋จ์ ํญ์ ๋ชจ์ํฌ์๋ก๋ง ์ ์๊ฐ๋ฅํด์ ๋ชจ์ํฌ์์ ์ ์ฒดํฌ ํด์ง๊ฐ ์๋ฉ๋๋ค. ๋ชจ์ํฌ์๋ก ๋ก๊ทธ์ธํ์๋ ค๋ฉด ๋น์ฌ ํํ์ด์ง์์ ๋ฏธ๋ฆฌ ๋ชจ์ํฌ์ ์ฌ์ฉ์ ์ฒญ์ ํ์ ์ผ ํ๋ฉฐ ์์ธํ ๋ด์ฉ์ ๋น์ฌ ํํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค. ๋ชจ์ํฌ์ ๊ณ์ข๋ฒํธ, ์ฃผ๋ฌธ ๊ฐ๋ฅ์ข ๋ชฉ, ์์๋ฃ๋ฑ ์ ์ฑ ์ ์ค์๋ฒ์ ์ฐจ์ด๊ฐ ์์ผ๋ฏ๋ก ์์ธํ ๋ด์ฉ์ ํํ์ด์ง ๋ด์ฉ์ ๊ผญ ์ฐธ๊ณ ํด ์ฃผ์ธ์. [์ค๋ณต๋ก๊ทธ์ธ] OpenAPI๋ ์ค๋ณต๋ก๊ทธ์ธ์ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋์ผPC๋ ๋ค๋ฅธPC๋ ๊ด๊ณ์์ด ๋ง์ง๋ง์ ๋ก๊ทธ์ธํ ๊ฒฝ์ฐ๋ง ์ ์ง๋๊ณ ์ด์ ์ ๋ก๊ทธ์ธํ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ก๊ทธ์คํ๋ฉ๋๋ค. ๋ชจ์ํฌ์์๋ฒ ๋ก๊ทธ์ธ ์ญ์ ์ค๋ณต๋ก๊ทธ์ธ์ ํ์ฉํ์ง ์์ต๋๋ค.
ํ์ ์ด๋ฆ ์ค๋ช LONG CommConnect() ์๋ ๋ก๊ทธ์ธ์ค์ ์ธ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ์ฐฝ์ถ๋ ฅ ํ ๋ก๊ทธ์ธ ์๋ํ๊ฑฐ๋ ์๋๋ก๊ทธ์ธ ์ค์ ์ธ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ก๊ทธ์ธ์ ์๋ํฉ๋๋ค. Void CommTerminate() ํ์ฌ ์ง์ํ์ง์๋ ํจ์์ ๋๋ค. LONG GetConnectState() ํ์ฌ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์๋ ค์ค๋๋ค. LONG GetLoginInfo() ๋ก๊ทธ์ธ ํ์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ธ์๊ฐ์ ๋ฐ๋ผ ๋ค์ํญ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. void OnEventConnect() ํ์ฌ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์๋ ค์ค๋๋ค. void OnReceiveMsg() ์๋ฒํต์ ํ ๋ค์ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค.
-
์๋ ๋ก๊ทธ์ธ์ค์ ์ธ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ์ฐฝ์ถ๋ ฅ ํ ๋ก๊ทธ์ธ ์๋ํ๊ฑฐ๋ ์๋๋ก๊ทธ์ธ ์ค์ ์ธ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ก๊ทธ์ธ์ ์๋ํฉ๋๋ค.
ActiveX๋ฅผ ์ฌ์ฉํ์ฌ KHOPENAPI.KHOpenAPICtrl.1๋ฅผ ๋ถ๋ฌ์จ ๋ค์ CommConnect()ํ ๋ค์
์ด๋ฐ์์ผ๋ก ๋ก๊ทธ์ธ ์ฐฝ์ด ๋จ๋ฉด ์ฑ๊ณต์ด๋ค.
-
ํ์ฌ ์ง์ํ์ง์๋ ํจ์์ ๋๋ค.
-
ํ์ฌ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์๋ ค์ค๋๋ค.
GetConnectState ๋ฐํ๊ฐ(return)
1 0 ์ฐ๊ฒฐ ์ฐ๊ฒฐ์๋จ
-
๋ก๊ทธ์ธ ํ์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ธ์๊ฐ์ ๋ฐ๋ผ ๋ค์ํญ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
-
์ธ์์ด๋ฆ ์ค๋ช ACCOUNT_CNT ๋ณด์ ๊ณ์ข ์๋ฅผ ๋ฐํํฉ๋๋ค. ACCLIST ๊ตฌ๋ถ์ ';'๋ก ์ฐ๊ฒฐ๋ ๋ณด์ ๊ณ์ข ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค. USER_ID ์ฌ์ฉ์ ID๋ฅผ ๋ฐํํฉ๋๋ค. USER_NAME ์ฌ์ฉ์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค. KEY_BSECGB ํค๋ณด๋ ๋ณด์ ํด์ง์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.(0 : ์ ์, 1 : ํด์ง) FIREW_SECGB ๋ฐฉํ๋ฒฝ ์ค์ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.(0 : ๋ฏธ์ค์ , 1 : ์ค์ , 2 : ํด์ง) GetServerGubun ์ ์์๋ฒ ๊ตฌ๋ถ์ ๋ฐํํฉ๋๋ค.(1 : ๋ชจ์ํฌ์, ๋๋จธ์ง : ์ค์๋ฒ)
-
-
ํ์ฌ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์๋ ค์ค๋๋ค.
nErrCode ์ํ 0 ๋ก๊ทธ์ธ ์ฑ๊ณต -100 ์ฌ์ฉ์ ์ ๋ณด๊ตํ ์คํจ -101 ์๋ฒ์ ์ ์คํจ -102 ๋ฒ์ ์ฒ๋ฆฌ ์คํจ
-
์๋ฒํต์ ํ ๋ค์ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค.
์ด๋ฆ ์ค๋ช sScrNo ํ๋ฉด๋ฒํธ sRQName ์ฌ์ฉ์ ๊ตฌ๋ถ๋ช sTrCode TR์ด๋ฆ sMsg ์๋ฒ์์ ์ ๋ฌํ๋ ๋ฉ์ธ์ง
-
[์กฐํ์ฒ๋ฆฌ(์กฐํ์์ฒญ)] OpenAPI๊ฐ ์ ๊ณตํ๋ ๋ฐ์ดํฐ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์์ฒญํด์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋งํ๋๋ฐ TR(Transaction)๋จ์๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. TR์ด๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ ์ ์ํ ์ฝ์๋ ๊ท์ฝ์ด๋ฉฐ ์ ๋ ฅ๋ถ๋ถ(Input)๊ณผ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ์ถ๋ ฅ๋ถ๋ถ(Output)์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ ๋ ฅ๋ถ๋ถ์ ์์ฒญํ๋ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ ๋ ฅ๊ฐฏ์(์ ๋ ฅํญ๋ชฉ)๊ฐ ๋ฌ๋ผ์ง๋ฉฐ ์ถ๋ ฅ๋ถ๋ถ์ ๋ณดํต ๋ฐ์ดํฐ๊ฐฏ์(์ถ๋ ฅํญ๋ชฉ)๊ฐ ์ฌ๋ฌ๊ฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ถ๋ ฅ๋ถ๋ถ์ ์ถ๋ ฅํญ๋ชฉ์ด ํ๋ฒ์ฉ๋ง ์ ๋ฌ๋๋ ์ฑ๊ธ๋ฐ์ดํฐ์ ๋ณต์๋ก ์ ๋ฌ๋๋ ๋ฉํฐ๋ฐ์ดํฐ๊ฐ ์๊ณ TR์ ๋ฐ๋ผ ์ฑ๊ธ๋ฐ์ดํฐ(๋๋ ๋ฉํฐ๋ฐ์ดํฐ)๋ง ์๊ฑฐ๋ ๋๋ค ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. OpenAPI๊ฐ ์ ๊ณตํ๋ TR์ KOA Studio์ TR๋ชฉ๋ก ํญ์์ ์ฐพ์๋ณผ ์ ์๊ณ ๊ฐ TR๋ณ๋ก ์กฐํ๋ ๊ฐ๋ฅํฉ๋๋ค. OPT10070 : ๋น์ผ์ฃผ์๊ฑฐ๋์์์ฒญ - ์ฑ๊ธ๋ฐ์ดํฐ OPT10081 : ์ฃผ์์ผ๋ด์ฐจํธ์กฐํ์์ฒญ - ์ฑ๊ธ + ๋ฉํฐ๋ฐ์ดํฐ [๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ] ์๊ณ ๋ ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก,์๋๋ฑ ๊ณ์ข๊ด๋ จ ์กฐํ๋ ์ฃผ๋ฌธ์ ์ ๋ฏธ๋ฆฌ ๊ณ์ข๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ์ค๋ฅ ์๋ฆผ์ฐฝ๊ณผ -301 ์ค๋ฅ์ฝ๋์์ด ์ฌ์ฉํ์ค์ ์์ต๋๋ค. ๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ์ ๊ณ์ข๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ์์๋ง ๊ฐ๋ฅํ๋ฉฐ ์ด ์ ๋ ฅ์ฐฝ์ ๋ฉ๋ด๋ ํจ์๋ก ์ถ๋ ฅํ์ค์ ์์ต๋๋ค. ๋ฉ๋ด์ด์ฉ - ๋ก๊ทธ์ธํ ํธ๋ ์ด ๋ฉ๋ด(๋ชจ๋ํฐ ์ค๋ฅธ์ชฝ ํ๋จ)์์ "๊ณ์ข๋น๋ฐ๋ฒํธ ์ ์ฅ"์ ํ ํจ์์ด์ฉ - ๋ก๊ทธ์ธํ OpenAPI.KOA_Functions(_T("ShowAccountWindow"), _T(""))ํธ์ถ [์กฐํ์ ํ] OpenAPI ์กฐํ๋ 1์ด๋น 5ํ๋ก ์ ํ๋๋ฉฐ ๋ณต์์ข ๋ชฉ ์กฐํ์ ์กฐ๊ฑด๊ฒ์ ์กฐํ ํ์๊ฐ ํฉ์ฐ๋ฉ๋๋ค. ๊ฐ๋ น 1์ด ๋์ ์์ธ์กฐํ2ํ ๊ด์ฌ์ข ๋ชฉ 1ํ ์กฐ๊ฑด๊ฒ์ 2ํ ์์๋ก ์กฐํ๋ฅผ ํ๋ค๋ฉด ๋ชจ๋ ํฉ์ณ์ 5ํ์ด๋ฏ๋ก ๋ชจ๋ ์กฐํ์ฑ๊ณตํ๊ฒ ์ง๋ง ์กฐ๊ฑด๊ฒ์์ 3ํ ์กฐํํ๋ฉด ๋งจ ๋ง์ง๋ง ์กฐ๊ฑด๊ฒ์ ์กฐํ๋ ์คํจํ๊ฒ ๋ฉ๋๋ค. [์กฐํ์ ํ ๊ฐํ] ๊ธฐ์กด 1์ด๋น 5ํ ์กฐํ์ ํ์ธ์ ๋ถ๋น, ์๊ฐ๋น ์ ๋์ ์กฐํ์ ํ์ด 2017๋ 4์ 6์ผ 17:00์ดํ ๋ฐ์๋์์ต๋๋ค. (OpenAPI ๊ฒ์ํ ์กฐํ์ ํ ๊ด๋ จ ๊ณต์ง๋ด์ฉ์ ์ฐธ๊ณ ํ์ธ์.) ์กฐํ์ ํ ๊ฐํ ๋ฐ์์ ์๋ฌ์ฝ๋(-200)๋ฆฌํด๊ณผ ์๋ฆผ ๋ฉ์์ง๊ฐ ํ์๋๋ฉฐ ์กฐํ์ ํ ๊ฐํ๊ฐ ๋ฐ์ํ ํ๋ก๊ทธ๋จ์ ๋ค์ ๋ก๊ทธ์ธํด์ผ ์กฐํ๊ธฐ๋ฅ์ ๋ค์ ์ด์ฉํ ์ ์์ผ๋ฉฐ ๊ตฌ์ฒด์ ์ธ ์กฐํ์ ํ ๊ธฐ์ค์ ๋น๊ณต๊ฐ๋ก ์ด์ํ๊ณ ์์ต๋๋ค. ์ด ์กฐํ์ ํ ๊ฐํ๋ ๊ฑฐ๋์๊ฐ, ๊ฑฐ๋์ผ์ ๊ด๊ณ์์ด OpenAPIํ๋ก๊ทธ๋จ ์คํ์ ํญ์ ์ ๊ฒํฉ๋๋ค. ์ ๊ฒ๋ฐฉ๋ฒ์ CommRqData()ํจ์์ CommKwRqData()ํจ์๋ฅผ ์ด์ฉํ ์กฐํํ์๋ฅผ ํฉ์ฐํ๋ ๊ฒ์ผ๋ก ์ฐ์์กฐํ ์ญ์ CommRqData()๋ฅผ ์ด์ฉ๋ฏ๋ก ํฉ์ฐ๋ฉ๋๋ค. ์ด์ธ SetRealReg()ํจ์ํธ์ถ์ด๋ ๋๋จธ์ง OpenAPIํจ์ํธ์ถ์ ์กฐํ์ ํ ๊ฐํ์ ๊ด๋ จ์์ผ๋ฉฐ ์ค์๊ฐ ์์ธ๋ฐ์ดํฐ ์ฌ์ฉ๋ ๊ด๋ จ์์ต๋๋ค. ์กฐํํ์ ํฉ์ฐ์ ํ๋ก๊ทธ๋จ๋ณ๋ก ํฉ์ฐํ๋ฉฐ ๋ก๊ทธ์ธID ๋ณ๋ก๋ ํฉ์ฐํ์ง ์์ต๋๋ค. ์๋ฅผ๋ค์ด ๊ฐ์ID๋ก ๋ก๊ทธ์ธํ 2๊ฐ ํ๋ก๊ทธ๋จ์์ ๊ฐ๊ฐ 10ํ์ฉ ์กฐํํ๋ค๋ฉด ํ๋ก๊ทธ๋จ๋ณ 10ํ ์กฐํ์ด๋ฉฐ 20์กฐํ๋ก ํฉ์ฐํ์ง ์์ต๋๋ค. [์ฐ์์กฐํ] TR๋ณ๋ก ํ๋ฒ์ ์ ๋ฌํ ์ ์๋ ๋ฐ์ดํฐ ๊ฐฏ์๊ฐ ์ ํด์ ธ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๊ฐฏ์๋ณด๋ค ์กฐํ๋ฐ์ดํฐ๊ฐ ๋ง์๋ ์ฐ์์กฐํ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฒ ๋ฉ๋๋ค. ์ฐ์์กฐํ๋ ๋ชจ๋ ์กฐํ์ฒ๋ฆฌ์ ์ ์ฉ๋๋ ๊ณตํต์ฌํญ์ด๋ฉฐ CommRqData()์์ ์ธ์๊ฐ๋ง ๋ฐ๊ฟ์ ์ฒ๋ฆฌํฉ๋๋ค. ์๋์ฒ๋ผ ์ค์ ํด์ ๋งจ ์ฒ์ ์กฐํํ์๋ ์ถ๊ฐ๋ก ์กฐํํ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด OpenAPI.CommRqData("์ผ๋ณ๋ฐ์ดํฐ์กฐํ", "OPT10086" , 0, "0001"); OnReceiveTRData()์ด๋ฒคํธ์์ 5๋ฒ์งธ ์ธ์๊ฐ(sPrevNext)์ "2"๊ฐ ์ ๋ฌ๋ฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ์์กฐํํ์ค๋๋ CommRqData("์ผ๋ณ๋ฐ์ดํฐ์กฐํ", "OPT10086" , 2, "0001"); 3๋ฒ์งธ ์ธ์๊ฐ์ 2๋ก ์ค์ ํด์ ์กฐํํ์๋ฉด ๋ฉ๋๋ค. ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. OpenAPI.CommRqData("์ผ๋ณ๋ฐ์ดํฐ์กฐํ", "OPT10086" , 0, "0001"); // ์ฒ์์กฐํ์ ํน์ ์ฐ์๋ฐ์ดํฐ๊ฐ ์์๋ OpenAPI.CommRqData("์ผ๋ณ๋ฐ์ดํฐ์กฐํ", "OPT10086" , 2, "0001"); // ์ฐ์์กฐํ์ [์ค์๊ฐ ๋ฐ์ดํฐ] ์์ธ์กฐํ์์ฒญ์ด ์ฑ๊ณตํ๋ฉด ๊ด๋ จ ์ค์๊ฐ ์์ธ๋ฐ์ดํฐ๊ฐ ๋ฐ์ํ์๋ ์๋ฒ์์ ์๋์ผ๋ก OnReceiveRealData()์ด๋ฒคํธ๋ก ์ค์๊ฐ ํ์ ๋จ์๋ก ์ ๋ฌํด์ค๋๋ค. KOA Studio์ ์ค์๊ฐ ํญ์ ์ฌ์๋ฉด Real Type๊ณผ "์ฃผ์์์ธ"์์ "์ข ๋ชฉํ๋ก๊ทธ๋จ๋งค๋งค"๊น์ง ๋์ด๋ ์ด๋ฆ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ค ํ๋ํ๋๋ฅผ ์ค์๊ฐ ํ์ ์ด๋ผ๊ณ ํ๋ฉฐ ๊ด๋ จ์๋ FID(์ซ์)์ ์ด๋ฆ(์ค์๊ฐ ํญ๋ชฉ)๋ฅผ ์์๋ก ๋ชจ์๋์ ๊ฒ์ ๋๋ค. ์๋ฅผ๋ค์ด ์ค์๊ฐ ํ์ "์ฃผ์์์ธ"๋ FID 10 ํ์ฌ๊ฐ ~ FID 568 ํํ๊ฐ๋ฐ์์๊ฐ๊น์ง 19๊ฐ FID๋ก ๊ตฌ์ฑ๋๋ฉฐ ํ๊บผ๋ฒ์ ์ ๋ฌ๋๋๊ฒ์ ๋๋ค. ๋ ์ค์๊ฐ ํ์ "์ฃผ์์ฒด๊ฒฐ"๋ FID 20 ์ฒด๊ฒฐ์๊ฐ ~ FID 1313 Extra Item๊น์ง 35๊ฐ FID๊ฐ ํ๋ฒ์ ์ ๋ฌ๋ฉ๋๋ค. [์ค์๊ฐ ๋ฐ์ดํฐ - ์ฃผ์์ฌํญ] ์ค์๊ฐ ํ์ "์ฃผ๋ฌธ์ฒด๊ฒฐ", "์๊ณ ", "ํ์์๊ณ "๋ ์ฃผ๋ฌธ๊ด๋ จ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ์์ธ์กฐํํ ๋ค๋ SetRealReg()ํจ์๋ก ๋ฑ๋กํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ์ค์๊ฐ ํ์ ์ ์ฃผ๋ฌธ์ ํด์ผ ๋ฐ์ํ๋ฉฐ ์ฃผ๋ฌธ์ ์ฉ OnReceiveChejanData()์ด๋ฒคํธ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์๋ ์ค์๊ฐ ํ์ ์ ์์คํ ๋ด๋ถ์ฉ์ผ๋ก ์ฌ์ฉํ ์์๋ ์ค์๊ฐ ํ์ ์ ๋๋ค. 1. ์์์ฐ์ฅ์ ๋ณด 2. ์๊ฐ์ธ์ข ๋ชฉ์ ๋ณด 3. ์ฃผ์๊ฑฐ๋์ 4. ์๊ฐ์ฒด๊ฒฐ๋ 5. ์ ๋ฌผ์ต์ ํฉ๊ณ 6. ํฌ์์๋ณ๋งค๋งค [์ฐธ๊ณ SetRealReg() ํจ์] SetRealReg()ํจ์๋ก๋ ์ค์๊ฐ ์์ธ๋ฐ์ดํฐ ์์ ์ด ๊ฐ๋ฅํ๋ฉฐ ์์ธ์กฐํ์์ฒญ๊ณผ ๋ฐฉ๋ฒ๋ง ๋ค๋ฅผ๋ฟ ์์ ํ๋ ์ค์๊ฐ ์์ธ๋ฐ์ดํฐ ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋์ผํฉ๋๋ค ์ด ํจ์๋ ์กฐ๊ฑด๊ฒ์ ํญ๋ชฉ์์ ์ฌ์ฉ๋ฒ์ ์ค๋ช ํ๊ณ ์์ต๋๋ค.
ํ์ ์ด๋ฆ ์ค๋ช LONG CommRqData() ์กฐํ์์ฒญํจ์์ด๋ฉฐ ๋น๋ฒํ๊ฒ ์กฐํ์์ฒญํ๋ฉด ์์ธ๊ณผ๋ถํ ์๋ฌ๊ฐ์ผ๋ก -200์ด ์ ๋ฌ๋ฉ๋๋ค. void SetInputValue() ์กฐํ์์ฒญ์ TR์ Input๊ฐ์ ์ง์ ํ๋ ํจ์์ด๋ฉฐ ์กฐํ TR ์ ๋ ฅ๊ฐ์ด ๋ง์ ๊ฒฝ์ฐ ์ด ํจ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํฉ๋๋ค. BSTR CommGetData() ์ผ๋ถ TR์์ ์ฌ์ฉ์ ์ ์ฝ์ด ์์๋ฏ๋ก ์ด ํจ์ ๋์ GetCommData()ํจ์๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ๊ถ์ฅํฉ๋๋ค. void DisconnectRealData() ํ๋ฉด๋ฒํธ ์ค์ ํ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํด์งํฉ๋๋ค. LONG GetRepeatCnt() ์กฐํ์์ ํ ๋ฉํฐ๋ฐ์ดํฐ์ ๊ฐฏ์(๋ฐ๋ณต)์๋ฅผ ์ป์์ ์์ต๋๋ค. LONG CommKwRqData() ํ๋ฒ์ 100์ข ๋ชฉ์ ์กฐํํ ์ ์๋ ๊ด์ฌ์ข ๋ชฉ ์กฐํํจ์์ ๋๋ค. BSTR GetCommData() OnReceiveTRData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. BSTR GetCommRealData() OnReceiveRealData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์ค์๊ฐ๋ฐ์ดํฐ๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. VARIANT GetCommDataEx() ์กฐํ ์์ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ํฐ ์ฐจํธ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๊ฐ์ ธ์ฌ ๋ชฉ์ ์ผ๋ก ๋ง๋ ์ ์ฉํจ์์ ๋๋ค. void OnReceiveTrData() ์กฐํ์์ฒญ ์๋ต์ ๋ฐ๊ฑฐ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์์ ํ์๋ ํธ์ถ๋ฉ๋๋ค. void OnReceiveRealData() ์ค์๊ฐ ๋ฐ์ดํฐ ์์ ํ ๋๋ง๋ค ํธ์ถ๋๋ฉฐ SetRealReg()ํจ์๋ก ๋ฑ๋กํ ์ค์๊ฐ ๋ฐ์ดํฐ๋ ์ด ์ด๋ฒคํธ๋ก ์ ๋ฌ๋ฉ๋๋ค. void OnReceiveMsg() ์๋ฒํต์ ํ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค.
-
์กฐํ์์ฒญํจ์์ด๋ฉฐ ๋น๋ฒํ๊ฒ ์กฐํ์์ฒญํ๋ฉด ์์ธ๊ณผ๋ถํ ์๋ฌ๊ฐ์ผ๋ก -200์ด ์ ๋ฌ๋ฉ๋๋ค.
-
์กฐํ์์ฒญ์ TR์ Input๊ฐ์ ์ง์ ํ๋ ํจ์์ด๋ฉฐ ์กฐํ TR ์ ๋ ฅ๊ฐ์ด ๋ง์ ๊ฒฝ์ฐ ์ด ํจ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํฉ๋๋ค.
-
์ผ๋ถ TR์์ ์ฌ์ฉ์ ์ ์ฝ์ด ์์๋ฏ๋ก ์ด ํจ์ ๋์ GetCommData()ํจ์๋ฅผ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
-
ํ๋ฉด๋ฒํธ ์ค์ ํ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํด์งํฉ๋๋ค.
-
์กฐํ์์ ํ ๋ฉํฐ๋ฐ์ดํฐ์ ๊ฐฏ์(๋ฐ๋ณต)์๋ฅผ ์ป์์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด ์ฐจํธ์กฐํ๋ ํ๋ฒ์ ์ต๋ 900๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ์๋๋ฐ ์ด๋ ๊ฒ ์์ ํ ๋ฐ์ดํฐ๊ฐฏ์๋ฅผ ์ป์๋ ์ฌ์ฉํฉ๋๋ค. ์ด ํจ์๋ ๋ฐ๋์ OnReceiveTRData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ์์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
-
ํ๋ฒ์ 100์ข ๋ชฉ์ ์กฐํํ ์ ์๋ ๊ด์ฌ์ข ๋ชฉ ์กฐํํจ์์ธ๋ฐ ์์ ๋ฌธHTS [0130] ๊ด์ฌ์ข ๋ชฉ ํ๋ฉด๊ณผ๋ ์ด๋ฆ๋ง ๊ฐ์๋ฟ ์ ํ๊ด๋ จ์ด ์์ต๋๋ค. ํจ์์ธ์๋ก ์ฌ์ฉํ๋ ์ข ๋ชฉ์ฝ๋ ๋ฆฌ์คํธ๋ ์กฐํํ๋ ค๋ ์ข ๋ชฉ์ฝ๋ ์ฌ์ด์ ๊ตฌ๋ถ์';'๋ฅผ ์ถ๊ฐํด์ ๋ง๋ค๋ฉด ๋ฉ๋๋ค. ์กฐํ๋ฐ์ดํฐ๋ ๊ด์ฌ์ข ๋ชฉ์ ๋ณด์์ฒญ(OPTKWFID) Output์ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค. ์ด TR์ CommKwRqData()ํจ์ ์ ์ฉ์ผ๋ก ์์๋ก ์ฌ์ฉํ์๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
-
OnReceiveTRData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. ์ด ํจ์๋ ๋ฐ๋์ OnReceiveTRData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ์์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
-
OnReceiveRealData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์ค์๊ฐ๋ฐ์ดํฐ๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. ์ด ํจ์๋ ๋ฐ๋์ OnReceiveRealData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ์์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
-
์กฐํ ์์ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ํฐ ์ฐจํธ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๊ฐ์ ธ์ฌ ๋ชฉ์ ์ผ๋ก ๋ง๋ ์ ์ฉํจ์์ ๋๋ค.
-
์กฐํ์์ฒญ ์๋ต์ ๋ฐ๊ฑฐ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์์ ํ์๋ ํธ์ถ๋ฉ๋๋ค. ์กฐํ๋ฐ์ดํฐ๋ ์ด ์ด๋ฒคํธ๋ด๋ถ์์ GetCommData()ํจ์๋ฅผ ์ด์ฉํด์ ์ป์ด์ฌ ์ ์์ต๋๋ค.
-
์ค์๊ฐ ๋ฐ์ดํฐ ์์ ํ ๋๋ง๋ค ํธ์ถ๋๋ฉฐ SetRealReg()ํจ์๋ก ๋ฑ๋กํ ์ค์๊ฐ ๋ฐ์ดํฐ๋ ์ด ์ด๋ฒคํธ๋ก ์ ๋ฌ๋ฉ๋๋ค. GetCommRealData()ํจ์๋ฅผ ์ด์ฉํด์ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ป์์ ์์ต๋๋ค.
-
์๋ฒํต์ ํ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค. ๋ฉ์์ง์๋ 6์๋ฆฌ ์ฝ๋๋ฒํธ๊ฐ ํฌํจ๋๋๋ฐ ์ด ์ฝ๋๋ฒํธ๋ ํต๋ณด์์ด ์์๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฃผ๋ฌธ์ด๋ ์ค๋ฅ๊ด๋ จ์ฒ๋ฆฌ๋ฅผ ์ด ์ฝ๋๋ฒํธ๋ก ๋ถ๋ฅํ์๋ฉด ์๋ฉ๋๋ค.
์ด๋ฆ ์ค๋ช sScrNo ํ๋ฉด๋ฒํธ sRQName ์ฌ์ฉ์ ๊ตฌ๋ถ๋ช sTrCode TR์ด๋ฆ sMsg ์๋ฒ์์ ์ ๋ฌํ๋ ๋ฉ์ธ์ง
-
[๊ฐ์] OpenAPI๋ฅผ ์ด์ฉํ๋ฉด ๊ตญ๋ด์ฃผ์๊ณผ ์ฝ์คํผ200 ์ง์์ ๋ฌผ/์ต์ , ์ฃผ์์ ๋ฌผ์ ๊ฑฐ๋ํ ์ ์์ต๋๋ค. ์ํ๋ณ๋ก ์ ์ฉ ์ฃผ๋ฌธํจ์๊ฐ ์์ผ๋ฉฐ ๊ตญ๋ด์ฃผ์ ์ฃผ๋ฌธ์ ๊ฒฝ์ฐ SendOrderCredit()ํจ์๋ฅผ ์ด์ฉํด์ ๋์ฃผ๋ฅผ ์ ์ธํ ์ ์ฉ์ฃผ๋ฌธ๋ ์ง์ํฉ๋๋ค. ์ ์ ์ฃผ๋ฌธ์ ์์ฃผ๋ฌธ์ ๋ํ ์๋์ ์ ๊ณผ ๊ฐ๊ฒฉ์ ์ ๋ง ๊ฐ๋ฅํ๋ฉฐ ๊ฑฐ๋๊ตฌ๋ถ์ ๋ณ๊ฒฝํ๋ ์ ์ ์ฃผ๋ฌธ์ ์ง์ํ์ง ์์ต๋๋ค. [๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ] ์๊ณ ๋ ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก,์๋๋ฑ ๊ณ์ข๊ด๋ จ ์กฐํ๋ ์ฃผ๋ฌธ์ ์ ๋ฏธ๋ฆฌ ๊ณ์ข๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ์ค๋ฅ ์๋ฆผ์ฐฝ๊ณผ -301 ์ค๋ฅ์ฝ๋์์ด ์ฌ์ฉํ์ค์ ์์ต๋๋ค. ๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ์ ๊ณ์ข๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ์์๋ง ๊ฐ๋ฅํ๋ฉฐ ์ด ์ ๋ ฅ์ฐฝ์ ๋ฉ๋ด๋ ํจ์๋ก ์ถ๋ ฅํ์ค์ ์์ต๋๋ค. ๋ฉ๋ด์ด์ฉ - ๋ก๊ทธ์ธํ ํธ๋ ์ด ๋ฉ๋ด(๋ชจ๋ํฐ ์ค๋ฅธ์ชฝ ํ๋จ)์์ "๊ณ์ข๋น๋ฐ๋ฒํธ ์ ์ฅ"์ ํ ํจ์์ด์ฉ - ๋ก๊ทธ์ธํ OpenAPI.KOA_Functions(_T("ShowAccountWindow"), _T(""))ํธ์ถ [์ฃผ๋ฌธ] ์ฃผ๋ฌธ์ ๋ด๋ฉด OnReceiveTRData(), OnReceiveMsg(), OnReceiveChejan()์ด๋ฒคํธ๊ฐ ์ฐจ๋ก๋ก ํธ์ถ๋ฉ๋๋ค. ์ฃผ๋ฌธ์ฑ๊ณต ํ์ธ OnReceiveTRData()์ด๋ฒคํธ๋ ์ฃผ๋ก ์กฐํ์์ฒญํ ํธ์ถ๋๋ ํจ์์ด์ง๋ง ์ฃผ๋ฌธ์์๋ ํธ์ถ๋๋๋ฐ ์ด ์ด๋ฒคํธ๋ด๋ถ์์ ์ฃผ๋ฌธ๋ฒํธ๋ฅผ ์ป์ด์ฌ ์ ์์ต๋๋ค.๊ทธ๋ฐ๋ฐ ๋ง์ผ ์ฃผ๋ฌธ์ด ์คํจํ๊ฒ ๋๋ฉด ์ฃผ๋ฌธ๋ฒํธ๋ ๊ณต๋ฐฑ("")์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๊ฐ ์ฃผ๋ฌธํจ์์ ๋ฆฌํด๊ฐ์ด 0(์ฑ๊ณต)์ด์ฌ๋ ์ฅ ๊ฐ์์ ์ฃผ๋ฌธ, ์์ฅ๊ฐ ์ฃผ๋ฌธ์ฃผ๋ฌธ๊ฐ๊ฒฉ์ ๋ ฅ, ํธ๊ฐ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ฃผ๋ฌธ๋ฑ ๋ค์ํ ์์ธ์ผ๋ก ์ฃผ๋ฌธ์ ์คํจํ ์ ์์ต๋๋ค. ๋ณด์ ํ๊ณ ์๋ ํ๊ธ์ ๋๋ ์๋์ผ๋ก ์ฃผ๋ฌธํ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ฏธ์๋ก ๊ณ์ฐ๋๋ฏ๋ก [0398] ๊ณ์ข์ฆ๊ฑฐ๊ธ๋ฅ ๋ณ๊ฒฝ๋ฑ๋ก ํ๋ฉด์ ํตํด 100%ํ๊ธ ์ฃผ๋ฌธ๋ง ๊ฐ๋ฅํ๋๋ก ์ค์ ํ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ ์ ์ ๋น์ฉ์ ๋ํด์ ๋น์๋ฐ์๊ฐ๋ฅ ํ๋ฉฐ ์์ธํ ๋ด์ฉ์ ํด๋นํ๋ฉด ์ค๋ช ์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค. ๋ฏธ์๊ฑฐ๋๋ ์ฃผ๋ฌธ๋งค์ฒด๋ณ๋ก ์ค์ ํ ์ ์๋ ๊ฒ์ด ์๋๋ผ ๊ณ์ข๋ณ๋ก ์ค์ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ์ OpenAPI์์๋ ๊ฐ๋ฅํ ์ ์๋ ค๋๋ฆฝ๋๋ค. ๋ชจ์ํฌ์์์๋ ์ค์๋ฒ์ ๋ค๋ฅธ ์ ์ฉ ๊ณ์ข๋ฒํธ๋ฅผ ์จ์ผํ๋ฉฐ ์ฃผ๋ฌธ๊ฐ๋ฅ, ์ฃผ๋ฌธ์ ํ ์ข ๋ชฉ์ด ์๊ณ , ์ง์ ๊ฐ, ์์ฅ๊ฐ ์ฃผ๋ฌธ๋ง ๊ฐ๋ฅํฉ๋๋ค. ์ด์ธ ๋ชจ์ํฌ์ ์ด์๋ฐฉ์นจ์ ๋น์ฌ ํํ์ด์ง์์ ๊ด๋ จ๋ด์ฉ์ ์ฐธ๊ณ ํด์ฃผ์ธ์. [์ฃผ๋ฌธ์ ํ] ๊ตญ๋ด ์ฃผ์์ฃผ๋ฌธ๊ณผ ๊ตญ๋ด ์ฃผ์์ ์ฉ์ฃผ๋ฌธ, ์ ๋ฌผ์ต์ ์ฃผ๋ฌธ์ ๋ชจ๋ 1์ด๋น 5ํ๋ก ์ ํ ๋ฉ๋๋ค. [์ฃผ๋ฌธ์ฒด๊ฒฐ, ์๊ณ ] ์ฃผ๋ฌธ๊ณผ ๊ด๋ จํ ์ด๋ฒคํธ๋ OnReceiveMsg(), OnReceiveTRData(), OnReceiveChejan()์ด๋ ๊ฒ 3๊ฐ์ ๋๋ค. OnReceiveMsg()์ด๋ฒคํธ๋ ์ฃผ๋ฌธ์ฑ๊ณต, ์คํจ ๋ฉ์์ง๋ฅผ ์ฝ๋์ ํจ๊ป ์ ๋ฌํ๋ฏ๋ก ์์ธํ ๋ด์ฉ์ ํ์ ํ ์ ์์ต๋๋ค. OnReceiveTRData()์ด๋ฒคํธ๋ ์ฃผ๋ฌธํ ํธ์ถ๋๋ฉฐ ์ฃผ๋ฌธ๋ฒํธ๋ฅผ ์ป์์ ์์ต๋๋ค.๋ง์ฝ ์ด ์ด๋ฒคํธ์์ ์ฃผ๋ฌธ๋ฒํธ๋ฅผ ์ป์์ ์์ผ๋ฉด ํด๋น ์ฃผ๋ฌธ์ ์คํจํ ๊ฒ์ ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๊ฐํ OnReceiveChejan()์ด๋ฒคํธ๋ ์ฃผ๋ฌธ์ ์, ์ฒด๊ฒฐ, ์๊ณ ๋ฐ์์ ํธ์ถ๋๋ฉฐ ์ด ์ด๋ฒคํธ๋ฅผ ํตํด ๋๋ถ๋ถ์ ์ฃผ๋ฌธ๊ด๋ จ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ฃผ๋ฌธ์์ฒญ์ ๋ํ ์๋ต์ ์ฃผ๋ฌธ์ ์, ์ฃผ๋ฌธ์ฒด๊ฒฐ, ์๊ณ ์์ ์์๋ก ์งํ๋ฉ๋๋ค.์ด๋ ์ฃผ๋ฌธ๋ฒํธ๋ ์ฒ์ ์ ์?์๋ ํ๋ฒ ๋ถ์ฌ๋์ง๋ง ์ฒด๊ฒฐ๋ฒํธ๋ ์ฒด๊ฒฐ๋ ๋ ๋ง๋ค ์ฒด๋ฒ๋์ ์ ๋ฌ๋ฉ๋๋ค. ์ด์์ ๊ณผ์ ์ ๊ฐ๋จํ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฃผ๋ฌธ ---> ์ ์ ---> ์ฒด๊ฒฐ1 ---> ์๊ณ 1 ---> ์ฒด๊ฒฐ2 ---> ์๊ณ 2... ---> ์ฒด๊ฒฐn ---> ์๊ณ n ์ฃผ๋ฌธ์ ๋ํ ์์ธํ ๋ด์ฉ์ OnReceiveChejanData()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์ ๋ฌ๋๋ sGubun๊ฐ, sFidList๊ฐ์ ์ด์ฉํ๋๋ฐ sGubun๊ฐ์ ์ ์์ ์ฒด๊ฒฐ์ '0'๊ฐ, ์๊ณ ์ ๋ฌ์ '1'๊ฐ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. ์ด๊ฐ์ ๋ฐ๋ผ ';'๋ก ์ฐ๊ฒฐ๋ sFidList๊ฐ๋ ๋ฌ๋ผ์ง๋๋ฐ ์ด ๊ฐ์ ํ์ฑํด์ GetChejanData()ํจ์ํธ์ถ์ ์ธ์๋ก ์ฌ์ฉํ์๋ฉด ๋ณด๋ค ์์ธํ ๋ด์ฉ์ ์ป์ ์ ์์ต๋๋ค. [OnReceiveChejan()์ด๋ฒคํธ๋ก ์ ๋ฌ๋๋ FID๋ชฉ๋ก์ ๋ฆฌ] "9201" : "๊ณ์ข๋ฒํธ" "9203" : "์ฃผ๋ฌธ๋ฒํธ" "9001" : "์ข ๋ชฉ์ฝ๋" "913" : "์ฃผ๋ฌธ์ํ" "302" : "์ข ๋ชฉ๋ช " "900" : "์ฃผ๋ฌธ์๋" "901" : "์ฃผ๋ฌธ๊ฐ๊ฒฉ" "902" : "๋ฏธ์ฒด๊ฒฐ์๋" "903" : "์ฒด๊ฒฐ๋๊ณ๊ธ์ก" "904" : "์์ฃผ๋ฌธ๋ฒํธ" "905" : "์ฃผ๋ฌธ๊ตฌ๋ถ" "906" : "๋งค๋งค๊ตฌ๋ถ" "907" : "๋งค๋์๊ตฌ๋ถ" "908" : "์ฃผ๋ฌธ/์ฒด๊ฒฐ์๊ฐ" "909" : "์ฒด๊ฒฐ๋ฒํธ" "910" : "์ฒด๊ฒฐ๊ฐ" "911" : "์ฒด๊ฒฐ๋" "10" : "ํ์ฌ๊ฐ" "27" : "(์ต์ฐ์ )๋งค๋ํธ๊ฐ" "28" : "(์ต์ฐ์ )๋งค์ํธ๊ฐ" "914" : "๋จ์์ฒด๊ฒฐ๊ฐ" "915" : "๋จ์์ฒด๊ฒฐ๋" "919" : "๊ฑฐ๋ถ์ฌ์ " "920" : "ํ๋ฉด๋ฒํธ" "917" : "์ ์ฉ๊ตฌ๋ถ" "916" : "๋์ถ์ผ" "930" : "๋ณด์ ์๋" "931" : "๋งค์ ๋จ๊ฐ" "932" : "์ด๋งค์ ๊ฐ" "933" : "์ฃผ๋ฌธ๊ฐ๋ฅ์๋" "945" : "๋น์ผ์๋งค์์๋" "946" : "๋งค๋/๋งค์๊ตฌ๋ถ" "950" : "๋น์ผ์ด๋งค๋์์ผ" "951" : "์์๊ธ" "307" : "๊ธฐ์ค๊ฐ" "8019" : "์์ต์จ" "957" : "์ ์ฉ๊ธ์ก" "958" : "์ ์ฉ์ด์" "918" : "๋ง๊ธฐ์ผ" "990" : "๋น์ผ์คํ์์ต(์ ๊ฐ)" "991" : "๋น์ผ์คํ์์ต๋ฅ (์ ๊ฐ)" "992" : "๋น์ผ์คํ์์ต(์ ์ฉ)" "993" : "๋น์ผ์คํ์์ต๋ฅ (์ ์ฉ)" "397" : "ํ์์ํ๊ฑฐ๋๋จ์" "305" : "์ํ๊ฐ" "306" : "ํํ๊ฐ"ํ์ ์ด๋ฆ ์ค๋ช LONG SendOrder() 9๊ฐ ์ธ์๊ฐ์ ๊ฐ์ง ๊ตญ๋ด ์ฃผ์์ฃผ๋ฌธ ํจ์์ ๋๋ค. LONG SendOrderFO() ์ฝ์คํผ์ง์200 ์ ๋ฌผ์ต์ , ์ฃผ์์ ๋ฌผ ์ ์ฉ ์ฃผ๋ฌธํจ์์ ๋๋ค. LONG SendOrderCredit() ๊ตญ๋ด์ฃผ์ ์ ์ฉ์ฃผ๋ฌธ ์ ์ฉํจ์์ ๋๋ค. ๋์ฃผ๊ฑฐ๋๋ ์ง์ํ์ง ์์ต๋๋ค. BSTR GetChejanData() OnReceiveChejan()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์ฒด๊ฒฐ์ ๋ณด๋ ์๊ณ ์ ๋ณด๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. void OnReceiveChejanData() ์ฃผ๋ฌธ์์ฒญํ ์ฃผ๋ฌธ์ ์, ์ฒด๊ฒฐํต๋ณด, ์๊ณ ํต๋ณด๋ฅผ ์์ ํ ๋ ๋ง๋ค ํธ์ถ๋๋ฉฐ GetChejanData()ํจ์๋ฅผ ์ด์ฉํด์ ์์ธํ ์ ๋ณด๋ฅผ ์ป์์ ์์ต๋๋ค. void OnReceiveMsg() ์๋ฒํต์ ํ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค. void OnReceiveTrData() ์กฐํ์์ฒญ ์๋ต์ ๋ฐ๊ฑฐ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์์ ํ์๋ ํธ์ถ๋ฉ๋๋ค.
-
9๊ฐ ์ธ์๊ฐ์ ๊ฐ์ง ๊ตญ๋ด ์ฃผ์์ฃผ๋ฌธ ํจ์์ด๋ฉฐ ๋ฆฌํด๊ฐ์ด 0์ด๋ฉด ์ฑ๊ณต์ด๋ฉฐ ๋๋จธ์ง๋ ์๋ฌ์ ๋๋ค. 1์ด์ 5ํ๋ง ์ฃผ๋ฌธ๊ฐ๋ฅํ๋ฉฐ ๊ทธ ์ด์ ์ฃผ๋ฌธ์์ฒญํ๋ฉด ์๋ฌ -308์ ๋ฆฌํดํฉ๋๋ค.
-
SendOrder( BSTR sRQName, // ์ฌ์ฉ์ ๊ตฌ๋ถ๋ช BSTR sScreenNo, // ํ๋ฉด๋ฒํธ BSTR sAccNo, // ๊ณ์ข๋ฒํธ 10์๋ฆฌ LONG nOrderType, // ์ฃผ๋ฌธ์ ํ 1:์ ๊ท๋งค์, 2:์ ๊ท๋งค๋ 3:๋งค์์ทจ์, 4:๋งค๋์ทจ์, 5:๋งค์์ ์ , 6:๋งค๋์ ์ BSTR sCode, // ์ข ๋ชฉ์ฝ๋ LONG nQty, // ์ฃผ๋ฌธ์๋ LONG nPrice, // ์ฃผ๋ฌธ๊ฐ๊ฒฉ BSTR sHogaGb, // ๊ฑฐ๋๊ตฌ๋ถ(ํน์ ํธ๊ฐ๊ตฌ๋ถ)์ ์๋ ์ฐธ๊ณ BSTR sOrgOrderNo // ์์ฃผ๋ฌธ๋ฒํธ์ ๋๋ค. ์ ๊ท์ฃผ๋ฌธ์๋ ๊ณต๋ฐฑ, ์ ์ (์ทจ์)์ฃผ๋ฌธํ ์์ฃผ๋ฌธ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. )ํด๋น ํจ์๋ sRQName์ ์ํด ์ฃผ์ ๋งค๋, ์ฃผ์ ๋งค์๋ฑ์ ๊ธฐ๋ฅ์ด ๊ฒฐ์ ๋๋๊ฒ์ด ์๋, nOrderType์ธ์๋ก ์ธํด ๋ฐ๋๊ฒ๋ฉ๋๋ค.
1:์ ๊ท๋งค์, 2:์ ๊ท๋งค๋ 3:๋งค์์ทจ์, 4:๋งค๋์ทจ์, 5:๋งค์์ ์ , 6:๋งค๋์ ์
์ธ์ ๊ฐ ์ค๋ช 1 ์ ๊ท๋งค์ 2 ์ ๊ท๋งค๋ 3 ๋งค์์ทจ์ 4 ๋งค๋์ทจ์ 5 ๋งค์์ ์ 6 ๋งค๋์ ์
-
-
์ฝ์คํผ์ง์200 ์ ๋ฌผ์ต์ , ์ฃผ์์ ๋ฌผ ์ ์ฉ ์ฃผ๋ฌธํจ์์ ๋๋ค.
-
๊ตญ๋ด์ฃผ์ ์ ์ฉ์ฃผ๋ฌธ ์ ์ฉํจ์์ ๋๋ค. ๋์ฃผ๊ฑฐ๋๋ ์ง์ํ์ง ์์ต๋๋ค. ๋ชจ์ํฌ์์์๋ ์ง์ ๊ฐ ์ฃผ๋ฌธ๊ณผ ์์ฅ๊ฐ ์ฃผ๋ฌธ๋ง ๊ฐ๋ฅํฉ๋๋ค.
-
OnReceiveChejan()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ์ฒด๊ฒฐ์ ๋ณด๋ ์๊ณ ์ ๋ณด๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. ์ด ํจ์๋ ๋ฐ๋์ OnReceiveChejan()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ์์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
-
์ฃผ๋ฌธ์์ฒญํ ์ฃผ๋ฌธ์ ์, ์ฒด๊ฒฐํต๋ณด, ์๊ณ ํต๋ณด๋ฅผ ์์ ํ ๋ ๋ง๋ค ํธ์ถ๋๋ฉฐ GetChejanData()ํจ์๋ฅผ ์ด์ฉํด์ ์์ธํ ์ ๋ณด๋ฅผ ์ป์์ ์์ต๋๋ค.
-
์๋ฒํต์ ํ ์์ ํ ๋ฉ์์ง๋ฅผ ์๋ ค์ค๋๋ค. ๋ฉ์์ง์๋ 6์๋ฆฌ ์ฝ๋๋ฒํธ๊ฐ ํฌํจ๋๋๋ฐ ์ด ์ฝ๋๋ฒํธ๋ ํต๋ณด์์ด ์์๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฃผ๋ฌธ์ด๋ ์ค๋ฅ๊ด๋ จ์ฒ๋ฆฌ๋ฅผ ์ด ์ฝ๋๋ฒํธ๋ก ๋ถ๋ฅํ์๋ฉด ์๋ฉ๋๋ค.
์ด๋ฆ ์ค๋ช sScrNo ํ๋ฉด๋ฒํธ sRQName ์ฌ์ฉ์ ๊ตฌ๋ถ๋ช sTrCode TR์ด๋ฆ sMsg ์๋ฒ์์ ์ ๋ฌํ๋ ๋ฉ์ธ์ง
-
์กฐํ์์ฒญ ์๋ต์ ๋ฐ๊ฑฐ๋ ์กฐํ๋ฐ์ดํฐ๋ฅผ ์์ ํ์๋ ํธ์ถ๋ฉ๋๋ค. ์กฐํ๋ฐ์ดํฐ๋ ์ด ์ด๋ฒคํธ์์ GetCommData()ํจ์๋ฅผ ์ด์ฉํด์ ์ป์ด์ฌ ์ ์์ต๋๋ค.
-
[์กฐ๊ฑด๊ฒ์ ๊ฐ์] OpenAPI์์ ์ ๊ณตํ๋ ์กฐ๊ฑด๊ฒ์ ๊ธฐ๋ฅ์ ์์ ๋ฌธHTS์์ ์์ฑ ์กฐ๊ฑด์์ ๋ถ๋ฌ์ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ฉฐ OpenAPI์์ ์กฐ๊ฑด๊ฒ์ ์์์์ฑ์ด๋ ์์ํธ์ง์ ์ง์ํ์ง ์์ต๋๋ค. ์กฐ๊ฑด๊ฒ์ ๊ด๋ จ 6๊ฐ ํจ์์ 3๊ฐ ์ด๋ฒคํธ๊ฐ ์ ๊ณต๋๋ฉฐ ์ด๋ฅผ ์ด์ฉํด์ ์กฐ๊ฑด๊ฒ์๊ณผ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์(๋ฐ๋ณต์ ์ธ ์กฐ๊ฑด๊ฒ์ ์์ฒญ์์ด ์๋์ผ๋ก ์ ๊ท์ข ๋ชฉ ํธ์ , ์ดํ๋๋ ๊ธฐ๋ฅ)์ ์ค์ ํ ์ ์์ต๋๋ค. ์์ ๋ฌธHTS์ ๋์ผํ๊ฒ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์ ์ต๋ 10๊ฐ ์กฐ๊ฑด์๋ง ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์ผ๋ก ์์ฒญํ ์ ์๋๋ฐ ์กฐ๊ฑด๊ฒ์ ๊ฒฐ๊ณผ๊ฐ 100์ข ๋ชฉ์ ๋๊ฒ ๋๋ฉด ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์ ํ ์๊ฐ ์์ต๋๋ค. [์กฐ๊ฑด๊ฒ์ ์ ํ] ์กฐ๊ฑด๊ฒ์(์ค์๊ฐ ์กฐ๊ฑด๊ฒ์ ํฌํจ)์ ์์ธ์กฐํ์ ๊ด์ฌ์ข ๋ชฉ์กฐํ์ ํฉ์ฐํด์ 1์ด์ 5ํ๋ง ์์ฒญ ๊ฐ๋ฅํ๋ฉฐ 1๋ถ์ 1ํ๋ก ์กฐ๊ฑด๊ฒ์ ์ ํ๋ฉ๋๋ค. ์กฐ๊ฑด๊ฒ์ ์ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋จ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์. 10๊ฐ ์กฐ๊ฑด๊ฒ์์์ ํ๋ฒ์ ๋ชจ๋ ์กฐํํ๋ ํ๋ก๊ทธ๋จ์ด ์์ผ๋ฉฐ ์กฐ๊ฑด๊ฒ์๋ง ์์ฒญํ๋ค๊ณ ๊ฐ์ ํด์ ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด : 1์ด์ 5ํ๋ง ์กฐํ๊ฐ๋ฅ ๋๋ฒ์งธ ์ ํ์กฐ๊ฑด : ์กฐ๊ฑด๋ณ 1๋ถ๋น 1ํ๋ก ์ ํ(์ค์๊ฐ ์กฐ๊ฑด๊ฒ์ ์์ ์๋ ์ํฅ์์) 09:00:00 ์กฐํ ์์ 1๋ฒ๋ถํฐ 5๋ฒ ์กฐ๊ฑด์์ ์กฐํ์ฑ๊ณต(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด, ๋๋ฒ์งธ ์ ํ์กฐ๊ฑด ๋ชจ๋ ๋ง์กฑ) 6๋ฒ๋ถํฐ 10๋ฒ ์กฐ๊ฑด์์ ์กฐํ์คํจ(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด) 09:00:01 ์กฐํ ์ฌ์์(1์ดํ ์ฌ์กฐํ) 1๋ฒ๋ถํฐ 5๋ฒ ์กฐ๊ฑด์์ ์กฐํ์คํจ(๋๋ฒ์งธ ์ ํ์กฐ๊ฑด) 6๋ฒ๋ถํฐ 10๋ฒ ์กฐ๊ฑด์์ ์กฐํ์ฑ๊ณต(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด, ๋๋ฒ์งธ ์ ํ์กฐ๊ฑด ๋ชจ๋ ๋ง์กฑ) 09:01:00 ์กฐํ์์ (์ฒซ์กฐํ 1๋ถํ) 1๋ฒ๋ถํฐ 5๋ฒ ์กฐ๊ฑด์์ ์กฐํ์ฑ๊ณต(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด, ๋๋ฒ์งธ ์ ํ์กฐ๊ฑด ๋ชจ๋ ๋ง์กฑ) 6๋ฒ๋ถํฐ 10๋ฒ ์กฐ๊ฑด์์ ์กฐํ์คํจ(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด) 09:00:01 ์กฐํ ์ฌ์์(1๋ถ 1์ดํ ์ฌ์กฐํ) 1๋ฒ๋ถํฐ 5๋ฒ ์กฐ๊ฑด์์ ์กฐํ์คํจ(๋๋ฒ์งธ ์ ํ์กฐ๊ฑด) 6๋ฒ๋ถํฐ 10๋ฒ ์กฐ๊ฑด์์ ์กฐํ์ฑ๊ณต(์ฒซ๋ฒ์งธ ์ ํ์กฐ๊ฑด, ๋๋ฒ์งธ ์ ํ์กฐ๊ฑด ๋ชจ๋ ๋ง์กฑ) [์ค์๊ฐ ์กฐ๊ฑด๊ฒ์] ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์ ๊ฒฐ๊ณผ๋ก 100์ข ๋ชฉ ์ด์์ด ๊ฒ์๋๋ ์กฐ๊ฑด์์ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์ ์คํ์ด ์๋ฉ๋๋ค.๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์ ๋ชจ๋ 10๊ฐ ์กฐ๊ฑด์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ ์ด๋ฆ ์ค๋ช LONG GetConditionLoad() ์ฌ์ฉ์ ์กฐ๊ฑด๊ฒ์ ๋ชฉ๋ก์ ์๋ฒ์ ์์ฒญํฉ๋๋ค. ์กฐ๊ฑด๊ฒ์ ๋ชฉ๋ก์ ๋ชจ๋ ์์ ํ๋ฉด OnReceiveConditionVer()์ด๋ฒคํธ๊ฐ ํธ์ถ๋ฉ๋๋ค. ์กฐ๊ฑด๊ฒ์ ๋ชฉ๋ก ์์ฒญ์ ์ฑ๊ณตํ๋ฉด 1, ์๋๋ฉด 0์ ๋ฆฌํดํฉ๋๋ค. BSTR GetConditionNameList() ์๋ฒ์์ ์์ ํ ์ฌ์ฉ์ ์กฐ๊ฑด์์ ์กฐ๊ฑด๋ช ์ธ๋ฑ์ค์ ์กฐ๊ฑด์ ์ด๋ฆ์ ํ ์์ผ๋ก ํ๋ ๋ฌธ์์ด๋ค๋ก ์ ๋ฌํฉ๋๋ค. ์กฐ๊ฑด์ ํ๋๋ ์กฐ๊ฑด๋ช ์ธ๋ฑ์ค์ ์กฐ๊ฑด์ ์ด๋ฆ์ '^'๋ก ๋๋์ด์ ธ ์์ผ๋ฉฐ ๊ฐ ์กฐ๊ฑด์์ ';'๋ก ๋๋์ด์ ธ ์์ต๋๋ค. ์ด ํจ์๋ ๋ฐ๋์ OnReceiveConditionVer()์ด๋ฒคํธ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. LONG SendCondition() ์๋ฒ์ ์กฐ๊ฑด๊ฒ์์ ์์ฒญํ๋ ํจ์๋ก ๋งจ ๋ง์ง๋ง ์ธ์๊ฐ์ผ๋ก ์กฐ๊ฑด๊ฒ์๋ง ํ ๊ฒ์ธ์ง ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์๋ ํ ๊ฒ์ธ์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. void SendConditionStop() ์กฐ๊ฑด๊ฒ์์ ์ค์งํ ๋ ์ฌ์ฉํ๋ ํจ์์ ๋๋ค. ์กฐ๊ฑด์ ์กฐํํ ๋ ์ป๋ ์กฐ๊ฑด์ ์ด๋ฆ๊ณผ ์กฐ๊ฑด๋ช ์ธ๋ฑ์ค ์์ ๋ง์ถฐ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. LONG SetRealReg() ์ค์๊ฐ ์์ธ๋ฅผ ๋ฐ์ผ๋ ค๋ ์ข ๋ชฉ์ฝ๋์ FID ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํด์ ์ค์๊ฐ ์์ธ๋ฅผ ๋ฑ๋กํ๋ ํจ์์ ๋๋ค. void SetRealRemove() ์ค์๊ฐ ์์ธํด์ง ํจ์์ด๋ฉฐ ํ๋ฉด๋ฒํธ์ ์ข ๋ชฉ์ฝ๋๋ฅผ ์ด์ฉํด์ ์์ธํ๊ฒ ์ค์ ํ ์ ์์ต๋๋ค. void OnReceiveConditionVer() ์ฌ์ฉ์ ์กฐ๊ฑด์์์ฒญ์ ๋ํ ์๋ต์ ์๋ฒ์์ ์์ ํ๋ฉด ํธ์ถ๋๋ ์ด๋ฒคํธ์ ๋๋ค. void OnReceiveTrCondition() ์กฐ๊ฑด๊ฒ์ ์์ฒญ์ผ๋ก ๊ฒ์๋ ์ข ๋ชฉ์ฝ๋ ๋ฆฌ์คํธ๋ฅผ ์ ๋ฌํ๋ ์ด๋ฒคํธ์ ๋๋ค. ์ข ๋ชฉ์ฝ๋ ๋ฆฌ์คํธ๋ ๊ฐ ์ข ๋ชฉ์ฝ๋๊ฐ ';'๋ก ๊ตฌ๋ถ๋์ ์ ๋ฌ๋ฉ๋๋ค. void OnReceiveRealCondition() ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์ ์์ฒญ์ผ๋ก ์ ๊ท์ข ๋ชฉ์ด ํธ์ ๋๊ฑฐ๋ ๊ธฐ์กด ์ข ๋ชฉ์ด ์ดํ๋ ๋ ๋ง๋ค ํธ์ถ๋ฉ๋๋ค.
-
-
ํ์ ์ด๋ฆ ์ค๋ช BSTR GetCodeListByMarket() ๊ตญ๋ด ์ฃผ์ ์์ฅ๋ณ ์ข ๋ชฉ์ฝ๋๋ฅผ ';'๋ก ๊ตฌ๋ถํด์ ์ ๋ฌํฉ๋๋ค. BSTR GetMasterCodeName() ์ข ๋ชฉ์ฝ๋์ ํด๋นํ๋ ์ข ๋ชฉ๋ช ์ ์ ๋ฌํฉ๋๋ค. LONG GetMasterListedStockCnt() ์ ๋ ฅํ ์ข ๋ชฉ์ฝ๋์ ํด๋นํ๋ ์ข ๋ชฉ ์์ฅ์ฃผ์์๋ฅผ ์ ๋ฌํฉ๋๋ค. BSTR GetMasterConstruction() ์ ๋ ฅํ ์ข ๋ชฉ์ฝ๋์ ํด๋นํ๋ ์ข ๋ชฉ์ ๊ฐ๋ฆฌ๊ตฌ๋ถ(์ ์, ํฌ์์ฃผ์, ํฌ์๊ฒฝ๊ณ , ํฌ์์ํ, ํฌ์์ฃผ์ํ๊ธฐ์ข ๋ชฉ)์ ์ ๋ฌํฉ๋๋ค. BSTR GetMasterListedStockDate() ์ ๋ ฅํ ์ข ๋ชฉ์ ์์ฅ์ผ์ ์ ๋ฌํฉ๋๋ค. BSTR GetMasterLastPrice() ์ ๋ ฅํ ์ข ๋ชฉ์ ์ ์ผ๊ฐ๋ฅผ ์ ๋ฌํฉ๋๋ค. BSTR GetMasterStockState() ์ ๋ ฅํ ์ข ๋ชฉ์ ์ฆ๊ฑฐ๊ธ ๋น์จ, ๊ฑฐ๋์ ์ง, ๊ด๋ฆฌ์ข ๋ชฉ, ๊ฐ๋ฆฌ์ข ๋ชฉ, ํฌ์์ต์์ข ๋ชฉ, ๋ด๋ณด๋์ถ, ์ก๋ฉด๋ถํ , ์ ์ฉ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ ๋ฌํฉ๋๋ค. BSTR GetBranchCodeName() TR ์กฐํ์ ํ์ํ ํ์์ฌ ์ ๋ณด๋ฅผ ํ์์ฌ ์ฝ๋์ ํ์์ฌ ์ด๋ฆ์ผ๋ก ๊ตฌ์ฑํด์ ์ ๋ฌํฉ๋๋ค. BSTR GetFutureList() ์ง์์ ๋ฌผ ์ข ๋ชฉ์ฝ๋ ๋ฆฌ์คํธ๋ฅผ ';'๋ก ๊ตฌ๋ถํด์ ์ ๋ฌํฉ๋๋ค. BSTR GetActPriceList() ์ง์์ต์ ํ์ฌ๊ฐ์ 100์ ๊ณฑํด์ ์์์ ์ด ์๋ ๊ฐ์ ';'๋ก ๊ตฌ๋ถํด์ ์ ๋ฌํฉ๋๋ค. BSTR GetMonthList() ์ง์์ต์ ์๋ฌผ์ ๋ณด๋ฅผ ';'๋ก ๊ตฌ๋ถํด์ ์ ๋ฌํ๋๋ฐ ์์๋ ์ฝ 11์๋ฌผ ~ ์ฝ ์ต๊ทผ์๋ฌผ ํ ์ต๊ทผ์๋ฌผ ~ ํ ์ต๊ทผ์๋ฌผ๊ฐ ๋ฉ๋๋ค. BSTR GetOptionCode() ์ธ์๋ก ์ง์ ํ ์ง์์ต์ ์ฝ๋๋ฅผ ์ ๋ฌํฉ๋๋ค. BSTR GetOptionATM() ์ง์์ต์ ์์์ ์ ์ ๊ฑฐํ ATM๊ฐ์ ์ ๋ฌํฉ๋๋ค. ์๋ฅผ๋ค์ด ATM๊ฐ์ด 247.50 ์ธ ๊ฒฝ์ฐ 24750์ด ์ ๋ฌ๋ฉ๋๋ค. BSTR GetSFutureList() ๊ธฐ์ด์์ฐ ๊ตฌ๋ถ๊ฐ์ ์ธ์๋ก ๋ฐ์์ ์ฃผ์์ ๋ฌผ ์ข ๋ชฉ์ฝ๋, ์ข ๋ชฉ๋ช , ๊ธฐ์ด์์ฐ์ด๋ฆ์ ๊ตฌํ ์ ์์ต๋๋ค.
-
๊ตญ๋ด ์ฃผ์ ์์ฅ๋ณ ์ข ๋ชฉ์ฝ๋๋ฅผ ';'๋ก ๊ตฌ๋ถํด์ ์ ๋ฌํฉ๋๋ค. ๋ง์ผ ์์ฅ๊ตฌ๋ถ๊ฐ์ด NULL์ด๋ฉด ์ ์ฒด ์์ฅ์ฝ๋๋ฅผ ์ ๋ฌํฉ๋๋ค.
-
-
ํ์ ์ด๋ฆ ์ค๋ช BSTR KOA_Functions() ์์ธํ ๋ด์ฉ์ ํด๋ฆญ... -
KOA_Function() ํจ์๋ OpenAPI๊ธฐ๋ณธ ๊ธฐ๋ฅ์ธ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ฝ๋๋ก ๋ง๋ ํจ์์ด๋ฉฐ ๋ ๊ฐ ์ธ์๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ์ด ํจ์๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๊ณผ ํ์ํ ์ธ์๊ฐ์ ๊ณต์ง๋ฅผ ํตํด ์ ๊ณตํ ์์ ์ ๋๋ค. ------------------------------------------------------------------------------------------------------------------------------------ [KOA_Functions() ํจ์ ์ฌ์ฉ์์] 1. ๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ์ฐฝํ์ OpenAPI.KOA_Functions(_T("ShowAccountWindow"), _T(""));// ๊ณ์ข๋น๋ฐ๋ฒํธ ์ค์ ์ฐฝ์ ์ถ๋ ฅํ๋ค. 2. ์ ์์๋ฒํ์ธ OpenAPI.KOA_Functions(_T("GetServerGubun"), _T(""));// ์ ์์๋ฒ ๊ตฌ๋ถ์ ์๋ ค์ค๋ค. 1 : ๋ชจ์ํฌ์ ์ ์, ๋๋จธ์ง : ์ค์๋ฒ ์ ์ 3. ์ฃผ์์ข ๋ชฉ ์์ฅ๊ตฌ๋ถ, ์ข ๋ชฉ๋ถ๋ฅ๋ฑ ์ ๋ณด์ ๊ณต OpenAPI.KOA_Functions(_T("GetMasterStockInfo"), _T("039490")); ํธ์ถ๊ฒฐ๊ณผ๋ ์ ๋ ฅํ ์ข ๋ชฉ์ ๋ํ ๋๋ถ๋ฅ, ์ค๋ถ๋ฅ, ์ ์ข ๊ตฌ๋ถ๊ฐ์ ๊ตฌ๋ถ์๋ก ์ฐ๊ฒฐํ ๋ฌธ์์ด์ด๋ฉฐ ์ฌ๊ธฐ์ ๊ตฌ๋ถ์๋ '|'์ ';'์ ๋๋ค. ์๋ฅผ๋ค์ด OpenAPI.KOA_Functions("GetMasterStockInfo", "039490")์ ํธ์ถํ๋ฉด ์์ฅ๊ตฌ๋ถ0|๊ฑฐ๋์;์์ฅ๊ตฌ๋ถ1|์คํ์ฃผ;์ ์ข ๊ตฌ๋ถ|๊ธ์ต์ ; ์ด๋ ๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. 4. ์กฐ๊ฒ๊ฒ์ ์ข ๋ชฉ์ฝ๋์ ํ์ฌ๊ฐ ์์ (์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์ ์ฌ์ฉํ ์ ์์) ์กฐ๊ฑด๊ฒ์๊ฒฐ๊ณผ์ ์ข ๋ชฉ์ฝ๋์ ๊ทธ ์ข ๋ชฉ์ ํ์ฌ๊ฐ๋ฅผ ํจ๊ป ์์ ํ๋ ๋ฐฉ๋ฒ์ด๋ฉฐ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์์๋ ์ฌ์ฉํ ์ ์๊ณ ์ค์ง ์กฐ๊ฑด๊ฒ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. OpenAPI.KOA_Functions(_T("SetConditionSearchFlag"), _T("AddPrice")); // ํ์ฌ๊ฐ ํฌํจํ๋๋ก ์ค์ ํ์ฌ๊ฐ ํฌํจ์ผ๋ก ์ค์ ์ OnReceiveTrCondition()์ด๋ฒคํธ์ "์ข ๋ชฉ์ฝ๋1^ํ์ฌ๊ฐ1;์ข ๋ชฉ์ฝ๋2^ํ์ฌ๊ฐ2;...์ข ๋ชฉ์ฝ๋n^ํ์ฌ๊ฐn"ํ์์ผ๋ก ์ ๋ฌ๋จ OpenAPI.KOA_Functions(_T("SetConditionSearchFlag"), _T("DelPrice")); // ํ์ฌ๊ฐ ๋ฏธํฌํจ (์๋์ํ๋ก ์ ํ) ํ์ฌ๊ฐ ๋ฏธํฌํจ์ ๊ธฐ์กด์ฒ๋ผ "์ข ๋ชฉ์ฝ๋1^์ข ๋ชฉ์ฝ๋2...์ข ๋ชฉ์ฝ๋n" ํ์์ผ๋ก ์ ๋ฌ๋ฏ๋ก ์ค์ ์ ๋ฐ๋ผ ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ ธ์ผ ํ๋ฏ๋ก ์ฃผ์ํ์ ์ผ ํฉ๋๋ค ์ด ๋ฐฉ๋ฒ์ ์ค์๊ฐ ์กฐ๊ฑด๊ฒ์์์๋ ์ฌ์ฉํ ์ ์๊ณ ์์ ๋ฐ์ดํฐ์ ํ์ฌ๊ฐ๊ฐ ํฌํจ๋๋ฏ๋ก ๋ฐ์ดํฐ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ ๋ฌ๋ฆฌํด์ผ ํฉ๋๋ค 5. ์ ์ข ์ฝ๋ ํ๋ OpenAPI.KOA_Functions(_T("GetUpjongCode"), _T("0")); // ์ฅ๋ด์ ์ข ์ฝ๋์์ฒญ ๋ ๋ฒ์งธ ์ธ์๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ 0,1,2,4,7 ์ด๋ฉฐ 0:์ฅ๋ด, 1: ์ฝ์ค๋ฅ, 2:KOSPI200, 4:KOSPI100(KOSPI50), 7:KRX100 ์ด๋ฉฐ ํ์ํ ์ ์ข ์ ๊ตฌ๋ณํด์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. ํจ์๋ฐํ๊ฐ์ "์์ฅ๊ตฌ๋ถ๊ฐ,์ ์ข ์ฝ๋,์ ์ข ๋ช |์์ฅ๊ตฌ๋ถ๊ฐ,์ ์ข ์ฝ๋,์ ์ข ๋ช |...|์์ฅ๊ตฌ๋ถ๊ฐ,์ ์ข ์ฝ๋,์ ์ข ๋ช " ํ์์ ๋๋ค. ์ฆ ํ๋์ ์ ์ข ์ฝ๋๋ ์ ๋ ฅํ ์์ฅ๊ตฌ๋ถ๊ฐ๊ณผ ์ ์ข ์ฝ๋ ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ์ข ๋ช ์ด ์ผํ(,)๋ก ๊ตฌ๋ถ๋๋ฉฐ ๊ฐ ์ ์ข ์ฝ๋๋ '|'๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
-
-
๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ๋ฐ์ผ์๋ ค๋ฉด ํ์ฌ ์คํ ์ค์ธ OpenAPI OCX๋ฅผ ํ์ฌํ ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํ์ ํ ํ์ธ๋ฒํผ์ ๋๋ฌ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
๊ทธ๋๋ก ์งํ์ ๋ฒ์ ์ฒ๋ฆฌ๊ฐ ์ ์์ ์ผ๋ก ์คํ๋์ง ์์ต๋๋ค.
์์ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๊ฐ๋ฌ๋ค๋ฉด ํ์ฌ ์คํ์ค์ธ ํค์์ฆ๊ถ OpenAPI์ฐฝ์ ๋ซ๊ณ KOA Studio๋ฅผ ์ฐ ๋ค์
ํ์ผ(F)>Open API ์ ์ ๋๋ฅด๊ณ ๋ก๊ทธ์ธ์ ํ๋ฉด ์์ opstarter ๊ฒฝ๊ณ ๋ฉ์ธ์ง ๊ฐ ๋ ๋จ๊ฒ๋๋๋ฐ
๊ทธ๋ ํด๋น ๊ฒฝ๊ณ ๋ฉ์ธ์ง์ ๊ฒฝ๊ณ ์ฐฝ์ ๋ซ์ง๋ง๊ณ
KOA StudioSAํ๋ก๊ทธ๋จ ์ข ๋ฃ์ํค๊ณ ์ ์๋์จ opstarter ๊ฒฝ๊ณ ๋ฉ์ธ์ง์ ํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด๋๋ค.
ํ์ธ ๋ฒํผ์ ๋๋ฅธ ๋ค์ ์ ๋ฐ์ดํธ ๋ฒํผ์ด ๋์ค๋๋ฐ ํ์ธ ๋ฒํผ์ ๋๋ฅด๊ณ ๋ค์์์ํ๋ฉด ๋๋ค.
mfc100.dll์ด(๊ฐ) ์์ด ์ฝ๋ ์คํ์ ์งํํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ ๋ค์ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ ์์ต๋๋ค.
KOAStudio๋ฅผ ์คํํ๋ ๊ณผ์ ์ ์์ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฌ๋ค๋ฉด
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ ์ ์ฌ์ ์ ๋ค์ด๋ฐ์ OpenAPIํด๋(C:\OpenAPI)์
KOALoader.dll, KOAStudioSA.exe๋๊ฐ์ ํ์ผ์ ์ด๋์์ผ์ฃผ๋ฉด ์ ์์ ์ผ๋ก ์คํ์ด ๋๋ค.
๋๋ฒ์งธ ๋ฐฉ๋ฒ ์ ํด๋น mfc100.dll์ ๋ค์ด๋ก๋ํ๋ฉด ๋๋ค.
32๋นํธ
https://www.microsoft.com/ko-kr/download/confirmation.aspx?id=5555
64๋นํธ
https://www.microsoft.com/ko-KR/download/confirmation.aspx?id=14632
๊ฐ ์ด์์ฒด์ ๋ง๋ค ๋ค๋ฅธ URL์ ๋ค์ด๊ฐ์ ์ ์ํ ํ ๋ค์ด๋ก๋๋๋ ํ์ผ์ ์คํํ๋ฉด์ ์ค์นํด์ฃผ๋ฉด ๋๋ค.
MSVCR100.dll์ด(๊ฐ) ์์ด ์ฝ๋ ์คํ์ ์งํํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ ๋ค์ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ ์์ต๋๋ค.
ํด๋น ์๋ฌ๋ํ ์์ mfc100.dll ์๋ฌ์ ๋์ผํ๊ฒ ๋ฐ๋ผํ๋ฉด ํด๊ฒฐํ ์ ์๋ค.
QAxBase::setControl: requested control KHOPENAPI.KHOpenAPICtrl.1 could not be instantiated
QAxBase::dynamicCallHelper: Object is not initialized, or initialization failed
python PyQt ๋ชจ๋์ ์ฌ์ฉํ์ฌ KHOPENAPI.KHOpenAPICtr1.1 Active๋ฅผ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ ํด๋น ์ค๋ฅ๊ฐ ๋๋ค๋ฉด
KiwoomOpenAPI Module Install ํด๋น ๋งํฌ์ ๋ค์ด๊ฐ ํค์ Open API+ ๋ชจ๋ ๋ค์ด๋ก๋ ๋ฒํผ์ ๋๋ฌ ๋ค์ด๋ก๋ ํ๊ฑฐ๋
์ฌ์ ์ ๋ค์ด๋ก๋ํ๋ค๋ฉด OpenAPISetup.exe๋ฅผ ์คํํ์ฌ
์ ๊ฑฐ(R) ๋ฅผ ๋๋ฌ ์ค์น๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ ๋ค์ ๋ค์ OpenAPISetup.exe๋ฅผ ์คํํ๊ณ ์ค์นํ๋ฉด๋๋ค.
ModuleNotFoundError: No module named 'PyQt5'
python PyQt5๋ฅผ ์ฌ์ฉํ ๋ ModuleNotFoundError ์๋ฌ๊ฐ ๋๋ค๋ฉด cmd ๋๋ ํฐ๋ฏธ๋์ฐฝ์
pip install PyQt5
pip3 install PyQt5๋ณธ์ธ์ pip ๋ฒ์ ์ ๋ง๊ฒ PyQt5๋ฅผ ์ค์นํ๋ฉด ๋๋ค.









