Ejemplo n.º 1
0
        public static ReviewFile ParsingReviewFileData(string a_sFileName)
        {
            if (IsMatchingReviewFileFormat(a_sFileName) == false)
            {
                return(null);
            }

            ReviewFile reviewData = new ReviewFile();

            var arName = a_sFileName.Split(chNameSeperator);
            int nLen   = arName.Length;

            // 파일명에 @가 포함되있을 경우를 고려해 마지막부터 파싱
            // 구분자 이후 마지막 문자열 : 확장자 + 마지막 복습일
            string s = arName[nLen - 1];

            reviewData.m_sReviewDate = System.IO.Path.GetFileNameWithoutExtension(s);
            reviewData.m_sExtension  = System.IO.Path.GetExtension(s);

            // 그 이전 문자열 : 공부 시작일
            s = arName[nLen - 2];
            reviewData.m_sStartDate = s;

            // 그 이전 : 공부한 횟수
            s = arName[nLen - 3];
            reviewData.m_nStudyCount = int.Parse(s);

            // 파일명
            s = arName[nLen - 4];
            reviewData.m_sName_NoExt = s;

            return(reviewData);
        }
Ejemplo n.º 2
0
        public static string GetReviewFileName(ReviewFile a_refData)
        {
            if (a_refData == null)
            {
                Define.LogError("arg error"); return(string.Empty);
            }

            StringBuilder s = new StringBuilder();

            s.Append(System.IO.Path.GetFileNameWithoutExtension(a_refData.m_sName_NoExt));
            s.Append(chNameSeperator);
            s.Append(string.Format("{0:0000}", a_refData.m_nStudyCount));
            s.Append(chNameSeperator);
            s.Append(a_refData.m_sStartDate);
            s.Append(chNameSeperator);
            s.Append(a_refData.m_sReviewDate);
            s.Append(a_refData.m_sExtension);

            return(s.ToString());
        }