SDC C-Project CF Review 프로그램
LYW
2021-07-29 bd13fa3f9396f1f681759f4623c55d5f91d74a9c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#pragma once
 
#include <vector>
#include <string>
 
class CakParser
{
public:
    CakParser(void)
    {
        m_pSrcText = NULL;
    };
    virtual ~CakParser(void){};
 
    void process(const char* pText, const char* pToken = " \r\n\t,^");
    
    const char* getTokStr(int nIndex);
    bool getTokStr(int nTokIndex, char* pBuf, int nLen);
    
    int getTokNum(){return (int)m_vecTokPos.size();};
    
    int getTokPos(int nIndex){return m_vecTokPos[nIndex];};
    int getTokLen(int nIndex){return m_vecTokLen[nIndex];};
 
 
protected:
    const char* m_pSrcText;
    std::vector<int> m_vecTokPos;
    std::vector<int> m_vecTokLen;
    std::string m_strTokBuffer;
};
 
struct _akCellData 
{
    int nRow, nCol;
 
    std::string m_strText;
 
    
};
 
struct _akCell_Row
{
    std::vector<_akCellData> m_vecGridCellData;
};
 
class CakTextMatrix
{
public:
    CakTextMatrix(void);
    virtual ~CakTextMatrix(void);
 
 
public:
    bool ImportFile(char* pFileName); //ÆÄÀÏ¿¡¼­ Àд ¹æ½Ä ÅÂÇö[2018/4/18]
    bool ImportText(char* pText); //¿©·¯ÁÙÀÇ µ¥ÀÌÅ͸¦ Çѹø¿¡ ¹Þ´Â ¹æ½Ä.  ÅÂÇö[2018/4/18]
 
    bool ExportFile(char* pFileName, char* pDevideFlag=",");
    bool ExportFileInterval(char* pFileName, char* pIntervalRef);
 
    void setDevideFlag(char* pFlag = " \r\n\t,^");
    void setIntervalRef(char* pIntervalRef);
public:
    bool AddRowData(char* pTextData);
    bool printLine(int nRowIndex, char* pBuf, int nLen, char* pDevideFlag=",");
    bool printLineInterval(int nRowIndex, char* pBuf, int nLen);
 
public:
    void setRowCount(int nNum=10, bool bIncrease = false);
    void setColCount(int nNum=10, bool bIncrease = false);
    int getRowCount(){return m_nRowsNum;};
    int getColCount(){return m_nColsNum;};
 
    int getRowIndex(char* pTitle);
    int getColIndex(char* pTitle);
 
public:
    void setItemText(int nRow, int nCol, const char* pText);
    const char* getItemText(int nRow, int nCol);
 
public:
    virtual void printOut();//µ¥ÀÌÅÍ ³»¿ë Trace¿¡ Ãâ·Â
    
protected:
    void makeCellItemArray(); //µ¥ÀÌÅÍ¿¡ ºü¸£°Ô Á¢±ÙÇϱâ À§ÇÑ Àü󸮠ÅÂÇö[2017/12/6]
 
 
protected:
    std::string m_strDevideFlag;
    std::vector<_akCell_Row> m_vecCellData_Row; //¼¿ÀÇ ½ÇÁ¦ Á¤º¸¸¦ °ü¸®
    std::vector<_akCellData*> m_vecCellItem; //ºü¸£°Ô Á¢±ÙÇϱâ À§Çؼ­ NxNÇüÅÂÀÇ Cell ÀÚ·áÀÇ Æ÷ÀÎÆ®¸¸ °ü¸®
    int m_nRowsNum, m_nColsNum;
 
    int m_nIntervalLength;
    std::vector<int> m_vecIntervalPos;
    
};