//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// /// </summary> public void ToText_Snapshot(Log_TextIndented s) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForSnapshot = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText_Snapshot", log_Reports_ForSnapshot); log_Reports_ForSnapshot.BeginCreateReport(EnumReport.Dammy); s.Increment(); s.AppendI(0, "L01(葉):" + "「E■["); s.Append(this.Conf.Name); s.Append("] "); s.Append(this.Lv4Execute_OnImplement(EnumHitcount.Unconstraint, log_Reports_ForSnapshot)); s.Append("」"); s.Newline(); goto gt_EndMethod; // // gt_EndMethod: s.Decrement(); log_Reports_ForSnapshot.EndCreateReport(); log_Method.EndMethod(log_Reports_ForSnapshot); }
//──────────────────────────────────────── /// <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> public void ToText_Snapshot(Log_TextIndented s) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForSnapshot = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText_Snapshot", log_Reports_ForSnapshot); log_Reports_ForSnapshot.BeginCreateReport(EnumReport.Dammy); s.Increment(); // ノード名 s.AppendI(0, "「E■["); s.Append(this.Cur_Configuration.Name); s.Append("] "); // クラス名 s.Append("["); s.Append(this.GetType().Name); s.Append("]クラス "); s.Append("子値=["); s.Append(this.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ForSnapshot)); s.Append("]"); s.Append("」"); s.Newline(); // 属性リスト this.Dictionary_Expression_Attribute.ToText_Snapshot(s); // 子リスト if (this.List_Expression_Child.Count < 1) { s.AppendI(0, "子無し"); s.Newline(); } else { s.AppendI(0, "┌────────┐子数=["); s.Append(this.List_Expression_Child.Count); s.Append("]"); s.Newline(); this.List_Expression_Child.ForEach(delegate(Expression_Node_String e_Child, ref bool bRemove, ref bool bBreak) { e_Child.ToText_Snapshot(s); }); s.AppendI(0, "└────────┘"); s.Newline(); } goto gt_EndMethod; // // gt_EndMethod: s.Decrement(); log_Reports_ForSnapshot.EndCreateReport(); log_Method.EndMethod(log_Reports_ForSnapshot); }
public void BeginMethod(out Log_Reports log_Reports) { log_Reports = new Log_ReportsImpl(this); // デバッグを行うなら、コールスタックにこのメソッドパスを追加。 if (Log_ReportsImpl.BDebugmode_Static) { log_Reports.Log_Callstack.Push(this); } }
public void BeginMethod(string sName_Library, string sName_StaticClass, string sName_Method, out Log_Reports log_Reports) { this.name_Library = sName_Library; this.name_Class = sName_StaticClass; this.isStatic = true; this.name_Method = sName_Method; log_Reports = new Log_ReportsImpl(this); // デバッグを行うなら、コールスタックにこのメソッドパスを追加。 if (Log_ReportsImpl.BDebugmode_Static) { log_Reports.Log_Callstack.Push(this); } }
//──────────────────────────────────────── /// <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); }
public void BeginMethod(string sName_Library, object thisClass, string sName_Method, out Log_Reports log_Reports) { this.name_Library = sName_Library; this.name_Class = thisClass.GetType().Name; this.isStatic = false; this.name_Method = sName_Method; log_Reports = new Log_ReportsImpl(this); // デバッグを行うなら、コールスタックにこのメソッドパスを追加。 if (Log_ReportsImpl.BDebugmode_Static) { log_Reports.Log_Callstack.Push(this); } this.IsActive = true; }
/// <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> /// /// </summary> public void ToText_Snapshot(Log_TextIndented s) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForSnapshot = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText_Snapshot", log_Reports_ForSnapshot); log_Reports_ForSnapshot.BeginCreateReport(EnumReport.Dammy); // if (this.dicExpression_Item.Count < 1) { s.AppendI(0, "属性なし"); s.Newline(); } else { s.AppendI(0, "┌────────┐属性数=["); s.Append(this.dicExpression_Item.Count); s.Append("]"); s.Newline(); foreach (Expression_Node_String ec_Item in this.dicExpression_Item.Values) { ec_Item.ToText_Snapshot(s); } s.AppendI(0, "└────────┘"); s.Newline(); } goto gt_EndMethod; // // gt_EndMethod: log_Reports_ForSnapshot.EndCreateReport(); log_Method.EndMethod(log_Reports_ForSnapshot); }
//──────────────────────────────────────── /// <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; }
public void BeginMethod(out Log_Reports log_Reports) { log_Reports = new Log_ReportsImpl(this); // デバッグを行うなら、コールスタックにこのメソッドパスを追加。 if (Log_ReportsImpl.BDebugmode_Static) { log_Reports.Log_Callstack.Push(this); } this.IsActive = true; }
//──────────────────────────────────────── /// <summary> /// @Deprecated 使ってない? /// /// リストボックスで、プロジェクト名を変更したとき。 /// 旧名:projectNameDdl_SelectedIndexChanged /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void On_ProjectNameDdl_SelectedIndexChanged(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Click = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Toolwindow.Name_Library, this, "projectNameDdl_SelectedIndexChanged",d_Logging_Click); // // // 選択プロジェクト名:取得 string sSelectedProjectName = (string)((UsercontrolListbox)this.UctlstNameProject).SelectedItem; // 選択プロジェクト名:セット this.Owner_MemoryApplication.MemoryForms.MemoryAatoolxmlDialog.Name_SelectedEditor = sSelectedProjectName; // エディター設定ファイルへのパス this.PctxtFpathProjectcnf.Text = ""; // 内容をデバッグ出力 //this.MemoryAatoolxmlDialog.MoToolConfig.Projects.DebugWrite(); MemoryAatoolxml_Editor moAatoolxml_SelectedEditor; if (this.Owner_MemoryApplication.MemoryForms.MemoryAatoolxmlDialog.MemoryAatoolxml.Dictionary_Editor.Dictionary_Item.ContainsKey(sSelectedProjectName)) { moAatoolxml_SelectedEditor = this.Owner_MemoryApplication.MemoryForms.MemoryAatoolxmlDialog.MemoryAatoolxml.Dictionary_Editor.GetEditorByName( sSelectedProjectName,true,d_Logging_Click); if (!d_Logging_Click.Successful) { // 既エラー。 goto gt_EndMethod; } if (d_Logging_Click.Successful) { // 正常時 moAatoolxml_SelectedEditor.Dictionary_Fsetvar_Configurationtree.List_Child.ForEach(delegate(Configurationtree_Node s_Fsetvar, ref bool bBreak) { string sNamevar; s_Fsetvar.Dictionary_Attribute.TryGetValue(PmNames.S_NAME_VAR, out sNamevar, true, d_Logging_Click); string sValue; s_Fsetvar.Dictionary_Attribute.TryGetValue(PmNames.S_VALUE, out sValue, true, d_Logging_Click); if (sNamevar == NamesVar.S_SP_EDITOR) { UsercontrolTextbox uctTxt = (UsercontrolTextbox)this.PctxtFpathProjectcnf; uctTxt.ControlCommon.BAutomaticinputting = true; uctTxt.Text = sValue + System.IO.Path.DirectorySeparatorChar + NamesFile.S_AA_EDITOR_XML; uctTxt.ControlCommon.BAutomaticinputting = false; } }); } } else { // 異常時 goto gt_Error_NotFoundProjectname; } //.WriteLine(this.GetType().Name + "#projectNameComboBoxUc_SelectedIndexChanged: selectedProjectName=[" + selectedProjectName + "] this.ProjectConfigFilePathTextBoxUc.Text=[" + this.ProjectConfigFilePathTxt.Text + "]"); //// 更新を確定します。 //bool commit = true; //// 内容をデバッグ出力 //.WriteLine(this.GetType().Name + "#projectConfigFilePathTxt_FoTextChanged: (1)"); //this.MemoryAatoolxmlDialog.MoToolConfig.Projects.DebugWrite(); // // 『project-config』ファイルの存在の有無を確認したい。 // //// 内容をデバッグ出力 //.WriteLine(this.GetType().Name + "#projectConfigFilePathTxt_FoTextChanged: (2)"); //this.MemoryAatoolxmlDialog.MoToolConfig.Projects.DebugWrite(); //if (pg_Logging.Successful) //{ // // 正常時 // if (commit) // { // // 『project-config.xml』ファイルの存在の有無を確認したい。 // Flow0010 flow0010 = new Flow0010(); // string projectConfigXmlAbsFilePath = flow0010.GetFileAbsPath( // this.ProjectConfigFilePathTxt.Text, // false,//取得できなくてもエラーとしない。 // pg_Logging, // "*projectConfigFilePathTextBoxUc_FoTextChanged(3)" // ); // if ("" == projectConfigXmlAbsFilePath) // { // // 『project-config』の絶対ファイルパスを取得できなかったとき。 // WarningReport dReport = new WarningReportImpl(); // dReport.Title = "▲エラー21!(Toolwindow)"; // StringBuilder txt = new StringBuilder(); // txt.Append("(1)『project-config』ファイルへのパスがテキストボックスに入力されていませんでした。"); // txt.Append(Environment.NewLine); // txt.Append(" ツール設定ファイルの プロジェクト要素の内容を確かめてみてください。"); // txt.Append(Environment.NewLine); // txt.Append(Environment.NewLine); // txt.Append(this.GetType().Name); // txt.Append("#projectConfigFilePathTextBoxUc_FoTextChanged:"); // txt.Append(Environment.NewLine); // txt.Append(" テキストボックス値=[" + this.ProjectConfigFilePathTxt.Text + "]"); // dReport.Message = txt.ToString(); // pg_Logging.Add(dReport); // //.WriteLine( txt.ToString() ); // } // else // { // // 『project-config』の絶対ファイルパスを取得できたとき。 // // ツール設定ファイルの存在の有無を確認したい。 // string toolConfigXmlAbsFilePath = flow0010.GetFileAbsPath( // ModelOfToolConfigImpl.TOOL_CONFIG_REL_FILE_PATH, // false,//取得できなくてもエラーとしない。 // pg_Logging, // "*projectConfigFilePathTextBoxUc_FoTextChanged(4)" // ); // if ("" == toolConfigXmlAbsFilePath) // { // // ツール設定ファイルの絶対ファイルパスを取得できなかったとき。 // //.WriteLine(this.GetType().Name + "#projectConfigFilePathTextBoxUc_FoTextChanged: (2)ツール設定ファイルへのパスが取得できなかったので、変更をツール設定ファイルに保存しません。"); // } // else // { // // ツール設定ファイルの絶対ファイルパスを取得できたとき。 // // TODO ツール設定ファイルに、『project-config.xml』の絶対パスを保存したい。 // // // // 外部ファイルに変更を保存します。 // // // //if (!this.ProjectConfigFilePathTxt.ControlCommon.BAutomaticinputting) // //{ // // // 自動入力でない場合。 // // if (pg_Logging.Successful) // // { // // // 正常時 // // // 『SRSグローバルリスト マージツール設定』の保存 // // WriterOfToolConfig writer1 = new WriterOfToolConfig(); // // writer1.Write( // // toolConfigXmlAbsFilePath,//ここは『ツール設定ファイル』が正しい。 // // this.MemoryAatoolxmlDialog.ApplicationName, // // this.MemoryAatoolxmlDialog.MoToolConfig.Projects, // // pg_Logging, // // "*projectConfigFilePathTextBoxUc_FoTextChanged(5)" // // ); // // // 現在のフォーム入力値は保存データと一致します。 // // //TODO modelOfFormOfTcd.InvalidInput = false; // // } // //} // } // } // } // else // { // // 現在のフォーム入力値は保存データと一致しない可能性があります。 // //this.MemoryAatoolxmlDialog.InvalidInput = true; // } //} goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_NotFoundProjectname: if (d_Logging_Click.CanCreateReport) { Log_RecordReports r = d_Logging_Click.BeginCreateReport(EnumReport.Error); r.SetTitle("▲エラー902!", pg_Method); StringBuilder t = new StringBuilder(); t.Append("プロジェクト名[" + sSelectedProjectName + "]を選択しましたが、"); t.Append(Environment.NewLine); t.Append("そのプロジェクト名は 登録されていないものでした。"); r.Message = t.ToString(); d_Logging_Click.EndCreateReport(); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: pg_Method.EndMethod(d_Logging_Click); d_Logging_Click.EndLogging(pg_Method); }
//──────────────────────────────────────── 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> /// ファイルパス一覧。 /// </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> /// <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 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); }
//──────────────────────────────────────── /// <summary> /// /// </summary> public void ToText_Snapshot(Log_TextIndented s) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForSnapshot = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText_Snapshot",log_Reports_ForSnapshot); log_Reports_ForSnapshot.BeginCreateReport(EnumReport.Dammy); s.Increment(); s.AppendI(0,"葉「E■["); s.Append(this.Cur_Configuration.Name); s.Append("] "); s.Append(this.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ForSnapshot)); s.Append("」"); s.Newline(); goto gt_EndMethod; // // gt_EndMethod: s.Decrement(); log_Reports_ForSnapshot.EndCreateReport(); log_Method.EndMethod(log_Reports_ForSnapshot); }
//──────────────────────────────────────── /// <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); }
//──────────────────────────────────────── /// <summary> /// [移動を実行]ボタン。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void recordMovesButton_Click(object sender, EventArgs e) { Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Event = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_TablePermutation.SName_Library, this, "recordMovesButton_Click",d_Logging_Event); // // if (null == this.table_Humaninput) { goto gt_Error_NullTable; } bool b_OldEnabled_1; bool b_OldEnabled_2; if (d_Logging_Event.Successful) { // 正常時 b_OldEnabled_1 = this.listView1.Enabled; this.listView1.Enabled = false; b_OldEnabled_2 = this.listView2.Enabled; this.listView2.Enabled = false; int[] sourceIndices = new int[this.listView1.SelectedIndices.Count]; this.listView1.SelectedIndices.CopyTo(sourceIndices, 0); int nDestinationIndex = -1; foreach (int nSelectedIndex in this.listView2.SelectedIndices) { nDestinationIndex = nSelectedIndex; break; } this.table_Humaninput.MoveItemsBefore(sourceIndices, nDestinationIndex); // データ・テーブルをもとに、リストビューを準備します。 this.SetDataSource(this.table_Humaninput, d_Logging_Event); } else { // エラー終了処理 b_OldEnabled_1 = false; b_OldEnabled_2 = false; } if (d_Logging_Event.Successful) { // 正常時 // リストビューを更新。 this.listView1.Refresh(); this.listView2.Refresh(); this.listView1.Enabled = b_OldEnabled_1; this.listView2.Enabled = b_OldEnabled_2; } goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_NullTable: if (d_Logging_Event.CanCreateReport) { Log_RecordReports r = d_Logging_Event.BeginCreateReport(EnumReport.Error); r.SetTitle("▲エラー204!", pg_Method); r.Message = "データソースとなるテーブルが未設定(ヌル)です。"; d_Logging_Event.EndCreateReport(); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: pg_Method.EndMethod(d_Logging_Event); d_Logging_Event.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(); }
//──────────────────────────────────────── 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> public void WriteDebug_ToConsole() { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_Dammy = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_MiddleImpl.Name_Library, this, "DebugWrite",log_Reports_Dammy); // // log_Reports_Dammy.BeginCreateReport(EnumReport.Dammy); log_Method.WriteInfo_ToConsole("コントロールの一覧を出力。総数=[" + this.dictionary_Item.Values.Count + "]"); int nCount = 1; this.ForEach_Children(delegate(string sKey, Usercontrol fcUc, ref bool bRemove, ref bool bBreak) { if (null == fcUc) { log_Method.WriteInfo_ToConsole("(" + nCount + ")ヌル"); goto end_fc; } log_Method.WriteInfo_ToConsole("(" + nCount + ")" + fcUc.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_Dammy)); // fcUc.ControlCommon.Configurationtree_Control は、ヌルのことがある。 //foreach (S_Event s_event in fcUc.ControlCommon.Configurationtree_Control.S_EventDictionary.Values) //{ // // デバッグ出力 // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: アクション数=[" + s_event.S_ActionList.Items.Count + "]"); // foreach (S_Action s_action in s_event.S_ActionList.Items) // { // // // // アクション // // // // デバッグ出力 // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: アクション=[" + s_action.SType + "] 引数数=[" + s_event.S_ActionList.Items.Count + "]"); // foreach (S_Arg s_param in s_action.S_Args.Items.Values) // { // // // // 引数 // // // if (s_param.S_ArgEnum == S_ArgEnum.PARAM_ACTION) // { // S_Action s_parentAction = (S_Action)s_param.Parent; // // デバッグ出力 // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: param-action要素=[" + s_param.SNodeName + "] 子引数数=[" + s_parentAction.S_Args.Items.Count + "]"); // foreach (S_Arg s_param2 in s_parentAction.S_Args.Items.Values) // { // // デバッグ出力 // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: param-actionの子引数=[" + s_param2.SNodeName + "]"); // // 値=[" + oAction2.OValue + "] // } // } // else // { // // デバッグ出力 // //ystem.Console.WriteLine(this.GetType().Name + "#DebugWrite: 引数=[" + s_param.SNodeName + "] "); // //値=[" + oArg.OValue + "] // } // } // } //} end_fc: nCount++; }); // // log_Reports_Dammy.EndCreateReport(); log_Method.EndMethod(log_Reports_Dammy); if (!log_Reports_Dammy.Successful) { log_Method.WriteDebug_ToConsole(log_Reports_Dammy.ToText()); } }
//──────────────────────────────────────── /// <summary> /// リストボックスの項目の表示機能。 /// /// ・初回は、「リストボックスの最上段から、1つ1つ項目表示」する際の、表示できる項目回数。 /// ・他に、「項目を選択し、前の選択肢を非選択表示に、新しい選択肢を選択表示に」する際の2回。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UsercontrolListbox_DrawItem(object sender, DrawItemEventArgs 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, "UcListbox_DrawItem",log_Reports_ThisMethod); // // // // CustomcontrolListbox cctListbox = (CustomcontrolListbox)sender; // // 必ず最初に、検索したレコードセットを一時記憶に入れる指定であれば、 // 検索したレコードセットを一時記憶に入れます。 { // // <validator>要素数だけ。通常、0 or 1。 List<Expressionv_3FListboxValidation> ecvList_Validators = cctListbox.List_Expressionv_FListboxValidation; foreach (Expressionv_3FListboxValidation ev33 in ecvList_Validators) { // // <a-select-record>要素を元に、レコードセットを一時記憶。 foreach (Expressionv_4ASelectRecord ecv_44 in ev33.List_Expressionv_ASelectRecord) { // デバッグ if (true) { StringBuilder sb = new StringBuilder(); sb.Append(Info_Controls.Name_Library + ":" + this.GetType().Name + "#OnCreated:【一時記憶セット】"); sb.Append(" FC=[" + this.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ThisMethod) + "]"); // #デバッグ出力 System.Console.WriteLine(sb.ToString()); } ecv_44.Execute_SaveRecordset(log_Reports_ThisMethod); } } } // // (2)描画 this.ListboxItemDrawer.Perform( sender, e, log_Reports_ThisMethod ); // // // // if (!log_Reports_ThisMethod.Successful) { // // エラーログ出力。 // bug: リストボックスでエラーが出た時、項目の回数だけ表示されてしまう。 this.ControlCommon.Owner_MemoryApplication.MemoryLogwriter.WriteErrorLog( this.ControlCommon.Owner_MemoryApplication, log_Reports_ThisMethod, pg_Method.Fullname ); } goto gt_EndMethod; // // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); }
//──────────────────────────────────────── /// <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); }
//──────────────────────────────────────── private void UsercontrolListbox_Paint(object sender, PaintEventArgs e) { Log_Method pg_Method = new Log_MethodImpl(1, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_Dammy = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "UcListbox_Paint",log_Reports_Dammy); UsercontrolListbox ucLst = (UsercontrolListbox)sender; if (!this.customcontrolListbox1.Visible) { // コントロールが不可視の場合、絵を描く。 bool bEnabled = ucLst.customcontrolListbox1.Enabled; // 自分の内側に線を引ければよい。 Rectangle rect = new Rectangle( 0, 0, ucLst.Width - 1, ucLst.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect); } else { // 編集可能。 e.Graphics.FillRectangle(Brushes.White, rect); } e.Graphics.DrawRectangle( Pens.Black, rect ); // 縦スクロールバーの描画。 bool bVisibleVscrbar = false; if (bVisibleVscrbar) { Rectangle rect2 = new Rectangle( this.memoryVirticalscrollbar1.Bounds.X, this.memoryVirticalscrollbar1.Bounds.Y, this.memoryVirticalscrollbar1.Bounds.Width - 1, this.memoryVirticalscrollbar1.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect2); } else { // 編集可能。 e.Graphics.FillRectangle(this.memoryVirticalscrollbar1.BackBrush, rect2); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect2); // 「▲」ボタン。 { MemoryButtonImpl moBtn = this.memoryVirticalscrollbar1.MemoryUpbutton; // 自分の内側に線を引ければよい。 Rectangle rect3 = new Rectangle( moBtn.Bounds.X, moBtn.Bounds.Y, moBtn.Bounds.Width - 1, moBtn.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect3); } else { // 編集可能。 e.Graphics.FillRectangle(moBtn.BackBrush, rect3); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect3); // 視認で位置調整。 rect3.Offset(2, 1); e.Graphics.DrawString("▲", moBtn.Font, moBtn.ForeBrush, rect3); } // 「▼」ボタン。 { MemoryButtonImpl moBtn = this.memoryVirticalscrollbar1.MemoryDownbutton; // 自分の内側に線を引ければよい。 Rectangle rect3 = new Rectangle( moBtn.Bounds.X, moBtn.Bounds.Y, moBtn.Bounds.Width - 1, moBtn.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect3); } else { // 編集可能。 e.Graphics.FillRectangle(moBtn.BackBrush, rect3); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect3); // 視認で位置調整。 rect3.Offset(2, 1); e.Graphics.DrawString("▼", moBtn.Font, moBtn.ForeBrush, rect3); } } // リストのテキストを表示します。 { // リストボックスの縦幅。 int nBoxH = rect.Height; // 行の縦幅。 int nLineH = this.customcontrolListbox1.ItemHeight; // テキスト表示領域は、四角の線から1ドット離すように小さくします。 Rectangle rect2; if (bVisibleVscrbar) { // 縦スクロールバーを表示する場合。 rect2 = new Rectangle( rect.X + 2, rect.Y + 2, rect.Width - N_VSCRBAR_WIDTH - 1, nLineH - 2 ); } else { rect2 = new Rectangle( rect.X + 2, rect.Y + 2, rect.Width - 2, nLineH - 2 ); } //rect2=rect; //rect.Inflate(-2, -2); // 表示できる行数。 int nVrows = nBoxH / nLineH; // 先頭項目のインデックス int nVFirstIx = this.customcontrolListbox1.IndexFromPoint(1, 1); if (nVFirstIx == -1) { pg_Method.WriteError_ToConsole( "▲L05エラー①! "+ pg_Method.Fullname + ":根本的なエラー?" ); //essageBox.Show( // ); } else { int nVLastIx = nVFirstIx + nVrows; if (this.customcontrolListbox1.List_SText_Display.Count <= nVLastIx) { nVLastIx = this.customcontrolListbox1.List_SText_Display.Count - 1; } // 選択項目のインデックス int nSelectedIx = this.customcontrolListbox1.SelectedIndex; for (int nLoop = nVFirstIx; nLoop <= nVLastIx; nLoop++) { string sDisplayText = this.customcontrolListbox1.List_SText_Display[nLoop]; if (nSelectedIx != nLoop) { // 非選択表示 Brush brush = null; if (nLoop < this.customcontrolListbox1.List_ForeBrush.Count) { brush = this.customcontrolListbox1.List_ForeBrush[nLoop]; } if (null == brush) { brush = Brushes.Black; } e.Graphics.DrawString(sDisplayText, this.customcontrolListbox1.Font, brush, rect2); } else { // 選択表示 e.Graphics.FillRectangle(Brushes.Blue, rect2); e.Graphics.DrawString(sDisplayText, this.customcontrolListbox1.Font, Brushes.White, rect2); } rect2.Y += nLineH; //rect2.Offset(0, nLineH); } } } } pg_Method.EndMethod(log_Reports_Dammy); log_Reports_Dammy.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <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); }
//──────────────────────────────────────── 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 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()); } }
//──────────────────────────────────────── 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); }
/// <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> /// <returns></returns> public string ToText(string sGroupTag) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText", log_Reports_ThisMethod); Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("ログ出力:"); s.Newline(); int nErrorCount = 0; List <Log_RecordReports> listCopy = new List <Log_RecordReports>(this.list_Record); foreach (Log_RecordReports log_RecordReport in listCopy)//todo:bug:ここで リストが変更されているときに例外を出してしまう。 { // グループ・タグが指定されていれば、 // グループ・タグが一致するメッセージだけを出力します。 if (log_RecordReport.EnumReport == EnumReport.Error) { if ("" == sGroupTag || sGroupTag == log_RecordReport.Tag_Group) { s.Append("(No."); s.Append(nErrorCount); s.Append(") "); // タイトル s.Append(log_RecordReport.ErrorSymbol); if ("" != log_RecordReport.Tag_Group) { // グループ・タグ s.Append(log_RecordReport.Tag_Group); } s.Newline(); s.Newline(); if ("" != log_RecordReport.Logstack) { s.Append("エラー発生元データの推測ヒント:"); s.Append(log_RecordReport.Logstack); s.Newline(); s.Newline(); } s.Append(log_RecordReport.GetMessage(this)); s.Newline(); s.Newline(); if ("" != log_RecordReport.Logstack) { s.Append("プログラム実行経路推測ヒント:"); s.Append(this.Log_Callstack.ToString()); s.Newline(); s.Newline(); } s.Newline(); s.Newline(); // エラーが発生したメソッド。 s.Append(log_RecordReport.FullnameMethod); s.Newline(); } // カウンターは、読み飛ばしたエラーもきちんとカウント。 nErrorCount++; } } { s.Append(Log_RecordReportsImpl.ToText_Separator()); } { if ("" != this.Comment_EventCreationMe) { s.Append("ロガーの作成に関するコメント:"); s.Append(this.Comment_EventCreationMe); s.Newline(); } } { if (null != this.log_Method_CreationMe) { s.Append("ロガー生成場所:"); s.Append(this.Log_Method_CreationMe.Fullname); s.Newline(); } else { s.Append("ロガー生成場所:ヌル"); s.Newline(); } } { s.Append("このエラーメッセージを作っているロガー:"); s.Append(log_Method.Fullname); s.Newline(); } if (!Log_ReportsImpl.BDebugmode_Static) { s.Newline(); s.Newline(); s.Append("このデバッグ情報は、DebugModeフラグが立っていない状態でのものです。"); s.Newline(); s.Append("DDebuggerImpl.DebugModeフラグを立てると、今より詳細な情報が出力されるかもしれません。"); s.Newline(); } log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); return(s.ToString()); }
//──────────────────────────────────────── /// <summary> /// [選択]ボタンを押したとき。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void On_ChangingBtn_FoClick(object sender, EventArgs e) { // // // //()メソッド開始 // // // Log_Method pg_Method = new Log_MethodImpl(0); Log_Reports d_Logging_Click = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Toolwindow.Name_Library, this, "On_ChangingBtn_FoClick",d_Logging_Click); // // // // // // // // 選択プロジェクトXml要素。 MemoryAatoolxml_Editor moAatoolxml_SelectedEditor; //プロジェクトへのファイルパス。 string sFpatha_Project; { //選択したプロジェクトの名前。 string sName_SelectedProject = (string)((UsercontrolListbox)this.UctlstNameProject).SelectedItem; if (this.Owner_MemoryApplication.MemoryForms.MemoryAatoolxmlDialog.MemoryAatoolxml.Dictionary_Editor.Dictionary_Item.ContainsKey(sName_SelectedProject)) { // 指定のプロジェクト要素が存在した場合 moAatoolxml_SelectedEditor = this.Owner_MemoryApplication.MemoryForms.MemoryAatoolxmlDialog.MemoryAatoolxml.Dictionary_Editor.Dictionary_Item[sName_SelectedProject]; sFpatha_Project = this.GetFilepathabsolute_Editor( moAatoolxml_SelectedEditor, d_Logging_Click ); } else { // 指定のプロジェクト要素が存在しなかった場合 moAatoolxml_SelectedEditor = null; sFpatha_Project = ""; } } // エディター設定ファイルの読み込みの成功判定 bool bLoaded_ProjectConfig; if ("" == sFpatha_Project) { // エディター設定ファイルへのパスが読み込めなかった場合 bLoaded_ProjectConfig = false; } else { if (d_Logging_Click.Successful) { // 正常時 System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); try { doc.Load(sFpatha_Project); // 読み込むだけで終わり。 bLoaded_ProjectConfig = true; } catch (System.IO.IOException ex) { // 読み込みに失敗した場合。 bLoaded_ProjectConfig = false; //#エラー扱いとはしません。 StringBuilder sb = new StringBuilder(); sb.Append("プロジェクト ファイルとして指定されたファイルは、利用できませんでした。"); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); sb.Append("指定されたプロジェクト ファイル=["); sb.Append(sFpatha_Project); sb.Append("]"); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); sb.Append("エラーメッセージ=["); sb.Append(ex.Message); sb.Append("]"); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); this.pctxtInformation.Text = sb.ToString(); } } else { bLoaded_ProjectConfig = false; } } // // プロジェクト ファイルの読み込みの有無に関わらず、 // 外部の処理を挟み込めます。 // this.onEditorSelected( sender, moAatoolxml_SelectedEditor, bLoaded_ProjectConfig, d_Logging_Click ); goto gt_EndMethod; // // gt_EndMethod: pg_Method.EndMethod(d_Logging_Click); d_Logging_Click.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <summary> /// ドラッグ&ドロップ用アクション実行。 /// </summary> /// <param nFcName="sender"></param> /// <param nFcName="e"></param> public override void Execute4_OnQueryContinueDragEventArgs( object sender, QueryContinueDragEventArgs e ) { this.Execute4_OnQueryContinueDragEventArgs( sender, 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_OnQueryContinueDragEventArgs", 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 + "]コントロールでQueryContinueDragEventArgsアクションが実行されました。"; // ステータスバーに、コントロール名を表示。 //cct.ControlCommon.MoControlMediator.AddStatus_ActionFcName(sName_Usercontrol, d_Logging_Dammy); } else { sName_Usercontrol = ""; log_Reports_ThisMethod.Comment_EventCreationMe = "QueryContinueDragEventArgsアクションが実行されました。"; } // // ストップウォッチ。 // 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_OnQueryContinueDragEventArgs(sender, e); } } goto gt_EndMethod; // gt_EndMethod: pg_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <summary> /// /// </summary> public void ToText_Snapshot(Log_TextIndented s) { Log_Method log_Method = new Log_MethodImpl(0); Log_Reports log_Reports_ForSnapshot = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Syntax.Name_Library, this, "ToText_Snapshot",log_Reports_ForSnapshot); log_Reports_ForSnapshot.BeginCreateReport(EnumReport.Dammy); s.Increment(); // ノード名 s.AppendI(0,"「E■["); s.Append(this.Cur_Configuration.Name); s.Append("] "); // クラス名 s.Append("["); s.Append(this.GetType().Name); s.Append("]クラス "); s.Append("子値=["); s.Append(this.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports_ForSnapshot)); s.Append("]"); s.Append("」"); s.Newline(); // 属性リスト this.Dictionary_Expression_Attribute.ToText_Snapshot(s); // 子リスト if (this.List_Expression_Child.Count < 1) { s.AppendI(0, "子無し"); s.Newline(); } else { s.AppendI(0, "┌────────┐子数=["); s.Append(this.List_Expression_Child.Count); s.Append("]"); s.Newline(); this.List_Expression_Child.ForEach(delegate(Expression_Node_String e_Child, ref bool bRemove, ref bool bBreak) { e_Child.ToText_Snapshot(s); }); s.AppendI(0, "└────────┘"); s.Newline(); } goto gt_EndMethod; // // gt_EndMethod: s.Decrement(); log_Reports_ForSnapshot.EndCreateReport(); log_Method.EndMethod(log_Reports_ForSnapshot); }
//──────────────────────────────────────── 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(); } // // // // // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ { CustomcontrolTabcontrol ccTbp = (CustomcontrolTabcontrol)sender; //true || if (this.nIndex_PreSelected != ccTbp.SelectedIndex) { //essageBox.Show(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: FC[" + sName_Usercontrol + "]で、イベント(リストボックスの項目選択等)が起こりました。 .SelectedIndex=[" + ccTbp.SelectedIndex + "] preSelectedIndex=["+this.preSelectedIndex+"]"); } else { //essageBox.Show(Info_Forms.LibraryName + ":" + this.GetType().Name + "#Perform_OEa: FC[" + sName_Usercontrol + "]で、イベント(リストボックスの項目選択等)が起こっていません。選択項目インデックスが同じです。 .SelectedIndex=[" + ccTbp.SelectedIndex + "] preSelectedIndex=[" + this.preSelectedIndex + "]"); // // リストボックスの selectedIndex が変わっていないとき。 // // ※ dataSourceのテーブルの行が変わったりすると、ここに来ます。 // return; } this.nIndex_PreSelected = ccTbp.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); }
public void BeginMethod(string sName_Library, string sName_StaticClass, string sName_Method, out Log_Reports log_Reports) { this.name_Library = sName_Library; this.name_Class = sName_StaticClass; this.isStatic = true; this.name_Method = sName_Method; log_Reports = new Log_ReportsImpl(this); // デバッグを行うなら、コールスタックにこのメソッドパスを追加。 if (Log_ReportsImpl.BDebugmode_Static) { log_Reports.Log_Callstack.Push(this); } this.IsActive = true; }
//──────────────────────────────────────── 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; }