//──────────────────────────────────────── /// <summary> /// ファイルパス一覧。 /// </summary> /// <param name="dlgt_EachEFilePath"></param> public void EachVariable(DELEGATE_EachVariable dlgt_EachVariable) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Dammy = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "EachVariable", d_Logging_Dammy); // // bool bBreak = false; foreach (KeyValuePair <string, Expression_Node_String> kvp in this.dictionaryExpression_Item) { dlgt_EachVariable(kvp.Key, kvp.Value, ref bBreak); if (bBreak) { break; } } // // log_Method.EndMethod(d_Logging_Dammy); d_Logging_Dammy.EndLogging(log_Method); }
//──────────────────────────────────────── /// <summary> /// 内容をデバッグ出力します。 /// </summary> public void CreateMessage_Debug(Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Dammy = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "CreateMessage_Debug", d_Logging_Dammy); // // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: 【デバッグ出力】 project要素の個数=[" + this.Items.Count + "]"); foreach (MemoryAatoolxml_Editor aatool_Editor in this.Dictionary_Item.Values) { //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: 【デバッグ出力】 project名=[" + st_Project.Name + "]"); aatool_Editor.WriteDebug_ToConsole(aatool_Editor.Dictionary_Fsetvar_Configurationtree, log_Reports); } // // d_Logging_Dammy.EndCreateReport(); log_Method.EndMethod(d_Logging_Dammy); if (!d_Logging_Dammy.Successful) { log_Method.WriteDebug_ToConsole(d_Logging_Dammy.ToText()); } }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// ドラッグ&ドロップ アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void Execute4_OnDnD( object prm_Sender, GiveFeedbackEventArgs prm_E ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_Master = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Expr.Name_Library, this, "Execute4_OnDnD", log_Reports_Master); // // イベントハンドラー引数の設定 this.Set_OnDnD( this, prm_Sender, prm_E); this.Execute5_Main(log_Reports_Master); // log_Method.EndMethod(log_Reports_Master); log_Reports_Master.EndLogging(log_Method); }
//──────────────────────────────────────── public override string ToString() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Expr.Name_Library, this, "ToString", log_Reports_ThisMethod); log_Reports_ThisMethod.BeginCreateReport(EnumReport.Dammy); StringBuilder sb = new StringBuilder(); sb.Append(this.GetType().Name); sb.Append(" "); sb.Append(this.Cur_Configuration.Parent); sb.Append(" ["); sb.Append(this.Dictionary_Expression_Attribute.ToString());//? sb.Append("] 変数名"); sb.Append(this.Expression_UsercontrolName.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod)); sb.Append(""); log_Reports_ThisMethod.EndCreateReport(); goto gt_EndMethod; // // gt_EndMethod: log_Method.EndMethod(log_Reports_ThisMethod); return(sb.ToString()); }
//──────────────────────────────────────── /// <summary> /// クリアー /// </summary> public void Clear(MemoryApplication owner_MemoryApplication) { Log_Method log_Method = new Log_MethodImpl(1, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "Clear", log_Reports_ThisMethod); // this.owner_MemoryApplication = owner_MemoryApplication; this.cur_Configurationtree = new Configurationtree_NodeImpl("<clear>", null); if (null == this.memoryAaeditorxml_Editor) { this.memoryAaeditorxml_Editor = new MemoryAaeditorxml_EditorImpl(null); } else { if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("「エディター設定ファイル・モデル」をクリアーします。"); } this.memoryAaeditorxml_Editor.Clear(); } goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); }
//──────────────────────────────────────── /// <summary> /// コンストラクター。 /// </summary> public ControlCommonImpl() { Log_Method log_Method = new Log_MethodImpl(); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Controls.Name_Library, this, "ControlCommonImpl", log_Reports_ThisMethod); // コントロールを作った時に、必ずnameプロパティを設定してください。 // ただし、直接 Visual Studio のビジュアルエディターで配置した場合は設定できません。 Configurationtree_Node cur_Cf = new Configurationtree_NodeImpl(log_Method.Fullname + "<init>", null); this.configurationtree_Control = new Configurationtree_NodeImpl(NamesNode.S_CONTROL1, cur_Cf);//ダミーのデフォルト・オブジェクト? this.expression_Name_Control = new Expression_Node_StringImpl(null, cur_Cf); log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); }
//──────────────────────────────────────── /// <summary> /// デバッグ出力。 /// </summary> public void WriteDebug_ToConsole() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Dammy = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "WriteDebug_ToConsole", d_Logging_Dammy); // // if (log_Method.CanInfo()) { log_Method.WriteInfo_ToConsole("要素数=[" + this.dictionaryExpression_Item.Count + "]"); // 項目(キーと値)の列挙 foreach (KeyValuePair <string, Expression_Node_String> kvp in this.dictionaryExpression_Item) { if (null == kvp.Value) { log_Method.WriteInfo_ToConsole(" [" + kvp.Key + "]=空っぽ"); } else { if (kvp.Value is Expression_Node_Filepath) { // ファイルパス型。 // bug: 絶対パスでない場合、空白になるので、SHumanInput で取得することになるはず。 log_Method.WriteInfo_ToConsole(" [" + kvp.Key + "]=P型[" + kvp.Value.Execute4_OnExpressionString(EnumHitcount.Unconstraint, d_Logging_Dammy) + "] / SHumanInput=[" + ((Expression_Node_Filepath)kvp.Value).Humaninput + "]"); } else { log_Method.WriteInfo_ToConsole(" [" + kvp.Key + "]=[" + kvp.Value.Execute4_OnExpressionString(EnumHitcount.Unconstraint, d_Logging_Dammy) + "]"); } } } } // // log_Method.EndMethod(d_Logging_Dammy); d_Logging_Dammy.EndLogging(log_Method); if (!d_Logging_Dammy.Successful) { log_Method.WriteDebug_ToConsole(d_Logging_Dammy.ToText()); } }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public void Perfrom() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_PartsnumPut.Name_Library, this, "Perform", log_Reports_ThisMethod); this.out_Errormessage = ""; this.out_Table_Humaninput = new Table_HumaninputImpl("名無し", null, new Configurationtree_NodeImpl(log_Method.Fullname, null)); // CSV読取 string text_Csv; try { text_Csv = System.IO.File.ReadAllText(this.In_Filepathabsolute, Encoding.Default); } catch (Exception e) { // エラー this.out_Errormessage = e.Message; goto gt_EndMethod; } Request_ReadsTable request = new Request_ReadsTableImpl(); Format_Table_Humaninput format = new Format_Table_HumaninputImpl(); CsvTo_Table_HumaninputImpl trans = new CsvTo_Table_HumaninputImpl(); this.out_Table_Humaninput = trans.Read( text_Csv, request, format, log_Reports_ThisMethod ); goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports_ThisMethod); return; }
//──────────────────────────────────────── #endregion #region イベントハンドラー //──────────────────────────────────────── private void Form1_Load(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Load = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Toolwindow.Name_Library, this, "Form1_Load", d_Logging_Load); // // this.Load_Form2_(d_Logging_Load); goto gt_EndMethod; // // gt_EndMethod: pg_Method.EndMethod(d_Logging_Load); d_Logging_Load.EndLogging(pg_Method); }
/// <summary> /// 「&br;折る」誤判定をすることもある。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonBrBreak_Click(object sender, EventArgs e) { Log_Method log_Method = new Log_MethodImpl(); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_SpeedCoder.Name_Library, this, "buttonBrBreak_Click", log_Reports_ThisMethod); string left = this.textBox1.Text;//残りの文字列。 StringBuilder s = new StringBuilder(); int index; index = left.IndexOf(Usercontrol_Canvas.BREAK); while (0 <= index) { string a = left.Substring(0, index); string b = left.Substring(Usercontrol_Canvas.BREAK.Length + index); //System.Console.WriteLine("left=[" + left + "] index=["+index+"] a=["+a+"] b=["+b+"]"); s.Append(a); s.Append(Usercontrol_Canvas.BREAK); if (b.StartsWith(Environment.NewLine)) { //既に改行が付いているのなら、付けない。 } else { s.Append(Environment.NewLine); } left = b; index = left.IndexOf(Usercontrol_Canvas.BREAK); //log_Method.WriteDebug_ToConsole("left.Length=[" + left.Length + "]"); } s.Append(left); this.textBox1.Text = s.ToString(); log_Method.EndMethod(log_Reports_ThisMethod); }
//──────────────────────────────────────── #endregion #region イベントハンドラー //──────────────────────────────────────── /// <summary> /// チェックが変更されたというイベント・ハンドラー。 /// /// このイベント・ハンドラーは、HCheckBoxに必ず登録されます。 /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> private void this_CheckChanged(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "this_CheckChanged", log_Reports_ThisMethod); // // //bug:Expression_Name_Controlがnull→コンストラクタでダミーを入れた string sName_Usercontrol = this.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロール(チェックボックス)のチェックが変更されました。"; CustomcontrolCheckbox ccCheckBox = (CustomcontrolCheckbox)sender; if (this.ControlCommon.BAutomaticinputting) { // コンピューターにより自動入力されたとき。 //essageBox.Show("コンピュータによって自動入力されました。 コントロールID=[" + this.FormObjectId + "]", "▲デバッグ"); } else { // 手入力による更新。 //essageBox.Show( //"ユーザーによって直接入力されました。hNumericUpDown=[" + hNumericUpDown + "] コントロールID=["+this.FormObjectId+"]", //"▲デバッグ(" + Info_Forms .LibraryName+ ")"+this.GetType().NFcName+"#this_CheckChanged:"); this.UsercontrolToMemory( log_Reports_ThisMethod ); } // // pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── #endregion #region イベントハンドラー //──────────────────────────────────────── /// <summary> /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> private void ccListbox_DataSourceChanged(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "ccListbox_DataSourceChanged", log_Reports_ThisMethod); // // string sName_Usercontrol = this.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロール(リストボックス)のデータソースが変更されました。"; //// //// //// //// 項目選択 //// //// //// //if (log_Reports.Successful) //{ // // ローカル変数に落とす。 // Request_DefaultListItemImpl receipt_DefaultListItemImpl2 = this.Receipt_DefaultListItemImpl; // if (null != receipt_DefaultListItemImpl2) // { ////essageBox.Show("[" + this.ControlCommon.NFcName.Value + "]コントロール(リストボックス)のデータソースが変更されました。\nデフォルト値の要求設定がありました。\n nKeyColumnName=[" + receipt_DefaultListItemImpl2.NKeyFldName.GetString(VolumeConstraintEnu.Unconstraint, log_Reports, "*" + this.GetType().NFcName + "#") + "]\n nExpectedValue=[" + receipt_DefaultListItemImpl2.NExpectedValue.GetString(VolumeConstraintEnu.Unconstraint, log_Reports, "*" + this.GetType().NFcName + "#") + "]", this.GetType().NFcName + "#:(" + Info_Forms .LibraryName+ ") デバッグ"); // this.SelectItem( // receipt_DefaultListItemImpl2.NKeyFldName, // receipt_DefaultListItemImpl2.NExpectedValue, // log_Reports, // "*" + this.GetType().NFcName + "#" // ); // } //} // // pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── #endregion #region イベントハンドラー //──────────────────────────────────────── /// <summary> /// テキストが変更されたというイベント・ハンドラー。 /// /// このイベント・ハンドラーは、このカスタム コントロールに必ず登録されます。 /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> private void this_TextChanged(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "this_TextChanged", log_Reports_ThisMethod); // // string sName_Usercontrol = this.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロール(数値上下ボックス)のテキストが変更されました。"; CustomcontrolNumericUpDown ccNumericUpDown = (CustomcontrolNumericUpDown)sender; if (this.ControlCommon.BAutomaticinputting) { // コンピューターにより自動入力されたとき。 //essageBox.Show("コンピュータによって自動入力されました。 コントロールID=[" + this.FormObjectId + "]", "デバッグ"); } else { // 手入力による更新。 MessageBox.Show( "ユーザーによって直接入力されました。this.ControlCommon.Name=[" + sName_Usercontrol + "]", "▲デバッグ(" + Info_Controls.Name_Library + ")" + this.GetType().Name + "#this_TextChanged:"); this.UsercontrolToMemory( log_Reports_ThisMethod ); } // // // // pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── public override string ToString() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForString = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Table.Name_Library, this, "ToString", log_Reports_ForString); log_Reports_ForString.BeginCreateReport(EnumReport.Dammy); // // StringBuilder sb = new StringBuilder(); if (EnumLogic.None != this.EnumLogic) { sb.Append("グループ "); sb.Append(Utility_Table.LogicSymbolToString(this.EnumLogic)); sb.Append(" "); sb.Append("子数"); sb.Append(this.List_Child.Count); } else { sb.Append("条件 "); sb.Append(this.Name_Field); sb.Append(Utility_Table.OpeSymbolToString(this.EnumOpe)); sb.Append(this.Value); sb.Append(" 子数"); sb.Append(this.List_Child.Count); } goto gt_EndMethod; // // gt_EndMethod: log_Reports_ForString.EndCreateReport(); log_Method.EndMethod(log_Reports_ForString); return(sb.ToString()); }
/// <summary> /// クリアーします。 /// </summary> public void Clear(MemoryApplication owner_MemoryApplication) { Log_Method log_Method = new Log_MethodImpl(1, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "Clear", log_Reports_ThisMethod); // this.owner_MemoryApplication = owner_MemoryApplication; if (null == this.DictionaryExpression_Item) { this.dictionaryExpression_Item = new Dictionary <string, Expression_Node_String>(); } else { if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("次の変数を消します。"); log_Method.WriteDebug_ToConsole("────────────────────"); foreach (KeyValuePair <string, Expression_Node_String> kvp in this.DictionaryExpression_Item) { log_Method.WriteDebug_ToConsole(" " + kvp.Key + "=" + kvp.Value.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod)); } log_Method.WriteDebug_ToConsole("────────────────────"); } this.DictionaryExpression_Item.Clear(); } this.parent_Variablesconfig_Configurationtree = null; goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); }
//──────────────────────────────────────── /// <summary> /// デバッグ出力。 /// </summary> public void WriteDebug_ToConsole() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "DebugWrite", log_Reports_ThisMethod); // // if (log_Method.CanInfo()) { log_Method.WriteInfo_ToConsole(" ──────────登録関数名一覧"); foreach (string sKey in this.dictionary_Item.Keys) { log_Method.WriteInfo_ToConsole(" key=[" + sKey + "]"); } log_Method.WriteInfo_ToConsole(" ──────────"); } log_Method.EndMethod(log_Reports_ThisMethod); }
//──────────────────────────────────────── /// <summary> /// アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void Execute4_OnOEa( object prm_Sender, EventArgs prm_E ) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_Master = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Expr.Name_Library, this, "Execute4_OnOEa", log_Reports_Master); // イベントハンドラー引数の設定 this.Set_OnOEa( this, prm_Sender, prm_E ); this.Execute5_Main(log_Reports_Master); log_Method.EndMethod(log_Reports_Master); log_Reports_Master.EndLogging(log_Method); }
//──────────────────────────────────────── private void Usercontrol_Canvas_DragEnter(object sender, DragEventArgs e) { Log_Method log_Method = new Log_MethodImpl(); Log_Reports log_Reports = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_SpeedCoder.Name_Library, this, "Usercontrol_Canvas_DragEnter", log_Reports); // ファイルドロップ if ( e.Data.GetDataPresent(DataFormats.FileDrop) //ファイルパス || e.Data.GetDataPresent(DataFormats.StringFormat) //文字列 ) { // ドロップした時の効果を Copy として見えるようにします。 e.Effect = DragDropEffects.Copy; } else { } log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── /// <summary> /// ドラッグ&ドロップ用アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void Execute4_OnQueryContinueDragEventArgs( object prm_Sender, QueryContinueDragEventArgs prm_E ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_Master = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Expr.Name_Library, this, "Execute4_OnQueryContinueDragEventArgs", log_Reports_Master); // // // イベントハンドラー引数の設定 this.Set_OnQueryContinueDragEventArgs( this, prm_Sender, prm_E ); this.Execute5_Main(log_Reports_Master); log_Method.EndMethod(log_Reports_Master); }
//──────────────────────────────────────── /// <summary> /// エラーログを出力します。(エラーが発生したときに呼び出してください) /// </summary> /// <param oVariableName="output_d_Logging"></param> /// <param name="runningHintName">このメソッドが呼び出された場所が分かるようなヒント。</param> public void WriteErrorLog( MemoryApplication moApplication, Log_Reports log_ReportsBuffer_Output, string sRunningHintName ) { Log_Method log_Method = new Log_MethodImpl(0); // メタ。 Log_Reports log_Reports_Meta = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "WriteErrorLog", log_Reports_Meta); // // // 書き出すテキスト // string sOutput; { sOutput = log_ReportsBuffer_Output.ToText(); } // // 書き出し先ファイルへのパス // Expression_Node_Filepath ec_Fpath; if (log_Reports_Meta.Successful) { XenonName o_Name_Variable = new XenonNameImpl(NamesVar.S_SP_LOGS, new Configurationtree_NodeImpl("!ハードコーディング_MoOpyopyoImpl#WriteLog", null)); // 変数名。 Expression_Leaf_StringImpl ec_Atom = new Expression_Leaf_StringImpl(null, o_Name_Variable.Cur_Configuration); ec_Atom.SetString( o_Name_Variable.SValue, log_Reports_Meta ); // ファイルパス。 log_Reports_Meta.Log_Callstack.Push(log_Method, "③"); ec_Fpath = moApplication.MemoryVariables.GetExpressionfilepathByVariablename( ec_Atom, true, log_Reports_Meta ); log_Reports_Meta.Log_Callstack.Pop(log_Method, "③"); } else { ec_Fpath = null; } // // ファイルの書き出し // string err_SFpatha; { string sFpatha; if (log_Reports_Meta.Successful) { // フォルダーへの絶対パス string sFopatha_Logs = ec_Fpath.Execute4_OnExpressionString( EnumHitcount.Unconstraint, log_Reports_Meta); if (!log_Reports_Meta.Successful) { // 既エラー。 goto gt_EndMethod; } Expression_Node_Filepath ec_Fpath2; { Configurationtree_Node parent_Cf = new Configurationtree_NodeImpl("!ハードコーディング_MoOpyopyoImpl#WriteLog", null); Configurationtree_NodeFilepath cf_Fpath = new Configurationtree_NodeFilepathImpl("ファイルパス出典未指定L09Mid_6", parent_Cf); cf_Fpath.InitPath( sFopatha_Logs, "error-log.txt", log_Reports_Meta ); if (!log_Reports_Meta.Successful) { // 既エラー。 goto gt_EndMethod; } ec_Fpath2 = new Expression_Node_FilepathImpl(cf_Fpath); } sFpatha = ec_Fpath2.Execute4_OnExpressionString( EnumHitcount.Unconstraint, log_Reports_Meta); } else { sFpatha = "<エラー>"; } if (log_Reports_Meta.Successful) { try { System.IO.File.WriteAllText(sFpatha, sOutput, Global.ENCODING_LOG); //#正常な、エラー出力 StringBuilder s0 = new StringBuilder(); s0.Append("エラーが発生しました!"); s0.Append(Environment.NewLine); s0.Append(Environment.NewLine); s0.Append("アプリケーションは正常に動作していない可能性があります。"); s0.Append(Environment.NewLine); s0.Append(Environment.NewLine); s0.Append("エラーログを書き出しました。"); s0.Append(Environment.NewLine); s0.Append("["); s0.Append(sFpatha); s0.Append("]"); s0.Append(Environment.NewLine); s0.Append(Environment.NewLine); s0.Append("このアプリケーションの開発者にエラーログをお知らせください。"); MessageBox.Show( s0.ToString(), "▲エラーが発生しました! " + Info_MiddleImpl.Name_Library + ":" + this.GetType().Name + "#WriteErrorLog"); } catch (Exception) { err_SFpatha = sFpatha; goto gt_Error_CanNotWriteErrorLog; } } else { // メタのロガーが、エラーを検知。 goto gt_Error_MetaNotSuccessful; } } goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_CanNotWriteErrorLog: { StringBuilder s0 = new StringBuilder(); s0.Append("▲312!エラーが発生しましたが、エラーログを出力できませんでした。("); s0.Append(Info_MiddleImpl.Name_Library); s0.Append(") ファイルパス=["); s0.Append(err_SFpatha); s0.Append("]"); MessageBox.Show(sOutput, s0.ToString()); } goto gt_EndMethod; //──────────────────────────────────────── gt_Error_MetaNotSuccessful: { Log_TextIndented s0 = new Log_TextIndentedImpl(); s0.Append("エラーが発生しましたが、エラーログを出力できませんでした。"); s0.Newline(); s0.Newline(); s0.Append("もしかして?"); s0.Newline(); s0.Append(" ・設定ファイルの「エラーログの書出し先」を読み込む前に、エラーが出てしまった?"); s0.Newline(); s0.Append(" ・「ログファイル書き出し先」は指定されていますか?"); s0.Newline(); s0.Newline(); s0.Append("実行箇所ヒント:"); s0.Newline(); s0.Append(" ・"); s0.Append(sRunningHintName); s0.Newline(); s0.Newline(); MessageBox.Show( s0.ToString(), //sOutput, "▲エラー!【Er:101;】(" + log_Method.Fullname + ")"); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: log_Method.EndMethod(log_Reports_Meta); return; }
//──────────────────────────────────────── private void Usercontrol_Canvas_DragDrop(object sender, DragEventArgs e) { Log_Method log_Method = new Log_MethodImpl(); Log_Reports log_Reports = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_SpeedCoder.Name_Library, this, "Usercontrol_Canvas_DragDrop", log_Reports); Point locationMouse = this.PointToClient(new Point(e.X, e.Y)); bool isDropped = false; if (e.Data.GetDataPresent(DataFormats.FileDrop)) { // ファイルドロップ TextdropareaImpl droppedArea = null; string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, false); if (this.Textdroparea1.Bounds.Contains(locationMouse.X, locationMouse.Y)) { droppedArea = this.Textdroparea1; } if (this.Textdroparea2.Bounds.Contains(locationMouse.X, locationMouse.Y)) { droppedArea = this.Textdroparea2; } if (null != droppedArea) { droppedArea.IsDropped = true; droppedArea.Clear(); //log_Method.WriteDebug_ToConsole("ファイルをドロップした。 fileNames.length=[" + fileNames.Length + "]"); foreach (string fileName in fileNames) { droppedArea.ListFilepath.Add(fileName); //log_Method.WriteDebug_ToConsole("fileName=[" + fileName + "]"); } isDropped = true; } else { //log_Method.WriteDebug_ToConsole("ファイルをドロップしたが、枠には入っていない。 fileNames.length=[" + fileNames.Length + "]"); } } else if (e.Data.GetDataPresent(DataFormats.StringFormat)) { // 文字列として読み取れる形式のデータがドロップされた場合、 // テキストボックスに、その文字列データを表示します。 string droppedText = (string)e.Data.GetData(typeof(string)); TextdropareaImpl droppedArea = null; if (this.Textdroparea1.Bounds.Contains(locationMouse.X, locationMouse.Y)) { droppedArea = this.Textdroparea1; } if (this.Textdroparea2.Bounds.Contains(locationMouse.X, locationMouse.Y)) { droppedArea = this.Textdroparea2; } if (null != droppedArea) { droppedArea.IsDropped = true; droppedArea.Clear(); droppedArea.DroppedText = droppedText; isDropped = true; } } else { //log_Method.WriteDebug_ToConsole("ファイル以外のものをドロップした。"); } if (isDropped) { //log_Method.WriteDebug_ToConsole("ドロップがあったとき。"); SpeedCodingImpl speedCoding = new SpeedCodingImpl(); bool isError; string result = speedCoding.Perform(out isError, this.Textdroparea1, this.Textdroparea2, log_Reports); this.textBox1.Text = result; if (isError) { this.textBox1.ForeColor = Color.Red; } else { this.textBox1.ForeColor = SystemColors.ControlText; } this.Refresh(); } //log_Method.WriteDebug_ToConsole("locationMouse.X=[" + locationMouse.X + "] .Y=[" + locationMouse.Y + "]"); //log_Method.WriteDebug_ToConsole("this.Textdroparea1.Bounds=[" + this.Textdroparea1.Bounds.X + "][" + this.Textdroparea1.Bounds.Y + "][" + this.Textdroparea1.Bounds.Width + "][" + this.Textdroparea1.Bounds.Height + "]"); //log_Method.WriteDebug_ToConsole("this.Textdroparea2.Bounds=[" + this.Textdroparea2.Bounds.X + "][" + this.Textdroparea2.Bounds.Y + "][" + this.Textdroparea2.Bounds.Width + "][" + this.Textdroparea2.Bounds.Height + "]"); log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public void Perform() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_PartsnumPut.Name_Library, this, "Perform", log_Reports_ThisMethod); this.In_UsercontrolCanvas.ClearNumSps(true); log_Method.WriteDebug_ToConsole("Performを実行しました。"); // // テーブル読取 // //Dictionary<string, int> dictionary_NameField = new Dictionary<string, int>(); //欲しい列が何番目にあるかを調べます。 int row = 0; // 「NO」、「DISPLAY」、「LAYER」「X」「Y」「FONT_SIZE」「COLOR_BG」(「END」)の8フィールドがある。 int indexColumn_Display = -1; int indexColumn_Text = -1; int indexColumn_Layer = -1; int indexColumn_X = -1; int indexColumn_XLt = -1; int indexColumn_Y = -1; int indexColumn_YLt = -1; int indexColumn_FontSize = -1; int indexColumn_FontSizePt = -1; int indexColumn_ColorBg = -1; int indexColumn_BackColor = -1; //this.in_Table_Humaninput.RecordFielddefinition.ForEach(delegate(Fielddefinition fielddefinition, ref bool isBreak2, Log_Reports log_Reports2) //{ //},log_Reports_ThisMethod); // 列のindex。該当がなければ-1。 indexColumn_Display = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("DISPLAY"); indexColumn_Text = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("TEXT"); indexColumn_Layer = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("LAYER"); indexColumn_X = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("X"); indexColumn_XLt = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("X_LT"); indexColumn_Y = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("Y"); indexColumn_YLt = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("Y_LT"); indexColumn_FontSize = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("FONT_SIZE"); indexColumn_FontSizePt = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("FONT_SIZE_PT"); indexColumn_ColorBg = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("COLOR_BG"); indexColumn_BackColor = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("BACK_COLOR"); this.in_Table_Humaninput.ForEach_Datapart(delegate(Record_Humaninput recordH, ref bool isBreak1, Log_Reports log_Reports1) { //log_Method.WriteDebug_ToConsole("row=[" + row + "] recordH.ToString_DebugDump()=[" + recordH.ToString_DebugDump() + "]"); //if (row == 0) //{ // // 上1行は「列名」。 // //log_Method.WriteDebug_ToConsole("indexColumn_BackColor=[" + indexColumn_BackColor + "] recordH.ToString_DebugDump()=[" + recordH.ToString_DebugDump()+ "]"); // goto gt_LastLoop; //} //else if (row < 3) //{ // // 上3行(row=0,1,2)は「列名」「型」「解説」として無視。 // goto gt_LastLoop; //} // 左端に EOF が入っていれば終了。 if ("EOF" == recordH.ValueAt(0).Text.Trim()) { isBreak1 = true; goto gt_LastLoop; } Memory4bSpritePartsnumberImpl memSpriteNum = new Memory4bSpritePartsnumberImpl(); memSpriteNum.Delegate_OnChangeSprite_Partsnumber = this.In_UsercontrolCanvas.UsercontrolCanvas_OnChangeSpritePartsnumber; //表示テキスト { if (0 <= indexColumn_Text) { memSpriteNum.Text = recordH.ValueAt(indexColumn_Text).Text; } else if (0 <= indexColumn_Display) { //旧仕様 memSpriteNum.Text = recordH.ValueAt(indexColumn_Display).Text; } } //レイヤー if (0 <= indexColumn_Layer) { int nLayer = 0; int.TryParse(recordH.ValueAt(indexColumn_Layer).Text, out nLayer); memSpriteNum.Number_Layer = nLayer; } //座標 { //左辺x int x = 0; { if (0 <= indexColumn_XLt) { int.TryParse(recordH.ValueAt(indexColumn_XLt).Text, out x); } else if (0 <= indexColumn_X) { int.TryParse(recordH.ValueAt(indexColumn_X).Text, out x); } } //上辺y int y = 0; { if (0 <= indexColumn_YLt) { int.TryParse(recordH.ValueAt(indexColumn_YLt).Text, out y); } else if (0 <= indexColumn_Y) { int.TryParse(recordH.ValueAt(indexColumn_Y).Text, out y); } } memSpriteNum.LocationOnBackgroundActual = new PointF(x, y); } //フォントサイズ(1以上の数字なら有効) { int fontsize = -1; if (0 <= indexColumn_FontSizePt) { if (int.TryParse(recordH.ValueAt(indexColumn_FontSizePt).Text, out fontsize)) { fontsize = -1; } } else if (0 <= indexColumn_FontSize) { //旧仕様 if (int.TryParse(recordH.ValueAt(indexColumn_FontSize).Text, out fontsize)) { fontsize = -1; } } if (1 <= fontsize) { memSpriteNum.Font = new System.Drawing.Font("MS ゴシック", (float)fontsize); } } //背景色 { string name_Color = ""; if (0 <= indexColumn_BackColor) { name_Color = recordH.ValueAt(indexColumn_BackColor).Text; } else if (0 <= indexColumn_ColorBg) { //旧仕様 name_Color = recordH.ValueAt(indexColumn_ColorBg).Text; } switch (name_Color) { case "Green": memSpriteNum.BrushBackground = Brushes.Green; break; default: memSpriteNum.BrushBackground = Brushes.Blue; break; } } this.In_UsercontrolCanvas.AddNumSp(memSpriteNum, true); // gt_LastLoop://continueを使わない。 row++; }, log_Reports_ThisMethod); this.In_UsercontrolCanvas.After_AddSpriteList(); // フォームを再描画。 this.In_UsercontrolCanvas.Refresh(); // goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports_ThisMethod); return; }
//──────────────────────────────────────── public void XTo( out KeyconfigImpl out_Keycnf, Log_Reports log_Reports ) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_Load = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Operating.Name_Library, this, "XToO", log_Reports_Load); // // out_Keycnf = new KeyconfigImpl(); CsvTo_Table_HumaninputImpl csvTo = new CsvTo_Table_HumaninputImpl(); Request_ReadsTable oRequest_TableReads = new Request_ReadsTableImpl(); { Configurationtree_NodeImpl cf_ConfigStack = new Configurationtree_NodeImpl(Info_Operating.Name_Library + ":" + this.GetType().Name + "#<init>:", null); Configurationtree_NodeFilepath cf_Fpath = new Configurationtree_NodeFilepathImpl("ファイルパス出典未指定L03_1", cf_ConfigStack); cf_Fpath.InitPath( "Editor-config/GAME_PAD/Key-config.csv", log_Reports ); Expression_Node_Filepath ec_Fpath = new Expression_Node_FilepathImpl(cf_Fpath); oRequest_TableReads.Expression_Filepath = ec_Fpath; if (!log_Reports.Successful) { // エラー goto gt_EndMethod; } } Format_Table_Humaninput o_TableFormat = new Format_Table_HumaninputImpl(); out_Keycnf.O_Table_Keycnf = csvTo.Read( oRequest_TableReads, o_TableFormat, true, log_Reports ); if (!log_Reports.Successful) { // エラー goto gt_EndMethod; } // // テーブルを上から1行ずつ読んでいきます。 // foreach (DataRow dataRow in out_Keycnf.O_Table_Keycnf.DataTable.Rows) { //NO ID Expl PLAYER BEFORE AFTER // プレイヤー番号 int nPlayer; { Int_HumaninputImpl o_Player = (Int_HumaninputImpl)dataRow["PLAYER"]; if (Int_HumaninputImpl.TryParse( o_Player, out nPlayer, EnumOperationIfErrorvalue.Error, 0, log_Reports )) { } if (!log_Reports.Successful) { // エラー goto gt_EndMethod; } } // BEFORE EnumGamepadkeyIx enumGmkeyArray; { string sBefore; string sDebug1 = ""; string sDebug2 = ""; String_HumaninputImpl o_Before = (String_HumaninputImpl)dataRow["BEFORE"]; if (String_HumaninputImpl.TryParse( o_Before, out sBefore, sDebug1, sDebug2, pg_Method, log_Reports )) { } if (!log_Reports.Successful) { // エラー goto gt_EndMethod; } switch (sBefore) { case "Up": enumGmkeyArray = EnumGamepadkeyIx.Up; break; case "Right": enumGmkeyArray = EnumGamepadkeyIx.Right; break; case "Down": enumGmkeyArray = EnumGamepadkeyIx.Down; break; case "Left": enumGmkeyArray = EnumGamepadkeyIx.Left; break; case "0": enumGmkeyArray = EnumGamepadkeyIx.B0; break; case "1": enumGmkeyArray = EnumGamepadkeyIx.B1; break; case "2": enumGmkeyArray = EnumGamepadkeyIx.B2; break; case "3": enumGmkeyArray = EnumGamepadkeyIx.B3; break; case "4": enumGmkeyArray = EnumGamepadkeyIx.B4; break; case "5": enumGmkeyArray = EnumGamepadkeyIx.B5; break; case "6": enumGmkeyArray = EnumGamepadkeyIx.B6; break; case "7": enumGmkeyArray = EnumGamepadkeyIx.B7; break; default: // エラー enumGmkeyArray = EnumGamepadkeyIx.B0; break; } } // AFTER EnumGamepadkeyBit gmkeyPushEnum; { string sAfter; string sDebug1 = ""; string sDebug2 = ""; String_HumaninputImpl o_Before = (String_HumaninputImpl)dataRow["AFTER"]; if (String_HumaninputImpl.TryParse( o_Before, out sAfter, sDebug1, sDebug2, pg_Method, log_Reports )) { } if (!log_Reports.Successful) { // エラー goto gt_EndMethod; } switch (sAfter) { case "Up": gmkeyPushEnum = EnumGamepadkeyBit.Up; break; case "Right": gmkeyPushEnum = EnumGamepadkeyBit.Right; break; case "Down": gmkeyPushEnum = EnumGamepadkeyBit.Down; break; case "Left": gmkeyPushEnum = EnumGamepadkeyBit.Left; break; case "A": gmkeyPushEnum = EnumGamepadkeyBit.A; break; case "B": gmkeyPushEnum = EnumGamepadkeyBit.B; break; case "X": gmkeyPushEnum = EnumGamepadkeyBit.X; break; case "Y": gmkeyPushEnum = EnumGamepadkeyBit.Y; break; case "L": gmkeyPushEnum = EnumGamepadkeyBit.L; break; case "R": gmkeyPushEnum = EnumGamepadkeyBit.R; break; case "Select": gmkeyPushEnum = EnumGamepadkeyBit.Select; break; case "Start": gmkeyPushEnum = EnumGamepadkeyBit.Start; break; default: // エラー gmkeyPushEnum = EnumGamepadkeyBit.A; break; } } // // 記憶 // KeyconfigPadImpl keycnfPad; if (out_Keycnf.Dic_KeyCnf.ContainsKey(nPlayer)) { keycnfPad = out_Keycnf.Dic_KeyCnf[nPlayer]; } else { keycnfPad = new KeyconfigPadImpl(); } keycnfPad.KeyconfigArray[(int)enumGmkeyArray] = gmkeyPushEnum; out_Keycnf.Dic_KeyCnf[nPlayer] = keycnfPad; } goto gt_EndMethod; // // gt_EndMethod: pg_Method.EndMethod(log_Reports_Load); log_Reports_Load.EndLogging(pg_Method); return; }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// ドラッグ&ドロップ アクション実行。 /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> public override void Execute4_OnDnD( object sender, GiveFeedbackEventArgs e ) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "Execute4_OnDnD", log_Reports_ThisMethod); // // // // Customcontrol cct = null; // // コントロール名。 // string sName_Usercontrol; if (sender is Customcontrol) { cct = (Customcontrol)sender; sName_Usercontrol = cct.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロールでドラッグ&ドロップされました。"; // ステータスバーに、コントロール名を表示。 //cct.ControlCommon.MoControlMediator.AddStatus_ActionFcName(sName_Usercontrol, d_Logging_Dammy); } else { sName_Usercontrol = ""; log_Reports_ThisMethod.Comment_EventCreationMe = "ドラッグ&ドロップされました。"; } // // ストップウォッチ。 // if (log_Reports_ThisMethod.CanStopwatch) { pg_Method.Log_Stopwatch.Message = Utility_Format.Format( sName_Usercontrol, this.ConfigurationtreeToExpression_Event.Name ); pg_Method.Log_Stopwatch.Begin(); } // // 登録アクション作成・実行ループ。 // // 未作成時「作成」 if (!this.ConfigurationtreeToExpression_Event.IsTranslated_ConfigurationtreeToExpression) { this.ConfigurationtreeToExpression_Event.Translate(cct.ControlCommon.Owner_MemoryApplication, log_Reports_ThisMethod); } // 実行。 //EnumEventhandler err_Eh; if (log_Reports_ThisMethod.Successful) { foreach (Expression_Node_Function expr_Func in this.List_Item) { expr_Func.Execute4_OnDnD(sender, e); } } goto gt_EndMethod; // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <summary> /// アクション実行。 /// /// 引数が object と EventArgs の場合。 /// /// ListBox の「項目選択時」は、これではなく、 /// NEventPerformer_ListboxImpl#Perform_OEa /// を使ってください。 /// /// 数値ボックスの "Se:値変更時;" は、ここにくる。 /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> public override void Execute4_OnOEa( object sender, EventArgs e ) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "Execute4_OnOEa", log_Reports_ThisMethod); // // Customcontrol cct = null; // // コントロール名。 // string sName_Usercontrol; if (sender is Customcontrol) { cct = (Customcontrol)sender; sName_Usercontrol = cct.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロールでOEaアクションが実行されました。"; // ステータスバーに、コントロール名を表示。 //cct.ControlCommon.MoControlMediator.AddStatus_ActionFcName(sName_Usercontrol, d_Logging_Dammy); } else { sName_Usercontrol = ""; log_Reports_ThisMethod.Comment_EventCreationMe = "OEaアクションが実行されました。"; } // // ストップウォッチ // if (log_Reports_ThisMethod.CanStopwatch) { pg_Method.Log_Stopwatch.Message = Utility_Format.Format( sName_Usercontrol, this.ConfigurationtreeToExpression_Event.Name ); pg_Method.Log_Stopwatch.Begin(); } // // // // //ystem.Console.WriteLine(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: 何回呼び出される?(A)"); // // 登録アクション作成・実行ループ。 // // // 「登録アクション設定」を元に、「アクション」を作成し、実行順に実行。 // if (!this.ConfigurationtreeToExpression_Event.IsTranslated_ConfigurationtreeToExpression) { // まだアクションが作成されていなければ、作成。 this.ConfigurationtreeToExpression_Event.Translate(cct.ControlCommon.Owner_MemoryApplication, log_Reports_ThisMethod); } //EnumEventhandler err_Eh; if (log_Reports_ThisMethod.Successful) { // 登録されているアクションを実行。 foreach (Expression_Node_Function expr_Func in this.List_Item) { expr_Func.Execute4_OnOEa(sender, e); } } goto gt_EndMethod; // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── static Collection_Function() { Log_Method log_Method = new Log_MethodImpl(1); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Functions.Name_Library, "Collection_Function", "static Collection_Function", log_Reports_ThisMethod); // dictionary_Interlibrary = new Dictionary <string, Expression_Node_Function>(); ConfigurationtreeToFunction_Item transUnknown = new ConfigurationtreeToFunction00_ItemImpl();//暫定 ConfigurationtreeToFunction_Item trans00 = new ConfigurationtreeToFunction00_ItemImpl(); ConfigurationtreeToFunction_Item trans20 = new ConfigurationtreeToFunction20_ItemImpl(); //関数名未設定のインスタンスを、ディクショナリーに追加します。#NewInstance 実行時に関数名を付けます。 { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function04Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function04Impl.PM_POPUP); list_Param.Add(Expression_Node_Function04Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function04Impl.NAME_FUNCTION, new Expression_Node_Function04Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function05Impl.PM_NAME_TABLE_SOURCE); list_Param.Add(Expression_Node_Function05Impl.PM_NAME_TABLE_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function05Impl.NAME_FUNCTION, new Expression_Node_Function05Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function06Impl.PM_NAME_TABLE_SOURCE); list_Param.Add(Expression_Node_Function06Impl.PM_FILEPATH_EXTERNALAPPLICATION); Collection_Function.SetFunction(Expression_Node_Function06Impl.NAME_FUNCTION, new Expression_Node_Function06Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function11Impl.NAME_FUNCTION, new Expression_Node_Function11Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { //dic_E_Sf.Add(E_Sf17Impl_OLD.NAME_FUNCTION, new E_Sf17Impl_OLD(null, cf_Node));//todo: } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function19Impl.NAME_FUNCTION, new Expression_Node_Function19Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function20Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function20Impl.PM_NAME_CONTROL_LISTBOX); Collection_Function.SetFunction(Expression_Node_Function20Impl.NAME_FUNCTION, new Expression_Node_Function20Impl(EnumEventhandler.O_Lr, list_Param, trans20), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function21Impl.NAME_FUNCTION, new Expression_Node_Function21Impl(EnumEventhandler.O_Kea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function22Impl.NAME_FUNCTION, new Expression_Node_Function22Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function25Impl.PM_NAME_FIELD); list_Param.Add(Expression_Node_Function25Impl.PM_NAME_VAR_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function25Impl.NAME_FUNCTION, new Expression_Node_Function25Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function27Impl.PM_NAME_TOGETHER); Collection_Function.SetFunction(Expression_Node_Function27Impl.NAME_FUNCTION, new Expression_Node_Function27Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function28Impl.PM_MESSAGE); Collection_Function.SetFunction(Expression_Node_Function28Impl.NAME_FUNCTION, new Expression_Node_Function28Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function29Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function29Impl.NAME_FUNCTION, new Expression_Node_Function29Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function30Impl.PM_NAME_TOGETHER); list_Param.Add(Expression_Node_Function30Impl.PM_NAME_FORM); Collection_Function.SetFunction(Expression_Node_Function30Impl.NAME_FUNCTION, new Expression_Node_Function30Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function31Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function31Impl.NAME_FUNCTION, new Expression_Node_Function31Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_FIELD); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_CONTROL_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function32Impl.NAME_FUNCTION, new Expression_Node_Function32Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function33Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function33Impl.PM_NAME_FIELD_KEY); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EXPECTED); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EXPECTED2); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EMPTY); Collection_Function.SetFunction(Expression_Node_Function33Impl.NAME_FUNCTION, new Expression_Node_Function33Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function34Impl.PM_NAME_VAR); list_Param.Add(Expression_Node_Function34Impl.PM_VALUE); list_Param.Add(Expression_Node_Function34Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function34Impl.NAME_FUNCTION, new Expression_Node_Function34Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 無し Collection_Function.SetFunction(Expression_Node_Function35Impl.NAME_FUNCTION, new Expression_Node_Function35Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function36Impl.PM_CONTROL_NAME); Collection_Function.SetFunction(Expression_Node_Function36Impl.NAME_FUNCTION, new Expression_Node_Function36Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function37Impl.PM_FROM); list_Param.Add(Expression_Node_Function37Impl.PM_TO); Collection_Function.SetFunction(Expression_Node_Function37Impl.NAME_FUNCTION, new Expression_Node_Function37Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function38Impl.PM_FROM); list_Param.Add(Expression_Node_Function38Impl.PM_TO); Collection_Function.SetFunction(Expression_Node_Function38Impl.NAME_FUNCTION, new Expression_Node_Function38Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function39Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function39Impl.PM_VALUE_ENABLED); Collection_Function.SetFunction(Expression_Node_Function39Impl.NAME_FUNCTION, new Expression_Node_Function39Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function40Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function40Impl.PM_VALUE_VISIBLED); Collection_Function.SetFunction(Expression_Node_Function40Impl.NAME_FUNCTION, new Expression_Node_Function40Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function42Impl.PM_EXECUTE); list_Param.Add(Expression_Node_Function42Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function42Impl.NAME_FUNCTION, new Expression_Node_Function42Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function43Impl.PM_NAME_VAR); list_Param.Add(Expression_Node_Function43Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function43Impl.NAME_FUNCTION, new Expression_Node_Function43Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function44Impl.NAME_FUNCTION, new Expression_Node_Function44Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function45Impl.NAME_FUNCTION, new Expression_Node_Function45Impl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function46Impl.NAME_FUNCTION, new Expression_Node_Function46Impl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function_BootCsvEditorImpl.NAME_FUNCTION, new Expression_Node_Function_BootCsvEditorImpl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function_OnEditorSelected_Impl.NAME_FUNCTION, new Expression_Node_Function_OnEditorSelected_Impl(EnumEventhandler.Editor_B_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function47Impl.PM_FOLDER_SOURCE); list_Param.Add(Expression_Node_Function47Impl.PM_FILE_EXPORT); list_Param.Add(Expression_Node_Function47Impl.PM_FIELD_EXPORT); list_Param.Add(Expression_Node_Function47Impl.PM_FILTER); list_Param.Add(Expression_Node_Function47Impl.PM_IS_SEARCH_SUBFOLDER); list_Param.Add(Expression_Node_Function47Impl.PM_POPUP); Collection_Function.SetFunction(Expression_Node_Function47Impl.NAME_FUNCTION, new Expression_Node_Function47Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function48Impl.PM_FILE_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_FIELDSOURCE_IMPORTLISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_FIELDDESTINATION_IMPORTLISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_ENCODING_FILEIMPORT); list_Param.Add(Expression_Node_Function48Impl.PM_ENCODING_FILEEXPORT); Collection_Function.SetFunction(Expression_Node_Function48Impl.NAME_FUNCTION, new Expression_Node_Function48Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function49Impl.PM_FILE_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FIELD_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FILTER_EXTENSION_IMPORT); list_Param.Add(Expression_Node_Function49Impl.PM_FILE_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_TYPEFIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_COMMENTFIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_REGULAREXPRESSION_REPLACEBEFORE_NAMEFILEEXPORT); list_Param.Add(Expression_Node_Function49Impl.PM_REGULAREXPRESSION_REPLACEAFTER_NAMEFILEEXPORT); list_Param.Add(Expression_Node_Function49Impl.PM_FOLDER_SOURCE); list_Param.Add(Expression_Node_Function49Impl.PM_FOLDER_DESTINATION); list_Param.Add(Expression_Node_Function49Impl.PM_POPUP); Collection_Function.SetFunction(Expression_Node_Function49Impl.NAME_FUNCTION, new Expression_Node_Function49Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } // log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public override void Execute4_OnOEa( object sender, EventArgs e ) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "Execute4_OnOEa", log_Reports_ThisMethod); // // Customcontrol cct = null; string sName_Usercontrol; if (sender is Customcontrol) { cct = (Customcontrol)sender; sName_Usercontrol = cct.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロールでOEaアクションが実行されました。"; } else { sName_Usercontrol = ""; log_Reports_ThisMethod.Comment_EventCreationMe = "OEaアクションが実行されました。"; } if (log_Reports_ThisMethod.CanStopwatch) { string sEventName; this.Configurationtree_Event.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sEventName, true, log_Reports_ThisMethod); pg_Method.Log_Stopwatch.Message = Utility_Format.Format( sName_Usercontrol, sEventName ); pg_Method.Log_Stopwatch.Begin(); } // // // // //ystem.Console.WriteLine(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: 何回呼び出される?(A)"); //EnumEventhandler err_Eh; // // 「登録アクション設定」を元に、「アクション」を作成し、実行順に実行。 // Configurationtree_Event.List_Child.ForEach(delegate(Configurationtree_Node systemFunction_Conf, ref bool bBreak) { Expression_Node_Function expr_Func = cct.ControlCommon.Owner_MemoryApplication.MemoryForms.ConfigurationtreeToFunction.Translate( systemFunction_Conf, true, log_Reports_ThisMethod); if (log_Reports_ThisMethod.Successful) { expr_Func.Execute4_OnOEa(sender, e); } goto gt_EndMethod2; // gt_EndMethod2: ; }); goto gt_EndMethod; // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── private void ReadKeyconfig(Gamepadmainloop mainloop, int nPlayerPrm, Memory_GameController gc) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Operating.Name_Library, this, "ReadKeyConfig", log_Reports_ThisMethod); // テーブルを、上から下に読んでいく。 // 列の並び順は NO ID Expl PLAYER BEFORE AFTER if (null != this.Table_Humaninput_Keyconfig)//テーブルの読取が成功していること。 { DataTable dataTable = this.Table_Humaninput_Keyconfig.DataTable; foreach (DataRow dataRow in dataTable.Rows) { int nPlayer; Int_HumaninputImpl.TryParse( dataRow.ItemArray[3], out nPlayer, EnumOperationIfErrorvalue.Spaces_To_Alt_Value, 0, log_Reports_ThisMethod ); if (nPlayerPrm == nPlayer) { string sBefore; string sAfter; String_HumaninputImpl.TryParse( dataRow.ItemArray[4], out sBefore, "", "", pg_Method, log_Reports_ThisMethod ); String_HumaninputImpl.TryParse( dataRow.ItemArray[5], out sAfter, "", "", pg_Method, log_Reports_ThisMethod ); EnumGamepadkeyIx o_Before; EnumGamepadkeyBit o_After; switch (sBefore) { case "Up": o_Before = EnumGamepadkeyIx.Up; break; case "Right": o_Before = EnumGamepadkeyIx.Right; break; case "Down": o_Before = EnumGamepadkeyIx.Down; break; case "Left": o_Before = EnumGamepadkeyIx.Left; break; case "1": o_Before = EnumGamepadkeyIx.B0; break; case "2": o_Before = EnumGamepadkeyIx.B1; break; case "3": o_Before = EnumGamepadkeyIx.B2; break; case "4": o_Before = EnumGamepadkeyIx.B3; break; case "5": o_Before = EnumGamepadkeyIx.B4; break; case "6": o_Before = EnumGamepadkeyIx.B5; break; case "7": o_Before = EnumGamepadkeyIx.B6; break; case "8": o_Before = EnumGamepadkeyIx.B7; break; default: o_Before = EnumGamepadkeyIx.Up; break; } switch (sAfter) { case "Up": o_After = EnumGamepadkeyBit.Up; break; case "Right": o_After = EnumGamepadkeyBit.Right; break; case "Down": o_After = EnumGamepadkeyBit.Down; break; case "Left": o_After = EnumGamepadkeyBit.Left; break; case "A": o_After = EnumGamepadkeyBit.A; break; case "B": o_After = EnumGamepadkeyBit.B; break; case "X": o_After = EnumGamepadkeyBit.X; break; case "Y": o_After = EnumGamepadkeyBit.Y; break; case "L": o_After = EnumGamepadkeyBit.L; break; case "R": o_After = EnumGamepadkeyBit.R; break; case "Select": o_After = EnumGamepadkeyBit.Select; break; case "Start": o_After = EnumGamepadkeyBit.Start; break; default: o_After = EnumGamepadkeyBit.Up; break; } gc.KeyCnf.KeyconfigArray[(int)o_Before] = o_After; } } } // // pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <summary> /// コンストラクター。 /// </summary> /// <param name="sName_Pm"></param> /// <param name="log_Reports"></param> public PmNameImpl_(string sName_Pm) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Middle.Name_Library, this, "PmNameImpl_", log_Reports_ThisMethod); if (sName_Pm.StartsWith(PmNames.S_PM) && sName_Pm.EndsWith(PmNames.S_SEMICOLON)) { // "Pm:"で始まり、";"で終わる。 this.name_Pm = sName_Pm; this.name_Attribute = sName_Pm.Substring(3, sName_Pm.Length - 4); if ("" == this.name_Attribute) { // エラー。 goto gt_Error_Format; } } else { // エラー。 goto gt_Error_Format; } goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_Format: if (log_Reports_ThisMethod.CanCreateReport) { Log_RecordReports r = log_Reports_ThisMethod.BeginCreateReport(EnumReport.Error); r.SetTitle("▲エラー36!", pg_Method); Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("pm引数フォーマットエラー 入力=["); s.Append(sName_Pm); s.Append("] Attr部=["); s.Append(this.Name_Attribute); s.Append("] pm部=["); s.Append(this.Name_Pm); s.Append("]"); s.Newline(); s.Append("[" + PmNames.S_PM + "]で始まり、「;」で終わらなければなりません。また、名前は空文字列であってはいけません。"); s.Newline(); s.Newline(); r.Message = s.ToString(); log_Reports_ThisMethod.EndCreateReport(); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public override void Execute4_OnOEa( object sender, EventArgs e ) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "Execute4_OnOEa", log_Reports_ThisMethod); // // Customcontrol cct = null; string sName_Usercontrol; if (sender is Customcontrol) { cct = (Customcontrol)sender; sName_Usercontrol = cct.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod); log_Reports_ThisMethod.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロールでOEaアクションが実行されました。"; } else { sName_Usercontrol = ""; log_Reports_ThisMethod.Comment_EventCreationMe = "OEaアクションが実行されました。"; } if (log_Reports_ThisMethod.CanStopwatch) { string sEventName; this.Configurationtree_Event.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sEventName, true, log_Reports_ThisMethod); pg_Method.Log_Stopwatch.Message = Utility_Format.Format( sName_Usercontrol, sEventName ); pg_Method.Log_Stopwatch.Begin(); } // // // // // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ { CustomcontrolListbox ccLst = (CustomcontrolListbox)sender; //true || if (this.nIndex_PreSelected != ccLst.SelectedIndex) { //essageBox.Show(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: FC[" + fcNameStr + "]で、イベント(リストボックスの項目選択等)が起こりました。 .SelectedIndex=[" + .SelectedIndex + "] preSelectedIndex=["+this.preSelectedIndex+"]"); } else { // // リストボックスの selectedIndex が変わっていないとき。 // // ※ dataSourceのテーブルの行が変わったりすると、ここに来ます。 // return; //essageBox.Show(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: FC[" + fcNameStr + "]で、イベント(リストボックスの項目選択等)が起こっていません。選択項目インデックスが同じです。 .SelectedIndex=[" + .SelectedIndex + "] preSelectedIndex=[" + this.preSelectedIndex + "]"); } this.nIndex_PreSelected = ccLst.SelectedIndex; } // // 「登録アクション設定」を元に、「アクション」を作成し、実行順に実行。 // Configurationtree_Event.List_Child.ForEach(delegate(Configurationtree_Node systemFunction_Conf, ref bool bBreak) { Expression_Node_Function expr_Func = cct.ControlCommon.Owner_MemoryApplication.MemoryForms.ConfigurationtreeToFunction.Translate( systemFunction_Conf, true, log_Reports_ThisMethod ); if (log_Reports_ThisMethod.Successful) { //ystem.Console.WriteLine(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: 何回呼び出される?(B)"); expr_Func.Execute4_OnOEa(sender, e); } }); goto gt_EndMethod; // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }