Пример #1
0
 //Constructors
 public Dir(mwg.File.mwgBinary mbin) : base(mbin)
 {
     this.made         = (mwg.File.mbDateTime)mbin;
     this.lastModified = (mwg.File.mbDateTime)mbin;
     this.annex        = (mwg.File.mbString)mbin;
     this.nodes        = (mwg.File.mwgIff.NodeArray)mbin;
 }
Пример #2
0
            public NodeArray(mwg.File.mwgBinary mbin)
            {
                uint postLen = (uint)(mwg.File.mbUInt32)mbin;

                if (postLen > mbin.RestLength)
                {
                    throw new System.Exception("mwg.File.mwgIff.NodeArray Construction from mwg.File.mwgBinary\n\tバイナリデータの長さが指定した数値に足りません。");
                }
                int restmin = (int)(mbin.RestLength - postLen);

                while (mbin.RestLength > restmin)
                {
                    switch ((string)(mwg.File.mbFourcc)mbin.preReadBytes(4))
                    {
                    case "DIR ":
                        this.list.Add(new mwg.File.mwgIff.Dir(mbin));
                        break;

                    case "FILE":
                        this.list.Add(new mwg.File.mwgIff.File(mbin));
                        break;

                    case "DATA":
                    default:
                        //TODO: DATA を登録
                        break;
                    }
                }
            }
Пример #3
0
 public mbInt32(mwg.File.mwgBinary mbin)
 {
     this.dat = 0;
     if (mbin.RestLength < 4)
     {
         return;
     }
     dat = (int)mbin.readByte();
     if (dat > 127)          //負の数
     {
         dat -= 128;
         for (int i = 0; i < 3; i++)
         {
             dat = dat * 256 + (int)mbin.readByte();
         }
         dat += System.Int32.MinValue;
     }
     else              //正の数
     {
         for (int i = 0; i < 3; i++)
         {
             dat = dat * 256 + (int)mbin.readByte();
         }
     }
 }
Пример #4
0
 //--methods
 public void WriteTo(mwg.File.mwgBinary mbin)
 {
     if (this.Length > mbin.RestLength)
     {
         throw new mwg.File.mwgBinary.EndOfDataException();
     }
     mbin.writeBytes((byte[])this);
 }
Пример #5
0
 //Constructors
 public File(mwg.File.mwgBinary mbin) : base(mbin)
 {
     this.made         = (mwg.File.mbDateTime)mbin;
     this.lastModified = (mwg.File.mbDateTime)mbin;
     this.content      = (mwg.File.mbBytes)mbin;
     this.nodes        = (mwg.File.mwgIff.NodeArray)mbin;
     //TODO: Data 以外を除去する。
 }
Пример #6
0
 public override mwg.File.mwgBinary ToMwgBinary()
 {
     mwg.File.mwgBinary r = (mwg.File.mwgBinary) new mwg.File.mbUInt32((uint)(this.Length - 4));
     for (int i = 0; i < this.list.Count; i++)
     {
         r += ((mwg.File.mwgIff.Node) this.list[i]).ToMwgBinary();
     }
     return(r);
 }
Пример #7
0
 //constructor
 public mbFourcc(mwg.File.mwgBinary mbin)
 {
     if (mbin.RestLength < 4)
     {
         this.dat = mwg.File.mbFourcc.Null;
     }
     else
     {
         this.dat = mbin.readBytes(4);
     }
 }
Пример #8
0
 //constructor
 public mbUInt32(mwg.File.mwgBinary mbin)
 {
     this.dat = 0;
     if (mbin.RestLength < 4)
     {
         return;
     }
     for (int i = 0; i < 4; i++)
     {
         this.dat = this.dat * 256 + (uint)mbin.readByte();
     }
 }
Пример #9
0
 //=====================================
 //          Constructors
 //-------------------------------------
 public mfTime(ref mwg.File.mwgBinary mbin)
 {
     dat = 0;
     if (mbin.RestLength < 5)
     {
         return;
     }
     for (int i = 0; i < 5; i++)
     {
         dat = dat * 256 + (int)mbin.readBytes(1)[0];
     }
 }
Пример #10
0
 //constructor
 public mwgDword(ref mwg.File.mwgBinary mbin)
 {
     n = 0;
     if (mbin.RestLength < 4)
     {
         return;
     }
     for (int i = 0; i < 4; i++)
     {
         n = (uint)(n * 256 + (int)mbin.readBytes(1)[0]);
     }
 }
Пример #11
0
        private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
        {
            if (e.Button.Tag == null)
            {
                return;
            }
            switch (e.Button.Tag.ToString())
            {
            case "Save":
                mwg.File.mwgBinary mbin = (mwg.File.mwgBinary) this.dtWord;
                mbin.filename = "c:\\texDocuments\\EngWordTest\\mbwordtest.wrd";
                mbin.SaveToFile();
                break;

            case "Read":
                mbin        = new mwg.File.mwgBinary("c:\\texDocuments\\EngWordTest\\mbwordtest.wrd");
                this.dtWord = new mwgWords.EngWord(mbin);
                this.initialize();
                break;

            case "OK":
                break;
            }
        }
Пример #12
0
 //--constructor
 public mb(mwg.File.mwgBinary mbin)
 {
 }
Пример #13
0
 //public Node(){}
 public Node(mwg.File.mwgBinary mbin)
 {
     this.id   = (mwg.File.mbFourcc)mbin;
     this.name = (mwg.File.mbString)mbin;
 }
Пример #14
0
 public mfBytes(ref mwg.File.mwgBinary mbin)
 {
     this.dat = mbin.readBytes((uint)(new mwgDword(ref mbin)));
 }
Пример #15
0
 //constructor
 public mfString(ref mwg.File.mwgBinary mbin)
 {
     this.uni = new System.Text.UnicodeEncoding();
     this.dat = uni.GetString(mbin.readBytes((uint)(new mwg.File.mwgDword(ref mbin))));
 }
Пример #16
0
 //constructor
 public mwgFourcc(ref mwg.File.mwgBinary mbin) : this(mbin.readBytes(4), 0)
 {
 }
Пример #17
0
 public Data(mwg.File.mwgBinary mbin) : base(mbin)
 {
     this.data = (mwg.File.mbBytes)mbin;
 }
Пример #18
0
 //constructor
 public mbString(mwg.File.mwgBinary mbin)
 {
     System.Text.UnicodeEncoding uni = new System.Text.UnicodeEncoding();
     this.dat = uni.GetString(mbin.readBytes((uint)(new mwg.File.mbUInt32(mbin))));
 }
Пример #19
0
 //constructor
 public mbBytes(mwg.File.mwgBinary mbin)
 {
     this.dat = mbin.readBytes((uint)(new mwg.File.mbUInt32(mbin)));
 }
Пример #20
0
 public mbBool(mwg.File.mwgBinary mbin)
 {
     this.dat = (127 < (int)mbin.readByte());
 }