/// <summary> /// 转换文件名 /// </summary> /// <returns>是否转换成功</returns> private bool ConvertFileName() { if (cboConverterType.SelectedIndex == -1) { return(false); } if (SourceFilePath == String.Empty || !File.Exists(SourceFilePath)) { return(false); } ConverterMaps converterMaps = (ConverterMaps)cboConverterMapsList.SelectedItem; Converter converter = (Converter)cboConverterType.SelectedItem; string destFilePath = ConverterMapsList.ConvertText(SourceFilePath, converterMaps.Maps, converter.SourceMapId, converter.DestMapId); if (SourceFilePath == destFilePath) { return(true); } else { try { File.Copy(SourceFilePath, destFilePath, true); File.Delete(SourceFilePath); } catch (Exception) { return(false); } SourceFilePath = destFilePath; lblFilePath.Text = SourceFilePath; return(true); } }
/// <summary> /// 转换文本 /// </summary> private void ConvertSourceToDestText() { if (cboConverterType.SelectedIndex == -1) { return; } string sourceContent = txtSource.Text; string destContent = ""; ConverterMaps converterMaps = (ConverterMaps)cboConverterMapsList.SelectedItem; Converter converter = (Converter)cboConverterType.SelectedItem; if (cboRegex.Text.Trim() != String.Empty) { Regex regex = null; try { regex = new Regex(cboRegex.Text, RegexOptions.IgnoreCase | RegexOptions.Multiline); } catch (Exception) { ShowErrorMsg("正则表达式错误!"); cboRegex.SelectAll(); cboRegex.Focus(); return; } if (chkIsExclude.Checked) { StringBuilder strBuilder = new StringBuilder(ConverterMapsList.ConvertText(sourceContent, converterMaps.Maps, converter.SourceMapId, converter.DestMapId)); foreach (Match match in regex.Matches(sourceContent)) { if (match.Value == String.Empty) { continue; } strBuilder.Replace(ConverterMapsList.ConvertText(match.Value, converterMaps.Maps, converter.SourceMapId, converter.DestMapId), match.Value); } destContent = strBuilder.ToString(); } else { destContent = regex.Replace(sourceContent, match => ConverterMapsList.ConvertText(match.Value, converterMaps.Maps, converter.SourceMapId, converter.DestMapId)); } } else { destContent = ConverterMapsList.ConvertText(sourceContent, converterMaps.Maps, converter.SourceMapId, converter.DestMapId); } txtDest.Text = destContent; }
/// <summary> /// 读取程序配置 /// </summary> private void ReadConfig() { if (!AppConfig.Read()) { ShowErrorMsg("读取配置文件失败!"); } for (int i = 0; i < cboConverterMapsList.Items.Count; i++) { ConverterMaps converterMaps = (ConverterMaps)cboConverterMapsList.Items[i]; if (AppConfig.ConverterMapsPath.ToLower() == Path.GetFileName(converterMaps.ConfigPath.ToLower())) { cboConverterMapsList.SelectedIndex = i; break; } } try { cboConverterType.SelectedIndex = AppConfig.ConvertType; } catch (ArgumentOutOfRangeException) { cboConverterType.SelectedIndex = -1; } try { cboConvertMethod.SelectedIndex = AppConfig.ConvertMethod; } catch (ArgumentOutOfRangeException) { cboConvertMethod.SelectedIndex = 0; } try { cboSaveEncoding.SelectedIndex = AppConfig.SaveEncoding; } catch (ArgumentOutOfRangeException) { cboSaveEncoding.SelectedIndex = 0; } chkIsConvertFileName.Checked = AppConfig.IsConvertFileName; chkIsExclude.Checked = AppConfig.IsExclude; txtFileExt.Text = AppConfig.FileExt; chkIsTopMost.Checked = AppConfig.IsTopMost; cboReadEncoding.SelectedIndex = 0; }
/// <summary> /// 当字符对照表下拉列表选择项改变时发生 /// </summary> private void cboConverterMapsList_SelectedIndexChanged(object sender, EventArgs e) { if (cboConverterMapsList.SelectedIndex == -1 || Tools.CheckControlDataSourceIsPreparing(cboConverterMapsList.Tag)) { return; } ConverterMaps converterMaps = (ConverterMaps)cboConverterMapsList.SelectedItem; cboConverterType.Tag = true; BindingSource bs = new BindingSource(); bs.DataSource = converterMaps.Converters.Values; cboConverterType.DataSource = bs; cboConverterType.DisplayMember = "Name"; cboConverterType.ValueMember = "Id"; cboConverterType.SelectedIndex = 0; cboConverterType.Tag = false; cboConverterType_SelectedIndexChanged(null, null); AppConfig.ConverterMapsPath = cboConverterMapsList.SelectedValue.ToString(); }