コード例 #1
0
ファイル: Workspace.cs プロジェクト: sakpung/webstudy
        // this prepares the workspace for serialization to disk
        public void Pack(string filename)
        {
            this.locationOnDisk = filename;

            filenames = new List <string>();

            using (MemoryStream ms = new MemoryStream())
            {
                template.Save(ms);
                templateBytes = ms.GetBuffer();
                ms.Close();
            }

            if (answers != null)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    answers.Save(ms);
                    answerBytes = ms.GetBuffer();
                    ms.Close();
                }
            }

            using (MemoryStream ms = new MemoryStream())
            {
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, myImages);
                filepathDictionaryBytes = ms.GetBuffer();

                ms.Close();
            }

            reviewRequiredStatus = new bool[results.Count][][][];

            resultsBytes = new byte[results.Count][];
            for (int i = 0; i < results.Count; i++)
            {
                IRecognitionForm frm = results[i];

                reviewRequiredStatus[i] = new bool[frm.Pages.Count][][];

                for (int j = 0; j < frm.Pages.Count; j++)
                {
                    reviewRequiredStatus[i][j] = new bool[frm.Pages[j].Fields.Count][];

                    for (int k = 0; k < frm.Pages[j].Fields.Count; k++)
                    {
                        if (frm.Pages[j].Fields[k] is OmrField)
                        {
                            reviewRequiredStatus[i][j][k] = ((OmrField)frm.Pages[j].Fields[k]).Fields.ConvertAll <bool>(delegate(OmrCollection oc) { ReviewParameters rp = oc.Tag as ReviewParameters; return(rp != null ? rp.ReviewRequired : false); }).ToArray();
                        }
                    }
                }

                using (MemoryStream ms = new MemoryStream())
                {
                    frm.Save(ms);
                    resultsBytes[i] = ms.GetBuffer();
                    ms.Close();
                }
            }
        }