Ejemplo n.º 1
0
        /// -----------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="converterName"></param>
        /// <param name="outputFileName"></param>
        /// <param name="outEnc"></param>
        /// <param name="inputFileName"></param>
        /// <param name="inEnc"></param>
        /// <param name="directionForward"></param>
        /// -----------------------------------------------------------------------------------
        public void DoFileConvert(EncConverter ec, string inputFilename)
        {
            // open the input and output files using the given encoding formats
            StreamReader reader = new StreamReader(inputFilename,
                                                   TranslateEncoding(ec.EncodingIn), true);

            reader.BaseStream.Seek(0, SeekOrigin.Begin);

            // read the lines of the input file, (optionally convert,) and write them out.
            string sOutput = string.Empty, sInput;

            StringBuilder sbIn  = new StringBuilder();
            StringBuilder sbOut = new StringBuilder();

            while (reader.Peek() > -1)
            {
                sInput = reader.ReadLine();

                sbIn.Append(sInput);
                sbIn.Append(new char[] { (char)0x0D, (char)0x0A });

                if (sInput == string.Empty || sInput.StartsWith(@"\_sh ") || sInput.StartsWith(@"\id "))
                {
                    sOutput = sInput;
                    sbOut.Append(sOutput);
                    sbOut.Append(new char[] { (char)0x0D, (char)0x0A });
                }
                else
                {
                    sOutput = ConvertedLine(ec, sInput);
                    sbOut.Append(sOutput);
                    sbOut.Append(new char[] { (char)0x0D, (char)0x0A });
                }
            }

            reader.Close();

            txtInput.Text  = sbIn.ToString();
            txtOutput.Text = sbOut.ToString();

            for (int i = 0; i < m_ec.Count; i++)
            {
                if (((EncConverter)m_ec[i]).Name == ec.Name)
                {
                    txtOutput.Font = new Font(m_ec.Fonts[i], 12);
                }
            }
        }
Ejemplo n.º 2
0
        /// -----------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="ec"></param>
        /// <param name="sInput"></param>
        /// <returns></returns>
        /// -----------------------------------------------------------------------------------
        private string ConvertedLine(EncConverter ec, string sInput)
        {
            string marker = string.Empty;
            string data   = sInput;

            if (sInput.StartsWith(@"\"))
            {
                int i = sInput.IndexOf(" ");
                if (i >= 0)
                {
                    marker = sInput.Substring(0, i);
                    data   = sInput.Substring(i);
                }
            }

            return(marker + ec.Convert(data));
        }
Ejemplo n.º 3
0
        /// -----------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// -----------------------------------------------------------------------------------
        private void cboConverters_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            lvConverterInfo.Items.Clear();

            if (cboConverters.Items.Count == 0 || cboConverters.SelectedIndex < 0)
            {
                return;
            }

            EncConverter ec = (EncConverter)m_ec[cboConverters.SelectedItem];

            ListViewItem lvi;

            lvi = new ListViewItem(new string[] { "CodePageInput", ec.CodePageInput.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "CodePageOutput", ec.CodePageOutput.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "Type", ec.ConversionType.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "Identifier", ec.ConverterIdentifier });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "DirectionForward", ec.DirectionForward.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "EncodingIn", ec.EncodingIn.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "EncodingOut", ec.EncodingOut.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "ImplementType", ec.ImplementType });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "ProcessType", ec.ProcessType.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "LeftEncodingID", ec.LeftEncodingID });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "RightEncodingID", ec.RightEncodingID });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "NormalizeOutput", ec.NormalizeOutput.ToString() });
            lvConverterInfo.Items.Add(lvi);
            lvi = new ListViewItem(new string[] { "ProgramID", ec.ProgramID });
            lvConverterInfo.Items.Add(lvi);
        }
Ejemplo n.º 4
0
        /// -----------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="converterName"></param>
        /// <param name="outputFileName"></param>
        /// <param name="outEnc"></param>
        /// <param name="inputFileName"></param>
        /// <param name="inEnc"></param>
        /// <param name="directionForward"></param>
        /// -----------------------------------------------------------------------------------
        public void DoFileConvert(EncConverter ec, string inputFilename)
        {
            // open the input and output files using the given encoding formats
            StreamReader reader = new StreamReader(inputFilename,
                TranslateEncoding(ec.EncodingIn), true);

            reader.BaseStream.Seek(0, SeekOrigin.Begin);

            // read the lines of the input file, (optionally convert,) and write them out.
            string sOutput = string.Empty, sInput;

            StringBuilder sbIn = new StringBuilder();
            StringBuilder sbOut = new StringBuilder();

            while (reader.Peek() > -1)
            {
                sInput = reader.ReadLine();

                sbIn.Append(sInput);
                sbIn.Append(new char[] {(char)0x0D, (char)0x0A});

                if (sInput == string.Empty || sInput.StartsWith(@"\_sh ") || sInput.StartsWith(@"\id "))
                {
                    sOutput = sInput;
                    sbOut.Append(sOutput);
                    sbOut.Append(new char[] {(char)0x0D, (char)0x0A});
                }
                else
                {
                    sOutput = ConvertedLine(ec, sInput);
                    sbOut.Append(sOutput);
                    sbOut.Append(new char[] {(char)0x0D, (char)0x0A});
                }
            }

            reader.Close();

            txtInput.Text = sbIn.ToString();
            txtOutput.Text = sbOut.ToString();

            for (int i = 0; i < m_ec.Count; i++)
            {
                if (((EncConverter)m_ec[i]).Name == ec.Name)
                    txtOutput.Font = new Font(m_ec.Fonts[i], 12);
            }
        }
Ejemplo n.º 5
0
        /// -----------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="ec"></param>
        /// <param name="sInput"></param>
        /// <returns></returns>
        /// -----------------------------------------------------------------------------------
        private string ConvertedLine(EncConverter ec, string sInput)
        {
            string marker = string.Empty;
            string data = sInput;

            if (sInput.StartsWith(@"\"))
            {
                int i = sInput.IndexOf(" ");
                if (i >= 0)
                {
                    marker = sInput.Substring(0, i);
                    data = sInput.Substring(i);
                }
            }

            return marker + ec.Convert(data);
        }