public async Task Sample(IMacroEngine Macro, IPluginManager Plugins) { Macro.Timeout = 0; await Macro.SendLineAsync("cs1"); await Macro.WaitAsync("\n>"); //var num = 2; await Macro.DelayAsync(1000); await Macro.SendLineAsync("cs2"); await Macro.WaitLineAsync(); await Macro.SendLineAsync("cs3"); //Macro.Pause(); //await Task.Delay(2000); //Macro.Resume(); await Macro.WaitAsync("\n>"); Macro.Display(Macro.History(0)); Macro.Display(Macro.History(1)); Macro.Display(Macro.History(2)); Macro.Display(Macro.History(3)); await Macro.SendLineAsync("abdefhjicbcddefghi"); var i = await Macro.WaitAsync("abc", "defg", "hi"); Macro.Display(i.ToString()); //Macro.Cancel(); var fileName = @"d.txt"; var line = ""; var list = new List<string>(); using (var sr = new StreamReader(fileName, Encoding.UTF8)) { while ((line = sr.ReadLine()) != null) { list.Add(line); } } foreach (var str in list) { Macro.Display(str); //await Task.Delay(10); } //await Task.Delay(500); Macro.Timeout = 4000; await Macro.SendLineAsync("cs4"); try { await Macro.WaitAsync("\ny>"); } catch (TimeoutException) { Macro.Display("timeout"); await Macro.SendLineAsync("retry"); } await Macro.DelayAsync(3000); await Macro.SendLineAsync("cs5"); await Macro.WaitAsync("\ny>"); }
private async Task SendAndWait(IMacroEngine Macro, string text, int timems) { await Macro.SendLineAsync(text); await Macro.WaitAsync("\n>", ">> ?", "\n/>"); await Macro.DelayAsync(timems); }
/// <summary> /// マクロ実行 /// </summary> /// <param name="Macro"></param> /// <param name="Plugins"></param> /// <returns></returns> public async Task RunAsync(IMacroEngine Macro, PluginManager Plugins) { //Macro.Start(this.Name); try { await this.AsyncFunc(Macro, Plugins); //送信バッファを空にする await Macro.SendLineAsync(null); } finally { //Macro.End(this.Name); } }