示例#1
0
 private static void DecompressWordStep(DecompressionDto decompressionDto, CommonTranslatorDto step)
 {
     if (step.Status == 1)
     {
         decompressionDto.DecompressedWord += step.NewChar;
     }
     else
     {
         decompressionDto.DecompressedWord += decompressionDto.DecompressedWord
                                              .Substring(decompressionDto.DecompressedWord.Length - step.Offset - 1, step.Length);
     }
 }
示例#2
0
        static void Main(string[] args)
        {
            if (READ_WRITE_TO_FILE)
            {
                WORD_TO_COMPRESS = FileAssistant.ReadFile(READ_FILE_NAME);
            }

            var compressionDto   = new CompressionDto();
            var decompressionDto = new DecompressionDto();
            int bufferOffset     = 0;

            View.PrintStartCompressionMessage();
            CompressionController.PerformCompression(compressionDto, bufferOffset);

            View.PrintStartDecompressionMessage();
            DecompressionController.PerformDecompression(compressionDto, READ_WRITE_TO_FILE);
        }
示例#3
0
        public static void PerformDecompression(CompressionDto compressionDto, bool writeOutputToFile)
        {
            DecompressionDto decompressionDto = new DecompressionDto();

            foreach (var step in compressionDto.compressionSteps)
            {
                if (!IsDecompressedWordEmpty(decompressionDto))
                {
                    DecompressWordStep(decompressionDto, step);
                }
                else
                {
                    decompressionDto.DecompressedWord += compressionDto.FirstLetter;
                }

                if (writeOutputToFile)
                {
                    FileAssistant.WriteFile(Program.WRITE_FILE_NAME, decompressionDto.DecompressedWord);
                }

                View.PrintDecompressionStage(decompressionDto);
            }
        }
示例#4
0
文件: View.cs 项目: P3piK/Aads
 internal static void PrintDecompressionStage(DecompressionDto decompressionDto)
 {
     Console.WriteLine(decompressionDto.DecompressedWord);
 }
示例#5
0
 private static bool IsDecompressedWordEmpty(DecompressionDto decompressionDto)
 {
     return(decompressionDto.DecompressedWord.Equals(String.Empty));
 }