|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
struct FileTransformationInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
LPCTSTR fileNamesSelected; //Ҫת<D2AA><D7AA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD><D0B1><EFBFBD>ʹ<EFBFBD>÷ֺŷָ<C5B7><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int kindOfoutputDirectory; //0--Դ<><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ 1--ָ<><D6B8>Ŀ¼
|
|
|
|
|
|
LPCTSTR outputDirectorySpecified;
|
|
|
|
|
|
int format; //Ŀ<><C4BF><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
|
|
|
|
|
|
int bMark;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õķ<C3B5><C4B7><EFBFBD>
|
|
|
|
|
|
int bClassification;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
FileTransformationInfo * Copy();
|
|
|
|
|
|
};
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
class CSigmaDoc;
|
|
|
|
|
|
class FileTransformer
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
enum RESULT
|
|
|
|
|
|
{
|
|
|
|
|
|
RESULT_OK = 0,
|
|
|
|
|
|
RESULT_INNER_OBJECT_NULL,
|
|
|
|
|
|
RESULT_OUTPUT_DIRECTORY_NULL,
|
|
|
|
|
|
RESULT_OUTPUT_VALUE_ERROR,
|
|
|
|
|
|
RESULT_OUTPUT_OUTPUT_PATH_ERROR,
|
|
|
|
|
|
RESULT_OUTPUT_INPUT_FILES_EMPTY,
|
|
|
|
|
|
RESULT_FORAMT_ERROR
|
|
|
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
|
|
|
FileTransformer(CSigmaDoc * pDoc);
|
|
|
|
|
|
bool Transform();
|
|
|
|
|
|
void SetFileTransInfo(FileTransformationInfo * fileTransInfo);
|
|
|
|
|
|
RESULT Execute();
|
|
|
|
|
|
void StopTransform(bool b);
|
|
|
|
|
|
int GetIndexOfFileByTransformation();
|
|
|
|
|
|
protected:
|
|
|
|
|
|
bool GetFileNamesByTransfored();
|
|
|
|
|
|
void SplitStr(CString strSrc, CString strGap, CStringList &strResult);
|
|
|
|
|
|
int ConversionToAscii(CString strPath, CString strFileName, int nOutMode);
|
|
|
|
|
|
int ConversionToPCG(CString strPath, CString strFileName, int nOutMode);
|
|
|
|
|
|
CString GetOutputFileName(CString strPath, CString strFileName, int nOutMode, CString strExt);
|
|
|
|
|
|
void ClearNoUse(CXy* pxy);
|
|
|
|
|
|
void * ReadFile(CString strFileName);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CSigmaDoc * m_pDoc;
|
|
|
|
|
|
FileTransformationInfo * m_fileTransInfo;
|
|
|
|
|
|
CStringList m_fileNamesSelected;
|
|
|
|
|
|
bool m_stopTransforation;
|
|
|
|
|
|
volatile int m_indexOfFileByTransformed;
|
|
|
|
|
|
bool m_bClearNoUseMark;
|
|
|
|
|
|
bool m_bClearNoUseLayer;
|
|
|
|
|
|
};
|