mirror of
https://github.com/jie65535/GrasscutterCommandGenerator.git
synced 2025-10-23 20:29:45 +08:00
Add Test page
This commit is contained in:
66
Source/GrasscutterTools/Pages/PageTools.cs
Normal file
66
Source/GrasscutterTools/Pages/PageTools.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GrasscutterTools.Pages
|
||||
{
|
||||
internal partial class PageTools : BasePage
|
||||
{
|
||||
public PageTools()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void BtnUpdateResources_Click(object sender, EventArgs e)
|
||||
{
|
||||
var src = new OpenFileDialog
|
||||
{
|
||||
Title = "请选择当前原文件",
|
||||
Multiselect = false,
|
||||
};
|
||||
var dest = new OpenFileDialog
|
||||
{
|
||||
Title = "请选择包含新ID的文件",
|
||||
Multiselect = false,
|
||||
};
|
||||
|
||||
if (src.ShowDialog() == DialogResult.OK && dest.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var srcLines = File.ReadAllLines(src.FileName);
|
||||
var srcDic = new Dictionary<string, string>(srcLines.Length);
|
||||
foreach (var line in srcLines)
|
||||
{
|
||||
var sp = line.IndexOf(':');
|
||||
if (sp > 0)
|
||||
{
|
||||
var value = line.Substring(sp + 1).Trim();
|
||||
if (!value.StartsWith("[N/A]"))
|
||||
srcDic[line.Substring(0, sp).Trim()] = line.Substring(sp + 1).Trim();
|
||||
}
|
||||
}
|
||||
|
||||
var destLines = File.ReadAllLines(dest.FileName);
|
||||
using (var outStream = File.Create(dest.FileName))
|
||||
using (var outTxtStream = new StreamWriter(outStream))
|
||||
{
|
||||
foreach (var line in destLines)
|
||||
{
|
||||
var sp = line.IndexOf(':');
|
||||
if (sp == -1)
|
||||
{
|
||||
outTxtStream.WriteLine(line);
|
||||
}
|
||||
else
|
||||
{
|
||||
var key = line.Substring(0, sp).Trim();
|
||||
if (!srcDic.TryGetValue(key, out var value))
|
||||
value = line.Substring(sp + 1).Trim();
|
||||
outTxtStream.WriteLine($"{key}:{value}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user