そうしのVC#2015日記

おっちゃんがC#始めてみたよ

VC#2015覚え書き

VC#でプログラム作っている時の覚え書き(初心者マーク付き)

DOUBLEを配列におとして表示 配列をDOUBLE形式に戻す

USHORTを配列におとして表示 配列をUSHORT形式に戻す

 

画面はこんな感じ 

f:id:ksssd008:20170713175359p:plain

プログラムはこんな感じ(追加したのは赤文字)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public byte barr = new byte[8];


public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
double d = double.Parse(textBox1.Text);
barr = System.BitConverter.GetBytes(d);
string sarr = (from a in barr select a.ToString("X2")).Reverse().ToArray();
textBox2.Text = string.Join("", sarr);
}

private void button2_Click(object sender, EventArgs e)
{
double d = BitConverter.ToDouble(barr, 0);
textBox3.Text = d.ToString();
}

private void button3_Click(object sender, EventArgs e)
{
ushort ui = ushort.Parse(textBox1.Text);
barr = System.BitConverter.GetBytes(ui);
string[] sarr = (from a in barr select a.ToString("X2")).Reverse().ToArray();
textBox2.Text = string.Join("", sarr);
}

private void button4_Click(object sender, EventArgs e)
{
ushort ui = BitConverter.ToUInt16(barr, 0);
textBox3.Text = ui.ToString();
}
}

}

用途 RS-232C通信でDOUBLE型を8バイトにUSHORT型を2バイトに保存して呼び出して元に戻すために使用

対象機器

ロジカルプロダクト社 ワイヤレス8chロガー用

DOUBLE 外部機器固有設定(8バイトx8ch=64バイト)

ushort 補正値キー(2バイトx8ch=16バイト)

 

いろいろ試してるが 外部機器固有設定は使用できないみたい*1

*1:+_+