{"id":219133,"date":"2014-04-17T10:51:02","date_gmt":"2014-04-17T06:51:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=219133"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=219133","title":{"rendered":"<span class=\"post_title\">\u041f\u0438\u0448\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 DLL \u0434\u043b\u044f Metastock \u0441 \u043d\u0443\u043b\u044f. \u0427\u0430\u0441\u0442\u044c 1<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\tMetastock \u2013 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0441\u0430\u043c\u0430\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u044b\u043d\u043a\u0430. \u0414\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 DLL, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u043b\u043d\u0443\u044e \u043c\u043e\u0449\u044c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a C \u0438\u043b\u0438 \u041f\u0430\u0441\u043a\u0430\u043b\u044c.<br \/>   \u0417\u0430\u043d\u044f\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \u0441 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u043c\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0439 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f: \u201c\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Metastock Developer&#8217;s Kit?\u201d (<a href=\"http:\/\/xelay.narod.ru\/mdk.html\">mdk<\/a>), \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430 Delphi, \u0442\u0430\u043c \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c MDK.<br \/>   \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0431\u0435\u043b \u0438 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Metastock (MSX DLL) \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C\/C++. \u0412\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 Visual Studio 2010.<br \/>  <a name=\"habracut\"><\/a>   <\/p>\n<h3> \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438<\/h3>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0432 MSX DLL \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Metastock\u2019\u0430. \u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 MSX DLL \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u041a\u0430\u0436\u0434\u0430\u044f \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f. <\/p>\n<p>   <b>ExtFml(\u00abDLL Name.Function Name\u00bb,arg1,\u2026,argn)<\/b>, \u0433\u0434\u0435<\/p>\n<p>  arg1\u2026argn \u2013 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (n &lt;= 9).<\/p>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0442\u0438\u043f\u043e\u0432:<br \/>   \u2022 \u041c\u0430\u0441\u0441\u0438\u0432\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Open, High, Low, Close, \u0438 \u0442.\u0434., \u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)<br \/>   \u2022 \u0427\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 5, -5, 20.55 \u0438 \u0442.\u0434.)<br \/>   \u2022 \u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u201cHello Woodpecker\u201d \u0438 \u0434\u0440.)<br \/>   \u2022 \u0418\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Simple, Triangular, \u0438 \u0442.\u0434.)<br \/>  \u041a\u0430\u043a \u0438\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0437\u0436\u0435, \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 MSX DLL \u0434\u0435\u043b\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<br \/>   \u2022 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<br \/>   \u2022 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 (\u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438). <br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f MetaStock\u2019\u043e\u043c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u043a\u0430\u043a\u0438\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043e\u043d\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442. \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 MetaStock\u2019\u0430. \u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435 MSXStruc.h. \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0439 DLL.<br \/>   \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 MSX-\u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438), \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b M\u0435\u0442\u043e\u0441\u0442\u043e\u043a \u043c\u043e\u0433 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u0448\u0435\u0439 DLL. \u0418\u0445 \u0447\u0435\u0442\u044b\u0440\u0435:<br \/>   \u2022 MSXInfo \u2014 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0412\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043d\u0430\u0448\u0430 DLL MSX DLL \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0435\u0439 (\u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432\u0435\u0440\u0441\u0438\u044f).<br \/>   \u2022 MSXNthFunction \u2014 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 MSXInfo \u0438 \u043d\u0443\u043c\u0435\u0440\u0443\u0435\u0442, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043d\u0443\u043b\u044f \u043d\u0430\u0448\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (c \u0443\u0447\u0435\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430), \u0438\u0445 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443 \u043a\u0430\u0436\u0434\u043e\u0439.<br \/>   \u2022 MSXNthArg \u2013 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0435\u0441\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b. \u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br \/>   \u2022 MSXNthCustomString \u2013 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0435\u0441\u0442\u044c custom-\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u0435\u043e\u0440\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0432\u043e\u0439 DLL. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0446\u0435\u043d, \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f \u0432 \u043d\u0430\u0448 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440.<\/p>\n<h3>\u041f\u0438\u0448\u0435\u043c \u043a\u043e\u0434<\/h3>\n<p>   \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c VS 2010. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0443\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442.<br \/>  File-&gt;New-&gt;Project-&gt;Other Languages-&gt;Visual C++-&gt;Win32-&gt;Win32 Console Application. <br \/>  \u0417\u0430\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (\u043f\u0443\u0441\u0442\u044c UsePrice) \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c OK.\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f Win32 Application Wizard.<br \/>  Next-&gt; \u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0433\u0430\u043b\u043e\u0447\u043a\u0438 \u043d\u0430 DLL \u0438 Empty project, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Finish. \u041f\u0443\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u043d. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u0433\u043e \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430 <i>UsePrice.cpp, UsePrice.def, MSXStruc.h<\/i>. \u041f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443 Add-&gt;New Item\u2026, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \u0438 \u0437\u0430\u0434\u0430\u0435\u043c \u0435\u043c\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0438\u043c\u044f. \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Add.<br \/>   \u0412 \u0444\u0430\u0439\u043b\u0435 <em>UsePrice.cpp<\/em> \u043f\u0438\u0448\u0435\u043c \u043d\u0430\u0448 \u043a\u043e\u0434. <\/p>\n<p>  \/*<br \/>   \u2014 <b>\u0428\u0430\u0433 1 \u2013 \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438<\/b>   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 #include \u0434\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u2014 <br \/>   \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u0442\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0430\u043c\u0430 \u044d\u0442\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430.<br \/>   \u0418\u043c\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0432 \u0434\u0432\u043e\u0439\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0438\u043b\u0438 \u0432 \u0443\u0433\u043b\u043e\u0432\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438.<\/p>\n<p>   \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 C  <\/div>\n<\/div>\n<p>  *\/  <\/p>\n<pre><code class=\"cpp\">#include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;float.h&gt; #include &lt;tchar.h&gt;  \/\/ \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c - \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 MSX Data Structures (\u0441\u043c. \u0444\u0430\u0439\u043b MSXStruc.h).  #include &quot;MSXStruc.h&quot; <\/code><\/pre>\n<p>  \/*<br \/>   \u2014 <b>\u0428\u0430\u0433 2 \u2013 \u042d\u043a\u0441\u043f\u043e\u0440\u0442<\/b>    <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438<\/b><\/p>\n<div class=\"spoiler_text\"> \u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 #define \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, <br \/>   \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0438 \u0435\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 <br \/>   \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0435\u043c \u043c\u0430\u043a\u0440\u043e\u0441\u0430, \u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 <br \/>   \u0437\u0430\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043c\u0430\u043a\u0440\u043e\u0441\u0430. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u0438\u0434 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b <br \/>  \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<p>  #define \u0438\u043c\u044f_\u043c\u0430\u043a\u0440\u043e\u0441\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c_\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u0447\u043a\u0430 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439. \u041c\u0435\u0436\u0434\u0443 <br \/>  \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <br \/>  \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432. \u041c\u0430\u043a\u0440\u043e\u0441 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c TRUE \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 1, a FALSE \u0434\u043b\u044f 0, <br \/>  \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0432\u0430 \u043c\u0430\u043a\u0440\u043e\u0441\u0430:<\/p>\n<p>  #define TRUE 1<br \/>   #define FALSE 0<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b TRUE \u0438\u043b\u0438 FALSE, \u0442\u043e <br \/>  \u043e\u043d \u0437\u0430\u043c\u0435\u043d\u0438\u0442 \u0438\u0445 \u043d\u0430 1 \u0438 0 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<br \/>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432 \u043a\u043e\u0434\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f DLL_EXPORT, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u0430\u043a\u0440\u043e\u0441<\/p>\n<p>  extern \u00abC\u00bb __declspec(dllexport)<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u043f\u0440\u044f\u0433\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 C++ \u0441 C, \u0433\u0434\u0435 name mangling \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0432\u0432\u0435\u0434\u0435\u043d\u043e<br \/>  extern \u00abC\u00bb, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0438\u043c\u0435\u043d \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445\/\u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br \/>  extern \u00abC\u00bb \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <br \/>  (\u0432 \u0441\u0442\u0438\u043b\u0435 \u044f\u0437\u044b\u043a\u0430 \u0421) \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 <br \/>  \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 C++ \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u00ab\u0434\u0435\u043a\u043e\u0440\u0430\u0446\u0438\u044e\u00bb \u0438\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 <br \/>  \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0432 DLL.<br \/>  \u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f dllexport \u2014 \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u043b\u044f Microsoft \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 <br \/>  \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 <br \/>  \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 DLL. <br \/>   __declspec( dllexport ) declarator<br \/>  \u042d\u0442\u043e\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u044f\u0432\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 DLL \u0434\u043b\u044f \u0435\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <br \/>  \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 DLL. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043a\u0430\u043a <br \/>  dllexport \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f (DEF), \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 <br \/>  \u043c\u0435\u0440\u0435, \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.   <\/div>\n<\/div>\n<p>  *\/  <\/p>\n<pre><code class=\"cpp\">#define DLL_EXPORT extern &quot;C&quot; __declspec(dllexport) <\/code><\/pre>\n<p>  \/*<br \/>   \u2014 <b>\u0428\u0430\u0433 3 \u2013 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/b>   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445<br \/>  MSX-\u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b M\u0435\u0442\u043e\u0441\u0442\u043e\u043a \u043c\u043e\u0433 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0448\u0435\u0439 DLL. <br \/>  \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <br \/>  MSXNthArg \u0438 MSXNthCustomString \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f.<\/p>\n<p>  MSXInfo <br \/>  \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u0435 &lt;VS 2010 C++ MSX DLL, Copyright \u00a9 Pretzel, 2014&gt; \u0432\u0430\u0448\u0435\u0439 <br \/>  \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e\u0431 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 = 1.<br \/>  strncpy (strDest,strSource,count) \u2014 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e.<br \/>   \u2022 strDest \u2014 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<br \/>   \u2022 strSource \u2014 \u0438\u0441\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430.<br \/>   \u2022 count \u2014 \u0447\u0438\u0441\u043b\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  strncpy \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a &lt;string.h&gt;.<br \/>  \u041d\u0430 strncpy \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 VS C++ \u0432\u044b\u0434\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <br \/>  strncpy_s (\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u2014 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u043c\u043e\u0433\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e).   <\/div>\n<\/div>\n<p>  *\/  <\/p>\n<pre><code class=\"cpp\">DLL_EXPORT BOOL __stdcall MSXInfo (MSXDLLDef *a_psDLLDef) {     strncpy (a_psDLLDef-&gt;szCopyright, &quot;VS 2010 C++ MSX DLL, Copyright (c) Pretzel, 2014&quot;, sizeof(a_psDLLDef-&gt;szCopyright)-1);     a_psDLLDef-&gt;iNFuncs = 1;  \/\/ \u0447\u0438\u0441\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439.     a_psDLLDef-&gt;iVersion = MSX_VERSION; \/\/ \u0432\u0435\u0440\u0441\u0438\u044f     return MSX_SUCCESS; } <\/code><\/pre>\n<p>   \/*    <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438<\/b><\/p>\n<div class=\"spoiler_text\">  MSXNthFunction <br \/>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 a_sFuncDef-&gt;szFunctionName \u0434\u043e\u043b\u0436\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c<br \/>  \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430.<br \/>  \u0418\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<br \/>   \u2022 Name \u2014 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br \/>   \u2022 Description \u2014 \u0442\u043e, \u043a\u0430\u043a \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u0432 Metastock&#8217;\u0435 (\u0432 \u043e\u043a\u043d\u0435 &#8216;Paste Functions&#8217;).<br \/>   \u2022 Arguments \u2014 \u0447\u0438\u0441\u043b\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br \/>  \u041d\u0430 strcpy \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 VS C++ \u0432\u044b\u0434\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c strcpy_s <br \/>  (\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u2014 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u043c\u043e\u0433\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e).   <\/div>\n<\/div>\n<p>  *\/  <\/p>\n<pre><code class=\"cpp\">DLL_EXPORT BOOL __stdcall MSXNthFunction (int a_iNthFunc, MSXFuncDef *a_psFuncDef) {    BOOL l_bRtrn = MSX_SUCCESS;  \tswitch (a_iNthFunc) \t{ \t\tcase 0: \t\tstrcpy (a_psFuncDef-&gt;szFunctionName, &quot;Price&quot;); \t\tstrcpy (a_psFuncDef-&gt;szFunctionDescription, &quot;FirstFunction&quot;); \t\ta_psFuncDef-&gt;iNArguments = 0; \/\/ \u0447\u0438\u0441\u043b\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \t\tbreak;                                   \t\tdefault: \t\t\tl_bRtrn = MSX_ERROR; \t\tbreak; \t}   return l_bRtrn; } <\/code><\/pre>\n<p>  \/*<br \/>   \u2014 <b>\u0428\u0430\u0433 4 \u2013 \u041d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f<\/b><\/p>\n<p>  *\/  <\/p>\n<pre><code class=\"cpp\">DLL_EXPORT BOOL __stdcall Price(const MSXDataRec *a_psBasic,  \t\t\t\t\t            const MSXDataInfoRecArgsArray *a_psArrayArgs, \t\t\t\t\t            const MSXNumericArgsArray *a_psNumericArgs,  \t\t\t\t\t            const MSXStringArgsArray *a_psStringArgs,  \t\t\t\t\t            const MSXCustomArgsArray *a_psCustomArgs,   \t\t\t\t\t            MSXResultRec *a_psResult)  {     \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0448 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 Close      for (int i= a_psBasic -&gt;sClose.iFirstValid; i&lt;= a_psBasic -&gt;sClose.iLastValid; i++)         a_psResult-&gt;psResultArray-&gt;pfValue[ i ] = a_psBasic -&gt;sClose.pfValue[ i ]; \/\/ \u0417\u0430\u043c\u0435\u043d\u0438\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430: \/\/     a_psResult-&gt;psResultArray-&gt;pfValue[ i ] = float (a_psBasic -&gt;psDate[i].lDate); \/\/ \u0438\u043b\u0438 \/\/     a_psResult-&gt;psResultArray-&gt;pfValue[ i ] = float (a_psBasic -&gt;psDate[i].lTime);  \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u0430\u0442\u0443 \u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u044f.      return MSX_SUCCESS; }  <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435 <em>UsePrice.def<\/em> \u0432\u0432\u0435\u0434\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">LIBRARY UsePrice EXPORTS   MSXInfo   MSXNthFunction   Price  <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c <em>MSXStruc.h<\/em> \u043a\u043e\u0434\u043e\u043c.   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">MSXStruc.h<\/b><\/p>\n<div class=\"spoiler_text\">  <\/p>\n<pre><code class=\"cpp\">#ifndef MSX_Structures_h #define MSX_Structures_h  \/*   Structures required for MetaStock External Function DLL interface *\/  #ifndef BOOL typedef int BOOL; #endif  #ifndef TRUE #define TRUE 1 #endif  #ifndef FALSE #define FALSE 0 #endif  \/\/ -------------------------------------------------------------------------- \/\/ Return this DLL version constant \/\/ -------------------------------------------------------------------------- const int MSX_VERSION = 1;  \/\/ -------------------------------------------------------------------------- \/\/ Maximum number of aguments \/\/ -------------------------------------------------------------------------- const int MSX_MAXARGS = 9;  \/\/ -------------------------------------------------------------------------- \/\/ Maximum string size (does not include MSXString arguments passed in to \/\/   external functions). \/\/ -------------------------------------------------------------------------- const int MSX_MAXSTRING = 100;  \/\/ -------------------------------------------------------------------------- \/\/ The following two BOOL return values are returned from MSX functions \/\/ -------------------------------------------------------------------------- const BOOL MSX_SUCCESS = FALSE; const BOOL MSX_ERROR = TRUE;  \/\/ ---------------------------------------------------------------------------------------- \/\/ There are four potential argument types \/\/ ---------------------------------------------------------------------------------------- const int MSXDataArray = 0; const int MSXNumeric   = 1; const int MSXString    = 2; const int MSXCustom    = 3;   \/\/ ---------------------------------------------------------------------------------------- \/\/ The following structure is used by the exported function MSXInfo \/\/ ---------------------------------------------------------------------------------------- typedef struct  { \tchar szCopyright[MSX_MAXSTRING]; \tint  iNFuncs; \tint  iVersion; } MSXDLLDef;  \/\/ ---------------------------------------------------------------------------------------- \/\/ The following structure is used by the exported function MSXNthFunction \/\/ ---------------------------------------------------------------------------------------- typedef struct  { \tchar  szFunctionName[MSX_MAXSTRING]; \tchar  szFunctionDescription[MSX_MAXSTRING]; \tint   iNArguments; } MSXFuncDef;  \/\/ ---------------------------------------------------------------------------------------- \/\/ The following structure is used by the exported function MSXNthArg \/\/ ---------------------------------------------------------------------------------------- typedef struct  { \tint   iArgType;  \t\t\/\/  argtype constants: \t\t\/\/   0 DataArray \t\t\/\/   1 Numeric \t\t\/\/   2 String \t\t\/\/   3 CustomType \tchar  szArgName[MSX_MAXSTRING]; \tint   iNCustomStrings; } MSXFuncArgDef;  \/\/ ---------------------------------------------------------------------------------------- \/\/ The following structure is used by the exported function MSXNthCustomString \/\/ ---------------------------------------------------------------------------------------- typedef struct { \tchar  szString[MSX_MAXSTRING]; \tint   iID; } MSXFuncCustomString;  \/\/ ---------------------------------------------------------------------------------------- \/\/ the following datastructures are passed into and out of the user-written external \/\/ calculation functions. \/\/ ---------------------------------------------------------------------------------------- typedef struct  { \tlong lDate; \tlong lTime; } MSXDateTime;  typedef struct { \tfloat *pfValue; \tint   iFirstValid; \tint   iLastValid; } MSXDataInfoRec;    typedef struct  { \tMSXDateTime     *psDate; \tMSXDataInfoRec  sOpen; \tMSXDataInfoRec  sHigh; \tMSXDataInfoRec  sLow; \tMSXDataInfoRec  sClose; \tMSXDataInfoRec  sVol; \tMSXDataInfoRec  sOI; \tMSXDataInfoRec  sInd; \tchar            *pszSecurityName; \/\/ Security Name \tchar            *pszSymbol;       \/\/ Security Symbol \tchar            *pszSecurityPath; \/\/ Path where security is stored (may be in UNC format) \tchar            *pszOnlineSource; \/\/ Unused - reserved for future use... \tint             iPeriod;          \/\/ 'D'aily, 'W'eekly, 'M'onthly, 'Q'uarterly, 'I'ntraday \tint             iInterval;        \/\/ For period='I'ntraday only. 0=tick, other value = minutes compression. \tint             iStartTime;       \/\/ HHMM format. Undefined for non-intraday period. \tint             iEndTime;         \/\/ HHMM format. Undefined for non-intraday period. \tint             iSymbolType;      \/\/ Unused - reserved for future use } MSXDataRec;  typedef struct {\t\t\t\t                                \/\/ possible for MSX_MAXARGS data arrays  \tMSXDataInfoRec *psDataInfoRecs[MSX_MAXARGS];  \/\/ pointers to the data arrays \tint            iNRecs;                        \/\/ number of arrays present (just a sanity check) } MSXDataInfoRecArgsArray;    typedef struct { \tfloat fNumerics[MSX_MAXARGS]; \/\/ possible for MSX_MAXARGS numerics \tint   iNRecs;                 \/\/ also a sanity check - func knows how many there should be. } MSXNumericArgsArray;    typedef struct { \tchar *pszStrings[MSX_MAXARGS]; \/\/ possible for MSX_MAXARGS strings \tint  iNRecs;                   \/\/ ditto the above } MSXStringArgsArray;  typedef struct { \tint   iCustomIDs[MSX_MAXARGS]; \/\/ numeric ID associated with a custom arg \tint   iNRecs;                  \/\/ ditto the above } MSXCustomArgsArray;    typedef struct { \tMSXDataInfoRec *psResultArray;     \/\/ Pointer to result array \tchar           szExtendedError[MSX_MAXSTRING];  \/\/ Extended Error string } MSXResultRec;  #endif  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412 Visual Studio \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Build -&gt; Build Solution (F6) \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430\u0448\u0443 DLL. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 \u2018External Function DLLs\u2019 \u0432 Metastock\u2019e \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u041d\u0430\u0448 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p>  <b>ExtFml(\u00abUsePrice.Price\u00bb)<\/b><\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430\u0448\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u0441\u0440\u0435\u0434\u0443. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/219133\/\"> http:\/\/habrahabr.ru\/post\/219133\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\tMetastock \u2013 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0441\u0430\u043c\u0430\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u044b\u043d\u043a\u0430. \u0414\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 DLL, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u043b\u043d\u0443\u044e \u043c\u043e\u0449\u044c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a C \u0438\u043b\u0438 \u041f\u0430\u0441\u043a\u0430\u043b\u044c.<br \/>   \u0417\u0430\u043d\u044f\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \u0441 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u043c\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0439 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f: \u201c\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Metastock Developer&#8217;s Kit?\u201d (<a href=\"http:\/\/xelay.narod.ru\/mdk.html\">mdk<\/a>), \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430 Delphi, \u0442\u0430\u043c \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c MDK.<br \/>   \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0431\u0435\u043b \u0438 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Metastock (MSX DLL) \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C\/C++. \u0412\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 Visual Studio 2010.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-219133","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/219133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=219133"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/219133\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=219133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=219133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=219133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}