Ejemplo n.º 1
0
 /// <summary>
 /// Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
 /// </summary>
 /// <returns>
 /// A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
 /// </returns>
 /// <filterpriority>2</filterpriority>
 public override string ToString()
 {
     //真实的TransactionIdentity是14位的,然后在这里我们只显示12位
     //只显示12位的原因是,这里返回的string会被comparer使用来判断2个消息是否配对
     byte[] data = new byte[12];
     System.Buffer.BlockCopy(((IPEndPoint)EndPoint).Address.GetAddressBytes(), 0, data, 0, 4);
     BitConvertHelper.GetBytes(((IPEndPoint)EndPoint).Port, data, 5);
     BitConvertHelper.GetBytes(MessageId, data, 9);
     return(ByteArrayHelper.ByteToHexStr(data));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 显示文件浏览
        /// </summary>
        private void FileBrower()
        {
            listView1.View               = View.Details;
            listView1.LabelEdit          = true;
            listView1.AllowColumnReorder = true;
            //listView1.CheckBoxes = true;
            listView1.FullRowSelect = true;
            listView1.GridLines     = true;
            listView1.Sorting       = SortOrder.Ascending;
            listView1.Clear();
            listView1.Columns.Add("文件名", listView1.Width / 3, HorizontalAlignment.Left);
            listView1.Columns.Add("大小", listView1.Width / 3, HorizontalAlignment.Left);
            listView1.Columns.Add("文件夹", listView1.Width / 3, HorizontalAlignment.Left);

            //条目表
            byte[] EntryTablesBuffer = new byte[_ZipEntity.EntrysTableLen];
            Array.Copy(_ZipEntity.Buffer, _ZipEntity.HeadLen, EntryTablesBuffer, 0, _ZipEntity.EntrysTableLen);
            //开始遍历Entry
            int  iTablesOffBits = 0;
            int  iFilesOffBits  = 0;
            uint iCount         = 1;

            while (iCount <= _ZipEntity.EntryCount)
            {
                uint   EntryLen = BitConverter.ToUInt32(EntryTablesBuffer, iTablesOffBits);
                uint   FileLen  = BitConverter.ToUInt32(EntryTablesBuffer, iTablesOffBits + sizeof(uint) * 2 + sizeof(UInt16) * 2);
                byte[] temp     = new byte[EntryLen - FileLen];
                Array.Copy(EntryTablesBuffer, iTablesOffBits, temp, 0, EntryLen - FileLen);
                Entry _entry = new Entry(temp);

                string FileDir  = BitConvertHelper.Byte2String(_entry.EntryDir, 0, _entry.EntryDirLen);
                string FileName = BitConvertHelper.Byte2String(_entry.EntryName, 0, _entry.EntryNameLen);

                iTablesOffBits += (int)(EntryLen - FileLen);
                iFilesOffBits  += (int)_entry.FileLen;
                iCount++;

                ListViewItem item = listView1.Items.Add(FileName);
                item.SubItems.Add(FileLen.ToString());
                item.SubItems.Add(FileDir);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 ///     写入一个指定类型的值
 /// </summary>
 /// <param name="value">指定类型的值</param>
 public void WriteBitFlag(BitFlag value)
 {
     *&_startData[_currentOffset] = BitConvertHelper.ConvertToByte(value);
     _currentOffset += Size.BitFlag;
 }