//──────────────────────────────────────── public static string Format_StopwatchComment( Expression_Node_FunctionAbstract ec_Sa, Configuration_Node cf_ThisAction, Log_Reports log_Reports ) { string sControl = ""; { Configuration_Node cf_Event = cf_ThisAction.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, true, log_Reports); if (log_Reports.Successful) { Configuration_Node owner_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); ((Configurationtree_Node)owner_Configurationtree_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sControl, false, log_Reports); } } string sEventName = ""; { Configuration_Node cf_Event = cf_ThisAction.GetParentByNodename(NamesNode.S_EVENT, EnumConfiguration.Tree, true, log_Reports); if (log_Reports.Successful) { ((Configurationtree_Node)cf_Event).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sEventName, false, log_Reports); } } string sActionType = ""; { string sFncName0; ec_Sa.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); sActionType = sFncName0; } StringBuilder sb = new StringBuilder(); { if ("" != sActionType) { sb.Append(" Nアクション=["); sb.Append(sActionType); sb.Append("]"); } sb.Append(" FC["); sb.Append(sControl); sb.Append("].EV["); sb.Append(sEventName); sb.Append("]"); } return(sb.ToString()); }
//──────────────────────────────────────── public static string Format_StopwatchComment( Expression_Node_FunctionAbstract ec_Sa, Configuration_Node cf_ThisAction, Log_Reports log_Reports ) { string sControl = ""; { Configuration_Node cf_Event = cf_ThisAction.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, true, log_Reports); if (log_Reports.Successful) { Configuration_Node owner_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); ((Configurationtree_Node)owner_Configurationtree_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sControl, false, log_Reports); } } string sEventName = ""; { Configuration_Node cf_Event = cf_ThisAction.GetParentByNodename(NamesNode.S_EVENT, EnumConfiguration.Tree, true, log_Reports); if (log_Reports.Successful) { ((Configurationtree_Node)cf_Event).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sEventName, false, log_Reports); } } string sActionType = ""; { string sFncName0; ec_Sa.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); sActionType = sFncName0; } StringBuilder sb = new StringBuilder(); { if ("" != sActionType) { sb.Append(" Nアクション=["); sb.Append(sActionType); sb.Append("]"); } sb.Append(" FC["); sb.Append(sControl); sb.Append("].EV["); sb.Append(sEventName); sb.Append("]"); } return sb.ToString(); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public override void Translate_Step2( ConfigurationtreeToFunction_Item parentProcesser, Configurationtree_Node action_Conf, Expression_Node_Function parent_Expr_Func,//todo:何これ? MemoryApplication owner_MemoryApplication, Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog, Log_Reports log_Reports ) { Expression_Node_String ec_ArgListboxName; parent_Expr_Func.TrySelectAttribute(out ec_ArgListboxName, Expression_Node_Function20Impl.PM_NAME_CONTROL_LISTBOX, EnumHitcount.One_Or_Zero, log_Reports); if ("" == ec_ArgListboxName.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports)) { // 引数 listboxFcName が指定されていない場合は、その記述が書かれているコントロールの名前を入れる。 Configuration_Node cf_Event = action_Conf.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, true, log_Reports); if (log_Reports.Successful) { Configuration_Node parent_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); string sName_Usercontrol; ((Configurationtree_Node)parent_Configurationtree_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Usercontrol, true, log_Reports); ec_ArgListboxName.AppendTextNode(sName_Usercontrol, action_Conf, log_Reports); } } }
//──────────────────────────────────────── protected void Execute6_Sub( Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute6_Sub", log_Reports); string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (log_Reports.CanStopwatch) { log_Method.Log_Stopwatch.Message = "Nアクション[" + sFncName0 + "]実行"; log_Method.Log_Stopwatch.Begin(); } // // // // 指定された引数から、または、 // この<action>要素を含んでいる control要素から、コントロールの名前を取得。 List <Usercontrol> list_FcUc = new List <Usercontrol>(); if (log_Reports.Successful) { // 正常時 Expression_Node_String ec_FcName_Prm; this.TrySelectAttribute(out ec_FcName_Prm, Expression_Node_Function36Impl.PM_CONTROL_NAME, EnumHitcount.One_Or_Zero, log_Reports); string sFcName_Prm = ec_FcName_Prm.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports); List <Expression_Node_String> ecList_FcName = new List <Expression_Node_String>(); if ("" == sFcName_Prm) { // // fcName未設定時は、この<action>要素を含んでいるcontrol要素から // コントロールの名前を取得。 // Configuration_Node cf_Event = this.Cur_Configuration.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, false, log_Reports); if (null != cf_Event) { Configuration_Node owner_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); if (null != owner_Configurationtree_Control) { string sName; bool bHit = ((Configurationtree_Node)owner_Configurationtree_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName, false, log_Reports); if (bHit) { Expression_Node_StringImpl ec_Str = new Expression_Node_StringImpl(this, this.Cur_Configuration); ec_Str.AppendTextNode( sName, this.Cur_Configuration, log_Reports ); // 上書き ec_FcName_Prm = ec_Str; ecList_FcName.Add(ec_FcName_Prm); } else { } } else { //nFcName_prm = null; } } else { //nFcName_prm = null; } } else { // // fcName 指定時。 // カンマ区切りか確認。 CsvTo_ListImpl csvTo = new CsvTo_ListImpl(); List <string> sList_FcName_Prm = csvTo.Read(sFcName_Prm); foreach (string sFcName2 in sList_FcName_Prm) { // コントロール名。 Expression_Node_StringImpl ec_FcName4 = new Expression_Node_StringImpl(this, this.Cur_Configuration); ec_FcName4.AppendTextNode( sFcName2, this.Cur_Configuration, log_Reports ); ecList_FcName.Add(ec_FcName4); } } foreach (Expression_Node_String ec_FcName5 in ecList_FcName) { // // 指定のコントロール // List <Usercontrol> list_FcUc2 = this.Owner_MemoryApplication.MemoryForms.GetUsercontrolsByName( ec_FcName5, true, log_Reports ); if (0 < list_FcUc2.Count) { Usercontrol fcUc = list_FcUc2[0]; list_FcUc.Add(fcUc); } } } else { } foreach (Usercontrol fcUc in list_FcUc) { if (log_Reports.Successful) { //// //// 妥当性判定を行います。 //// //if (log_Reports.Successful) //{ // fcUc.JudgeValidity( // log_Reports // ); // //.WriteLine(this.GetType().Name + "#: ◆ 妥当性判定を行った。"); //} if (fcUc.ControlCommon.BAutomaticinputting) { // コンピューターにより自動入力されたとき。 } else { // 手入力による更新。 { ToMemory_Performer toM = new ExpressionDataTargetUpdaterImpl(); toM.ToMemory( "",// 空文字列 fcUc.ControlCommon.Expression_Control, fcUc.ControlCommon.Owner_MemoryApplication, log_Reports ); } } } } log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── /// <summary> /// トゥゲザー名で指定しなかった場合。 /// /// (1)「コントロール設定ファイル(Fcnf)」の<refresher>を読みにいく。 /// (2)なければ「トゥゲザー設定ファイル(Frfr)」の<refresher>を読みにいく。 /// </summary> /// <param name="log_Reports"></param> private void Execute6_ByNoName( out Configurationtree_Node cf_TgTogether, Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute6_ByNoName", log_Reports); if (log_Reports.CanStopwatch) { log_Method.Log_Stopwatch.Message = Utility_Textformat.Format_StopwatchComment( this, this.Cur_Configuration, log_Reports ); log_Method.Log_Stopwatch.Begin(); } // // string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (null != this.Cur_Configuration) { Configuration_Node cf_Event = this.Cur_Configuration.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Tree, false, log_Reports); if (null != cf_Event) { Configuration_Node owner_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); if (null != owner_Configurationtree_Control) { // // (1)「コントロール設定ファイル(Fcnf)」の<refresher>を読みにいく。 // this.Execute3b_ByNoName_1Fcnf( out cf_TgTogether, (Configurationtree_Node)owner_Configurationtree_Control, (Configurationtree_Node)cf_Event, log_Reports); if (null == cf_TgTogether) { // // (2)「トゥゲザー設定ファイル(Frfr)」の<refresher>を読みにいく。 // this.Execute3b_ByNoName_2Frfr( out cf_TgTogether, (Configurationtree_Node)owner_Configurationtree_Control, (Configurationtree_Node)cf_Event, log_Reports ); } // // // 13:トゥゲザーの実行 // 所要時間目安[1]~[4343]ミリ秒ほど // // // 指定のコントロールの内容を、データ・ソースから読取り直して最新表示します。 if (log_Reports.Successful) { // // トゥゲザー<together>を使います。 // this.Owner_MemoryApplication.MemoryTogethers.RefreshDataByTogether( cf_TgTogether, log_Reports ); } } else { cf_TgTogether = null; goto gt_Error_NullParentControl; } } else { cf_TgTogether = null; goto gt_Error_NullParentEvent; } } else { cf_TgTogether = null; goto gt_Error_NullTogetherName; } goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_NullParentControl: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, sFncName0, log_Reports); //関数名 tmpl.SetParameter(2, Log_RecordReportsImpl.ToText_Configuration(this.Cur_Configuration), log_Reports); //設定位置パンくずリスト this.Owner_MemoryApplication.CreateErrorReport("Er:110012;", tmpl, log_Reports); } goto gt_EndMethod; //──────────────────────────────────────── gt_Error_NullParentEvent: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, sFncName0, log_Reports); //関数名 tmpl.SetParameter(2, Log_RecordReportsImpl.ToText_Configuration(this.Cur_Configuration), log_Reports); //設定位置パンくずリスト this.Owner_MemoryApplication.CreateErrorReport("Er:110013;", tmpl, log_Reports); } goto gt_EndMethod; //──────────────────────────────────────── gt_Error_NullTogetherName: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, sFncName0, log_Reports); //関数名 tmpl.SetParameter(2, Log_RecordReportsImpl.ToText_Configuration(this.Cur_Configuration), log_Reports); //設定位置パンくずリスト this.Owner_MemoryApplication.CreateErrorReport("Er:110014;", tmpl, log_Reports); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── public override string Execute5_Main(Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute5_Main", log_Reports); string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (log_Reports.CanStopwatch) { log_Method.Log_Stopwatch.Message = "Nアクション[" + sFncName0 + "]実行"; log_Method.Log_Stopwatch.Begin(); } // // Expression_Node_String err_Ec_FcName1; if (this.EnumEventhandler == EnumEventhandler.O_Lr) { if (this.Functionparameterset.Sender is Customcontrol) { Customcontrol fcCc = (Customcontrol)this.Functionparameterset.Sender; string sName_Usercontrol = fcCc.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString( EnumHitcount.Unconstraint, log_Reports ); log_Reports.Comment_EventCreationMe = "[" + sName_Usercontrol + "]コントロールが、[" + sFncName0 + "]アクションを実行。"; } else { log_Reports.Comment_EventCreationMe = "[" + sFncName0 + "]アクションを実行。"; } // // // // // // このNAction29を含んでいるcontrol要素から // コントロールの名前を取得。 Expression_Node_String ec_FcName1; // // このNAction29要素を含んでいる control要素から、コントロールの名前を取得。 List <Usercontrol> list_FcUc; if (log_Reports.Successful) { // 正常時 Configuration_Node cf_Event = this.Cur_Configuration.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, false, log_Reports); if (null != cf_Event) { Configuration_Node owner_Configurationtree_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); if (null != owner_Configurationtree_Control) { string sName_Usercontrol; ((Configurationtree_Node)owner_Configurationtree_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Usercontrol, true, log_Reports); Expression_Node_StringImpl ec_Str = new Expression_Node_StringImpl(this, this.Cur_Configuration); ec_Str.AppendTextNode( sName_Usercontrol, this.Cur_Configuration, log_Reports ); ec_FcName1 = ec_Str; } else { ec_FcName1 = null; } } else { ec_FcName1 = null; } // // 指定のコントロール // list_FcUc = this.Owner_MemoryApplication.MemoryForms.GetUsercontrolsByName( ec_FcName1, true, log_Reports ); } else { // // エラー。 ec_FcName1 = null; list_FcUc = null; err_Ec_FcName1 = ec_FcName1; goto gt_Error_NullFcUc; } // ここで、fcUc は必ずある。 Usercontrol fct = list_FcUc[0]; // // // // View // // // // 最初の1個のみ有効。必ずあるとする。 List <Expression_Node_String> ecList_View = fct.ControlCommon.Expression_Control.SelectDirectchildByNodename(NamesNode.S_VIEW, false, EnumHitcount.One, log_Reports); if (!log_Reports.Successful) { goto gt_EndMethod; } Expression_Node_StringImpl ec_View = (Expression_Node_StringImpl)ecList_View[0]; // // O → N は、Fcnfをロードした時点で実行済み。 if (ec_View.List_Expression_Child.Count < 1) { // // エラー。 // // このアクションを使うからには、 // 必ず<view>の中に子要素がないといけない。 err_Ec_FcName1 = ec_FcName1; goto gt_Error_EmptyView; } object errorRule = null; Expression_Node_String err_Ec_DataTarget = null; if (log_Reports.Successful) { // 正常時 ec_View.List_Expression_Child.ForEach(delegate(Expression_Node_String ec_Child, ref bool bRemove, ref bool bBreak) { string sFncName; ec_Child.TrySelectAttribute(out sFncName, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if ( NamesNode.S_FNC == ec_Child.Cur_Configuration.Name && NamesFnc.S_LISTBOX_LABELS == sFncName ) { // <f-list-box-labels> // // fcUc は、必ずリストボックス。 if (!(fct is UsercontrolListbox)) { // // エラー。 goto gt_Error_NotListbox; } UsercontrolListbox uctLst = (UsercontrolListbox)fct; // // リストボックスの表示を自作します。項目の高さが固定の場合。 uctLst.DrawMode = DrawMode.OwnerDrawFixed; // // N → Uc // // 描画プログラムの作成。 ListboxItemDrawer_02Impl drawer = new ListboxItemDrawer_02Impl( this.Owner_MemoryApplication); // // item-valur-to-variable="" 属性 // //if (null == nF11.E_ItemValueToVariable) { // <データ access="to">から取りたい。 Expression_Node_String ec_ItemValueToVariable = null;//ソース情報利用 List <Expression_Node_String> ecList_DataTarget; { List <Expression_Node_String> ecList_Data = uctLst.ControlCommon.Expression_Control.SelectDirectchildByNodename(NamesNode.S_DATA, false, EnumHitcount.Unconstraint, log_Reports); ecList_DataTarget = Utility_Expression_NodeImpl.SelectItemsByPmAsCsv(ecList_Data, PmNames.S_ACCESS.Name_Pm, ValuesAttr.S_TO, false, EnumHitcount.First_Exist, log_Reports); } if (!log_Reports.Successful) { goto gt_EndMethod2; } Expression_Node_String ec_DataTarget = ecList_DataTarget[0]; err_Ec_DataTarget = ec_DataTarget; if (null != ec_DataTarget) { bool bHit = ec_DataTarget.TrySelectAttribute( out ec_ItemValueToVariable, PmNames.S_NAME_VAR.Name_Pm, EnumHitcount.One, log_Reports); if (bHit) { drawer.Expression_ValueVariableName = ec_ItemValueToVariable; } else { // エラー。 goto gt_Error_NullItemValueToVariable; } } else { // エラー。 goto gt_Error_NotFoundDataTarget; } } //else //{ // // // // 変数名設定。 // drawer.Ec_ValueVariableName = nF11.E_ItemValueToVariable; //} // // <fnc name=”Sf:item-label;”> List <Expression_Node_String> ecList_Fnc = ec_Child.SelectDirectchildByNodename(NamesNode.S_FNC, false, EnumHitcount.Unconstraint, log_Reports); ecList_Fnc = Utility_Expression_NodeImpl.SelectItemsByPmAsCsv(ecList_Fnc, PmNames.S_NAME.Name_Pm, NamesFnc.S_ITEM_LABEL2, false, EnumHitcount.First_Exist, log_Reports); if (!log_Reports.Successful) { // エラー。 goto gt_EndMethod2; } drawer.Expression_ItemLabel = ecList_Fnc[0]; if (log_Reports.Successful) { // // 描画プログラムの変更。 uctLst.ListboxItemDrawer = drawer; } } else { errorRule = ec_Child; // // エラー。未定義の<view>。 goto gt_Error_UndefinedView; } goto gt_EndMethod2; // // // // // // エラー。 gt_Error_NotListbox: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, ec_FcName1.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports), log_Reports); //コントロール名 tmpl.SetParameter(2, fct.GetType().Name, log_Reports); //コントロールのクラス名 this.Owner_MemoryApplication.CreateErrorReport("Er:110019;", tmpl, log_Reports); } goto gt_EndMethod2; // // エラー。 gt_Error_NotFoundDataTarget: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, ec_FcName1.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports), log_Reports);//コントロール名 this.Owner_MemoryApplication.CreateErrorReport("Er:110020;", tmpl, log_Reports); } goto gt_EndMethod2; // // エラー。 gt_Error_NullItemValueToVariable: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, PmNames.S_NAME_VAR.Name_Pm, log_Reports); //引数名NameVar tmpl.SetParameter(2, ec_FcName1.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports), log_Reports); //コントロール名 // // 「access="to"」要素を取得しているような。 // Log_TextIndented s1 = new Log_TextIndentedImpl(); err_Ec_DataTarget.ToText_Snapshot(s1); tmpl.SetParameter(3, s1.ToString(), log_Reports);//データターゲットの変数の中身 Log_TextIndented s2 = new Log_TextIndentedImpl(); err_Ec_DataTarget.Cur_Configuration.ToText_Content(s2); tmpl.SetParameter(4, s2.ToString(), log_Reports);//データターゲットの設定の中身 this.Owner_MemoryApplication.CreateErrorReport("Er:110021;", tmpl, log_Reports); } goto gt_EndMethod2; // // エラー。 gt_Error_UndefinedView: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, errorRule.GetType().Name, log_Reports); //要素のクラス名 tmpl.SetParameter(2, ec_Child.Cur_Configuration.Name, log_Reports); //設定の子要素のノード名 tmpl.SetParameter(3, sFncName, log_Reports); //設定の子要素の関数名 this.Owner_MemoryApplication.CreateErrorReport("Er:110022;", tmpl, log_Reports); } goto gt_EndMethod2; gt_EndMethod2: ; }); // // 「表示プログラム」を作成、 // リストボックスにその「リスト作成プログラム」を渡す。 // リストボックスは再表示されるたびに、 // その「リスト作成プログラム」を実行。 // 以下、その「表示プログラム」の内容。 // // ループカウンタの回数だけ、リストに項目を追加。 // // その内容は、値が<a-item-value>から取得。 // // その内容は、表示ラベルが<a-item-label>から取得。 // // その表示ラベルは、次の条件に一致した時、グレー色にする。 // // <a-item-gray-out> // <f-all-true> // <a-empty-field> } goto gt_EndMethod; } goto gt_EndMethod; // // #region 異常系 //──────────────────────────────────────── gt_Error_NullFcUc: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, err_Ec_FcName1.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports), log_Reports);//コントロール名 this.Owner_MemoryApplication.CreateErrorReport("Er:110023;", tmpl, log_Reports); } goto gt_EndMethod; //──────────────────────────────────────── gt_Error_EmptyView: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, err_Ec_FcName1.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports), log_Reports);//検索ヒット数 this.Owner_MemoryApplication.CreateErrorReport("Er:110024;", tmpl, log_Reports); } goto gt_EndMethod; //──────────────────────────────────────── #endregion // // gt_EndMethod: log_Method.EndMethod(log_Reports); return(""); }
//──────────────────────────────────────── protected void Execute6_Sub( Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute6_Sub", log_Reports); string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (log_Reports.CanStopwatch) { log_Method.Log_Stopwatch.Message = "Nアクション[" + sFncName0 + "]実行"; log_Method.Log_Stopwatch.Begin(); } // // 指定された引数から、または、 // このNAction29要素を含んでいる control要素から、コントロールの名前を取得。 List <Usercontrol> list_Usercontrol; if (log_Reports.Successful) { // 正常時 Expression_Node_String ec_Name_Control; // // コントロール名が指定されていれば、そのコントロール名。 // this.TrySelectAttribute(out ec_Name_Control, Expression_Node_Function29Impl.PM_NAME_CONTROL, EnumHitcount.One_Or_Zero, log_Reports); string sName_Control = ec_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports); if ("" == sName_Control.Trim()) { //コントロール名が指定されていない場合。 // // ・このシステム関数を含んでいるイベント要素→コントロール要素と辿り、コントロール名を取得。 Configuration_Node cf_Event = this.Cur_Configuration.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, false, log_Reports); if (null != cf_Event) { Configuration_Node owner_Configuration_Control = cf_Event.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); if (null != (Configurationtree_Node)owner_Configuration_Control) { bool bHit = ((Configurationtree_Node)owner_Configuration_Control).Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Control, false, log_Reports); if (bHit) { ec_Name_Control = new Expression_Node_StringImpl(this, this.Cur_Configuration); ec_Name_Control.AppendTextNode( sName_Control, this.Cur_Configuration, log_Reports ); } } else { //nFcName_prm = null; } } else { //nFcName_prm = null; } } // // 指定のコントロール // list_Usercontrol = this.Owner_MemoryApplication.MemoryForms.GetUsercontrolsByName( ec_Name_Control, true, log_Reports ); } else { list_Usercontrol = new List <Usercontrol>(); } // // 妥当性判定を行います。 // if (log_Reports.Successful) { if (0 < list_Usercontrol.Count) { Usercontrol uct = list_Usercontrol[0]; uct.JudgeValidity(log_Reports); } //.WriteLine(this.GetType().Name + "#: ◆ 妥当性判定を行った。"); } if (log_Reports.Successful) { // // 指定のコントロールの内容を、データ・ソースから読取り直して最新表示します。 // if (0 < list_Usercontrol.Count) { Usercontrol uct = list_Usercontrol[0]; //.WriteLine(this.GetType().Name + "#: ◆ 指定のコントロールに、データのアップデートを指示。"); if (uct.ControlCommon.BAutomaticinputting) { // コンピューターにより自動入力されたとき。 //essageBox.Show("コンピュータによって自動入力されました。 コントロールID=[" + this.FormObjectId + "]", "デバッグ"); } else { // 手入力による更新。 uct.UsercontrolToMemory(log_Reports); } } //.WriteLine(this.GetType().Name + "#: ◆ 指示終了。"); } // // log_Method.EndMethod(log_Reports); }