private void SendDataExec(SendDataConfig config) { var target = "*"; /* 送信先補正 */ switch (config.SendTargetType) { case SendDataTargetType.System: target = FormUiManager.SendTarget; break; case SendDataTargetType.Common: target = TBox_CommonTarget.Text; break; case SendDataTargetType.Custom: target = config.SendTargetCustom; break; } if (ConfigManager.User.SendDataListMode.Value == SendDataListMode.Simple) { target = FormUiManager.SendTarget; } /* 送信実行 */ Program.API.API_SendData(target, config.SendData); }
private void SetGridDataFromConfig(DataGridViewCell cell, SendDataConfig config) { switch ((ColumnId)cell.OwningColumn.Tag) { case ColumnId.SendButton: cell.Value = "Send"; break; case ColumnId.SendData: cell.Value = config.SendData; break; case ColumnId.PlayListInclude: cell.Value = config.PlayListInclude; break; case ColumnId.SendTargetType: cell.Value = config.SendTargetType; break; case ColumnId.SendTargetCustom: cell.Value = config.SendTargetCustom; break; case ColumnId.DelayFixed: cell.Value = config.DelayFixed.ToString(); break; case ColumnId.DelayRandom: cell.Value = config.DelayRandom.ToString(); break; } }
private SendDataConfig LoadNextPlaySendData(ref int index) { for (; index < GView_SendDataList.RowCount; index++) { var config = GetSendDataConfig(index); if ((config == null) || (!config.PlayListInclude) ) { continue; } var config_play = new SendDataConfig(config); if (ConfigManager.User.SendDataListMode.Value == SendDataListMode.Simple) { config_play.DelayFixed = (uint)Num_SendInterval_Fixed.Value; config_play.DelayRandom = (uint)Num_SendInterval_Random.Value; } return(config_play); } return(null); }
private void OnListPlayTimer(object sender, EventArgs e) { var timer = sender as Timer; /* 初期化処理 */ if (play_data_index_busy_ < 0) { play_data_index_busy_ = 0; } else { play_data_index_busy_++; } /* コマンド情報取得 */ play_data_ = LoadNextPlaySendData(ref play_data_index_busy_); if (play_data_ != null) { /* --- コマンド情報取得成功 --- */ /* 次のコマンドまでの遅延時間 */ play_next_delay_ = play_data_.DelayFixed + (uint)((new Random()).Next((int)play_data_.DelayRandom)); /* タイマー再起動 */ ListPlayTimerSetup(play_next_delay_); /* コマンド実行 */ SendDataExec(play_data_); } else { /* --- コマンド終端に到着 --- */ /* 実行中コマンド番号を初期化 */ play_data_index_busy_ = -1; if (play_repeat_count_ < uint.MaxValue) { play_repeat_count_++; } if ((Num_RepeatCount.Value > 0) && (play_repeat_count_ >= Num_RepeatCount.Value) ) { /* --- 繰り返し回数上限に達した --- */ ListPlayReset(); } else { /* --- 繰り返し実行 --- */ /* 再チェック */ ListPlayTimerRecall(); } } UpdateStatusUI(); }
private void SetGridDataFromConfig(DataGridViewRow row_obj, SendDataConfig config) { if (config == null) { return; } foreach (DataGridViewCell cell in row_obj.Cells) { SetGridDataFromConfig(cell, config); } }
private SendDataConfig[] ImportCsvData(StreamReader reader, ColumnId[] columns) { var configs = new Queue <SendDataConfig>(); while (!reader.EndOfStream) { var config = new SendDataConfig(); var items = TextUtil.ReadCsvLine(reader); foreach (var item in items.Select((v, i) => new { v, i })) { switch (columns[item.i]) { case ColumnId.PlayListInclude: config.PlayListInclude = bool.Parse(item.v); break; case ColumnId.SendTargetType: config.SendTargetType = (SendDataTargetType)Enum.Parse(typeof(SendDataTargetType), item.v); break; case ColumnId.SendTargetCustom: config.SendTargetCustom = item.v; break; case ColumnId.SendData: config.SendData = item.v; break; case ColumnId.DelayFixed: config.DelayFixed = uint.Parse(item.v); break; case ColumnId.DelayRandom: config.DelayRandom = uint.Parse(item.v); break; } } configs.Enqueue(config); } return(configs.ToArray()); }
private void SetConfigFromGridData(DataGridViewCell cell, SendDataConfig config) { switch ((ColumnId)cell.OwningColumn.Tag) { case ColumnId.SendData: config.SendData = cell.Value as string; break; case ColumnId.PlayListInclude: config.PlayListInclude = (bool)cell.Value; break; case ColumnId.SendTargetType: config.SendTargetType = (SendDataTargetType)cell.Value; break; case ColumnId.SendTargetCustom: config.SendTargetCustom = cell.Value as string; break; case ColumnId.DelayFixed: { var value = (uint)0; if (uint.TryParse(cell.Value as string, out value)) { config.DelayFixed = value; } } break; case ColumnId.DelayRandom: { var value = (uint)0; if (uint.TryParse(cell.Value as string, out value)) { config.DelayRandom = value; } } break; } }
private void AddGridDataFromConfig(SendDataConfig config) { /* 新規行を追加 */ var row_index = GView_SendDataList.Rows.Add(); if (row_index < 0) { return; } var row_obj = GView_SendDataList.Rows[row_index]; row_obj.Tag = new SendDataConfig(config); /* 値を書き換え */ SetGridDataFromConfig(row_obj); /* エラー表示を更新 */ UpdateEditStatus(row_obj); }
private void AddSendDataConfig(SendDataConfig config) { /* 新規行を追加 */ var row_index = GView_CmdList.Rows.Add(); if (row_index < 0) { return; } var row_obj = GView_CmdList.Rows[row_index]; /* 値を書き換え */ row_obj.Cells[(int)ColumnId.Enable].Value = config.PlayListInclude; row_obj.Cells[(int)ColumnId.TargetType].Value = config.SendTargetType; row_obj.Cells[(int)ColumnId.CustomTarget].Value = config.SendTargetCustom; row_obj.Cells[(int)ColumnId.Command].Value = config.SendData; row_obj.Cells[(int)ColumnId.DelayFixed].Value = config.DelayFixed.ToString(); row_obj.Cells[(int)ColumnId.DelayRandom].Value = config.DelayRandom.ToString(); }