/// ----------------------------------------------------------------------------------- /// <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); } } }
/// ----------------------------------------------------------------------------------- /// <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)); }
/// ----------------------------------------------------------------------------------- /// <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); }
/// ----------------------------------------------------------------------------------- /// <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); } }
/// ----------------------------------------------------------------------------------- /// <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); }