コード例 #1
0
        private void WriteBinaryFile(string fileName, Tuple <RCV_FENBI, IntPtr> tuple)
        {
            using (FileStream fileStream = new FileStream(fileName, chkOverwrite.Checked ? FileMode.Create : FileMode.Append))
            {
                using (BinaryWriter writer = new BinaryWriter(fileStream))
                {
                    writer.Write(0);
                    for (int i = 0; i < tuple.Item1.m_nCount; i++)
                    {
                        HaiLiDrvDemo.RCV_FENBI_STRUCTEx data =
                            (HaiLiDrvDemo.RCV_FENBI_STRUCTEx)Marshal.PtrToStructure(
                                new IntPtr((int)tuple.Item2 + 30 + 108 * i),
                                typeof(HaiLiDrvDemo.RCV_FENBI_STRUCTEx));

                        writer.Write(Reverse(BitConverter.GetBytes(data.m_lTime * 1000L)));
                        writer.Write(Reverse(BitConverter.GetBytes((int)Math.Round(data.m_fNewPrice * 100))));
                        writer.Write(Reverse(BitConverter.GetBytes(0)));
                        writer.Write(Reverse(BitConverter.GetBytes((long)Math.Round(data.m_fVolume * 100L))));
                        writer.Write(Reverse(BitConverter.GetBytes((long)Math.Round(data.m_fAmount * 100L))));
                        writer.Write(Reverse(BitConverter.GetBytes(true)));

                        for (int j = 0; j < 5; j++)
                        {
                            writer.Write(Reverse(BitConverter.GetBytes(data.m_fBuyPrice[j])));
                            writer.Write(Reverse(BitConverter.GetBytes(data.m_fBuyVolume[j])));
                        }
                        for (int j = 0; j < 5; j++)
                        {
                            writer.Write(Reverse(BitConverter.GetBytes(data.m_fSellPrice[j])));
                            writer.Write(Reverse(BitConverter.GetBytes(data.m_fSellVolume[j])));
                        }
                    }
                }
            }
        }
コード例 #2
0
        private void WriteJsonFile(string fileName, Tuple <RCV_FENBI, IntPtr> tuple)
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName, !chkOverwrite.Checked))
            {
                for (int i = 0; i < tuple.Item1.m_nCount; i++)
                {
                    HaiLiDrvDemo.RCV_FENBI_STRUCTEx Buf =
                        (HaiLiDrvDemo.RCV_FENBI_STRUCTEx)Marshal.PtrToStructure(
                            new IntPtr((int)tuple.Item2 + 30 + 108 * i),
                            typeof(HaiLiDrvDemo.RCV_FENBI_STRUCTEx));

                    string strSerializeJSON = JsonConvert.SerializeObject(Buf);
                    sw.WriteLine(strSerializeJSON);// 直接追加文件末尾,换行
                }
            }
        }