Пример #1
0
        private void Btn_save_Click(object sender, EventArgs e)
        {
            if (tview_objects.SelectedNode.Text != tbox_vname.Text)
            {
                builder.RenameObjectHolder(tview_objects.SelectedNode.Text, tbox_vname.Text);
                tview_objects.SelectedNode.Text = tbox_vname.Text;
            }

            string vname = tbox_vname.Text;

            builder.ChangeDataType(vname, cbox_dtype.Text);

            if (cbox_null.Checked)
            {
                builder.SetNull(vname);
            }
            else
            {
                dynamic data;

                switch (cbox_dtype.Text)
                {
                case "empty":
                    builder.SetNull(vname);
                    break;

                case "boolean":
                    data = new byte[1];
                    switch (tbox_valued.Text)
                    {
                    case "true": data[0] = 0x01; break;

                    case "false": data[0] = 0x00; break;

                    default: throw new Exception("Not Allowed Value");
                    }
                    builder.SetBytes(vname, data);
                    break;

                case "int32":
                    data = int.Parse(tbox_valued.Text);
                    builder.SetBytes(vname, BitConverter.GetBytes(data));
                    break;

                case "uint32":
                    data = uint.Parse(tbox_valued.Text);
                    builder.SetBytes(vname, BitConverter.GetBytes(data));
                    break;

                case "int64":
                    data = long.Parse(tbox_valued.Text);
                    builder.SetBytes(vname, BitConverter.GetBytes(data));
                    break;

                case "uint64":
                    data = ulong.Parse(tbox_valued.Text);
                    builder.SetBytes(vname, BitConverter.GetBytes(data));
                    break;

                case "binary":
                    data = Convert.FromBase64String(tbox_valued.Text);
                    builder.SetBytes(vname, data);
                    break;

                case "utf8":
                    data = Encoding.UTF8.GetBytes(tbox_valued.Text);
                    builder.SetBytes(vname, data);
                    break;
                }
            }
        }