コード例 #1
0
        /// <summary>
        /// 文字列リストから行を追加
        /// </summary>
        /// <param name="stringList"></param>
        public StringGridRow AddRow(string[] stringArray)
        {
            StringGridRow row = new StringGridRow(this, Rows.Count);

            row.InitFromStringArray(stringArray);
            Rows.Add(row);
            foreach (string str in stringArray)
            {
                textLength += str.Length;
            }
            return(row);
        }
コード例 #2
0
        public StringGridRow AddRow(string[] stringArray)
        {
            StringGridRow item = new StringGridRow(this, this.Rows.Count);

            item.InitFromStringArray(stringArray);
            this.Rows.Add(item);
            foreach (string str in stringArray)
            {
                this.textLength += str.Length;
            }
            return(item);
        }
コード例 #3
0
        //今のコマンドから、エンティティ処理したコマンドを作成
        public static AdvCommand CreateEntityCommand(AdvCommand original, AdvEngine engine, AdvScenarioPageData pageData)
        {
            StringGridRow row = new StringGridRow(original.RowData.Grid, original.RowData.RowIndex);

            row.DebugIndex = original.RowData.DebugIndex;

            string[] strings = original.EntityData.CreateCommandStrings(engine.Param.GetParameter);
            row.InitFromStringArray(strings);
            AdvCommand entityCommand = AdvCommandParser.CreateCommand(original.Id, row, engine.DataManager.SettingDataManager);

            if (entityCommand is AdvCommandText)
            {
                AdvCommandText textCommand = entityCommand as AdvCommandText;
                textCommand.InitOnCreateEntity(original as AdvCommandText);
            }
            return(entityCommand);
        }
コード例 #4
0
        //指定の行をマクロ展開
        public List <StringGridRow> MacroExpansion(StringGridRow args, string debugMsg)
        {
            //マクロ展開後の行リスト
            List <StringGridRow> list = new List <StringGridRow>();

            if (DataList.Count <= 0)
            {
                return(list);
            }


            //展開先の列数と同じ数のセル(文字列の配列)をもつ
            int maxStringCount = 0;

            foreach (var keyValue in args.Grid.ColumnIndexTbl)
            {
                maxStringCount = Mathf.Max(keyValue.Value, maxStringCount);
            }
            maxStringCount += 1;
            for (int i = 0; i < DataList.Count; ++i)
            {
                string[] strings = new string[maxStringCount];
                for (int index = 0; index < strings.Length; ++index)
                {
                    strings[index] = "";
                }
                StringGridRow data = DataList[i];
                //展開先の列数と同じ数のセル(文字列の配列)をもつ
                foreach (var keyValue in args.Grid.ColumnIndexTbl)
                {
                    string argKey   = keyValue.Key;
                    int    argIndex = keyValue.Value;
                    strings[argIndex] = ParaseMacroArg(data.ParseCellOptional <string>(argKey, ""), args);
                }
                //展開先のシートの構造に合わせる
                //展開先シートを親Girdに持ち
                StringGridRow macroData = new StringGridRow(args.Grid, args.RowIndex);
                macroData.InitFromStringArray(strings);
                list.Add(macroData);

                //デバッグ情報の記録
                macroData.DebugInfo = debugMsg + " : " + (data.RowIndex + 1) + " ";
            }
            return(list);
        }
コード例 #5
0
ファイル: AdvMacroData.cs プロジェクト: Gpg16375001/BlueApple
        //指定の行をマクロ展開
        public List <StringGridRow> MacroExpansion(StringGridRow args, string debugMsg)
        {
            //マクロ展開後の行リスト
            List <StringGridRow> list = new List <StringGridRow>();

            if (DataList.Count <= 0)
            {
                return(list);
            }

/*
 *                      //マクロシート
 *                      StringGrid macroSheet = DataList[0].Grid;
 *                      string sheetName = args.Grid.Name + ":" + (args.RowIndex+1).ToString() + "-> Macro : " + macroSheet.Name;
 *                      StringGrid grid = new StringGrid(sheetName, args.Grid.SheetName, macroSheet.Type);
 *                      grid.Macro = new StringGrid.MacroInfo(args);
 *                      grid.ColumnIndexTbl = macroSheet.ColumnIndexTbl;
 */

            /*
             *                      //マクロ用の情報
             *              internal class MacroInfo
             *              {
             *                      StringGridRow args;
             *                      internal MacroInfo(StringGridRow args)
             *                      {
             *                              this.args = args;
             *                      }
             *
             *                      internal string ToDebugString()
             *                      {
             *                              if (args.Grid.Macro != null)
             *                              {
             *                                      return args.Grid.Macro.ToDebugString();
             *                              }
             *                              else
             *                              {
             *                                      string sheetName = args.Grid.SheetName;
             *                                      return sheetName + ":" + (args.RowIndex + 1) + " ";
             *                              }
             *                      }
             *
             *              };
             *              internal MacroInfo Macro { get; set; }
             */
            for (int i = 0; i < DataList.Count; ++i)
            {
                StringGridRow data = DataList[i];
                //展開先の列数と同じ数のセル(文字列の配列)をもつ
                string[] strings = new string[args.Grid.ColumnIndexTbl.Count];
                foreach (var keyValue in args.Grid.ColumnIndexTbl)
                {
                    string argKey   = keyValue.Key;
                    int    argIndex = keyValue.Value;
                    strings[argIndex] = ParaseMacroArg(data.ParseCellOptional <string>(argKey, ""), args);
                }
                //展開先のシートの構造に合わせる
                //展開先シートを親Girdに持ち
                StringGridRow macroData = new StringGridRow(args.Grid, args.RowIndex);
                macroData.InitFromStringArray(strings);
                list.Add(macroData);

                //デバッグ情報の記録
                macroData.DebugInfo = debugMsg + " : " + (data.RowIndex + 1) + " ";
            }
            return(list);
        }