OSDN Git Service

HIOKIメモリハイコーダのバイナリデータの読み込みに仮対応(#23671)
authorkimikage <kimikage_ceo@hotmail.com>
Fri, 19 Nov 2010 07:32:06 +0000 (16:32 +0900)
committerkimikage <kimikage_ceo@hotmail.com>
Fri, 19 Nov 2010 07:32:06 +0000 (16:32 +0900)
19 files changed:
Karinto/CsvReader.cs
Karinto/Fft.cs
Karinto/HiokiHicorderData.cs [new file with mode: 0755]
Karinto/HiokiHicorderDataReader.cs [new file with mode: 0755]
Karinto/Karinto.csproj
Karinto/RegexSet.cs
Karinto/Unit.cs [new file with mode: 0755]
Karinto/Xml/Data.Designer.cs
Karinto/Xml/Data.cs
Karinto/Xml/Data.xsd
Karinto/Xml/Data.xss
Karinto/Xml/Hioki.Designer.cs [new file with mode: 0755]
Karinto/Xml/Hioki.cs [new file with mode: 0755]
Karinto/Xml/Hioki.xsc [new file with mode: 0755]
Karinto/Xml/Hioki.xsd [new file with mode: 0755]
Karinto/Xml/Hioki.xss [new file with mode: 0755]
KarintoTest/HiokiHicorderDataReaderTest.cs [new file with mode: 0755]
KarintoTest/KarintoTest.csproj
KarintoTest/Resources/hioki.mem [new file with mode: 0755]

index 5d3ae11..1ff160e 100755 (executable)
@@ -18,19 +18,13 @@ namespace Karinto
     {\r
         private string separator = ",";\r
 \r
-        public string Separator\r
-        {\r
-            get { return separator; }\r
-        }\r
-\r
         /// <summary>\r
-        ///     区切り文字を指定する\r
-        ///     カンマ以外だったらCSVじゃないような...?\r
+        ///     区切り文字(正規表現可)\r
         /// </summary>\r
-        /// <param name="separator">区切り文字(正規表現可)</param>\r
-        public void SetSeparator(string separator)\r
+        public string Separator\r
         {\r
-            this.separator = separator;\r
+            get { return separator; }\r
+            set { separator = value; }\r
         }\r
 \r
         /// <summary>\r
@@ -39,7 +33,7 @@ namespace Karinto
         /// <param name="path">CSVファイルのパス</param>\r
         /// <param name="proto">行の雛型</param>\r
         /// <returns>指定した型のリスト</returns>\r
-        public List<TDataSet> Read(string path)\r
+        public List<TDataSet> Read(FilePath path)\r
         {\r
             return Read(path, new TDataSet());\r
         }\r
@@ -50,21 +44,22 @@ namespace Karinto
         /// <param name="path">CSVファイルのパス</param>\r
         /// <param name="proto">行の雛型</param>\r
         /// <returns>指定した型のリスト</returns>\r
-        public List<TDataSet> Read(string path, TDataSet proto)\r
+        public List<TDataSet> Read(FilePath path, TDataSet proto)\r
         {\r
             List<TDataSet> records = new List<TDataSet>();\r
 \r
+            string line = "";\r
+            // 数値にマッチする正規表現\r
+            string regex = @"\s*" + RegexSet.DecimalFloat + @"\s*" + separator;\r
+            Regex rCsv = new Regex(regex, RegexOptions.Compiled);\r
+\r
             try\r
             {\r
-                using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))\r
+                using (FileStream fs = new FileStream(\r
+                    path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))\r
                 {\r
                     using (StreamReader reader = new StreamReader(fs))\r
                     {\r
-                        string line = "";\r
-                        // 数値にマッチする正規表現\r
-                        string rfloat = @"\s*([-+]?(?:[0-9]+(\.[0-9]*)?|(\.[0-9]+))([eE][-+]?[0-9]+)?)\s*";\r
-                        Regex rCsv = new Regex(rfloat + separator, RegexOptions.Compiled);\r
-\r
                         while (reader.Peek() >= 0)\r
                         {\r
                             line = reader.ReadLine() + separator;\r
index e8df04f..c6e7482 100755 (executable)
@@ -42,6 +42,7 @@ namespace Karinto
         #endregion\r
 \r
         #region interop\r
+        // Int32 の箇所は C/C++ での long \r
 \r
         [DllImport("libfftss.dll",\r
             EntryPoint = "fftss_malloc",\r
@@ -104,7 +105,7 @@ namespace Karinto
 \r
         ~Fft()\r
         {\r
-            if (plan != null)\r
+            if (plan != IntPtr.Zero)\r
             {\r
                 Destroy(plan);\r
             }\r
diff --git a/Karinto/HiokiHicorderData.cs b/Karinto/HiokiHicorderData.cs
new file mode 100755 (executable)
index 0000000..5a55145
--- /dev/null
@@ -0,0 +1,75 @@
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using Settings = Karinto.Xml.Hioki.HicorderSettingsRow;\r
+using AnalogChannel = Karinto.Xml.Hioki.HicorderAnalogChannelRow;\r
+\r
+namespace Karinto\r
+{\r
+    public class HiokiHicorderData\r
+    {\r
+        [Flags]\r
+        public enum Channels\r
+        { \r
+            Ch1 = 1 << 0,\r
+            Ch2 = 1 << 1,\r
+            Ch3 = 1 << 2,\r
+            Ch4 = 1 << 3,\r
+            Ch5 = 1 << 4,\r
+            Ch6 = 1 << 5,\r
+            Ch7 = 1 << 6,\r
+            Ch8 = 1 << 7,\r
+            Ch9 = 1 << 8,\r
+            Ch10 = 1 << 9,\r
+            Ch11 = 1 << 10,\r
+            Ch12 = 1 << 11,\r
+            Ch13 = 1 << 12,\r
+            Ch14 = 1 << 13,\r
+            Ch15 = 1 << 14,\r
+            Ch16 = 1 << 15,\r
+        }\r
+\r
+        public HiokiHicorderData()\r
+        {\r
+            ChannelData = new AnalogChannel[16 + 1];\r
+        }\r
+\r
+        public Settings Settings\r
+        {\r
+            get;\r
+            set;\r
+        }\r
+\r
+\r
+        public AnalogChannel[] ChannelData\r
+        {\r
+            get;\r
+            set;\r
+        }\r
+\r
+        public AnalogChannel Ch1 { get { return ChannelData[1]; } }\r
+        public AnalogChannel Ch2 { get { return ChannelData[2]; } }\r
+        public AnalogChannel Ch3 { get { return ChannelData[3]; } }\r
+        public AnalogChannel Ch4 { get { return ChannelData[4]; } }\r
+        public AnalogChannel Ch5 { get { return ChannelData[5]; } }\r
+        public AnalogChannel Ch6 { get { return ChannelData[6]; } }\r
+        public AnalogChannel Ch7 { get { return ChannelData[7]; } }\r
+        public AnalogChannel Ch8 { get { return ChannelData[8]; } }\r
+        public AnalogChannel Ch9 { get { return ChannelData[9]; } }\r
+        public AnalogChannel Ch10 { get { return ChannelData[10]; } }\r
+        public AnalogChannel Ch11 { get { return ChannelData[11]; } }\r
+        public AnalogChannel Ch12 { get { return ChannelData[12]; } }\r
+        public AnalogChannel Ch13 { get { return ChannelData[13]; } }\r
+        public AnalogChannel Ch14 { get { return ChannelData[14]; } }\r
+        public AnalogChannel Ch15 { get { return ChannelData[15]; } }\r
+        public AnalogChannel Ch16 { get { return ChannelData[16]; } }\r
+\r
+    }\r
+}\r
diff --git a/Karinto/HiokiHicorderDataReader.cs b/Karinto/HiokiHicorderDataReader.cs
new file mode 100755 (executable)
index 0000000..c924918
--- /dev/null
@@ -0,0 +1,264 @@
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Text.RegularExpressions;\r
+using System.IO;\r
+using Karinto.Xml;\r
+using Settings = Karinto.Xml.Hioki.HicorderSettingsRow;\r
+using AnalogChannel = Karinto.Xml.Hioki.HicorderAnalogChannelRow;\r
+\r
+namespace Karinto\r
+{\r
+    public class HiokiHicorderDataReader\r
+    {\r
+        private class BaHeader\r
+        {\r
+            public int Channel;\r
+            public int SampleNumber;\r
+            public int Offset;\r
+        }\r
+\r
+\r
+        private HiokiHicorderData temp;\r
+        private BaHeader[] baHeaders;\r
+\r
+        public HiokiHicorderData Read(FilePath path)\r
+        {\r
+            HiokiHicorderData hicorderData = null;\r
+            try\r
+            {\r
+                using (FileStream fs = new FileStream(\r
+                    path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))\r
+                {\r
+                    long length = fs.Length;\r
+                    if (length < 512 || length > 0x7FFFFFFF ) return null;\r
+                    if ((length & 511) != 0) return null;\r
+\r
+                    byte[] raw = new byte[length];\r
+                    fs.Read(raw, 0, (int)length);\r
+\r
+                    temp = new HiokiHicorderData();\r
+\r
+                    ParseHeaders(raw);\r
+\r
+                    for (int i = 1; i <= 16; ++i)\r
+                    {\r
+                        if (temp.ChannelData[i] == null) continue;\r
+                        temp.ChannelData[i].SetRawData(ReadAnalogChannel(raw, i));\r
+                    }\r
+                }\r
+                hicorderData = temp;\r
+            }\r
+            catch (Exception e)\r
+            {\r
+                throw e;\r
+            }\r
+            finally\r
+            {\r
+                temp = null;\r
+            }\r
+            return hicorderData;\r
+        }\r
+\r
+        private static string[] ReadHeader(byte[] data, int offset)\r
+        {\r
+            const int elementNum = 42;\r
+            const int elementSize = 12;\r
+            string[] header = new string[elementNum];\r
+            for (int i = 0; i < elementNum; ++i)\r
+            {\r
+                string element = ASCIIEncoding.ASCII.GetString(data, offset, 12);\r
+                header[i] = element.TrimEnd(new char[]{'\0'});\r
+                offset += elementSize;\r
+            }\r
+            return header;\r
+        }\r
+\r
+        private void ParseHeaders(byte[] data)\r
+        {\r
+\r
+            int offset = 0;\r
+            temp.Settings = ParseWHeader(ReadHeader(data, offset));\r
+\r
+            offset += 0x200;\r
+            int limit = data.Length;\r
+            while(offset < limit)\r
+            {\r
+                \r
+                string[] header = ReadHeader(data, offset);\r
+                offset += 0x200;\r
+                switch (header[0])\r
+                {\r
+                    case "HBA":\r
+                        baHeaders = ParseBAHeader(header);\r
+                        foreach (BaHeader b in baHeaders)\r
+                        {\r
+                            if (b != null)\r
+                            {\r
+                                limit = Math.Min(limit, b.Offset * 0x200);\r
+                            }\r
+                        }\r
+                        break;\r
+                    case "HC":\r
+                        AnalogChannel c = ParseCHeader(header);\r
+                        temp.ChannelData[c.Channel] = c;\r
+                        break;\r
+                    default:\r
+                        break;\r
+                }\r
+            }\r
+        }\r
+\r
+        private static Settings ParseWHeader(string[] header)\r
+        {\r
+            if (header[0] != "HW") return null;\r
+\r
+            Xml.Hioki.HicorderSettingsDataTable table = \r
+                                    new Xml.Hioki.HicorderSettingsDataTable();\r
+\r
+            Settings settings = table.NewHicorderSettingsRow();\r
+            settings.Model = header[2];\r
+            settings.RomVersion = header[3];\r
+            settings.Function = header[4];\r
+            settings.Shot = header[5];\r
+\r
+            Match m = new Regex(@"(\d\d)-(\d\d)-(\d\d)").Match(header[7]);\r
+            int year = Int32.Parse(m.Groups[1].Value);\r
+            year += (year > 70) ? 1900 : 2000;\r
+            int month = Int32.Parse(m.Groups[2].Value);\r
+            int date = Int32.Parse(m.Groups[3].Value);\r
+\r
+            m = new Regex(@"(\d\d):(\d\d):(\d\d(?:\.\d*)?)").Match(header[8]);\r
+            int hour = Int32.Parse(m.Groups[1].Value);\r
+            int minute = Int32.Parse(m.Groups[2].Value);\r
+            double second = Double.Parse(m.Groups[3].Value);\r
+            int iSecond = (int)Math.Floor(second);\r
+            int mSecond = (int)Math.Floor((second - iSecond) * 1000 );\r
+            settings.TrigDate = new DateTime(year, month, date, \r
+                        hour, minute, iSecond, mSecond, DateTimeKind.Local);\r
+\r
+            m = new Regex(@"(\d+(?:\.\d*)?)(.*)s").Match(header[11]);\r
+            decimal scale = (decimal)Unit.SiPrefix[m.Groups[2].Value];\r
+            settings.TimePerDiv = decimal.Parse(m.Groups[1].Value) * scale;\r
+\r
+            settings.TitleSetting = header[28];\r
+\r
+            settings.Title = header[29]+header[30]+header[31]+header[32];\r
+            settings.Title = settings.Title.TrimEnd();\r
+\r
+            settings.CommentSetting = header[33];\r
+\r
+            settings.UseChannel = 0;\r
+            settings.SavedAnalogChannel = 0;\r
+            int cursor = 1;\r
+            foreach (char saved in header[34] + header[35])\r
+            {\r
+                if (saved == '1')\r
+                {\r
+                    settings.UseChannel++;\r
+                    settings.SavedAnalogChannel += cursor;\r
+                }\r
+                cursor += cursor;\r
+            }\r
+\r
+            settings.SavedLogicUnit = 0;\r
+            cursor = 1;\r
+            foreach (char saved in header[39])\r
+            {\r
+                if (saved == '1')\r
+                {\r
+                    settings.SavedLogicUnit += cursor;\r
+                }\r
+                cursor += cursor;\r
+            }\r
+\r
+            return settings;\r
+        }\r
+\r
+        private static BaHeader[] ParseBAHeader(string[] header)\r
+        {\r
+            if (header[0] != "HBA") return null;\r
+            BaHeader[] headers = new BaHeader[16 + 1];\r
+            int offset = 0;\r
+            for (int i = 0; i < 16; ++i)\r
+            {\r
+                if (header[offset + 1] == "")\r
+                {\r
+                    break;\r
+                }\r
+                BaHeader ba = new BaHeader();\r
+                ba.Channel = Int32.Parse(header[offset + 1]);\r
+                ba.SampleNumber = Int32.Parse(header[offset + 2]);\r
+                ba.Offset = Int32.Parse(header[offset + 3]);\r
+                headers[ba.Channel] = ba;\r
+                offset += 4;\r
+            }\r
+            return headers;\r
+        }\r
+\r
+        private static AnalogChannel ParseCHeader(string[] header)\r
+        {\r
+            if (header[0] != "HC") return null;\r
+\r
+            Hioki.HicorderAnalogChannelDataTable table = \r
+                                    new Hioki.HicorderAnalogChannelDataTable();\r
+\r
+            AnalogChannel ch = table.NewHicorderAnalogChannelRow();\r
+            \r
+            ch.Channel = Int32.Parse(header[1]);\r
+            ch.Unit = header[2];\r
+            ch.Resolution = Int32.Parse(header[3]);\r
+            ch.Range = header[4];\r
+            ch.Position = Int32.Parse(header[5]);\r
+            ch.LPF = header[6];\r
+            ch.AAF = header[7];\r
+            ch.Coupling = header[8];\r
+            ch.Trig = header[9];\r
+\r
+            ch.Mode = header[16];\r
+            ch.Comment = header[17] + header[18] + header[19] + header[20];\r
+            ch.Comment = ch.Comment.TrimEnd();\r
+\r
+            ch.Scaling = header[21] == "ON";\r
+            ch.ScalingEu = header[22];\r
+            ch.ScalingEuPerV = Double.Parse(header[23]);\r
+            ch.ScalingOffset = Double.Parse(header[24]);\r
+\r
+            ch.Variable = header[25] == "ON";\r
+            ch.VariableUpper = Double.Parse(header[26]);\r
+            ch.VariableLower = Double.Parse(header[27]);\r
+\r
+            Match m = new Regex(@"(\d+(?:\.\d*)?)%").Match(header[28]);\r
+            ch.Vernier = Int32.Parse(m.Groups[1].Value);\r
+\r
+            ch.Calcurate = header[32];\r
+            ch.MeasurementScale = Double.Parse(header[33]);\r
+            ch.MeasurementOffset = Double.Parse(header[34]);\r
+\r
+            ch.SetConverter();\r
+            return ch;\r
+        }\r
+\r
+        private short[] ReadAnalogChannel(byte[] data, int channel)\r
+        {\r
+            int n = baHeaders[channel].SampleNumber;\r
+            short[] values = new short[n];\r
+            int offset = baHeaders[channel].Offset * 0x200;\r
+            for (int i = 0; i < n; ++i)\r
+            {\r
+                values[i] = (short)(data[offset] << 8 | data[offset + 1]);\r
+                offset += 2;\r
+            }\r
+            return values;\r
+        }\r
+\r
+\r
+    }\r
+}   \r
index 4c0cfb6..ee30fe0 100755 (executable)
@@ -43,6 +43,8 @@
   <ItemGroup>\r
     <Compile Include="Complex.cs" />\r
     <Compile Include="Fft.cs" />\r
+    <Compile Include="HiokiHicorderData.cs" />\r
+    <Compile Include="HiokiHicorderDataReader.cs" />\r
     <Compile Include="RegexSet.cs" />\r
     <Compile Include="CsvReader.cs" />\r
     <Compile Include="CurveFitter.cs" />\r
     <Compile Include="Range.cs" />\r
     <Compile Include="SerializableDictionary.cs" />\r
     <Compile Include="Spline.cs" />\r
+    <Compile Include="Unit.cs" />\r
     <Compile Include="Xml\Data.cs">\r
       <DependentUpon>Data.xsd</DependentUpon>\r
       <SubType>Component</SubType>\r
     </Compile>\r
     <Compile Include="Xml\Data.Designer.cs">\r
-      <DependentUpon>Data.cs</DependentUpon>\r
+      <AutoGen>True</AutoGen>\r
+      <DesignTime>True</DesignTime>\r
+      <DependentUpon>Data.xsd</DependentUpon>\r
+    </Compile>\r
+    <Compile Include="Xml\Hioki.cs">\r
+      <DependentUpon>Hioki.xsd</DependentUpon>\r
+      <SubType>Component</SubType>\r
+    </Compile>\r
+    <Compile Include="Xml\Hioki.Designer.cs">\r
+      <AutoGen>True</AutoGen>\r
+      <DesignTime>True</DesignTime>\r
+      <DependentUpon>Hioki.xsd</DependentUpon>\r
     </Compile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     </None>\r
     <None Include="Xml\Data.xsd">\r
       <SubType>Designer</SubType>\r
+      <Generator>MSDataSetGenerator</Generator>\r
+      <LastGenOutput>Data.Designer.cs</LastGenOutput>\r
     </None>\r
     <None Include="Xml\Data.xss">\r
       <DependentUpon>Data.xsd</DependentUpon>\r
     </None>\r
+    <None Include="Xml\Hioki.xsc">\r
+      <DependentUpon>Hioki.xsd</DependentUpon>\r
+    </None>\r
+    <None Include="Xml\Hioki.xsd">\r
+      <SubType>Designer</SubType>\r
+      <Generator>MSDataSetGenerator</Generator>\r
+      <LastGenOutput>Hioki.Designer.cs</LastGenOutput>\r
+    </None>\r
+    <None Include="Xml\Hioki.xss">\r
+      <DependentUpon>Hioki.xsd</DependentUpon>\r
+    </None>\r
   </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
index e46c00c..5268e52 100755 (executable)
@@ -1,4 +1,11 @@
-using System;\r
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
 using System.Collections.Generic;\r
 using System.Text;\r
 using System.Text.RegularExpressions;\r
@@ -8,9 +15,9 @@ namespace Karinto
     public static class RegexSet\r
     {\r
         public static readonly Regex DecimalFloat =\r
-            new Regex(@"[-+]?(?:\d+([\.,]\d*)?|([\.,]\d+))([eE][-+]?\d+)?");\r
+            new Regex(@"([-+]?(?:\d+([\.,]\d*)?|([\.,]\d+))([eE][-+]?\d+)?)", RegexOptions.Compiled);\r
 \r
         public static readonly Regex HexInteger =\r
-            new Regex(@"(?:((0x)?[\da-fA-F]+)|([\da-fA-F]+[hH]?)");\r
+            new Regex(@"(?:((0x)?[\da-fA-F]+)|([\da-fA-F]+[hH]?)", RegexOptions.Compiled);\r
     }\r
 }\r
diff --git a/Karinto/Unit.cs b/Karinto/Unit.cs
new file mode 100755 (executable)
index 0000000..827bbb6
--- /dev/null
@@ -0,0 +1,77 @@
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+\r
+namespace Karinto\r
+{\r
+    public class Unit\r
+    {\r
+        static Unit()\r
+        { \r
+            InitializeSiPrefix();\r
+        }\r
+\r
+        public static Dictionary<string, double> SiPrefix\r
+        {\r
+            get;\r
+            private set;\r
+        }\r
+\r
+        private static void InitializeSiPrefix()\r
+        {\r
+            SiPrefix = new Dictionary<string,double>();\r
+            SiPrefix.Add("Y", 1e24);\r
+            SiPrefix.Add("yotta", 1e24);\r
+            SiPrefix.Add("Z", 1e21);\r
+            SiPrefix.Add("zetta", 1e21);\r
+            SiPrefix.Add("E", 1e18);\r
+            SiPrefix.Add("exa", 1e18);\r
+            SiPrefix.Add("P", 1e15);\r
+            SiPrefix.Add("peta", 1e15);\r
+            SiPrefix.Add("T", 1e12);\r
+            SiPrefix.Add("tera", 1e12);\r
+            SiPrefix.Add("G", 1e9);\r
+            SiPrefix.Add("giga", 1e9);\r
+            SiPrefix.Add("M", 1e6);\r
+            SiPrefix.Add("mega", 1e6);\r
+            SiPrefix.Add("K", 1e3);\r
+            SiPrefix.Add("k", 1e3);\r
+            SiPrefix.Add("kilo", 1e3);\r
+            SiPrefix.Add("h", 1e2);\r
+            SiPrefix.Add("hecto", 1e2);\r
+            SiPrefix.Add("da", 1e2);\r
+            SiPrefix.Add("deca", 1e1);\r
+            SiPrefix.Add("", 1.0);\r
+            SiPrefix.Add("d", 1e-1);\r
+            SiPrefix.Add("deci", 1e-1);\r
+            SiPrefix.Add("c", 1e-2);\r
+            SiPrefix.Add("centi", 1e-2);\r
+            SiPrefix.Add("m", 1e-3);\r
+            SiPrefix.Add("milli", 1e-3);\r
+            SiPrefix.Add("u", 1e-6);\r
+            SiPrefix.Add("\u03BC", 1e-6);\r
+            SiPrefix.Add("\u00B5", 1e-6);\r
+            SiPrefix.Add("micro", 1e-6);\r
+            SiPrefix.Add("n", 1e-9);\r
+            SiPrefix.Add("nano", 1e-9);\r
+            SiPrefix.Add("p", 1e-12);\r
+            SiPrefix.Add("pico", 1e-12);\r
+            SiPrefix.Add("f", 1e-15);\r
+            SiPrefix.Add("femto", 1e-15);\r
+            SiPrefix.Add("a", 1e-18);\r
+            SiPrefix.Add("atto", 1e-18);\r
+            SiPrefix.Add("z", 1e-21);\r
+            SiPrefix.Add("zepto", 1e-21);\r
+            SiPrefix.Add("y", 1e-24);\r
+            SiPrefix.Add("yocto", 1e-24);\r
+        }\r
+\r
+    }\r
+}\r
index 85ab6e1..ec65a63 100755 (executable)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------\r
 // <auto-generated>\r
 //     このコードはツールによって生成されました。\r
-//     ランタイム バージョン:2.0.50727.4952\r
+//     ランタイム バージョン:2.0.50727.3615\r
 //\r
 //     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
 //     コードが再生成されるときに損失したりします。\r
@@ -187,7 +187,8 @@ namespace Karinto.Xml {
         private void InitClass() {\r
             this.DataSetName = "Data";\r
             this.Prefix = "";\r
-            this.Namespace = "http://karinto/Data.xsd";\r
+            this.Namespace = "http://karinto.sourceforge.jp/Data.xsd";\r
+            this.Locale = new global::System.Globalization.CultureInfo("");\r
             this.EnforceConstraints = true;\r
             this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;\r
             this.tablePointList = new PointListDataTable();\r
index 9c20052..9bb1145 100755 (executable)
@@ -1,10 +1,20 @@
-namespace Karinto.Xml\r
-{   \r
-    public partial class Data\r
-    {\r
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+namespace Karinto.Xml {\r
+    \r
+    \r
+    public partial class Data {\r
         partial class PointListDataTable\r
         {\r
         }\r
+    \r
+        partial class HiokiHicorderSettingsDataTable\r
+        {\r
+        }\r
     }\r
 }\r
-\r
index ec9eebb..1efa59f 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>\r
-<xs:schema id="Point" targetNamespace="http://karinto/Data.xsd" xmlns:mstns="http://karinto/Data.xsd" xmlns="http://karinto/Data.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">\r
+<xs:schema id="Data" targetNamespace="http://karinto.sourceforge.jp/Data.xsd" xmlns:mstns="http://karinto.sourceforge.jp/Data.xsd" xmlns="http://karinto.sourceforge.jp/Data.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">\r
   <xs:annotation>\r
     <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">\r
       <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">\r
@@ -9,10 +9,10 @@
       </DataSource>\r
     </xs:appinfo>\r
   </xs:annotation>\r
-  <xs:element name="Point" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_DataSetName="Point" msprop:Generator_UserDSName="Point" msprop:EnableTableAdapterManager="true">\r
+  <xs:element name="Data" msdata:IsDataSet="true" msdata:Locale="" msprop:Generator_UserDSName="Data" msprop:Generator_DataSetName="Data" msprop:EnableTableAdapterManager="true">\r
     <xs:complexType>\r
       <xs:choice minOccurs="0" maxOccurs="unbounded">\r
-        <xs:element name="PointList" msdata:Locale="" msprop:Generator_UserTableName="PointList" msprop:Generator_RowDeletedName="PointListRowDeleted" msprop:Generator_TableClassName="PointListDataTable" msprop:Generator_RowChangedName="PointListRowChanged" msprop:Generator_RowClassName="PointListRow" msprop:Generator_RowChangingName="PointListRowChanging" msprop:Generator_RowEvArgName="PointListRowChangeEvent" msprop:Generator_RowEvHandlerName="PointListRowChangeEventHandler" msprop:Generator_TablePropName="PointList" msprop:Generator_TableVarName="tablePointList" msprop:Generator_RowDeletingName="PointListRowDeleting">\r
+        <xs:element name="PointList" msdata:Locale="" msprop:Generator_UserTableName="PointList" msprop:Generator_RowDeletedName="PointListRowDeleted" msprop:Generator_RowChangedName="PointListRowChanged" msprop:Generator_RowClassName="PointListRow" msprop:Generator_RowChangingName="PointListRowChanging" msprop:Generator_RowEvArgName="PointListRowChangeEvent" msprop:Generator_RowEvHandlerName="PointListRowChangeEventHandler" msprop:Generator_TableClassName="PointListDataTable" msprop:Generator_TableVarName="tablePointList" msprop:Generator_RowDeletingName="PointListRowDeleting" msprop:Generator_TablePropName="PointList">\r
           <xs:complexType>\r
             <xs:sequence>\r
               <xs:element name="X" msprop:Generator_UserColumnName="X" msprop:Generator_ColumnPropNameInRow="X" msprop:Generator_ColumnVarNameInTable="columnX" msprop:Generator_ColumnPropNameInTable="XColumn" type="xs:double" minOccurs="0" />\r
index 7c2e962..2ac22ff 100755 (executable)
@@ -4,9 +4,9 @@
      Changes to this file may cause incorrect behavior and will be lost if\r
      the code is regenerated.\r
 </autogenerated>-->\r
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">\r
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="31" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">\r
   <Shapes>\r
-    <Shape ID="DesignTable:PointList" ZOrder="1" X="396" Y="169" Height="82" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />\r
-  </Shapes>\r
+    <Shape ID="DesignTable:PointList" ZOrder="2" X="278" Y="41" Height="82" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />\r
+    </Shapes>\r
   <Connectors />\r
 </DiagramLayout>
\ No newline at end of file
diff --git a/Karinto/Xml/Hioki.Designer.cs b/Karinto/Xml/Hioki.Designer.cs
new file mode 100755 (executable)
index 0000000..6a1e1b4
--- /dev/null
@@ -0,0 +1,2645 @@
+//------------------------------------------------------------------------------\r
+// <auto-generated>\r
+//     このコードはツールによって生成されました。\r
+//     ランタイム バージョン:2.0.50727.3615\r
+//\r
+//     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
+//     コードが再生成されるときに損失したりします。\r
+// </auto-generated>\r
+//------------------------------------------------------------------------------\r
+\r
+#pragma warning disable 1591\r
+\r
+namespace Karinto.Xml {\r
+    \r
+    \r
+    /// <summary>\r
+    ///Represents a strongly typed in-memory cache of data.\r
+    ///</summary>\r
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+    [global::System.Serializable()]\r
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]\r
+    [global::System.ComponentModel.ToolboxItem(true)]\r
+    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]\r
+    [global::System.Xml.Serialization.XmlRootAttribute("Hioki")]\r
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]\r
+    public partial class Hioki : global::System.Data.DataSet {\r
+        \r
+        private HicorderSettingsDataTable tableHicorderSettings;\r
+        \r
+        private HicorderAnalogChannelDataTable tableHicorderAnalogChannel;\r
+        \r
+        private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        public Hioki() {\r
+            this.BeginInit();\r
+            this.InitClass();\r
+            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);\r
+            base.Tables.CollectionChanged += schemaChangedHandler;\r
+            base.Relations.CollectionChanged += schemaChangedHandler;\r
+            this.EndInit();\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected Hioki(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : \r
+                base(info, context, false) {\r
+            if ((this.IsBinarySerialized(info, context) == true)) {\r
+                this.InitVars(false);\r
+                global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);\r
+                this.Tables.CollectionChanged += schemaChangedHandler1;\r
+                this.Relations.CollectionChanged += schemaChangedHandler1;\r
+                return;\r
+            }\r
+            string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));\r
+            if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {\r
+                global::System.Data.DataSet ds = new global::System.Data.DataSet();\r
+                ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));\r
+                if ((ds.Tables["HicorderSettings"] != null)) {\r
+                    base.Tables.Add(new HicorderSettingsDataTable(ds.Tables["HicorderSettings"]));\r
+                }\r
+                if ((ds.Tables["HicorderAnalogChannel"] != null)) {\r
+                    base.Tables.Add(new HicorderAnalogChannelDataTable(ds.Tables["HicorderAnalogChannel"]));\r
+                }\r
+                this.DataSetName = ds.DataSetName;\r
+                this.Prefix = ds.Prefix;\r
+                this.Namespace = ds.Namespace;\r
+                this.Locale = ds.Locale;\r
+                this.CaseSensitive = ds.CaseSensitive;\r
+                this.EnforceConstraints = ds.EnforceConstraints;\r
+                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);\r
+                this.InitVars();\r
+            }\r
+            else {\r
+                this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));\r
+            }\r
+            this.GetSerializationData(info, context);\r
+            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);\r
+            base.Tables.CollectionChanged += schemaChangedHandler;\r
+            this.Relations.CollectionChanged += schemaChangedHandler;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        [global::System.ComponentModel.Browsable(false)]\r
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]\r
+        public HicorderSettingsDataTable HicorderSettings {\r
+            get {\r
+                return this.tableHicorderSettings;\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        [global::System.ComponentModel.Browsable(false)]\r
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]\r
+        public HicorderAnalogChannelDataTable HicorderAnalogChannel {\r
+            get {\r
+                return this.tableHicorderAnalogChannel;\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        [global::System.ComponentModel.BrowsableAttribute(true)]\r
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]\r
+        public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {\r
+            get {\r
+                return this._schemaSerializationMode;\r
+            }\r
+            set {\r
+                this._schemaSerializationMode = value;\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]\r
+        public new global::System.Data.DataTableCollection Tables {\r
+            get {\r
+                return base.Tables;\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]\r
+        public new global::System.Data.DataRelationCollection Relations {\r
+            get {\r
+                return base.Relations;\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected override void InitializeDerivedDataSet() {\r
+            this.BeginInit();\r
+            this.InitClass();\r
+            this.EndInit();\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        public override global::System.Data.DataSet Clone() {\r
+            Hioki cln = ((Hioki)(base.Clone()));\r
+            cln.InitVars();\r
+            cln.SchemaSerializationMode = this.SchemaSerializationMode;\r
+            return cln;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected override bool ShouldSerializeTables() {\r
+            return false;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected override bool ShouldSerializeRelations() {\r
+            return false;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {\r
+            if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {\r
+                this.Reset();\r
+                global::System.Data.DataSet ds = new global::System.Data.DataSet();\r
+                ds.ReadXml(reader);\r
+                if ((ds.Tables["HicorderSettings"] != null)) {\r
+                    base.Tables.Add(new HicorderSettingsDataTable(ds.Tables["HicorderSettings"]));\r
+                }\r
+                if ((ds.Tables["HicorderAnalogChannel"] != null)) {\r
+                    base.Tables.Add(new HicorderAnalogChannelDataTable(ds.Tables["HicorderAnalogChannel"]));\r
+                }\r
+                this.DataSetName = ds.DataSetName;\r
+                this.Prefix = ds.Prefix;\r
+                this.Namespace = ds.Namespace;\r
+                this.Locale = ds.Locale;\r
+                this.CaseSensitive = ds.CaseSensitive;\r
+                this.EnforceConstraints = ds.EnforceConstraints;\r
+                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);\r
+                this.InitVars();\r
+            }\r
+            else {\r
+                this.ReadXml(reader);\r
+                this.InitVars();\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {\r
+            global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();\r
+            this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));\r
+            stream.Position = 0;\r
+            return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null);\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        internal void InitVars() {\r
+            this.InitVars(true);\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        internal void InitVars(bool initTable) {\r
+            this.tableHicorderSettings = ((HicorderSettingsDataTable)(base.Tables["HicorderSettings"]));\r
+            if ((initTable == true)) {\r
+                if ((this.tableHicorderSettings != null)) {\r
+                    this.tableHicorderSettings.InitVars();\r
+                }\r
+            }\r
+            this.tableHicorderAnalogChannel = ((HicorderAnalogChannelDataTable)(base.Tables["HicorderAnalogChannel"]));\r
+            if ((initTable == true)) {\r
+                if ((this.tableHicorderAnalogChannel != null)) {\r
+                    this.tableHicorderAnalogChannel.InitVars();\r
+                }\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        private void InitClass() {\r
+            this.DataSetName = "Hioki";\r
+            this.Prefix = "";\r
+            this.Namespace = "http://karinto.sourceforge.jp/Hioki.xsd";\r
+            this.EnforceConstraints = true;\r
+            this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;\r
+            this.tableHicorderSettings = new HicorderSettingsDataTable();\r
+            base.Tables.Add(this.tableHicorderSettings);\r
+            this.tableHicorderAnalogChannel = new HicorderAnalogChannelDataTable();\r
+            base.Tables.Add(this.tableHicorderAnalogChannel);\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        private bool ShouldSerializeHicorderSettings() {\r
+            return false;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        private bool ShouldSerializeHicorderAnalogChannel() {\r
+            return false;\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {\r
+            if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {\r
+                this.InitVars();\r
+            }\r
+        }\r
+        \r
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {\r
+            Hioki ds = new Hioki();\r
+            global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();\r
+            global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();\r
+            global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();\r
+            any.Namespace = ds.Namespace;\r
+            sequence.Items.Add(any);\r
+            type.Particle = sequence;\r
+            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();\r
+            if (xs.Contains(dsSchema.TargetNamespace)) {\r
+                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();\r
+                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();\r
+                try {\r
+                    global::System.Xml.Schema.XmlSchema schema = null;\r
+                    dsSchema.Write(s1);\r
+                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {\r
+                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));\r
+                        s2.SetLength(0);\r
+                        schema.Write(s2);\r
+                        if ((s1.Length == s2.Length)) {\r
+                            s1.Position = 0;\r
+                            s2.Position = 0;\r
+                            for (; ((s1.Position != s1.Length) \r
+                                        && (s1.ReadByte() == s2.ReadByte())); ) {\r
+                                ;\r
+                            }\r
+                            if ((s1.Position == s1.Length)) {\r
+                                return type;\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+                finally {\r
+                    if ((s1 != null)) {\r
+                        s1.Close();\r
+                    }\r
+                    if ((s2 != null)) {\r
+                        s2.Close();\r
+                    }\r
+                }\r
+            }\r
+            xs.Add(dsSchema);\r
+            return type;\r
+        }\r
+        \r
+        public delegate void HicorderSettingsRowChangeEventHandler(object sender, HicorderSettingsRowChangeEvent e);\r
+        \r
+        public delegate void HicorderAnalogChannelRowChangeEventHandler(object sender, HicorderAnalogChannelRowChangeEvent e);\r
+        \r
+        /// <summary>\r
+        ///Represents the strongly named DataTable class.\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        [global::System.Serializable()]\r
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]\r
+        public partial class HicorderSettingsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {\r
+            \r
+            private global::System.Data.DataColumn columnModel;\r
+            \r
+            private global::System.Data.DataColumn columnRomVersion;\r
+            \r
+            private global::System.Data.DataColumn columnFunction;\r
+            \r
+            private global::System.Data.DataColumn columnShot;\r
+            \r
+            private global::System.Data.DataColumn columnTrigDate;\r
+            \r
+            private global::System.Data.DataColumn columnTimePerDiv;\r
+            \r
+            private global::System.Data.DataColumn columnExpand;\r
+            \r
+            private global::System.Data.DataColumn columnTrigMode;\r
+            \r
+            private global::System.Data.DataColumn columnTrigSource;\r
+            \r
+            private global::System.Data.DataColumn columnPreTrig;\r
+            \r
+            private global::System.Data.DataColumn columnTimerTrigStart;\r
+            \r
+            private global::System.Data.DataColumn columnTimerTrigStop;\r
+            \r
+            private global::System.Data.DataColumn columnTimerTrigInterval;\r
+            \r
+            private global::System.Data.DataColumn columnManualTrig;\r
+            \r
+            private global::System.Data.DataColumn columnExtTrig;\r
+            \r
+            private global::System.Data.DataColumn columnUseChannel;\r
+            \r
+            private global::System.Data.DataColumn columnTitleSetting;\r
+            \r
+            private global::System.Data.DataColumn columnTitle;\r
+            \r
+            private global::System.Data.DataColumn columnCommentSetting;\r
+            \r
+            private global::System.Data.DataColumn columnSavedAnalogChannel;\r
+            \r
+            private global::System.Data.DataColumn columnSavedLogicUnit;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsDataTable() {\r
+                this.TableName = "HicorderSettings";\r
+                this.BeginInit();\r
+                this.InitClass();\r
+                this.EndInit();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal HicorderSettingsDataTable(global::System.Data.DataTable table) {\r
+                this.TableName = table.TableName;\r
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {\r
+                    this.CaseSensitive = table.CaseSensitive;\r
+                }\r
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {\r
+                    this.Locale = table.Locale;\r
+                }\r
+                if ((table.Namespace != table.DataSet.Namespace)) {\r
+                    this.Namespace = table.Namespace;\r
+                }\r
+                this.Prefix = table.Prefix;\r
+                this.MinimumCapacity = table.MinimumCapacity;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected HicorderSettingsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : \r
+                    base(info, context) {\r
+                this.InitVars();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ModelColumn {\r
+                get {\r
+                    return this.columnModel;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn RomVersionColumn {\r
+                get {\r
+                    return this.columnRomVersion;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn FunctionColumn {\r
+                get {\r
+                    return this.columnFunction;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ShotColumn {\r
+                get {\r
+                    return this.columnShot;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TrigDateColumn {\r
+                get {\r
+                    return this.columnTrigDate;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TimePerDivColumn {\r
+                get {\r
+                    return this.columnTimePerDiv;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ExpandColumn {\r
+                get {\r
+                    return this.columnExpand;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TrigModeColumn {\r
+                get {\r
+                    return this.columnTrigMode;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TrigSourceColumn {\r
+                get {\r
+                    return this.columnTrigSource;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn PreTrigColumn {\r
+                get {\r
+                    return this.columnPreTrig;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TimerTrigStartColumn {\r
+                get {\r
+                    return this.columnTimerTrigStart;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TimerTrigStopColumn {\r
+                get {\r
+                    return this.columnTimerTrigStop;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TimerTrigIntervalColumn {\r
+                get {\r
+                    return this.columnTimerTrigInterval;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ManualTrigColumn {\r
+                get {\r
+                    return this.columnManualTrig;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ExtTrigColumn {\r
+                get {\r
+                    return this.columnExtTrig;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn UseChannelColumn {\r
+                get {\r
+                    return this.columnUseChannel;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TitleSettingColumn {\r
+                get {\r
+                    return this.columnTitleSetting;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TitleColumn {\r
+                get {\r
+                    return this.columnTitle;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn CommentSettingColumn {\r
+                get {\r
+                    return this.columnCommentSetting;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn SavedAnalogChannelColumn {\r
+                get {\r
+                    return this.columnSavedAnalogChannel;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn SavedLogicUnitColumn {\r
+                get {\r
+                    return this.columnSavedLogicUnit;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            [global::System.ComponentModel.Browsable(false)]\r
+            public int Count {\r
+                get {\r
+                    return this.Rows.Count;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsRow this[int index] {\r
+                get {\r
+                    return ((HicorderSettingsRow)(this.Rows[index]));\r
+                }\r
+            }\r
+            \r
+            public event HicorderSettingsRowChangeEventHandler HicorderSettingsRowChanging;\r
+            \r
+            public event HicorderSettingsRowChangeEventHandler HicorderSettingsRowChanged;\r
+            \r
+            public event HicorderSettingsRowChangeEventHandler HicorderSettingsRowDeleting;\r
+            \r
+            public event HicorderSettingsRowChangeEventHandler HicorderSettingsRowDeleted;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void AddHicorderSettingsRow(HicorderSettingsRow row) {\r
+                this.Rows.Add(row);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsRow AddHicorderSettingsRow(\r
+                        string Model, \r
+                        string RomVersion, \r
+                        string Function, \r
+                        string Shot, \r
+                        System.DateTime TrigDate, \r
+                        decimal TimePerDiv, \r
+                        int Expand, \r
+                        string TrigMode, \r
+                        string TrigSource, \r
+                        double PreTrig, \r
+                        System.DateTime TimerTrigStart, \r
+                        System.DateTime TimerTrigStop, \r
+                        System.TimeSpan TimerTrigInterval, \r
+                        bool ManualTrig, \r
+                        bool ExtTrig, \r
+                        int UseChannel, \r
+                        string TitleSetting, \r
+                        string Title, \r
+                        string CommentSetting, \r
+                        int SavedAnalogChannel, \r
+                        int SavedLogicUnit) {\r
+                HicorderSettingsRow rowHicorderSettingsRow = ((HicorderSettingsRow)(this.NewRow()));\r
+                object[] columnValuesArray = new object[] {\r
+                        Model,\r
+                        RomVersion,\r
+                        Function,\r
+                        Shot,\r
+                        TrigDate,\r
+                        TimePerDiv,\r
+                        Expand,\r
+                        TrigMode,\r
+                        TrigSource,\r
+                        PreTrig,\r
+                        TimerTrigStart,\r
+                        TimerTrigStop,\r
+                        TimerTrigInterval,\r
+                        ManualTrig,\r
+                        ExtTrig,\r
+                        UseChannel,\r
+                        TitleSetting,\r
+                        Title,\r
+                        CommentSetting,\r
+                        SavedAnalogChannel,\r
+                        SavedLogicUnit};\r
+                rowHicorderSettingsRow.ItemArray = columnValuesArray;\r
+                this.Rows.Add(rowHicorderSettingsRow);\r
+                return rowHicorderSettingsRow;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public virtual global::System.Collections.IEnumerator GetEnumerator() {\r
+                return this.Rows.GetEnumerator();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public override global::System.Data.DataTable Clone() {\r
+                HicorderSettingsDataTable cln = ((HicorderSettingsDataTable)(base.Clone()));\r
+                cln.InitVars();\r
+                return cln;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Data.DataTable CreateInstance() {\r
+                return new HicorderSettingsDataTable();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal void InitVars() {\r
+                this.columnModel = base.Columns["Model"];\r
+                this.columnRomVersion = base.Columns["RomVersion"];\r
+                this.columnFunction = base.Columns["Function"];\r
+                this.columnShot = base.Columns["Shot"];\r
+                this.columnTrigDate = base.Columns["TrigDate"];\r
+                this.columnTimePerDiv = base.Columns["TimePerDiv"];\r
+                this.columnExpand = base.Columns["Expand"];\r
+                this.columnTrigMode = base.Columns["TrigMode"];\r
+                this.columnTrigSource = base.Columns["TrigSource"];\r
+                this.columnPreTrig = base.Columns["PreTrig"];\r
+                this.columnTimerTrigStart = base.Columns["TimerTrigStart"];\r
+                this.columnTimerTrigStop = base.Columns["TimerTrigStop"];\r
+                this.columnTimerTrigInterval = base.Columns["TimerTrigInterval"];\r
+                this.columnManualTrig = base.Columns["ManualTrig"];\r
+                this.columnExtTrig = base.Columns["ExtTrig"];\r
+                this.columnUseChannel = base.Columns["UseChannel"];\r
+                this.columnTitleSetting = base.Columns["TitleSetting"];\r
+                this.columnTitle = base.Columns["Title"];\r
+                this.columnCommentSetting = base.Columns["CommentSetting"];\r
+                this.columnSavedAnalogChannel = base.Columns["SavedAnalogChannel"];\r
+                this.columnSavedLogicUnit = base.Columns["SavedLogicUnit"];\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            private void InitClass() {\r
+                this.columnModel = new global::System.Data.DataColumn("Model", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnModel);\r
+                this.columnRomVersion = new global::System.Data.DataColumn("RomVersion", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnRomVersion);\r
+                this.columnFunction = new global::System.Data.DataColumn("Function", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnFunction);\r
+                this.columnShot = new global::System.Data.DataColumn("Shot", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnShot);\r
+                this.columnTrigDate = new global::System.Data.DataColumn("TrigDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTrigDate);\r
+                this.columnTimePerDiv = new global::System.Data.DataColumn("TimePerDiv", typeof(decimal), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTimePerDiv);\r
+                this.columnExpand = new global::System.Data.DataColumn("Expand", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnExpand);\r
+                this.columnTrigMode = new global::System.Data.DataColumn("TrigMode", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTrigMode);\r
+                this.columnTrigSource = new global::System.Data.DataColumn("TrigSource", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTrigSource);\r
+                this.columnPreTrig = new global::System.Data.DataColumn("PreTrig", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnPreTrig);\r
+                this.columnTimerTrigStart = new global::System.Data.DataColumn("TimerTrigStart", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTimerTrigStart);\r
+                this.columnTimerTrigStop = new global::System.Data.DataColumn("TimerTrigStop", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTimerTrigStop);\r
+                this.columnTimerTrigInterval = new global::System.Data.DataColumn("TimerTrigInterval", typeof(global::System.TimeSpan), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTimerTrigInterval);\r
+                this.columnManualTrig = new global::System.Data.DataColumn("ManualTrig", typeof(bool), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnManualTrig);\r
+                this.columnExtTrig = new global::System.Data.DataColumn("ExtTrig", typeof(bool), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnExtTrig);\r
+                this.columnUseChannel = new global::System.Data.DataColumn("UseChannel", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnUseChannel);\r
+                this.columnTitleSetting = new global::System.Data.DataColumn("TitleSetting", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTitleSetting);\r
+                this.columnTitle = new global::System.Data.DataColumn("Title", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTitle);\r
+                this.columnCommentSetting = new global::System.Data.DataColumn("CommentSetting", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnCommentSetting);\r
+                this.columnSavedAnalogChannel = new global::System.Data.DataColumn("SavedAnalogChannel", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnSavedAnalogChannel);\r
+                this.columnSavedLogicUnit = new global::System.Data.DataColumn("SavedLogicUnit", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnSavedLogicUnit);\r
+                this.columnTimePerDiv.Caption = "Time/Div";\r
+                this.Locale = new global::System.Globalization.CultureInfo("");\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsRow NewHicorderSettingsRow() {\r
+                return ((HicorderSettingsRow)(this.NewRow()));\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {\r
+                return new HicorderSettingsRow(builder);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Type GetRowType() {\r
+                return typeof(HicorderSettingsRow);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowChanged(e);\r
+                if ((this.HicorderSettingsRowChanged != null)) {\r
+                    this.HicorderSettingsRowChanged(this, new HicorderSettingsRowChangeEvent(((HicorderSettingsRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowChanging(e);\r
+                if ((this.HicorderSettingsRowChanging != null)) {\r
+                    this.HicorderSettingsRowChanging(this, new HicorderSettingsRowChangeEvent(((HicorderSettingsRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowDeleted(e);\r
+                if ((this.HicorderSettingsRowDeleted != null)) {\r
+                    this.HicorderSettingsRowDeleted(this, new HicorderSettingsRowChangeEvent(((HicorderSettingsRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowDeleting(e);\r
+                if ((this.HicorderSettingsRowDeleting != null)) {\r
+                    this.HicorderSettingsRowDeleting(this, new HicorderSettingsRowChangeEvent(((HicorderSettingsRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void RemoveHicorderSettingsRow(HicorderSettingsRow row) {\r
+                this.Rows.Remove(row);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {\r
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();\r
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();\r
+                Hioki ds = new Hioki();\r
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();\r
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";\r
+                any1.MinOccurs = new decimal(0);\r
+                any1.MaxOccurs = decimal.MaxValue;\r
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;\r
+                sequence.Items.Add(any1);\r
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();\r
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";\r
+                any2.MinOccurs = new decimal(1);\r
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;\r
+                sequence.Items.Add(any2);\r
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();\r
+                attribute1.Name = "namespace";\r
+                attribute1.FixedValue = ds.Namespace;\r
+                type.Attributes.Add(attribute1);\r
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();\r
+                attribute2.Name = "tableTypeName";\r
+                attribute2.FixedValue = "HicorderSettingsDataTable";\r
+                type.Attributes.Add(attribute2);\r
+                type.Particle = sequence;\r
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();\r
+                if (xs.Contains(dsSchema.TargetNamespace)) {\r
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();\r
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();\r
+                    try {\r
+                        global::System.Xml.Schema.XmlSchema schema = null;\r
+                        dsSchema.Write(s1);\r
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {\r
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));\r
+                            s2.SetLength(0);\r
+                            schema.Write(s2);\r
+                            if ((s1.Length == s2.Length)) {\r
+                                s1.Position = 0;\r
+                                s2.Position = 0;\r
+                                for (; ((s1.Position != s1.Length) \r
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {\r
+                                    ;\r
+                                }\r
+                                if ((s1.Position == s1.Length)) {\r
+                                    return type;\r
+                                }\r
+                            }\r
+                        }\r
+                    }\r
+                    finally {\r
+                        if ((s1 != null)) {\r
+                            s1.Close();\r
+                        }\r
+                        if ((s2 != null)) {\r
+                            s2.Close();\r
+                        }\r
+                    }\r
+                }\r
+                xs.Add(dsSchema);\r
+                return type;\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///Represents the strongly named DataTable class.\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        [global::System.Serializable()]\r
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]\r
+        public partial class HicorderAnalogChannelDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {\r
+            \r
+            private global::System.Data.DataColumn columnChannel;\r
+            \r
+            private global::System.Data.DataColumn columnUnit;\r
+            \r
+            private global::System.Data.DataColumn columnResolution;\r
+            \r
+            private global::System.Data.DataColumn columnMode;\r
+            \r
+            private global::System.Data.DataColumn columnRange;\r
+            \r
+            private global::System.Data.DataColumn columnPosition;\r
+            \r
+            private global::System.Data.DataColumn columnLPF;\r
+            \r
+            private global::System.Data.DataColumn columnAAF;\r
+            \r
+            private global::System.Data.DataColumn columnCoupling;\r
+            \r
+            private global::System.Data.DataColumn columnTrig;\r
+            \r
+            private global::System.Data.DataColumn columnTrigSetting;\r
+            \r
+            private global::System.Data.DataColumn columnComment;\r
+            \r
+            private global::System.Data.DataColumn columnScaling;\r
+            \r
+            private global::System.Data.DataColumn columnScalingEu;\r
+            \r
+            private global::System.Data.DataColumn columnScalingEuPerV;\r
+            \r
+            private global::System.Data.DataColumn columnScalingOffset;\r
+            \r
+            private global::System.Data.DataColumn columnVariable;\r
+            \r
+            private global::System.Data.DataColumn columnVariableUpper;\r
+            \r
+            private global::System.Data.DataColumn columnVariableLower;\r
+            \r
+            private global::System.Data.DataColumn columnVernier;\r
+            \r
+            private global::System.Data.DataColumn columnExpand;\r
+            \r
+            private global::System.Data.DataColumn columnGraph;\r
+            \r
+            private global::System.Data.DataColumn columnCalcurate;\r
+            \r
+            private global::System.Data.DataColumn columnMeasurementScale;\r
+            \r
+            private global::System.Data.DataColumn columnMeasurementOffset;\r
+            \r
+            private global::System.Data.DataColumn columnData;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelDataTable() {\r
+                this.TableName = "HicorderAnalogChannel";\r
+                this.BeginInit();\r
+                this.InitClass();\r
+                this.EndInit();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal HicorderAnalogChannelDataTable(global::System.Data.DataTable table) {\r
+                this.TableName = table.TableName;\r
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {\r
+                    this.CaseSensitive = table.CaseSensitive;\r
+                }\r
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {\r
+                    this.Locale = table.Locale;\r
+                }\r
+                if ((table.Namespace != table.DataSet.Namespace)) {\r
+                    this.Namespace = table.Namespace;\r
+                }\r
+                this.Prefix = table.Prefix;\r
+                this.MinimumCapacity = table.MinimumCapacity;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected HicorderAnalogChannelDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : \r
+                    base(info, context) {\r
+                this.InitVars();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ChannelColumn {\r
+                get {\r
+                    return this.columnChannel;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn UnitColumn {\r
+                get {\r
+                    return this.columnUnit;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ResolutionColumn {\r
+                get {\r
+                    return this.columnResolution;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ModeColumn {\r
+                get {\r
+                    return this.columnMode;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn RangeColumn {\r
+                get {\r
+                    return this.columnRange;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn PositionColumn {\r
+                get {\r
+                    return this.columnPosition;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn LPFColumn {\r
+                get {\r
+                    return this.columnLPF;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn AAFColumn {\r
+                get {\r
+                    return this.columnAAF;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn CouplingColumn {\r
+                get {\r
+                    return this.columnCoupling;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TrigColumn {\r
+                get {\r
+                    return this.columnTrig;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn TrigSettingColumn {\r
+                get {\r
+                    return this.columnTrigSetting;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn CommentColumn {\r
+                get {\r
+                    return this.columnComment;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ScalingColumn {\r
+                get {\r
+                    return this.columnScaling;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ScalingEuColumn {\r
+                get {\r
+                    return this.columnScalingEu;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ScalingEuPerVColumn {\r
+                get {\r
+                    return this.columnScalingEuPerV;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ScalingOffsetColumn {\r
+                get {\r
+                    return this.columnScalingOffset;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn VariableColumn {\r
+                get {\r
+                    return this.columnVariable;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn VariableUpperColumn {\r
+                get {\r
+                    return this.columnVariableUpper;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn VariableLowerColumn {\r
+                get {\r
+                    return this.columnVariableLower;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn VernierColumn {\r
+                get {\r
+                    return this.columnVernier;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn ExpandColumn {\r
+                get {\r
+                    return this.columnExpand;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn GraphColumn {\r
+                get {\r
+                    return this.columnGraph;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn CalcurateColumn {\r
+                get {\r
+                    return this.columnCalcurate;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn MeasurementScaleColumn {\r
+                get {\r
+                    return this.columnMeasurementScale;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn MeasurementOffsetColumn {\r
+                get {\r
+                    return this.columnMeasurementOffset;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataColumn DataColumn {\r
+                get {\r
+                    return this.columnData;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            [global::System.ComponentModel.Browsable(false)]\r
+            public int Count {\r
+                get {\r
+                    return this.Rows.Count;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRow this[int index] {\r
+                get {\r
+                    return ((HicorderAnalogChannelRow)(this.Rows[index]));\r
+                }\r
+            }\r
+            \r
+            public event HicorderAnalogChannelRowChangeEventHandler HicorderAnalogChannelRowChanging;\r
+            \r
+            public event HicorderAnalogChannelRowChangeEventHandler HicorderAnalogChannelRowChanged;\r
+            \r
+            public event HicorderAnalogChannelRowChangeEventHandler HicorderAnalogChannelRowDeleting;\r
+            \r
+            public event HicorderAnalogChannelRowChangeEventHandler HicorderAnalogChannelRowDeleted;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void AddHicorderAnalogChannelRow(HicorderAnalogChannelRow row) {\r
+                this.Rows.Add(row);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRow AddHicorderAnalogChannelRow(\r
+                        int Channel, \r
+                        string Unit, \r
+                        int Resolution, \r
+                        string Mode, \r
+                        string Range, \r
+                        int Position, \r
+                        string LPF, \r
+                        string AAF, \r
+                        string Coupling, \r
+                        string Trig, \r
+                        string TrigSetting, \r
+                        string Comment, \r
+                        bool Scaling, \r
+                        string ScalingEu, \r
+                        double ScalingEuPerV, \r
+                        double ScalingOffset, \r
+                        bool Variable, \r
+                        double VariableUpper, \r
+                        double VariableLower, \r
+                        int Vernier, \r
+                        string Expand, \r
+                        string Graph, \r
+                        string Calcurate, \r
+                        double MeasurementScale, \r
+                        double MeasurementOffset, \r
+                        object Data) {\r
+                HicorderAnalogChannelRow rowHicorderAnalogChannelRow = ((HicorderAnalogChannelRow)(this.NewRow()));\r
+                object[] columnValuesArray = new object[] {\r
+                        Channel,\r
+                        Unit,\r
+                        Resolution,\r
+                        Mode,\r
+                        Range,\r
+                        Position,\r
+                        LPF,\r
+                        AAF,\r
+                        Coupling,\r
+                        Trig,\r
+                        TrigSetting,\r
+                        Comment,\r
+                        Scaling,\r
+                        ScalingEu,\r
+                        ScalingEuPerV,\r
+                        ScalingOffset,\r
+                        Variable,\r
+                        VariableUpper,\r
+                        VariableLower,\r
+                        Vernier,\r
+                        Expand,\r
+                        Graph,\r
+                        Calcurate,\r
+                        MeasurementScale,\r
+                        MeasurementOffset,\r
+                        Data};\r
+                rowHicorderAnalogChannelRow.ItemArray = columnValuesArray;\r
+                this.Rows.Add(rowHicorderAnalogChannelRow);\r
+                return rowHicorderAnalogChannelRow;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRow FindByChannel(int Channel) {\r
+                return ((HicorderAnalogChannelRow)(this.Rows.Find(new object[] {\r
+                            Channel})));\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public virtual global::System.Collections.IEnumerator GetEnumerator() {\r
+                return this.Rows.GetEnumerator();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public override global::System.Data.DataTable Clone() {\r
+                HicorderAnalogChannelDataTable cln = ((HicorderAnalogChannelDataTable)(base.Clone()));\r
+                cln.InitVars();\r
+                return cln;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Data.DataTable CreateInstance() {\r
+                return new HicorderAnalogChannelDataTable();\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal void InitVars() {\r
+                this.columnChannel = base.Columns["Channel"];\r
+                this.columnUnit = base.Columns["Unit"];\r
+                this.columnResolution = base.Columns["Resolution"];\r
+                this.columnMode = base.Columns["Mode"];\r
+                this.columnRange = base.Columns["Range"];\r
+                this.columnPosition = base.Columns["Position"];\r
+                this.columnLPF = base.Columns["LPF"];\r
+                this.columnAAF = base.Columns["AAF"];\r
+                this.columnCoupling = base.Columns["Coupling"];\r
+                this.columnTrig = base.Columns["Trig"];\r
+                this.columnTrigSetting = base.Columns["TrigSetting"];\r
+                this.columnComment = base.Columns["Comment"];\r
+                this.columnScaling = base.Columns["Scaling"];\r
+                this.columnScalingEu = base.Columns["ScalingEu"];\r
+                this.columnScalingEuPerV = base.Columns["ScalingEuPerV"];\r
+                this.columnScalingOffset = base.Columns["ScalingOffset"];\r
+                this.columnVariable = base.Columns["Variable"];\r
+                this.columnVariableUpper = base.Columns["VariableUpper"];\r
+                this.columnVariableLower = base.Columns["VariableLower"];\r
+                this.columnVernier = base.Columns["Vernier"];\r
+                this.columnExpand = base.Columns["Expand"];\r
+                this.columnGraph = base.Columns["Graph"];\r
+                this.columnCalcurate = base.Columns["Calcurate"];\r
+                this.columnMeasurementScale = base.Columns["MeasurementScale"];\r
+                this.columnMeasurementOffset = base.Columns["MeasurementOffset"];\r
+                this.columnData = base.Columns["Data"];\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            private void InitClass() {\r
+                this.columnChannel = new global::System.Data.DataColumn("Channel", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnChannel);\r
+                this.columnUnit = new global::System.Data.DataColumn("Unit", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnUnit);\r
+                this.columnResolution = new global::System.Data.DataColumn("Resolution", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnResolution);\r
+                this.columnMode = new global::System.Data.DataColumn("Mode", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnMode);\r
+                this.columnRange = new global::System.Data.DataColumn("Range", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnRange);\r
+                this.columnPosition = new global::System.Data.DataColumn("Position", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnPosition);\r
+                this.columnLPF = new global::System.Data.DataColumn("LPF", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnLPF);\r
+                this.columnAAF = new global::System.Data.DataColumn("AAF", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnAAF);\r
+                this.columnCoupling = new global::System.Data.DataColumn("Coupling", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnCoupling);\r
+                this.columnTrig = new global::System.Data.DataColumn("Trig", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTrig);\r
+                this.columnTrigSetting = new global::System.Data.DataColumn("TrigSetting", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnTrigSetting);\r
+                this.columnComment = new global::System.Data.DataColumn("Comment", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnComment);\r
+                this.columnScaling = new global::System.Data.DataColumn("Scaling", typeof(bool), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnScaling);\r
+                this.columnScalingEu = new global::System.Data.DataColumn("ScalingEu", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnScalingEu);\r
+                this.columnScalingEuPerV = new global::System.Data.DataColumn("ScalingEuPerV", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnScalingEuPerV);\r
+                this.columnScalingOffset = new global::System.Data.DataColumn("ScalingOffset", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnScalingOffset);\r
+                this.columnVariable = new global::System.Data.DataColumn("Variable", typeof(bool), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnVariable);\r
+                this.columnVariableUpper = new global::System.Data.DataColumn("VariableUpper", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnVariableUpper);\r
+                this.columnVariableLower = new global::System.Data.DataColumn("VariableLower", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnVariableLower);\r
+                this.columnVernier = new global::System.Data.DataColumn("Vernier", typeof(int), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnVernier);\r
+                this.columnExpand = new global::System.Data.DataColumn("Expand", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnExpand);\r
+                this.columnGraph = new global::System.Data.DataColumn("Graph", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnGraph);\r
+                this.columnCalcurate = new global::System.Data.DataColumn("Calcurate", typeof(string), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnCalcurate);\r
+                this.columnMeasurementScale = new global::System.Data.DataColumn("MeasurementScale", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnMeasurementScale);\r
+                this.columnMeasurementOffset = new global::System.Data.DataColumn("MeasurementOffset", typeof(double), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnMeasurementOffset);\r
+                this.columnData = new global::System.Data.DataColumn("Data", typeof(object), null, global::System.Data.MappingType.Element);\r
+                base.Columns.Add(this.columnData);\r
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {\r
+                                this.columnChannel}, true));\r
+                this.columnChannel.AllowDBNull = false;\r
+                this.columnChannel.Unique = true;\r
+                this.columnScalingEu.Caption = "Scaling eu";\r
+                this.columnScalingEuPerV.Caption = "Scaling EU/V";\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRow NewHicorderAnalogChannelRow() {\r
+                return ((HicorderAnalogChannelRow)(this.NewRow()));\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {\r
+                return new HicorderAnalogChannelRow(builder);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override global::System.Type GetRowType() {\r
+                return typeof(HicorderAnalogChannelRow);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowChanged(e);\r
+                if ((this.HicorderAnalogChannelRowChanged != null)) {\r
+                    this.HicorderAnalogChannelRowChanged(this, new HicorderAnalogChannelRowChangeEvent(((HicorderAnalogChannelRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowChanging(e);\r
+                if ((this.HicorderAnalogChannelRowChanging != null)) {\r
+                    this.HicorderAnalogChannelRowChanging(this, new HicorderAnalogChannelRowChangeEvent(((HicorderAnalogChannelRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowDeleted(e);\r
+                if ((this.HicorderAnalogChannelRowDeleted != null)) {\r
+                    this.HicorderAnalogChannelRowDeleted(this, new HicorderAnalogChannelRowChangeEvent(((HicorderAnalogChannelRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {\r
+                base.OnRowDeleting(e);\r
+                if ((this.HicorderAnalogChannelRowDeleting != null)) {\r
+                    this.HicorderAnalogChannelRowDeleting(this, new HicorderAnalogChannelRowChangeEvent(((HicorderAnalogChannelRow)(e.Row)), e.Action));\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void RemoveHicorderAnalogChannelRow(HicorderAnalogChannelRow row) {\r
+                this.Rows.Remove(row);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {\r
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();\r
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();\r
+                Hioki ds = new Hioki();\r
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();\r
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";\r
+                any1.MinOccurs = new decimal(0);\r
+                any1.MaxOccurs = decimal.MaxValue;\r
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;\r
+                sequence.Items.Add(any1);\r
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();\r
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";\r
+                any2.MinOccurs = new decimal(1);\r
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;\r
+                sequence.Items.Add(any2);\r
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();\r
+                attribute1.Name = "namespace";\r
+                attribute1.FixedValue = ds.Namespace;\r
+                type.Attributes.Add(attribute1);\r
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();\r
+                attribute2.Name = "tableTypeName";\r
+                attribute2.FixedValue = "HicorderAnalogChannelDataTable";\r
+                type.Attributes.Add(attribute2);\r
+                type.Particle = sequence;\r
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();\r
+                if (xs.Contains(dsSchema.TargetNamespace)) {\r
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();\r
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();\r
+                    try {\r
+                        global::System.Xml.Schema.XmlSchema schema = null;\r
+                        dsSchema.Write(s1);\r
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {\r
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));\r
+                            s2.SetLength(0);\r
+                            schema.Write(s2);\r
+                            if ((s1.Length == s2.Length)) {\r
+                                s1.Position = 0;\r
+                                s2.Position = 0;\r
+                                for (; ((s1.Position != s1.Length) \r
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {\r
+                                    ;\r
+                                }\r
+                                if ((s1.Position == s1.Length)) {\r
+                                    return type;\r
+                                }\r
+                            }\r
+                        }\r
+                    }\r
+                    finally {\r
+                        if ((s1 != null)) {\r
+                            s1.Close();\r
+                        }\r
+                        if ((s2 != null)) {\r
+                            s2.Close();\r
+                        }\r
+                    }\r
+                }\r
+                xs.Add(dsSchema);\r
+                return type;\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///Represents strongly named DataRow class.\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        public partial class HicorderSettingsRow : global::System.Data.DataRow {\r
+            \r
+            private HicorderSettingsDataTable tableHicorderSettings;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal HicorderSettingsRow(global::System.Data.DataRowBuilder rb) : \r
+                    base(rb) {\r
+                this.tableHicorderSettings = ((HicorderSettingsDataTable)(this.Table));\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Model {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.ModelColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'Model\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.ModelColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string RomVersion {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.RomVersionColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'RomVersion\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.RomVersionColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Function {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.FunctionColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'Function\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.FunctionColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Shot {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.ShotColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'Shot\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.ShotColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public System.DateTime TrigDate {\r
+                get {\r
+                    try {\r
+                        return ((global::System.DateTime)(this[this.tableHicorderSettings.TrigDateColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TrigDate\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TrigDateColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public decimal TimePerDiv {\r
+                get {\r
+                    try {\r
+                        return ((decimal)(this[this.tableHicorderSettings.TimePerDivColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TimePerDiv\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TimePerDivColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int Expand {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderSettings.ExpandColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'Expand\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.ExpandColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string TrigMode {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.TrigModeColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TrigMode\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TrigModeColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string TrigSource {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.TrigSourceColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TrigSource\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TrigSourceColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double PreTrig {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderSettings.PreTrigColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'PreTrig\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.PreTrigColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public System.DateTime TimerTrigStart {\r
+                get {\r
+                    try {\r
+                        return ((global::System.DateTime)(this[this.tableHicorderSettings.TimerTrigStartColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TimerTrigStart\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TimerTrigStartColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public System.DateTime TimerTrigStop {\r
+                get {\r
+                    try {\r
+                        return ((global::System.DateTime)(this[this.tableHicorderSettings.TimerTrigStopColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TimerTrigStop\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TimerTrigStopColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public System.TimeSpan TimerTrigInterval {\r
+                get {\r
+                    try {\r
+                        return ((global::System.TimeSpan)(this[this.tableHicorderSettings.TimerTrigIntervalColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TimerTrigInterval\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TimerTrigIntervalColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool ManualTrig {\r
+                get {\r
+                    try {\r
+                        return ((bool)(this[this.tableHicorderSettings.ManualTrigColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'ManualTrig\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.ManualTrigColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool ExtTrig {\r
+                get {\r
+                    try {\r
+                        return ((bool)(this[this.tableHicorderSettings.ExtTrigColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'ExtTrig\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.ExtTrigColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int UseChannel {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderSettings.UseChannelColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'UseChannel\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.UseChannelColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string TitleSetting {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.TitleSettingColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'TitleSetting\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TitleSettingColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Title {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.TitleColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'Title\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.TitleColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string CommentSetting {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderSettings.CommentSettingColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'CommentSetting\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.CommentSettingColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int SavedAnalogChannel {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderSettings.SavedAnalogChannelColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'SavedAnalogChannel\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.SavedAnalogChannelColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int SavedLogicUnit {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderSettings.SavedLogicUnitColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderSettings\' にある列 \'SavedLogicUnit\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderSettings.SavedLogicUnitColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsModelNull() {\r
+                return this.IsNull(this.tableHicorderSettings.ModelColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetModelNull() {\r
+                this[this.tableHicorderSettings.ModelColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsRomVersionNull() {\r
+                return this.IsNull(this.tableHicorderSettings.RomVersionColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetRomVersionNull() {\r
+                this[this.tableHicorderSettings.RomVersionColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsFunctionNull() {\r
+                return this.IsNull(this.tableHicorderSettings.FunctionColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetFunctionNull() {\r
+                this[this.tableHicorderSettings.FunctionColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsShotNull() {\r
+                return this.IsNull(this.tableHicorderSettings.ShotColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetShotNull() {\r
+                this[this.tableHicorderSettings.ShotColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTrigDateNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TrigDateColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTrigDateNull() {\r
+                this[this.tableHicorderSettings.TrigDateColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTimePerDivNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TimePerDivColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTimePerDivNull() {\r
+                this[this.tableHicorderSettings.TimePerDivColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsExpandNull() {\r
+                return this.IsNull(this.tableHicorderSettings.ExpandColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetExpandNull() {\r
+                this[this.tableHicorderSettings.ExpandColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTrigModeNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TrigModeColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTrigModeNull() {\r
+                this[this.tableHicorderSettings.TrigModeColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTrigSourceNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TrigSourceColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTrigSourceNull() {\r
+                this[this.tableHicorderSettings.TrigSourceColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsPreTrigNull() {\r
+                return this.IsNull(this.tableHicorderSettings.PreTrigColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetPreTrigNull() {\r
+                this[this.tableHicorderSettings.PreTrigColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTimerTrigStartNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TimerTrigStartColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTimerTrigStartNull() {\r
+                this[this.tableHicorderSettings.TimerTrigStartColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTimerTrigStopNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TimerTrigStopColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTimerTrigStopNull() {\r
+                this[this.tableHicorderSettings.TimerTrigStopColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTimerTrigIntervalNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TimerTrigIntervalColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTimerTrigIntervalNull() {\r
+                this[this.tableHicorderSettings.TimerTrigIntervalColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsManualTrigNull() {\r
+                return this.IsNull(this.tableHicorderSettings.ManualTrigColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetManualTrigNull() {\r
+                this[this.tableHicorderSettings.ManualTrigColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsExtTrigNull() {\r
+                return this.IsNull(this.tableHicorderSettings.ExtTrigColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetExtTrigNull() {\r
+                this[this.tableHicorderSettings.ExtTrigColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsUseChannelNull() {\r
+                return this.IsNull(this.tableHicorderSettings.UseChannelColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetUseChannelNull() {\r
+                this[this.tableHicorderSettings.UseChannelColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTitleSettingNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TitleSettingColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTitleSettingNull() {\r
+                this[this.tableHicorderSettings.TitleSettingColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTitleNull() {\r
+                return this.IsNull(this.tableHicorderSettings.TitleColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTitleNull() {\r
+                this[this.tableHicorderSettings.TitleColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsCommentSettingNull() {\r
+                return this.IsNull(this.tableHicorderSettings.CommentSettingColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetCommentSettingNull() {\r
+                this[this.tableHicorderSettings.CommentSettingColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsSavedAnalogChannelNull() {\r
+                return this.IsNull(this.tableHicorderSettings.SavedAnalogChannelColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetSavedAnalogChannelNull() {\r
+                this[this.tableHicorderSettings.SavedAnalogChannelColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsSavedLogicUnitNull() {\r
+                return this.IsNull(this.tableHicorderSettings.SavedLogicUnitColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetSavedLogicUnitNull() {\r
+                this[this.tableHicorderSettings.SavedLogicUnitColumn] = global::System.Convert.DBNull;\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///Represents strongly named DataRow class.\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        public partial class HicorderAnalogChannelRow : global::System.Data.DataRow {\r
+            \r
+            private HicorderAnalogChannelDataTable tableHicorderAnalogChannel;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            internal HicorderAnalogChannelRow(global::System.Data.DataRowBuilder rb) : \r
+                    base(rb) {\r
+                this.tableHicorderAnalogChannel = ((HicorderAnalogChannelDataTable)(this.Table));\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int Channel {\r
+                get {\r
+                    return ((int)(this[this.tableHicorderAnalogChannel.ChannelColumn]));\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ChannelColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Unit {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.UnitColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Unit\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.UnitColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int Resolution {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderAnalogChannel.ResolutionColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Resolution\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ResolutionColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Mode {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.ModeColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Mode\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ModeColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Range {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.RangeColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Range\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.RangeColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int Position {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderAnalogChannel.PositionColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Position\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.PositionColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string LPF {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.LPFColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'LPF\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.LPFColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string AAF {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.AAFColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'AAF\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.AAFColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Coupling {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.CouplingColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Coupling\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.CouplingColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Trig {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.TrigColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Trig\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.TrigColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string TrigSetting {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.TrigSettingColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'TrigSetting\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.TrigSettingColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Comment {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.CommentColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Comment\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.CommentColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool Scaling {\r
+                get {\r
+                    try {\r
+                        return ((bool)(this[this.tableHicorderAnalogChannel.ScalingColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Scaling\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ScalingColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string ScalingEu {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.ScalingEuColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'ScalingEu\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ScalingEuColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double ScalingEuPerV {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.ScalingEuPerVColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'ScalingEuPerV\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ScalingEuPerVColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double ScalingOffset {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.ScalingOffsetColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'ScalingOffset\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ScalingOffsetColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool Variable {\r
+                get {\r
+                    try {\r
+                        return ((bool)(this[this.tableHicorderAnalogChannel.VariableColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Variable\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.VariableColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double VariableUpper {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.VariableUpperColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'VariableUpper\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.VariableUpperColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double VariableLower {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.VariableLowerColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'VariableLower\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.VariableLowerColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public int Vernier {\r
+                get {\r
+                    try {\r
+                        return ((int)(this[this.tableHicorderAnalogChannel.VernierColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Vernier\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.VernierColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Expand {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.ExpandColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Expand\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.ExpandColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Graph {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.GraphColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Graph\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.GraphColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public string Calcurate {\r
+                get {\r
+                    try {\r
+                        return ((string)(this[this.tableHicorderAnalogChannel.CalcurateColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Calcurate\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.CalcurateColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double MeasurementScale {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.MeasurementScaleColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'MeasurementScale\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.MeasurementScaleColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public double MeasurementOffset {\r
+                get {\r
+                    try {\r
+                        return ((double)(this[this.tableHicorderAnalogChannel.MeasurementOffsetColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'MeasurementOffset\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.MeasurementOffsetColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public object Data {\r
+                get {\r
+                    try {\r
+                        return ((object)(this[this.tableHicorderAnalogChannel.DataColumn]));\r
+                    }\r
+                    catch (global::System.InvalidCastException e) {\r
+                        throw new global::System.Data.StrongTypingException("テーブル \'HicorderAnalogChannel\' にある列 \'Data\' の値は DBNull です。", e);\r
+                    }\r
+                }\r
+                set {\r
+                    this[this.tableHicorderAnalogChannel.DataColumn] = value;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsUnitNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.UnitColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetUnitNull() {\r
+                this[this.tableHicorderAnalogChannel.UnitColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsResolutionNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ResolutionColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetResolutionNull() {\r
+                this[this.tableHicorderAnalogChannel.ResolutionColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsModeNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ModeColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetModeNull() {\r
+                this[this.tableHicorderAnalogChannel.ModeColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsRangeNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.RangeColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetRangeNull() {\r
+                this[this.tableHicorderAnalogChannel.RangeColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsPositionNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.PositionColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetPositionNull() {\r
+                this[this.tableHicorderAnalogChannel.PositionColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsLPFNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.LPFColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetLPFNull() {\r
+                this[this.tableHicorderAnalogChannel.LPFColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsAAFNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.AAFColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetAAFNull() {\r
+                this[this.tableHicorderAnalogChannel.AAFColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsCouplingNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.CouplingColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetCouplingNull() {\r
+                this[this.tableHicorderAnalogChannel.CouplingColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTrigNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.TrigColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTrigNull() {\r
+                this[this.tableHicorderAnalogChannel.TrigColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsTrigSettingNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.TrigSettingColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetTrigSettingNull() {\r
+                this[this.tableHicorderAnalogChannel.TrigSettingColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsCommentNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.CommentColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetCommentNull() {\r
+                this[this.tableHicorderAnalogChannel.CommentColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsScalingNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ScalingColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetScalingNull() {\r
+                this[this.tableHicorderAnalogChannel.ScalingColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsScalingEuNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ScalingEuColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetScalingEuNull() {\r
+                this[this.tableHicorderAnalogChannel.ScalingEuColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsScalingEuPerVNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ScalingEuPerVColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetScalingEuPerVNull() {\r
+                this[this.tableHicorderAnalogChannel.ScalingEuPerVColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsScalingOffsetNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ScalingOffsetColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetScalingOffsetNull() {\r
+                this[this.tableHicorderAnalogChannel.ScalingOffsetColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsVariableNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.VariableColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetVariableNull() {\r
+                this[this.tableHicorderAnalogChannel.VariableColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsVariableUpperNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.VariableUpperColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetVariableUpperNull() {\r
+                this[this.tableHicorderAnalogChannel.VariableUpperColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsVariableLowerNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.VariableLowerColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetVariableLowerNull() {\r
+                this[this.tableHicorderAnalogChannel.VariableLowerColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsVernierNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.VernierColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetVernierNull() {\r
+                this[this.tableHicorderAnalogChannel.VernierColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsExpandNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.ExpandColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetExpandNull() {\r
+                this[this.tableHicorderAnalogChannel.ExpandColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsGraphNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.GraphColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetGraphNull() {\r
+                this[this.tableHicorderAnalogChannel.GraphColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsCalcurateNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.CalcurateColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetCalcurateNull() {\r
+                this[this.tableHicorderAnalogChannel.CalcurateColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsMeasurementScaleNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.MeasurementScaleColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetMeasurementScaleNull() {\r
+                this[this.tableHicorderAnalogChannel.MeasurementScaleColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsMeasurementOffsetNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.MeasurementOffsetColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetMeasurementOffsetNull() {\r
+                this[this.tableHicorderAnalogChannel.MeasurementOffsetColumn] = global::System.Convert.DBNull;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public bool IsDataNull() {\r
+                return this.IsNull(this.tableHicorderAnalogChannel.DataColumn);\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public void SetDataNull() {\r
+                this[this.tableHicorderAnalogChannel.DataColumn] = global::System.Convert.DBNull;\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///Row event argument class\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        public class HicorderSettingsRowChangeEvent : global::System.EventArgs {\r
+            \r
+            private HicorderSettingsRow eventRow;\r
+            \r
+            private global::System.Data.DataRowAction eventAction;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsRowChangeEvent(HicorderSettingsRow row, global::System.Data.DataRowAction action) {\r
+                this.eventRow = row;\r
+                this.eventAction = action;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderSettingsRow Row {\r
+                get {\r
+                    return this.eventRow;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataRowAction Action {\r
+                get {\r
+                    return this.eventAction;\r
+                }\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///Row event argument class\r
+        ///</summary>\r
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]\r
+        public class HicorderAnalogChannelRowChangeEvent : global::System.EventArgs {\r
+            \r
+            private HicorderAnalogChannelRow eventRow;\r
+            \r
+            private global::System.Data.DataRowAction eventAction;\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRowChangeEvent(HicorderAnalogChannelRow row, global::System.Data.DataRowAction action) {\r
+                this.eventRow = row;\r
+                this.eventAction = action;\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public HicorderAnalogChannelRow Row {\r
+                get {\r
+                    return this.eventRow;\r
+                }\r
+            }\r
+            \r
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+            public global::System.Data.DataRowAction Action {\r
+                get {\r
+                    return this.eventAction;\r
+                }\r
+            }\r
+        }\r
+    }\r
+}\r
+\r
+#pragma warning restore 1591
\ No newline at end of file
diff --git a/Karinto/Xml/Hioki.cs b/Karinto/Xml/Hioki.cs
new file mode 100755 (executable)
index 0000000..dff7d6b
--- /dev/null
@@ -0,0 +1,63 @@
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+namespace Karinto.Xml {\r
+    \r
+    \r
+    public partial class Hioki {\r
+        partial class HicorderAnalogChannelRow\r
+        {\r
+\r
+            public delegate double Converter(short raw);\r
+\r
+            private Converter converter;\r
+\r
+            public new double this[int index]\r
+            {\r
+                get\r
+                {\r
+                    return converter((Data as short[])[index]);\r
+                }\r
+            }\r
+\r
+            public void SetConverter()\r
+            {\r
+                if (Calcurate == "CAL")\r
+                {\r
+                    converter = null;\r
+                }\r
+                else\r
+                {\r
+                    if (Scaling)\r
+                    {\r
+                        converter = ConvertWithScaling;\r
+                    }\r
+                    else\r
+                    {\r
+                        converter = ConvertWithoutScaling;\r
+                    }\r
+                }\r
+            }\r
+\r
+            public void SetRawData(short[] raw)\r
+            {\r
+                Data = raw;\r
+            }\r
+\r
+            private double ConvertWithoutScaling(short raw)\r
+            {\r
+                return MeasurementScale * raw * Vernier * 0.01 + MeasurementOffset;\r
+            }\r
+\r
+            private double ConvertWithScaling(short raw)\r
+            {\r
+                double value = ConvertWithoutScaling(raw);\r
+                return ScalingEuPerV * value + ScalingOffset;\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/Karinto/Xml/Hioki.xsc b/Karinto/Xml/Hioki.xsc
new file mode 100755 (executable)
index 0000000..551fc56
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--<autogenerated>\r
+     This code was generated by a tool.\r
+     Changes to this file may cause incorrect behavior and will be lost if\r
+     the code is regenerated.\r
+</autogenerated>-->\r
+<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">\r
+  <TableUISettings />\r
+</DataSetUISetting>
\ No newline at end of file
diff --git a/Karinto/Xml/Hioki.xsd b/Karinto/Xml/Hioki.xsd
new file mode 100755 (executable)
index 0000000..a7f4561
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<xs:schema id="Hioki" targetNamespace="http://karinto.sourceforge.jp/Hioki.xsd" xmlns:mstns="http://karinto.sourceforge.jp/Hioki.xsd" xmlns="http://karinto.sourceforge.jp/Hioki.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">\r
+  <xs:annotation>\r
+    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">\r
+      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">\r
+        <Connections />\r
+        <Tables />\r
+        <Sources />\r
+      </DataSource>\r
+    </xs:appinfo>\r
+  </xs:annotation>\r
+  <xs:element name="Hioki" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_DataSetName="Hioki" msprop:Generator_UserDSName="Hioki" msprop:EnableTableAdapterManager="true">\r
+    <xs:complexType>\r
+      <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+        <xs:element name="HicorderSettings" msdata:Locale="" msprop:Generator_UserTableName="HicorderSettings" msprop:Generator_RowDeletedName="HicorderSettingsRowDeleted" msprop:Generator_TableClassName="HicorderSettingsDataTable" msprop:Generator_RowChangedName="HicorderSettingsRowChanged" msprop:Generator_RowClassName="HicorderSettingsRow" msprop:Generator_RowChangingName="HicorderSettingsRowChanging" msprop:Generator_RowEvArgName="HicorderSettingsRowChangeEvent" msprop:Generator_RowEvHandlerName="HicorderSettingsRowChangeEventHandler" msprop:Generator_TablePropName="HicorderSettings" msprop:Generator_TableVarName="tableHicorderSettings" msprop:Generator_RowDeletingName="HicorderSettingsRowDeleting">\r
+          <xs:complexType>\r
+            <xs:sequence>\r
+              <xs:element name="Model" msprop:Generator_UserColumnName="Model" msprop:Generator_ColumnPropNameInRow="Model" msprop:Generator_ColumnVarNameInTable="columnModel" msprop:Generator_ColumnPropNameInTable="ModelColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="RomVersion" msprop:Generator_UserColumnName="RomVersion" msprop:Generator_ColumnPropNameInRow="RomVersion" msprop:Generator_ColumnVarNameInTable="columnRomVersion" msprop:Generator_ColumnPropNameInTable="RomVersionColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Function" msprop:Generator_UserColumnName="Function" msprop:Generator_ColumnPropNameInRow="Function" msprop:Generator_ColumnVarNameInTable="columnFunction" msprop:Generator_ColumnPropNameInTable="FunctionColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Shot" msprop:Generator_UserColumnName="Shot" msprop:Generator_ColumnPropNameInRow="Shot" msprop:Generator_ColumnVarNameInTable="columnShot" msprop:Generator_ColumnPropNameInTable="ShotColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="TrigDate" msprop:Generator_UserColumnName="TrigDate" msprop:Generator_ColumnPropNameInRow="TrigDate" msprop:Generator_ColumnVarNameInTable="columnTrigDate" msprop:Generator_ColumnPropNameInTable="TrigDateColumn" type="xs:dateTime" minOccurs="0" />\r
+              <xs:element name="TimePerDiv" msdata:Caption="Time/Div" msprop:Generator_UserColumnName="TimePerDiv" msprop:Generator_ColumnPropNameInRow="TimePerDiv" msprop:Generator_ColumnVarNameInTable="columnTimePerDiv" msprop:Generator_ColumnPropNameInTable="TimePerDivColumn" type="xs:decimal" minOccurs="0" />\r
+              <xs:element name="Expand" msprop:Generator_UserColumnName="Expand" msprop:Generator_ColumnPropNameInRow="Expand" msprop:Generator_ColumnVarNameInTable="columnExpand" msprop:Generator_ColumnPropNameInTable="ExpandColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="TrigMode" msprop:Generator_UserColumnName="TrigMode" msprop:Generator_ColumnPropNameInRow="TrigMode" msprop:Generator_ColumnVarNameInTable="columnTrigMode" msprop:Generator_ColumnPropNameInTable="TrigModeColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="TrigSource" msprop:Generator_UserColumnName="TrigSource" msprop:Generator_ColumnPropNameInRow="TrigSource" msprop:Generator_ColumnVarNameInTable="columnTrigSource" msprop:Generator_ColumnPropNameInTable="TrigSourceColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="PreTrig" msprop:Generator_UserColumnName="PreTrig" msprop:Generator_ColumnPropNameInRow="PreTrig" msprop:Generator_ColumnVarNameInTable="columnPreTrig" msprop:Generator_ColumnPropNameInTable="PreTrigColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="TimerTrigStart" msprop:Generator_UserColumnName="TimerTrigStart" msprop:Generator_ColumnPropNameInRow="TimerTrigStart" msprop:Generator_ColumnVarNameInTable="columnTimerTrigStart" msprop:Generator_ColumnPropNameInTable="TimerTrigStartColumn" type="xs:dateTime" minOccurs="0" />\r
+              <xs:element name="TimerTrigStop" msprop:Generator_UserColumnName="TimerTrigStop" msprop:Generator_ColumnPropNameInRow="TimerTrigStop" msprop:Generator_ColumnVarNameInTable="columnTimerTrigStop" msprop:Generator_ColumnPropNameInTable="TimerTrigStopColumn" type="xs:dateTime" minOccurs="0" />\r
+              <xs:element name="TimerTrigInterval" msprop:Generator_UserColumnName="TimerTrigInterval" msprop:Generator_ColumnPropNameInRow="TimerTrigInterval" msprop:Generator_ColumnVarNameInTable="columnTimerTrigInterval" msprop:Generator_ColumnPropNameInTable="TimerTrigIntervalColumn" type="xs:duration" minOccurs="0" />\r
+              <xs:element name="ManualTrig" msprop:Generator_UserColumnName="ManualTrig" msprop:Generator_ColumnPropNameInRow="ManualTrig" msprop:Generator_ColumnVarNameInTable="columnManualTrig" msprop:Generator_ColumnPropNameInTable="ManualTrigColumn" type="xs:boolean" minOccurs="0" />\r
+              <xs:element name="ExtTrig" msprop:Generator_UserColumnName="ExtTrig" msprop:Generator_ColumnPropNameInRow="ExtTrig" msprop:Generator_ColumnVarNameInTable="columnExtTrig" msprop:Generator_ColumnPropNameInTable="ExtTrigColumn" type="xs:boolean" minOccurs="0" />\r
+              <xs:element name="UseChannel" msprop:Generator_UserColumnName="UseChannel" msprop:Generator_ColumnPropNameInRow="UseChannel" msprop:Generator_ColumnVarNameInTable="columnUseChannel" msprop:Generator_ColumnPropNameInTable="UseChannelColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="TitleSetting" msprop:Generator_UserColumnName="TitleSetting" msprop:Generator_ColumnPropNameInRow="TitleSetting" msprop:Generator_ColumnVarNameInTable="columnTitleSetting" msprop:Generator_ColumnPropNameInTable="TitleSettingColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Title" msprop:Generator_UserColumnName="Title" msprop:Generator_ColumnPropNameInRow="Title" msprop:Generator_ColumnVarNameInTable="columnTitle" msprop:Generator_ColumnPropNameInTable="TitleColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="CommentSetting" msprop:Generator_UserColumnName="CommentSetting" msprop:Generator_ColumnPropNameInRow="CommentSetting" msprop:Generator_ColumnVarNameInTable="columnCommentSetting" msprop:Generator_ColumnPropNameInTable="CommentSettingColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="SavedAnalogChannel" msprop:Generator_UserColumnName="SavedAnalogChannel" msprop:Generator_ColumnPropNameInRow="SavedAnalogChannel" msprop:Generator_ColumnVarNameInTable="columnSavedAnalogChannel" msprop:Generator_ColumnPropNameInTable="SavedAnalogChannelColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="SavedLogicUnit" msprop:Generator_UserColumnName="SavedLogicUnit" msprop:Generator_ColumnPropNameInRow="SavedLogicUnit" msprop:Generator_ColumnVarNameInTable="columnSavedLogicUnit" msprop:Generator_ColumnPropNameInTable="SavedLogicUnitColumn" type="xs:int" minOccurs="0" />\r
+            </xs:sequence>\r
+          </xs:complexType>\r
+        </xs:element>\r
+        <xs:element name="HicorderAnalogChannel" msprop:Generator_UserTableName="HicorderAnalogChannel" msprop:Generator_RowDeletedName="HicorderAnalogChannelRowDeleted" msprop:Generator_TableClassName="HicorderAnalogChannelDataTable" msprop:Generator_RowChangedName="HicorderAnalogChannelRowChanged" msprop:Generator_RowClassName="HicorderAnalogChannelRow" msprop:Generator_RowChangingName="HicorderAnalogChannelRowChanging" msprop:Generator_RowEvArgName="HicorderAnalogChannelRowChangeEvent" msprop:Generator_RowEvHandlerName="HicorderAnalogChannelRowChangeEventHandler" msprop:Generator_TablePropName="HicorderAnalogChannel" msprop:Generator_TableVarName="tableHicorderAnalogChannel" msprop:Generator_RowDeletingName="HicorderAnalogChannelRowDeleting">\r
+          <xs:complexType>\r
+            <xs:sequence>\r
+              <xs:element name="Channel" msprop:Generator_UserColumnName="Channel" msprop:Generator_ColumnPropNameInRow="Channel" msprop:Generator_ColumnVarNameInTable="columnChannel" msprop:Generator_ColumnPropNameInTable="ChannelColumn" type="xs:int" />\r
+              <xs:element name="Unit" msprop:Generator_UserColumnName="Unit" msprop:Generator_ColumnPropNameInRow="Unit" msprop:Generator_ColumnVarNameInTable="columnUnit" msprop:Generator_ColumnPropNameInTable="UnitColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Resolution" msprop:Generator_UserColumnName="Resolution" msprop:Generator_ColumnPropNameInRow="Resolution" msprop:Generator_ColumnVarNameInTable="columnResolution" msprop:Generator_ColumnPropNameInTable="ResolutionColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="Mode" msprop:Generator_UserColumnName="Mode" msprop:Generator_ColumnPropNameInRow="Mode" msprop:Generator_ColumnVarNameInTable="columnMode" msprop:Generator_ColumnPropNameInTable="ModeColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Range" msprop:Generator_UserColumnName="Range" msprop:Generator_ColumnPropNameInRow="Range" msprop:Generator_ColumnVarNameInTable="columnRange" msprop:Generator_ColumnPropNameInTable="RangeColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Position" msprop:Generator_UserColumnName="Position" msprop:Generator_ColumnPropNameInRow="Position" msprop:Generator_ColumnVarNameInTable="columnPosition" msprop:Generator_ColumnPropNameInTable="PositionColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="LPF" msprop:Generator_UserColumnName="LPF" msprop:Generator_ColumnPropNameInRow="LPF" msprop:Generator_ColumnVarNameInTable="columnLPF" msprop:Generator_ColumnPropNameInTable="LPFColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="AAF" msprop:Generator_UserColumnName="AAF" msprop:Generator_ColumnPropNameInRow="AAF" msprop:Generator_ColumnVarNameInTable="columnAAF" msprop:Generator_ColumnPropNameInTable="AAFColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Coupling" msprop:Generator_UserColumnName="Coupling" msprop:Generator_ColumnPropNameInRow="Coupling" msprop:Generator_ColumnVarNameInTable="columnCoupling" msprop:Generator_ColumnPropNameInTable="CouplingColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Trig" msprop:Generator_UserColumnName="Trig" msprop:Generator_ColumnPropNameInRow="Trig" msprop:Generator_ColumnVarNameInTable="columnTrig" msprop:Generator_ColumnPropNameInTable="TrigColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="TrigSetting" msprop:Generator_UserColumnName="TrigSetting" msprop:Generator_ColumnPropNameInRow="TrigSetting" msprop:Generator_ColumnVarNameInTable="columnTrigSetting" msprop:Generator_ColumnPropNameInTable="TrigSettingColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Comment" msprop:Generator_UserColumnName="Comment" msprop:Generator_ColumnPropNameInRow="Comment" msprop:Generator_ColumnVarNameInTable="columnComment" msprop:Generator_ColumnPropNameInTable="CommentColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Scaling" msprop:Generator_UserColumnName="Scaling" msprop:Generator_ColumnPropNameInRow="Scaling" msprop:Generator_ColumnVarNameInTable="columnScaling" msprop:Generator_ColumnPropNameInTable="ScalingColumn" type="xs:boolean" minOccurs="0" />\r
+              <xs:element name="ScalingEu" msdata:Caption="Scaling eu" msprop:Generator_UserColumnName="ScalingEu" msprop:Generator_ColumnPropNameInRow="ScalingEu" msprop:Generator_ColumnVarNameInTable="columnScalingEu" msprop:Generator_ColumnPropNameInTable="ScalingEuColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="ScalingEuPerV" msdata:Caption="Scaling EU/V" msprop:Generator_UserColumnName="ScalingEuPerV" msprop:Generator_ColumnPropNameInRow="ScalingEuPerV" msprop:Generator_ColumnVarNameInTable="columnScalingEuPerV" msprop:Generator_ColumnPropNameInTable="ScalingEuPerVColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="ScalingOffset" msprop:Generator_UserColumnName="ScalingOffset" msprop:Generator_ColumnPropNameInRow="ScalingOffset" msprop:Generator_ColumnVarNameInTable="columnScalingOffset" msprop:Generator_ColumnPropNameInTable="ScalingOffsetColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="Variable" msprop:Generator_UserColumnName="Variable" msprop:Generator_ColumnPropNameInRow="Variable" msprop:Generator_ColumnVarNameInTable="columnVariable" msprop:Generator_ColumnPropNameInTable="VariableColumn" type="xs:boolean" minOccurs="0" />\r
+              <xs:element name="VariableUpper" msprop:Generator_UserColumnName="VariableUpper" msprop:Generator_ColumnPropNameInRow="VariableUpper" msprop:Generator_ColumnVarNameInTable="columnVariableUpper" msprop:Generator_ColumnPropNameInTable="VariableUpperColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="VariableLower" msprop:Generator_UserColumnName="VariableLower" msprop:Generator_ColumnPropNameInRow="VariableLower" msprop:Generator_ColumnVarNameInTable="columnVariableLower" msprop:Generator_ColumnPropNameInTable="VariableLowerColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="Vernier" msprop:Generator_UserColumnName="Vernier" msprop:Generator_ColumnPropNameInRow="Vernier" msprop:Generator_ColumnVarNameInTable="columnVernier" msprop:Generator_ColumnPropNameInTable="VernierColumn" type="xs:int" minOccurs="0" />\r
+              <xs:element name="Expand" msprop:Generator_UserColumnName="Expand" msprop:Generator_ColumnPropNameInRow="Expand" msprop:Generator_ColumnVarNameInTable="columnExpand" msprop:Generator_ColumnPropNameInTable="ExpandColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Graph" msprop:Generator_UserColumnName="Graph" msprop:Generator_ColumnPropNameInRow="Graph" msprop:Generator_ColumnVarNameInTable="columnGraph" msprop:Generator_ColumnPropNameInTable="GraphColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="Calcurate" msprop:Generator_UserColumnName="Calcurate" msprop:Generator_ColumnPropNameInRow="Calcurate" msprop:Generator_ColumnVarNameInTable="columnCalcurate" msprop:Generator_ColumnPropNameInTable="CalcurateColumn" type="xs:string" minOccurs="0" />\r
+              <xs:element name="MeasurementScale" msprop:Generator_UserColumnName="MeasurementScale" msprop:Generator_ColumnPropNameInRow="MeasurementScale" msprop:Generator_ColumnVarNameInTable="columnMeasurementScale" msprop:Generator_ColumnPropNameInTable="MeasurementScaleColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="MeasurementOffset" msprop:Generator_UserColumnName="MeasurementOffset" msprop:Generator_ColumnPropNameInRow="MeasurementOffset" msprop:Generator_ColumnVarNameInTable="columnMeasurementOffset" msprop:Generator_ColumnPropNameInTable="MeasurementOffsetColumn" type="xs:double" minOccurs="0" />\r
+              <xs:element name="Data" msdata:DataType="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="Data" msprop:Generator_ColumnPropNameInRow="Data" msprop:Generator_ColumnVarNameInTable="columnData" msprop:Generator_ColumnPropNameInTable="DataColumn" type="xs:anyType" minOccurs="0" />\r
+            </xs:sequence>\r
+          </xs:complexType>\r
+        </xs:element>\r
+      </xs:choice>\r
+    </xs:complexType>\r
+    <xs:unique name="Constraint1" msdata:PrimaryKey="true">\r
+      <xs:selector xpath=".//mstns:HicorderAnalogChannel" />\r
+      <xs:field xpath="mstns:Channel" />\r
+    </xs:unique>\r
+  </xs:element>\r
+</xs:schema>
\ No newline at end of file
diff --git a/Karinto/Xml/Hioki.xss b/Karinto/Xml/Hioki.xss
new file mode 100755 (executable)
index 0000000..9c42c48
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--<autogenerated>\r
+     This code was generated by a tool to store the dataset designer's layout information.\r
+     Changes to this file may cause incorrect behavior and will be lost if\r
+     the code is regenerated.\r
+</autogenerated>-->\r
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">\r
+  <Shapes>\r
+    <Shape ID="DesignTable:HicorderSettings" ZOrder="2" X="180" Y="259" Height="205" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="201" />\r
+    <Shape ID="DesignTable:HicorderAnalogChannel" ZOrder="1" X="463" Y="212" Height="415" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="411" />\r
+  </Shapes>\r
+  <Connectors />\r
+</DiagramLayout>
\ No newline at end of file
diff --git a/KarintoTest/HiokiHicorderDataReaderTest.cs b/KarintoTest/HiokiHicorderDataReaderTest.cs
new file mode 100755 (executable)
index 0000000..5cfa93b
--- /dev/null
@@ -0,0 +1,35 @@
+/*\r
+ *     Karinto Library Project\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Diagnostics;\r
+using Karinto;\r
+using NUnit.Framework;\r
+using AnalogChannel = Karinto.Xml.Hioki.HicorderAnalogChannelRow;\r
+\r
+namespace KarintoTest\r
+{\r
+    [TestFixture]\r
+    public class HiokiHicorderDataReaderTest\r
+    {\r
+\r
+        [Test]\r
+        public void Read()\r
+        {\r
+            HiokiHicorderDataReader reader = new HiokiHicorderDataReader();\r
+            HiokiHicorderData data = reader.Read("Resources/hioki.mem");\r
+\r
+            Assert.AreEqual("KarintoTest", data.Settings.Title);\r
+\r
+            AnalogChannel ch1 = data.ChannelData[1];\r
+            Assert.AreEqual(data.Ch1, ch1);\r
+            Assert.AreEqual(0.84, ch1[0], 1e-20);\r
+        }\r
+    }\r
+}\r
index 94644c5..5dc01b7 100755 (executable)
     <Compile Include="Properties\AssemblyInfo.cs" />\r
     <Compile Include="ComplexTest.cs" />\r
     <Compile Include="FftTest.cs" />\r
+    <Compile Include="HiokiHicorderDataReaderTest.cs" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="app.config" />\r
+    <None Include="Resources\hioki.mem">\r
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r
+    </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ProjectReference Include="..\Karinto\Karinto.csproj">\r
diff --git a/KarintoTest/Resources/hioki.mem b/KarintoTest/Resources/hioki.mem
new file mode 100755 (executable)
index 0000000..a5b454a
Binary files /dev/null and b/KarintoTest/Resources/hioki.mem differ