Add Task Page (#166)

This commit is contained in:
2022-12-10 17:50:35 +08:00
parent 0d1bad5551
commit 59af1e468d
13 changed files with 731 additions and 4 deletions

View File

@@ -19,6 +19,7 @@
using System;
using System.Drawing;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -51,7 +52,7 @@ namespace GrasscutterTools.Pages
/// <param name="args">参数</param>
public SetCommandHandler SetCommand { get; set; }
public delegate Task<bool> RunCommandsHandler(string[] commands);
public delegate Task<bool> RunCommandsHandler(params string[] commands);
/// <summary>
/// 运行命令
@@ -63,6 +64,30 @@ namespace GrasscutterTools.Pages
/// </summary>
public Func<string> GetCommand { get; set; }
/// <summary>
/// 运行原始命令(未处理的竖线分割命令文本)
/// </summary>
/// <param name="commands">未处理的竖线分割命令文本</param>
/// <returns>是否运行成功</returns>
protected async Task<bool> RunRawCommands(string commands)
{
if (commands.IndexOf('|') == -1)
return await RunCommands(FormatCommand(commands));
else
return await RunCommands(commands.Split('|').Select(it => FormatCommand(it)).ToArray());
}
/// <summary>
/// 格式化命令
/// (去除收尾空白,替换换行)
/// </summary>
/// <param name="raw">原始输入</param>
/// <returns>格式化后可执行命令</returns>
private string FormatCommand(string raw)
{
return raw.Trim().Replace("\\r", "\r").Replace("\\n", "\n");
}
#endregion - -
#region - -