Esempio n. 1
0
        static void Main(string[] args)
        {
            var byteData1 = new byte[0];

            var builder = new FlatBufferBuilder(1);

            var waferid   = builder.CreateString("TestWafer");
            var wnum      = (short)1;
            var lotid     = builder.CreateString("LotWafer");
            var binFormat = format.Hex;

            var data = new short[] { 0, 10, 2, 3, 4, 5, 6, 7, 89, 9, 0, 10, 2, 3, 4, 5, 6, 7, 89, 9, 0, 10, 2, 3, 4, 5, 6, 7, 89, 9, 0, 10, 2, 3, 4, 5, 6, 7, 89, 9 };

            ////
            CMitFbMap fbWrite    = new CMitFbMap();
            var       fbFilename = @"D:\Temp\csharp.fbm";

            fbWrite.Write(fbFilename, data);

            CMitFbMap fbRead = new CMitFbMap();

            fbRead.Read(fbFilename);
            ////

            var mapdata = WaferMap.CreateMapVector(builder, data);

            WaferMap.StartWaferMap(builder);
            WaferMap.AddMap(builder, mapdata);
            WaferMap.AddMaxCol(builder, 5);
            WaferMap.AddMaxRow(builder, 2);

            WaferMap.AddLotNum(builder, lotid);
            WaferMap.AddBincodeFormat(builder, binFormat);

            var mitMap = WaferMap.EndWaferMap(builder);

            builder.Finish(mitMap.Value);

            /// serialize to file
            ///
            var        filename  = @"D:\Temp\csharp.dat";
            FileStream stream    = File.Create(filename);
            var        formatter = new BinaryFormatter();

            Console.WriteLine("Serializing buffer");
            byte[] savebuf = builder.SizedByteArray();
            formatter.Serialize(stream, savebuf);
            stream.Close();

            // access read buffer
            var buf = builder.DataBuffer;

            // Get access to the root:
            var readMap = WaferMap.GetRootAsWaferMap(buf);

            Console.WriteLine("LotId : " + readMap.LotNum);
            Console.WriteLine("BinFormat : " + readMap.BincodeFormat);

            for (int i = 0; i < readMap.MapLength; i++)
            {
                Console.WriteLine(readMap.Map(i).ToString());
            }


            filename = @"D:\Temp\csharp.dat";
            // deserialize from file
            stream = File.OpenRead(filename);
            Console.WriteLine("Deserializing buffer");
            byte[] loadbuf = (byte[])formatter.Deserialize(stream);
            stream.Close();

            var loadBytebuf = new ByteBuffer(loadbuf);
            var loadMap     = WaferMap.GetRootAsWaferMap(loadBytebuf);

            Console.WriteLine("LotId : " + loadMap.LotNum);

            // binary reader
            //filename = @"D:\Temp\output.dat";
            //// deserialize from file
            //BinaryReader reader = new BinaryReader(File.Open(@"D:\Temp\output.dat", FileMode.Open));

            //int length = (int)reader.BaseStream.Length;

            //Console.WriteLine("binary read buffer");
            //byte[] loadbinbuf = reader.ReadBytes(length);
            //reader.Close();

            //var loadbinBytebuf = new ByteBuffer(loadbinbuf);
            //var loadbinMap = WaferMap.GetRootAsWaferMap(loadbinBytebuf);

            //Console.WriteLine("LotId : " + loadbinMap.LotNum);
            //for (int i = 0; i < loadbinMap.MapLength; i++)
            //{
            //    Console.WriteLine(loadbinMap.Map(i).ToString());
            //}

            var test = new CTestIni();

            test.fn();


            //
            const int INT_SIZE = 4;
            const int DBL_SIZE = sizeof(double);

            double[] dblArray = { 1.999, 2.899, 3.933 };
            int[]    arr      = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
            byte[]   byteData = new byte[INT_SIZE * 10];
            byte[]   byteDbl  = new byte[DBL_SIZE * 3];

            Buffer.BlockCopy(dblArray, 0, byteDbl, 0, DBL_SIZE * 3);
            //Buffer.BlockCopy(arr, 0, byteData, 0, INT_SIZE * 10);
            foreach (byte value in byteDbl)
            {
                Console.Write("{0}  ", value);
            }

            Console.Write("\n");

            int[]    outBuf = new int [10];
            double[] dblBuf = new double[3];
            //Buffer.BlockCopy(byteData, 0, outBuf, 0, INT_SIZE * 10);
            Buffer.BlockCopy(byteDbl, 0, dblBuf, 0, DBL_SIZE * 3);
            foreach (double value in dblBuf)
            {
                Console.Write("{0}  ", value);
            }


            var watch = System.Diagnostics.Stopwatch.StartNew();

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;
            ////
            //watch.Restart();

            string strData = "147968949055";
            int    val;

            Int32.TryParse(strData, out val);
            //int nData = System.Convert.ToInt32(strData);

            string strName = "M2 Input X-Axis";

            bool bStatus = strName.Contains("Input Y-Axis");
        }