コード例 #1
0
ファイル: DataController.cs プロジェクト: Cobrasan/HCSM40
        /// <summary>
        /// バンクデータ保存クラスのGetBankDataを使用し、BankNoのバンクデータを取得し、
        /// 構造体BankDataに入れて返します。BankDataは、(Type, ID, 値) の構造体です。
        /// GetBankDataから受け取ったBankDataにメモリ割当データのバンク保存対象のIDの一部が不足していた場合、
        /// BankDataへ当該不足IDを、メモリ割当データの初期値で追加を行い、ERR_BANK_PARTS_BREKEと一緒に返します。
        /// GetBankDataから、ERR_NO_BANK_DATAを受取った場合、BankDataへメモリ割当データのバンク保存対象のIDを
        /// メモリ割当データの初期値で追加を行い、ERR_NO_BANK_DATAと一緒に返します。
        /// 正常に処理が行われた場合、DCPF_SUCCESSを返します。
        /// </summary>
        /// <param name="BankNo">読み込むバンクナンバー</param>
        /// <param name="BankData">読み込んだバンクデータを格納する構造体</param>
        /// <returns></returns>
        public int BankDataRead(int BankNo, ref BankDataStruct[] BankData)
        {
            // バンクデータ保存クラスのGetBankDataを使用し、BankNoのバンクデータを取得
            int result = bankDataStorage.GetBankData(BankNo, ref BankData);

            // 正常に処理が行われた場合
            if ((result != SystemConstants.BSPF_SUCCESS) && (result != SystemConstants.ERR_NO_BANK_DATA))
            {
                return result;
            }

            // 補完処理を行う
            WorkDataMemory memory = new WorkDataMemory();
            memory.Initialize(memalloc, buttonControl);
            result = memory.SetArray(BankData);

            BankData = new BankDataStruct[0];
            memory.GetArray(ref BankData);

            return result;
        }
コード例 #2
0
ファイル: DataController.cs プロジェクト: Cobrasan/HCSM40
        /// <summary>
        /// LearnData[] の値を学習データ保存クラスのGetLearnDataを使用して返す
        /// </summary>
        /// <param name="ItemKeys"></param>
        /// <param name="LearnData"></param>
        /// <returns></returns>
        public int LearnDataRead(string[] ItemKeys, ref LearnDataStruct[] LearnData)
        {
            int result = learnDataStorage.GetLearnData(ItemKeys, ref LearnData);

            if ((result != SystemConstants.LSPF_SUCCESS) && (result != SystemConstants.ERR_LSPF_NO_LEARN_DATA))
            {
                return result;
            }

            // 切断長の補完(学習データがない場合入力したデータへ初期値を置き換え)
            if(!learnDataStorage.IsIncludeWireLength(LearnData))
            {
                double wireLen = learnDataStorage.ConvKeytoWireLength(ItemKeys);
                addLearnData(SystemConstants.WORKMEM_TYPE_WORKDATA, SystemConstants.WIRE_LENGTH1, wireLen, ref LearnData);
            }

            // ストリップ1の補完を行う
            if (!learnDataStorage.IsIncludeStripLength(SystemConstants.DB_GROUP_WORKSIDE1, LearnData))
            {
                if (learnDataStorage.IsStripWork(SystemConstants.DB_GROUP_WORKSIDE1, ItemKeys))
                {
                    double stripLen1 = learnDataStorage.ConvKeytoStrip(SystemConstants.DB_GROUP_WORKSIDE1, ItemKeys);
                    addLearnData(SystemConstants.WORKMEM_TYPE_WORKDATA, SystemConstants.STRIP_LENGTH1, stripLen1, ref LearnData);
                }
            }

            // ストリップ2の補完を行う
            if (!learnDataStorage.IsIncludeStripLength(SystemConstants.DB_GROUP_WORKSIDE2, LearnData))
            {
                if (learnDataStorage.IsStripWork(SystemConstants.DB_GROUP_WORKSIDE2, ItemKeys))
                {
                    double stripLen2 = learnDataStorage.ConvKeytoStrip(SystemConstants.DB_GROUP_WORKSIDE2, ItemKeys);
                    addLearnData(SystemConstants.WORKMEM_TYPE_WORKDATA, SystemConstants.STRIP_LENGTH2, stripLen2, ref LearnData);
                }
            }

            // 補完処理を行う
            WorkDataMemory memory = new WorkDataMemory();
            memory.Initialize(memalloc, buttonControl);
            result = memory.SetArray(LearnData);

            LearnData = new LearnDataStruct[0];
            memory.GetArray(ref LearnData);

            return result;
        }