public static byte[] GetBitsfromArray(List <bool> answers) { byte[] bytearray = new byte[1]; var bitArray = new System.Collections.BitArray(bytearray); var index = 0; foreach (var answer in answers) { if (answer == true) { bitArray.Set(index, true); } else { bitArray.Set(index, false); } index++; } bitArray.Set(6, false); bitArray.Set(7, false); bitArray.CopyTo(bytearray, 0); return(bytearray); }
public static byte[] GetBitsFromString(string answer) { byte[] bytearray = new byte[1]; var bitArray = new System.Collections.BitArray(bytearray); var index = 0; foreach (char c in answer) { if (c == '1') { bitArray.Set(index, true); } else { bitArray.Set(index, false); } index++; } bitArray.Set(6, false); bitArray.Set(7, false); bitArray.CopyTo(bytearray, 0); return(bytearray); }
static ulong ToUInt64(this BitArray bitArray) { var array = new byte[8]; bitArray.CopyTo(array, 0); return(BitConverter.ToUInt64(array, 0)); }
private byte[] L(byte[] state) { byte[] result = new byte[64]; for (int i = 0; i < 8; i++) { ulong t = 0; byte[] tempArray = new byte[8]; Array.Copy(state, i * 8, tempArray, 0, 8); tempArray = tempArray.Reverse().ToArray(); System.Collections.BitArray tempBits1 = new System.Collections.BitArray(tempArray); bool[] tempBits = new bool[64]; tempBits1.CopyTo(tempBits, 0); tempBits = tempBits.Reverse().ToArray(); for (int j = 0; j < 64; j++) { if (tempBits[j] != false) { t = t ^ A[j]; } } byte[] ResPart = BitConverter.GetBytes(t).Reverse().ToArray(); Array.Copy(ResPart, 0, result, i * 8, 8); } return(result); }
private string ReadFromWriteResult(Domain.Writers.Dtos.MessageWriteResult writeResult) { string resultMessage = null; ushort byteThresholdBitCounter = 0; var bitArray = new System.Collections.BitArray(8); var messageRetrievedFromResultBuffer = new System.Collections.Generic.List <byte>(); for (int byteIndex = 0; byteIndex < writeResult.TotalNumberOfBytesUsed; byteIndex++) { var currentByte = writeResult.Buffer[byteIndex]; for (ushort bitInBytePositionCounter = 0; bitInBytePositionCounter < writeResult.NumberOfBitsUsedInByte; bitInBytePositionCounter++) { var bit = ((currentByte & (1 << bitInBytePositionCounter)) != 0); bitArray.Set(byteThresholdBitCounter, bit); byteThresholdBitCounter++; if (byteThresholdBitCounter == 8) { var byteStorage = new byte[1]; bitArray.CopyTo(byteStorage, 0); messageRetrievedFromResultBuffer.Add(byteStorage[0]); bitArray.SetAll(false); byteThresholdBitCounter = 0; } } } resultMessage = System.Text.Encoding.UTF8.GetString(messageRetrievedFromResultBuffer.ToArray()); return(resultMessage); }
/// <summary> /// Convert Byte Array To Bool Array /// </summary> /// <param name="bytes"></param> /// <returns></returns> public static bool[] ConvertByteArrayToBoolArray(byte[] bytes) { System.Collections.BitArray b = new System.Collections.BitArray(bytes); bool[] bitValues = new bool[b.Count]; b.CopyTo(bitValues, 0); Array.Reverse(bitValues); return(bitValues); }
private static byte[] ToBits(int value) { System.Collections.BitArray b = new System.Collections.BitArray(new int[] { value }); bool[] bits = new bool[b.Count]; b.CopyTo(bits, 0); byte[] bitValues = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(bits, bit => (byte)(bit ? 1 : 0))); return(bitValues); }
private void WriteBitmapInfo() { byte[] buffer = new byte[(completedChunks.Length / 8) + (completedChunks.Length % 8 > 0 ? 1 : 0)]; completedChunks.CopyTo(buffer, 0); stream.SetLength(targetSize + BITMAP_MARKER.Length + buffer.Length); stream.Seek(-(BITMAP_MARKER.Length + buffer.Length), SeekOrigin.End); stream.Write(BITMAP_MARKER, 0, BITMAP_MARKER.Length); stream.Write(buffer, 0, buffer.Length); }
private UInt16 getUInt16FromBitArray(System.Collections.BitArray bitArray) { if (bitArray.Length > 16) { throw new ArgumentException("Argument length shall be at most 32 bits."); } int[] array = new int[1]; bitArray.CopyTo(array, 0); return((UInt16)array[0]); }
/// <summary> /// Creates an object to hold a particular TableEntry. /// </summary> /// <param name="bytes">The bytes from which to make the TableEntry.</param> public TableEntry(byte[] bytes) { System.Collections.BitArray ba = new System.Collections.BitArray(bytes); Compressed = ba.Get(31); ba.Set(31, false); byte[] temp = new byte[4]; ba.CopyTo(temp, 0); Offset = BitConverter.ToInt32(temp, 0); }
public static void Guild_ListPlayersInfo(List <Global.guild_player> guildMembers, PacketWriter Writer) { Writer.Byte(guildMembers.Count); foreach (Global.guild_player m in guildMembers) { Writer.DWord(m.MemberID); Writer.Text(m.Name); Writer.Byte(m.Rank); Writer.Byte(m.Level); Writer.DWord(m.DonateGP); System.Collections.BitArray bits = new System.Collections.BitArray(new bool[] { m.noticeeditRight, m.guildstorageRight, m.unionRight, m.withdrawRight, m.joinRight, false, false, false }); byte[] bytes = new byte[1]; bits.CopyTo(bytes, 0); Writer.DWord((int)bytes[0]); Writer.DWord(0); Writer.DWord(0); Writer.DWord(0); if (m.GrantName != null) { if (m.GrantName != "") { Writer.Text(m.GrantName); } else { Writer.Word(0); } } else { Writer.Word(0); } Writer.DWord(m.Model); Writer.Byte(m.FWrank); Writer.Byte(m.Xsector); Writer.Byte(m.Ysector); Writer.DWord(0xFFFFFFFF); // when he entered last time 25794314 Writer.DWord(0x0189EECA); // when he leveled up last time 25816778 later :P Writer.Bool(!m.Online); } }
private static byte[] EncryptSafe(byte[] bytes, int key) { Random rand = new Random(key); byte[] k = new byte[bytes.Length]; rand.NextBytes(k); System.Collections.BitArray arr = new System.Collections.BitArray(bytes); arr.Xor(new System.Collections.BitArray(k)); arr.CopyTo(k, 0); return(k); }
/// <summary>將布林值陣列轉成32位元整數</summary> /// <param name="source">布林值陣列</param> /// <returns></returns> public static int ToInt32(this bool[] source) { if (source.Length > 32) { throw new ArgumentOutOfRangeException(); } bool[] tmp = new bool[source.Length]; Array.Copy(source, tmp, tmp.Length); Array.Reverse(tmp); System.Collections.BitArray ba = new System.Collections.BitArray(tmp); int[] res = new int[1]; ba.CopyTo(res, 0); return(res[0]); }
static void Main(string[] args) { System.Collections.BitArray bits = new System.Collections.BitArray(900); // Setting all bits to 0 bits.SetAll(false); // Here Im setting 21st bit in array bits[21] = true; // etc... int[] nativeBits = new int[29]; // Packing your bits in int array bits.CopyTo(nativeBits, 0); // This prints 2097152. this is 2^21 Console.WriteLine("First element is:" + nativeBits[0].ToString()); }
private void button_update_Click(object sender, EventArgs e) { System.Collections.BitArray bl, re, gr; bl = new System.Collections.BitArray(bitsfield.Count / 3); re = new System.Collections.BitArray(bitsfield.Count / 3); gr = new System.Collections.BitArray(bitsfield.Count / 3); Byte[] b = new Byte[resol * led_count / 8]; Byte[] r = new Byte[resol * led_count / 8]; Byte[] g = new Byte[resol * led_count / 8]; for (int i = 0; i < bitsfield.Count; i += 24) { for (int j = 0; j < 8; j++) { bl.Set(i / 3 + j, bitsfield.Get(i + (7 - j) * 3)); re.Set(i / 3 + j, bitsfield.Get(i + (7 - j) * 3 + 1)); gr.Set(i / 3 + j, bitsfield.Get(i + (7 - j) * 3 + 2)); } } bl.CopyTo(b, 0); re.CopyTo(r, 0); gr.CopyTo(g, 0); String Bdata = ""; String Rdata = ""; String Gdata = ""; for (int i = 0; i < (resol * led_count / 8); i++) { Bdata += BitConverter.ToString(b, i, 1); Rdata += BitConverter.ToString(r, i, 1); Gdata += BitConverter.ToString(g, i, 1); } String txt = ""; for (int i = 0; i < (resol * led_count / 4); i += (led_count / 4)) { txt += "0x"; txt += Bdata.Substring(i, (led_count / 4)); txt += ", 0x"; txt += Rdata.Substring(i, (led_count / 4)); txt += ", 0x"; txt += Gdata.Substring(i, (led_count / 4)); txt += ",\r\n"; } this.textBox_data.Text = txt; }
public static byte[] BitArrayToBytes(System.Collections.BitArray bitarray) { if (bitarray.Length == 0) { throw new System.ArgumentException("must have at least length 1", "bitarray"); } int num_bytes = bitarray.Length / 8; if (bitarray.Length % 8 != 0) { num_bytes += 1; } var bytes = new byte[num_bytes]; bitarray.CopyTo(bytes, 0); return(bytes); }
private byte[] ToAntialiasingData(BitArray antialiasingData) { Contract.Requires(antialiasingData != null, "Antialiasing data cannot be null."); if (antialiasingData.Length == 0) { return(new byte[0]); } int alignedLength = BytesPerInt32 * ((antialiasingData.Length - 1) / BitsPerInt32 + 1); byte[] data = new byte[alignedLength]; antialiasingData.CopyTo(data, 0); for (int i = 0; i < data.Length; i++) { data[i] = Helper.ReverseBits(data[i]); } return(data); }
private void FillGraphemeClusterBoundaries(TinyFont font) { GlyphMetadataAppendix metadata = font.GetOrAddNewAppendix <GlyphMetadataAppendix>(); byte[] clusterBoundaries = Resources.GraphemeBreakProperty; BitArray data = new BitArray(0); foreach (CharacterInfo info in font.EnumerateAllCharacterInfos()) { byte property = FindClusterProperty(clusterBoundaries, info.Codepoint); data.AppendLsb(property, 4); } byte[] setData = new byte[(data.Length + 7) / 8]; data.CopyTo(setData, 0); metadata.Sets.Add(setData); GlyphMetadataAppendix.MetadataSetOffset offset = new GlyphMetadataAppendix.MetadataSetOffset(); offset.Id = GlyphMetadataAppendix.GraphemeSet; offset.Bits = GlyphMetadataAppendix.MetadataSetBitLength.Four; metadata.SetsOffsets.Add(offset); }
/// <summary> /// Bitarray should be under 32 bits /// </summary> /// <param name="Array"></param> /// <returns></returns> public static int ConvertBitarrayToInt(System.Collections.BitArray Array) { int[] array = new int[1]; Array.CopyTo(array, 0); return(array[0]); }
public static void ReverseBitsOrder(byte[] bytes) { System.Collections.BitArray bits = new System.Collections.BitArray(bytes); BUtil.ReverseBitsOrder(bits); bits.CopyTo(bytes, 0); }
public IEnumerable <byte> Encode() { var allSbs = new List <List <byte> >(); var curSb = new List <byte>(); allSbs.Add(curSb); Action <byte> addByte = b => { curSb.Add(b); if (curSb.Count >= int.MaxValue / 2) { var newSb = new List <byte>(); allSbs.Add(newSb); curSb = newSb; } }; Action <IEnumerable <byte> > addByteRange = e => { foreach (var b in e) { addByte(b); } }; var methodNameBytes = Encoding.UTF8.GetBytes(MethodName); var len = methodNameBytes.Length; if (len > ushort.MaxValue) { throw new Exception("Yeah, that shouldn't be possible"); } addByte((byte)((len >> 8) & 0xFF)); addByte((byte)((len >> 0) & 0xFF)); addByteRange(methodNameBytes); var maxOrdinal = SequencePoints.Max(s => s.Ordinal); if (maxOrdinal > ushort.MaxValue) { throw new Exception("That's a giant method, wtf"); } addByte((byte)((maxOrdinal >> 8) & 0xFF)); addByte((byte)((maxOrdinal >> 0) & 0xFF)); if (SequencePoints.Any(s => s.Visited)) { var bitMask = new System.Collections.BitArray(maxOrdinal + 1); foreach (var seq in SequencePoints) { if (seq.Visited) { bitMask.Set(seq.Ordinal, true); } } var bitArrayByteCount = ((maxOrdinal + 1) / 8) + ((maxOrdinal + 1) % 8); var bitArrayBytes = new byte[bitArrayByteCount]; bitMask.CopyTo(bitArrayBytes, 0); addByteRange(bitArrayBytes); } foreach (var set in allSbs) { foreach (var b in set) { yield return(b); } } }
void backWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { System.ComponentModel.BackgroundWorker b = sender as System.ComponentModel.BackgroundWorker; int samples = 32; short[] buffer = new short[samples]; bw = new BinaryWriter(File.Open(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Code.huf", FileMode.Create)); stream = Bass.BASS_StreamCreateFile(path, 0L, 0L, BASSFlag.BASS_STREAM_DECODE); ww = new WaveWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/HufSound.wav", stream, true); int mult = 0; long len = Bass.BASS_ChannelGetLength(stream, BASSMode.BASS_POS_BYTES); while (Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING) { int length = Bass.BASS_ChannelGetData(stream, buffer, samples * 2); mult++; b.ReportProgress((int)(((samples * mult) * 100) / len * 2)); List <short> listBuffer = new List <short>(); HuffmanTree tree = new HuffmanTree(); if (length > 0) { listBuffer.AddRange(buffer); short[] auxbuf = new short[buffer.Length]; auxbuf = buffer; canvasWavComp.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.SystemIdle, new Action(delegate { //Whole Wave //double xScale = canvasWavComp.Width / samples; //Formula by Manuel García. Dude you're amazing. //NOTE: multiply by 2 'cos I supoused some relation with Nyquist Theorem double xScale = (canvasWavComp.Width * samples) / len * 2; double yScale = (canvasWavComp.Height / (double)(amplitude * 2)) * ((double)amplitude / MAX_AMP); Polyline graphLine = new Polyline(); //This Line is used to move on the x axis Canvas.SetLeft(graphLine, xAxis); graphLine.Stroke = new SolidColorBrush(Color.FromRgb(244, 67, 54)); graphLine.StrokeThickness = 2; for (int i = 0; i < buffer.Length; i++) { graphLine.Points.Add(new Point(xScale * i, (canvasWavComp.Height / 2) - (buffer[i] * yScale))); } xAxis += xScale; //canvasWavComp.Children.Clear(); canvasWavComp.Children.Add(graphLine); })); double entaux = 0; foreach (var sym in listBuffer.GroupBy(i => i)) { NodeHuf nodeHuf = new NodeHuf(); nodeHuf.Symbol = sym.Key; nodeHuf.Frequency = sym.Count(); nodeHuf.Right = nodeHuf.Left = null; tree.Add(nodeHuf); double prob = (double)nodeHuf.Frequency / samples; //entropy -= prob * (Math.Log(prob) / Math.Log(2)); entaux += prob * Math.Log(1 / (prob), 2); entauxlbl = entaux; } entropy += entaux; entcount++; tree.Build(); //Encode System.Collections.BitArray encoded = tree.Encode(auxbuf); byte[] arrayBytes = new byte[encoded.Length / 8 + (encoded.Length % 8 == 0 ? 0 : 1)]; encoded.CopyTo(arrayBytes, 0); File.WriteAllBytes("Compress.bin", arrayBytes); //Decode byte[] data; Stream fs = File.OpenRead("Compress.bin"); data = new byte[fs.Length]; fs.Read(data, 0, data.Length); System.Collections.BitArray bitDec = new System.Collections.BitArray(data); short[] decoded = tree.Decode(bitDec); if (decoded.Length > 0) { ww.Write(decoded, length); } bw.Write(data); fs.Close(); } } //Delete temporaly file File.Delete("Compress.bin"); //Close de Stream WAV ww ww.Close(); //If you not add this line, the backgroundworker will be restat but when file is create again //there will be an incongruence because the bw never was closed. bw.Close(); entropy /= entcount;// (len / samples); entcount = 0; }
private Brush getBrush(int resPos, int ledPos) { System.Collections.BitArray bite = new System.Collections.BitArray(8); byte[] bitref = new byte[1]; Brush br; bite.Set(0, led_bits.Get(48 * resPos + 3 * ledPos)); bite.Set(1, led_bits.Get(48 * resPos + 3 * ledPos + 1)); bite.Set(2, led_bits.Get(48 * resPos + 3 * ledPos + 2)); bite.CopyTo(bitref, 0); switch (bitref[0]) { case 1: br = br_blue; break; case 2: br = br_red; break; case 3: br = br_rb; break; case 4: br = br_green; break; case 5: br = br_gb; break; case 6: br = br_rg; break; case 7: br = br_rgb; break; default: br = br_black; break; } return br; }
void ReadingTask() { Stream stream=null; // byte[] tempdata;// = new byte[34]; while (true) { try { if (tcp == null || !tcp.Connected) { // Comm_state = 0; tcp = new TcpClient(); try { Console.WriteLine("Connect to Smr" + IP + ":" + Port); tcp.Connect(IP, Port); } catch (Exception exx) { Console.WriteLine(exx.Message); } } // 偵測 RTU開 斷線並產生事件 if (tcp != null && tcp.Connected) { Comm_state = 1; stream = tcp.GetStream(); stream.ReadTimeout = 3000; // int voltage=0; // int data; int voltage = 0, current = 0, mod1, mod2, mod3; int AcFail = 0, SmrWarning = 0, major = 0, minor = 0; byte[] rdata = new byte[32]; //while (true) //{ //if (stream.Length == 32 ) //{ int cks = 0; stream.Write(new byte[] { 0xaa, 0x02, 100, 2 + 100 }, 0, 4); // CSU 運作狀態 50d 32h stream.Flush(); try { stream.Read(rdata, 0, 32); } catch (Exception ex) { Console.WriteLine("SMR_RTU"+ex.Message); tcp.Close(); System.Threading.Thread.Sleep(1000); continue; } Console.WriteLine("read"); voltage = rdata[1] + rdata[2] * 256; current = rdata[3] + rdata[4] * 256; mod1 = rdata[13]; mod2 = rdata[14]; mod3 = rdata[15]; AcFail = ((mod1 >> 6) & 1); SmrWarning = ((mod1 >> 5) & 1); major = ((mod1 >> 3) & 1); minor = ((mod1 >> 4) & 1); Console.WriteLine("v:{0} i:{1} mod1={2:X2} mod2={3:X2} mod3={4:X2} major:{5} minor:{6} Acfail:{7} SmrWarning:{8}", voltage, current, mod1, mod2, mod3, major, minor, AcFail, SmrWarning); for (int i = 0; i < 32; i++) { cks += rdata[i]; Console.Write("{0:X2} ", rdata[i]); } cks -= rdata[31]; Console.WriteLine(); if ((cks & 255) != rdata[31]) Console.WriteLine("cks error {0:X2}!", cks & 255); byte[] retData = new byte[6]; retData[0] = (byte)(voltage / 256); retData[1] = (byte)(voltage % 256); retData[2] = (byte)(current / 256); retData[3] = (byte)(current % 256); retData[4] = 0; System.Collections.BitArray ba = new System.Collections.BitArray(new byte[] { 0 }); // bit 0 1 2 3 // major minor SmrWarning AcFail ba.Set(0, major == 0); ba.Set(1, minor == 0); ba.Set(2, SmrWarning == 0); ba.Set(3, AcFail == 0); ba.CopyTo(retData, 5); for (int i = 0; i < data.Length; i++) data[i] = retData[i]; } else { Comm_state = 0; } } catch (Exception ex) { Console.WriteLine("RTU:" + this.ControlID + "," + ex.Message + "," + ex.StackTrace); } System.Threading.Thread.Sleep(10000); } }
private void Form1_Load(object sender, EventArgs e) { string fullname = typeof(NCR.EAI.AUB.BPE.NIInspectorConfigurationSection).AssemblyQualifiedName; string parameters = ""; string[] paramArray = parameters.Split(','); NCR.Core.Encryption.EncryptionHelper _enchelper = new NCR.Core.Encryption.EncryptionHelper(); _enchelper.EncryptTripleDES("230119581201196930041982", "1234"); TestVBEncryption.EncryptionVB _vbEncrypt = new TestVBEncryption.EncryptionVB(); _vbEncrypt.TripleDES("1234"); //GeneratePinBlock("4250580000001234", "1234"); GeneratePinBlock("4192360934425644", "8536"); NCR.EAI.AUB.Entity.CustomerProduct.Cards.CreditCardSAF creditcardsaf = new NCR.EAI.AUB.Entity.CustomerProduct.Cards.CreditCardSAF(); creditcardsaf.recordid = 1; creditcardsaf.ni1_tran_type = "test"; try { NCR.EAI.Utilities.Utility _utility = new NCR.EAI.Utilities.Utility(); string xml = _utility.SerializeObjectAsXML(typeof(NCR.EAI.AUB.Entity.CustomerProduct.Cards.CreditCardSAF), creditcardsaf, Encoding.Default); int idex = xml.IndexOf(Environment.NewLine); //xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", ""); XDocument _xdoc = new XDocument(); //_xdoc = XDocument.Parse("<CreditCardSAF><ni1_tran_type>test</ni1_tran_type><recordid>1</recordid><retry_count>0</retry_count></CreditCardSAF>"); //_xdoc = new XDocument(); //_xdoc = XDocument.Parse("<CreditCardSAF><ni1_tran_type>test</ni1_tran_type><recordid>1</recordid><retry_count>0</retry_count></CreditCardSAF>"); _xdoc = XDocument.Parse(xml); //XmlDocument _xdoc = new XmlDocument(); //_xdoc.LoadXml("<?xml version=\"1.0\" encoding=\"UTF-16\"?><CreditCardSAF><ni1_tran_type>test</ni1_tran_type><recordid>1</recordid><retry_count>0</retry_count></CreditCardSAF>"); //_xdoc.LoadXml("<test><subtest>tett</subtest></test>"); //_xdoc.LoadXml(xml); XElement _xele = _xdoc.Root; } catch (Exception ex) { } List <XElement> _testList = new List <XElement>(); _testList.Add(new XElement("element1")); _testList.Add(new XElement("element2")); string testResult = String.Join(",", _testList.Select(a => a.Name.LocalName)); string sFNSOfflineStartTime = "23:00:00"; string sFNSOfflineEndTime = "05:00:00"; bool isOffline = false; DateTime _fnsOfflineStartTime = Convert.ToDateTime(sFNSOfflineStartTime); DateTime _fnsOfflineEndTime = Convert.ToDateTime(sFNSOfflineEndTime); int compareStartEnd = _fnsOfflineStartTime.CompareTo(_fnsOfflineEndTime); if (compareStartEnd > 0) { _fnsOfflineStartTime = _fnsOfflineStartTime.AddDays(-1); } DateTime _currentDateTime = DateTime.Now; int compareStart = _currentDateTime.CompareTo(_fnsOfflineStartTime); int compareEnd = _currentDateTime.CompareTo(_fnsOfflineEndTime); if (compareStart >= 0 && compareEnd <= 0) { isOffline = true; } else { isOffline = false; } AssemblyName _asemblyName = System.Reflection.AssemblyName.GetAssemblyName(@"F:\Hashim\AUB\NXP\AUB\AUBBPELibrary\bin\Debug\NCR.EAI.AUB.BPE.dll"); Assembly _asmBPETest = Assembly.LoadFile(@"F:\Hashim\AUB\NXP\AUB\AUBBPELibrary\bin\Debug\NCR.EAI.AUB.BPE.dll"); Type tBPEAsm = _asmBPETest.GetType("NCR.EAI.AUB.BPE.AUBBPELibrary", false, true); try { var _objInstance = _asmBPETest.CreateInstance(tBPEAsm.ToString(), true); object _objValue = null; _objValue = _objInstance.GetType().GetProperty("testProperty").GetValue(_objInstance, null); List <XElement> _list = new List <XElement>(); XElement _xle = new XElement("Firstpushedbycaller"); _list.Add(_xle); _objInstance.GetType().GetProperty("InternalMessageElements").SetValue(_objInstance, _list, null); MethodInfo _methodInfoBPE = tBPEAsm.GetMethod("testElement"); object output = _methodInfoBPE.Invoke(_objInstance, null); object _objValue2 = null; _objValue2 = _objInstance.GetType().GetProperty("InternalMessageElements").GetValue(_objInstance, null); _list = (List <XElement>)_objValue2; _xle = new XElement("Secondpushedbycaller"); _list.Add(_xle); _objInstance.GetType().GetProperty("InternalMessageElements").SetValue(_objInstance, _list, null); _list = null; _objValue2 = null; _objValue2 = _objInstance.GetType().GetProperty("InternalMessageElements").GetValue(_objInstance, null); } catch (Exception ex) { string expp = ex.Message; } System.Collections.BitArray _bitArray = new System.Collections.BitArray(16, false); for (int i = 0; i < _bitArray.Length; i++) { _bitArray.Set(i, false); } _bitArray.Set(0, true); _bitArray.Set(2, true); _bitArray.Set(9, true); string bitMap = ""; for (int i = 0; i < _bitArray.Length; i++) { bitMap += _bitArray[i].ToString(); } byte[] _byteArray = new byte[2]; _bitArray.CopyTo(_byteArray, 0); string hexRep = BitConverter.ToString(_byteArray); hexRep = hexRep.Replace("-", ""); bitMap = System.Text.Encoding.ASCII.GetString(_byteArray); string ttt = "Format(1)"; string[] splittt = ttt.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //string formattedDate = DateTime.ParseExact("20150101", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"); string formattedDate = DateTime.ParseExact("23-AUG-2015", "d-MMM-yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"); //DateTime dt = DateTime.ParseExact("20150101", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); Assembly _asm = Assembly.LoadFile(@"F:\Hashim\AUB\NXP\AUB\DynamicTest\bin\Debug\dynamicTest.dll"); Type t = _asm.GetType("DynamicTest.DynamicTestClass", false, true); var obj = _asm.CreateInstance(t.ToString()); object T = new object(); //MethodInfo _methodInfo = typeof(TestClient.Form1).GetMethod("testDynamicMethod"); MethodInfo _methodInfo = t.GetMethod("testDynamicMethod"); object[] _objParams = new object[2]; _objParams[0] = "test"; _objParams[1] = "RefRequest"; try { //object output = _methodInfo.Invoke(T, _objParams); object output = _methodInfo.Invoke(obj, _objParams); } catch (Exception ex) { } }
static void ReceiveTask() { Stream stream=tcp.GetStream(); // int voltage=0; // int data; int voltage = 0, current = 0, mod1, mod2, mod3; int AcFail=0,SmrWarning=0,major=0,minor=0; byte[] data = new byte[32]; //while (true) //{ //if (stream.Length == 32 ) //{ int cks = 0; stream.Read(data, 0, 32); Console.WriteLine("read"); voltage = data[1] + data[2] * 256; current = data[3] + data[4]*256; mod1=data[13]; mod2 = data[14]; mod3 = data[15]; AcFail = ((mod1 >> 6) & 1) ; SmrWarning = ((mod1 >> 5) & 1) ; major = ((mod1 >> 3) & 1) ; minor = ((mod1 >> 4) & 1) ; Console.WriteLine("v:{0} i:{1} mod1={2:X2} mod2={3:X2} mod3={4:X2} major:{5} minor:{6} Acfail:{7} SmrWarning:{8}", voltage, current, mod1, mod2, mod3,major,minor,AcFail,SmrWarning); for (int i = 0; i < 32; i++) { cks+=data[i]; Console.Write("{0:X2} ",data[i]); } cks -= data[31]; Console.WriteLine(); if( (cks&255)!=data[31]) Console.WriteLine("cks error {0:X2}!",cks&255); byte[] retData = new byte[6]; retData[0] = (byte)(voltage / 256); retData[1] = (byte)(voltage % 256); retData[2] = (byte)(current / 256); retData[3] = (byte)(current % 256); retData[4] = 0; System.Collections.BitArray ba = new System.Collections.BitArray(new byte[] { 0 }); // bit 0 1 2 3 // major minor SmrWarning AcFail ba.Set(0, major == 0); ba.Set(1, minor == 0); ba.Set(2, SmrWarning == 0); ba.Set(3, AcFail == 0); ba.CopyTo(retData, 5); //for (int i = 0; i < 8; i++) // stream.ReadByte(); //mod1 = stream.ReadByte(); //mod2 = stream.ReadByte(); //mod3 = stream.ReadByte(); }
public static byte[] ToByteArray(this System.Collections.BitArray bits) { byte[] ret = new byte[(bits.Length - 1) / 8 + 1]; bits.CopyTo(ret, 0); return(ret); }
/// <summary> /// Implements the operator >>, /// </summary> /// <param name="a">A.</param> /// <param name="shift">The shift.</param> /// <returns>The result of the operator.</returns> public static NodeId operator >>(NodeId a, int shift) { if (((object)a == null) || shift == 0) { return a; } System.Collections.BitArray input = new System.Collections.BitArray(a.Data); System.Collections.BitArray resultarray = new System.Collections.BitArray(a.Digits * 8); byte[] result = new byte[a.Digits]; for (int i = a.Digits * 8 - 1; i >= a.Digits * 8 - 1 - shift; i--) { resultarray[i] = false; } for (int i = a.Digits * 8 - 1 - shift; i >= 0; i--) { resultarray.Set(i, input.Get(i + shift)); } resultarray.CopyTo(result, 0); Array.Reverse(result); return new NodeId(result); }
void ReadingTask() { byte[] tempdata = new byte[data.Length]; while (true) { try { if (RTUDevice!=null && RTUDevice.connected != IsConnected) { IsConnected = RTUDevice.connected; using( SecureDBEntities1 db = new SecureDBEntities1()) { tblPDConfig pdc = db.tblPDConfig.Where(n => n.PDName == this.PDName).FirstOrDefault(); if (pdc != null) { pdc.Comm_state = IsConnected ? 1 : 0; db.SaveChanges(); } db.tblPDAlarmLog.Add(new tblPDAlarmLog() { Timestamp = DateTime.Now, PDItem = "Comm_state", PDName = this.PDName, Status = IsConnected ? 1 : 0 , UserMemo=pdc.Memo}); db.SaveChanges(); } } if (RTUDevice != null && RTUDevice.connected) { lock (lockobj) { RTUDevice.ReadDiscreteInputs(1, 0, 0, 12, ref tempdata); if (tempdata == null) { Console.WriteLine(this.PDName + "讀取資料失敗"); reading_fail_cnt++; continue; } else reading_fail_cnt = 0; if ((tblPDConfig.type ?? 1) == 2) //R11 { for (int i = 0; i < tempdata.Length; i++) tempdata[i] = (byte)(~tempdata[i]); System.Collections.BitArray baryD = new System.Collections.BitArray(new byte[2]); System.Collections.BitArray baryS = new System.Collections.BitArray(tempdata); baryD.Set(0, baryS.Get(4)); //r0 baryD.Set(1, baryS.Get(5)); //s0 baryD.Set(2, baryS.Get(6)); // t0 baryD.Set(3, baryS.Get(0)); //r1 baryD.Set(4, baryS.Get(1)); //s1 baryD.Set(5, baryS.Get(2)); //t1 baryD.Set(6, baryS.Get(7)); // L0 baryD.Set(7, baryS.Get(8)); // L1 baryD.Set(8, baryS.Get(9)); // L2 baryD.Set(9, baryS.Get(10)); // L3 baryD.Set(10, baryS.Get(11)); // L4 baryD.Set(11, baryS.Get(3)); // cab baryD.CopyTo(tempdata, 0); } else if((tblPDConfig.type ?? 1) == 7) { //for (int i = 0; i < tempdata.Length; i++) // tempdata[i] = (byte)(~tempdata[i]); System.Collections.BitArray baryD = new System.Collections.BitArray(new byte[2]); System.Collections.BitArray baryS = new System.Collections.BitArray(tempdata); baryD.Set(0, baryS.Get(4)); //r0 baryD.Set(1, baryS.Get(5)); //s0 baryD.Set(2, baryS.Get(6)); // t0 baryD.Set(3, baryS.Get(0)); //r1 baryD.Set(4, baryS.Get(1)); //s1 baryD.Set(5, baryS.Get(2)); //t1 baryD.Set(6, baryS.Get(7)); // L0 baryD.Set(7, baryS.Get(8)); // L1 baryD.Set(8, baryS.Get(9)); // L2 baryD.Set(9, baryS.Get(10)); // L3 baryD.Set(10, baryS.Get(11)); // L4 baryD.Set(11, !baryS.Get(3)); // cab baryD.CopyTo(tempdata, 0); } else if ((tblPDConfig.type ?? 1) == 5) //R13 { for (int i = 0; i < tempdata.Length; i++) tempdata[i] = (byte)(~tempdata[i]); System.Collections.BitArray baryD = new System.Collections.BitArray(new byte[2]); System.Collections.BitArray baryS = new System.Collections.BitArray(tempdata); baryD.Set(0, baryS.Get(4)); //r0 baryD.Set(1, baryS.Get(5)); //s0 baryD.Set(2, baryS.Get(6)); // t0 baryD.Set(3, baryS.Get(0)); //r1 baryD.Set(4, baryS.Get(1)); //s1 baryD.Set(5, baryS.Get(2)); //t1 baryD.Set(6, baryS.Get(7)); // L0 baryD.Set(7, baryS.Get(8)); // L1 baryD.Set(8, baryS.Get(9)); // L2 baryD.Set(9, baryS.Get(10)); // L3 baryD.Set(10, baryS.Get(11)); // L4 baryD.Set(11, !baryS.Get(3)); // cab baryD.CopyTo(tempdata, 0); } else if ((tblPDConfig.type ?? 1) == 3) //R12 { for (int i = 0; i < tempdata.Length; i++) tempdata[i] = (byte)(~tempdata[i]); System.Collections.BitArray baryD = new System.Collections.BitArray(new byte[2]); System.Collections.BitArray baryS = new System.Collections.BitArray(tempdata); baryD.Set(0, baryS.Get(6)); //r0 baryD.Set(1, baryS.Get(7)); //s0 baryD.Set(2, baryS.Get(8)); // t0 baryD.Set(3, baryS.Get(0)); //r1 baryD.Set(4, baryS.Get(1)); //s1 baryD.Set(5, baryS.Get(2)); //t1 baryD.Set(6, baryS.Get(9)); // L0 baryD.Set(7, baryS.Get(10)); // L1 baryD.Set(8, baryS.Get(11)); // L2 //baryD.Set(9, 0baryS.Get(10)); // L3 //baryD.Set(10,0 baryS.Get(11)); // L4 baryD.Set(11, baryS.Get(3) && baryS.Get(4) && baryS.Get(5)); // cab baryD.CopyTo(tempdata, 0); } else if ((tblPDConfig.type ?? 1) == 4) //R23 T74 { System.Collections.BitArray baryD = new System.Collections.BitArray(tempdata); baryD.Set(11,! baryD.Get(11)); baryD.CopyTo(tempdata, 0); } else if ((tblPDConfig.type ?? 1) == 6) { System.Collections.BitArray bard = new System.Collections.BitArray(tempdata); for (int i = 0; i < 11; i++) bard.Set(i, !bard.Get(i)); bard.CopyTo(tempdata, 0); } // RTUDevice.ReadHoldingRegister((ushort)this.DevID, (byte)255, (ushort)(StartAddress - 1), this.RegisterLength, ref tempdata); if (tempdata != null && tempdata.Length != 0) { CheckDataChange(tempdata); System.Array.Copy(tempdata, data, 2); //for (int i = 0; i < tempdata.Length; i++) //{ // data[i] = tempdata[i]; //} } } } } catch (Exception ex) { Console.WriteLine(this.PDName+","+((tempdata==null)?"突然斷線":ex.Message) + "," + ex.StackTrace); } finally { System.Threading.Thread.Sleep(1000); } } }
public static void Guild_ListPlayersInfo(List<ObjData.guild_player> guildMembers, PacketWriter Writer) { Writer.Byte(guildMembers.Count); foreach (ObjData.guild_player m in guildMembers) { Writer.DWord(m.MemberID); Writer.Text(m.Name); Writer.Byte(m.Rank); Writer.Byte(m.Level); Writer.DWord(m.DonateGP); System.Collections.BitArray bits = new System.Collections.BitArray(new bool[] { m.noticeeditRight, m.guildstorageRight, m.unionRight, m.withdrawRight, m.joinRight, false,false,false }); byte[] bytes = new byte[1]; bits.CopyTo(bytes, 0); Writer.DWord((int)bytes[0]); Writer.DWord(0); Writer.DWord(0); Writer.DWord(0); if (m.GrantName != null) { if (m.GrantName != "") Writer.Text(m.GrantName); else Writer.Word(0); } else Writer.Word(0); Writer.DWord(m.Model); Writer.Byte(m.FWrank); Writer.Byte(m.Xsector); Writer.Byte(m.Ysector); Writer.DWord(0xFFFFFFFF); // when he entered last time 25794314 Writer.DWord(0x0189EECA); // when he leveled up last time 25816778 later :P Writer.Bool(!m.Online); } }
public Bitmap Process(BinaryReader reader, Palettecolour[] pal) { MapTile mt = new MapTile(); var currOffset = 6144; // Read map tile lookup table for (var tileid = 0; tileid < 256; ++tileid) { for (var j = 0; j < 6; ++j) { byte[] z = new byte[4]; z[0] = reader.ReadByte(); z[1] = reader.ReadByte(); z[2] = reader.ReadByte(); z[3] = reader.ReadByte(); UInt32 x = BitConverter.ToUInt32(z, 0); int zp = ((int)x - 6144); if (zp < 0) { zp = 0; } zp /= (5 * 4 * 16); mt.SubTileIds[tileid, j] = (UInt32)zp; //currOffset += 4; mt.Offset[tileid, j] = x; } } // x 7744 uint // 1600 / 320 for (var t = 0; t < 986; t++) { SubTile st = new SubTile(); mt.Sub[t] = st; for (var zz = 0; zz < 16; ++zz) { Block32 b32 = new Block32(); b32.alpha = reader.ReadUInt32(); b32.bit0 = reader.ReadUInt32(); b32.bit1 = reader.ReadUInt32(); b32.bit2 = reader.ReadUInt32(); b32.bit3 = reader.ReadUInt32(); st.Lines[zz] = b32; } } // 32w, 16h //int []px = new int[32*16]; foreach (var subBlock in mt.Sub) { subBlock.BlockImage = new Bitmap(32, 16); for (var line = 0; line < 16; ++line) { for (var x = 0; x < 32; ++x) { System.Collections.BitArray ba = new System.Collections.BitArray(8, false); ba[0] = (subBlock.Lines[line].bit0 & (1 << x)) != 0; ba[1] = (subBlock.Lines[line].bit1 & (1 << x)) != 0; ba[2] = (subBlock.Lines[line].bit2 & (1 << x)) != 0; ba[3] = (subBlock.Lines[line].bit3 & (1 << x)) != 0; ba[4] = false; ba[5] = false; ba[6] = false; ba[7] = false; byte[] p = new byte[1]; ba.CopyTo(p, 0); //px[(line * 32) + x] = p[0]; byte alpha = (byte)((subBlock.Lines[line].alpha & (1 << x)) != 0 ? 0 : 255); Palettecolour pc = pal[p[0]]; ////////////////////// // 0 7 var px = 0; var py = line; if (x < 8) { px = (24 + (x % 8)); } else if (x < 16) { px = (16 + (x % 8)); } else if (x < 24) { px = (8 + (x % 8)); } else if (x < 32) { px = (0 + (x % 8)); } subBlock.BlockImage.SetPixel(31 - px, py, Color.FromArgb(alpha, pc.Red, pc.Green, pc.Blue)); //Console.Write( (p[0] > 0 ? 1 : 0)); } //x //Console.WriteLine(); } // line } var myTile = 33; //Bitmap bmp = new Bitmap(64, 48); // 3 0 // 4 1 // 5 2 // Lay out thhe tiles 16 wide by 16 down int row = 0, col = 0; int numrows = 16, numcols = 16; Bitmap bmp = new Bitmap(2 * 32 * numcols, 16 * 3 * numrows); for (var t = 0; t < 256; t++) { if (col >= numcols) { ++row; col = 0; } var xpos = col * 64; var ypos = (row * 48); bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 0]].BlockImage, xpos + 0, ypos + 0); bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 3]].BlockImage, xpos + 32, ypos + 0); // 2 bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 1]].BlockImage, xpos + 0, ypos + 16); bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 4]].BlockImage, xpos + 32, ypos + 16); // 3 bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 2]].BlockImage, xpos + 0, ypos + 32); bmp.BlitIntoBitmap(mt.Sub[mt.SubTileIds[t, 5]].BlockImage, xpos + 32, ypos + 32); ++col; } return(bmp); }
public SerializBitArray(System.Collections.BitArray bitArray) { length = bitArray.Length; iArray = new int[GetArrayLength(length, 32)]; bitArray.CopyTo(iArray, 0); }
private byte[] L(byte[] state) { byte[] result = new byte[64]; for (int i = 0; i < 8; i++) { ulong t = 0; byte[] tempArray = new byte[8]; Array.Copy(state, i * 8, tempArray, 0, 8); tempArray = tempArray.Reverse().ToArray(); System.Collections.BitArray tempBits1 = new System.Collections.BitArray(tempArray); bool[] tempBits=new bool[64]; tempBits1.CopyTo(tempBits, 0); tempBits=tempBits.Reverse().ToArray(); for (int j = 0; j < 64; j++) { if (tempBits[j] != false) t = t ^ A[j]; } byte[] ResPart = BitConverter.GetBytes(t).Reverse().ToArray(); Array.Copy(ResPart, 0, result, i * 8, 8); } return result; }