| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- using DevExpress.XtraEditors;
 
- using Ips.Library.Basic;
 
- using Ips.Library.DxpLib;
 
- using Ips.Sps.Tools.SignalDdces;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.ComponentModel;
 
- using System.Data;
 
- using System.Diagnostics;
 
- using System.Drawing;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Text.Json;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- namespace Ips.Sps.Tools.FileConcats
 
- {
 
-     public partial class FileConcatMainCtrl : DevExpress.XtraEditors.XtraUserControl
 
-     {
 
-         public FileConcatMainCtrl()
 
-         {
 
-             InitializeComponent();
 
-             gvMain.UseDefaultSettings(new GridViewDefaultSetting() { DefaultEmptyDisplayText = false, Editable = true, ShowRowNum = true });
 
-         }
 
-         string vmfile = Path.Combine(SpsConst.VmFolder, "fileconcat.json");
 
-         FileConcatViewModel vm;
 
-         private void FileConcatMainCtrl_Load(object sender, EventArgs e)
 
-         {
 
-             if (File.Exists(vmfile))
 
-             {
 
-                 vm = JsonSerializer.Deserialize<FileConcatViewModel>(File.ReadAllText(vmfile));
 
-             }
 
-             else
 
-             {
 
-                 vm = new FileConcatViewModel();
 
-             }
 
-             bsMain.DataSource = vm;
 
-         }
 
-         private void OutFileButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 
-         {
 
-             OutFileButtonEdit.EditValue = ToolDialog.SaveFile("", "选择输入文件");
 
-         }
 
-         private void InFileEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 
-         {
 
-             gvMain.EditingValue = ToolDialog.OpenFile("", "选择输入文件");
 
-         }
 
-         private void btnConcat_Click(object sender, EventArgs e)
 
-         {
 
-             if (HasError()) return;
 
-             string jsonText = JsonSerializer.Serialize(vm, new JsonSerializerOptions() { WriteIndented = true });
 
-             File.WriteAllText(vmfile, jsonText);
 
-             var notFoundFiles = vm.FileList.Where(m => !File.Exists(m.FileName)).Select(m => m.FileName).ToList();
 
-             if (notFoundFiles.IsNotNullOrEmpty())
 
-             {
 
-                 MsgHelper.ShowError($"{notFoundFiles.JoinAsString(";")}不存在!");
 
-                 return;
 
-             }
 
-             using var fsOut = new FileStream(vm.OutFile, FileMode.OpenOrCreate, FileAccess.Write);
 
-             for (int i = 0; i < vm.FileList.Count; i++)
 
-             {
 
-                 var item = vm.FileList[i];
 
-                 using var fsIn = new FileStream(item.FileName, FileMode.Open, FileAccess.Read);
 
-                 if (item.AddZeroPrev > 0)
 
-                     fsOut.Seek(item.AddZeroPrev * 4, SeekOrigin.Current);
 
-                 fsIn.CopyTo(fsOut);
 
-                 if (item.AddZeroBack > 0)
 
-                     fsOut.Seek(item.AddZeroBack * 4, SeekOrigin.Current);
 
-             }
 
-             fsOut.SetLength(fsOut.Position);
 
-             bool openFolder = MsgHelper.ShowConfirm("文件拼接成功,是否打开目录?");
 
-             if (openFolder)
 
-             {
 
-                 Process.Start("explorer", Path.GetDirectoryName(vm.OutFile));
 
-             }
 
-         }
 
-         private bool HasError()
 
-         {
 
-             if (vm.OutFile.IsNullOrWhitespace())
 
-             {
 
-                 dxError.SetError(OutFileButtonEdit, "请选择输出文件");
 
-             }
 
-             if (vm.FileList.Where(m => m.FileName.IsNotNullOrWhitespace()).IsNullOrEmpty())
 
-             {
 
-                 dxError.SetError(grdMain, "至少添加一个输入文件");
 
-             }
 
-             return dxError.HasErrors;
 
-         }
 
-     }
 
- }
 
 
  |