📄 cppdyer.cpp.htm
字号:
<HTML><BODY><FONT FACE="COURIER NEW">0000 <FONT COLOR="GRAY"><B>// CppDyer.cpp: implementation of the CppDyer class.</B></FONT><br>
0001 <FONT COLOR="GRAY"><B>//</B></FONT><br>
0002 <FONT COLOR="GRAY"><B>//////////////////////////////////////////////////////////////////////</B></FONT><br>
0003 <br>
0004 <FONT COLOR="GREEN">#include "stdafx.h"</FONT><br>
0005 <FONT COLOR="GREEN">#include <windows.h></FONT><br>
0006 <FONT COLOR="GREEN">#include "CppDyer.h"</FONT><br>
0007 <br>
0008 <FONT COLOR="GRAY"><B>//////////////////////////////////////////////////////////////////////</B></FONT><br>
0009 <FONT COLOR="GRAY"><B>// Construction/Destruction</B></FONT><br>
0010 <FONT COLOR="GRAY"><B>//////////////////////////////////////////////////////////////////////</B></FONT><br>
0011 <br>
0012 <FONT COLOR="BLUE">static</FONT> <FONT COLOR="BLUE">const</FONT> <FONT COLOR="BLUE">int</FONT> <FONT COLOR="BLACK"><I>MAX_BUFFER_SIZE</I></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="RED"><I>32</I></FONT><FONT COLOR="BLUE"><B>*</B></FONT><FONT COLOR="RED"><I>1024</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0013 <br>
0014 <FONT COLOR="BLUE">using</FONT> <FONT COLOR="BLUE">namespace</FONT> <FONT COLOR="BLACK"><I>std</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0015 <FONT COLOR="BLUE">using</FONT> <FONT COLOR="BLUE">namespace</FONT> <FONT COLOR="BLACK"><I>CppParser</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0016 <br>
0017 <FONT COLOR="BLUE">void</FONT> <FONT COLOR="BLACK"><I>CppDyer</I></FONT><FONT COLOR="BLUE"><B>::</B></FONT><FONT COLOR="BLACK"><I>getBaseSettings</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE">string</FONT> <FONT COLOR="BLACK"><I>iniFileName</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0018 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0019 <FONT COLOR="BLUE">string</FONT> <FONT COLOR="BLACK"><I>tagNames</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="BLUE"><B>{</B></FONT><FONT COLOR="RED"><U>"GLOBAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"PPKEYWORD"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"KEYWORD"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"IDENTIFIER"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"WHITESPACE"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"LINEFEED"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"DELIMITER"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"OPERATOR"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><br>
0020 <FONT COLOR="RED"><U>"SINGLELINECOMMENT"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"STRINGLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"CHARLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"DECNUMBERLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"HEXNUMBERLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"OCTNUMBERLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><br>
0021 <FONT COLOR="RED"><U>"FLOATNUMBERLITERAL"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>"BLOCKCOMMENT"</U></FONT><FONT COLOR="BLUE"><B>}</B></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0022 <FONT COLOR="BLUE">int</FONT> <FONT COLOR="BLACK"><I>tagIDs</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="BLUE"><B>{</B></FONT><FONT COLOR="BLACK"><I>INVALID</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>PPKEYWORD</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>KEYWORD</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>IDENTIFIER</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>WHITESPACE</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>LINEFEED</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>DELIMITER</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>OPERATOR</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><br>
0023 <FONT COLOR="BLACK"><I>SINGLELINECOMMENT</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>STRINGLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>CHARLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>DECNUMBERLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>HEXNUMBERLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>OCTNUMBERLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><br>
0024 <FONT COLOR="BLACK"><I>FLOATNUMBERLITERAL</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>BLOCKCOMMENT</I></FONT><FONT COLOR="BLUE"><B>}</B></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0025 <FONT COLOR="BLUE">char</FONT> <FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>MAX_BUFFER_SIZE</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0026 <FONT COLOR="BLUE">for</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE">int</FONT> <FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="RED"><I>0</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B><</B></FONT><FONT COLOR="BLUE">sizeof</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>tagIDs</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>/</B></FONT><FONT COLOR="BLUE">sizeof</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE"><B>*</B></FONT><FONT COLOR="BLACK"><I>tagIDs</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>;</B></FONT><FONT COLOR="BLUE"><B>++</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0027 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0028 <FONT COLOR="BLUE">if</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>GetPrivateProfileString</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="RED"><U>"settings"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>tagNames</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>+</B></FONT><FONT COLOR="RED"><U>"_prefix"</U></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>.</B></FONT><FONT COLOR="BLACK"><I>c_str</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>""</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>MAX_BUFFER_SIZE</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>iniFileName</I></FONT><FONT COLOR="BLUE"><B>.</B></FONT><FONT COLOR="BLACK"><I>c_str</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>!=</B></FONT><FONT COLOR="RED"><I>0</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0029 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0030 <FONT COLOR="BLUE">if</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="RED"><I>0</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0031 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0032 <FONT COLOR="BLACK"><I>mPrefix</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>tagIDs</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0033 <FONT COLOR="BLUE"><B>}</B></FONT><br>
0034 <FONT COLOR="BLUE"><B>}</B></FONT><br>
0035 <FONT COLOR="BLUE">if</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>GetPrivateProfileString</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="RED"><U>"settings"</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>tagNames</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>+</B></FONT><FONT COLOR="RED"><U>"_suffix"</U></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>.</B></FONT><FONT COLOR="BLACK"><I>c_str</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="RED"><U>""</U></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>MAX_BUFFER_SIZE</I></FONT><FONT COLOR="BLUE"><B>,</B></FONT><FONT COLOR="BLACK"><I>iniFileName</I></FONT><FONT COLOR="BLUE"><B>.</B></FONT><FONT COLOR="BLACK"><I>c_str</I></FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><FONT COLOR="BLUE"><B>!=</B></FONT><FONT COLOR="RED"><I>0</I></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0036 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0037 <FONT COLOR="BLUE">if</FONT><FONT COLOR="BLUE"><B>(</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="RED"><I>0</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>)</B></FONT><br>
0038 <FONT COLOR="BLUE"><B>{</B></FONT><br>
0039 <FONT COLOR="BLACK"><I>mSuffix</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>tagIDs</I></FONT><FONT COLOR="BLUE"><B>[</B></FONT><FONT COLOR="BLACK"><I>i</I></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>]</B></FONT><FONT COLOR="BLUE"><B>=</B></FONT><FONT COLOR="BLACK"><I>s</I></FONT><FONT COLOR="BLUE"><B>;</B></FONT><br>
0040 <FONT COLOR="BLUE"><B>}</B></FONT><br>
0041 <FONT COLOR="BLUE"><B>}</B></FONT><br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -