質問編集履歴

1

説明文の補足

2016/07/27 04:39

投稿

ncncup
ncncup

スコア13

test CHANGED
File without changes
test CHANGED
@@ -26,15 +26,11 @@
26
26
 
27
27
  16進数を入力して送信して狙った豆電球を点灯できるのですが、
28
28
 
29
- テキスト送信で "ms,1" で豆電球1だけをを点灯し、"mr,1" で消灯する、同じく"ms,2"で点灯し、"mr,2"で消灯する
29
+ テキスト送信で "ms,1" と入力し送信したらで豆電球1だけをを点灯し、"mr,1" で消灯する、同じく"ms,2"で豆電球2が点灯し、"mr,2"で消灯する
30
-
31
- ということができず変な感じに点灯しています。
30
+
32
-
33
-
34
-
35
- もしかしら"ms,1"も16進数に変換されてしまうからでしょうか?
31
+ という風にできていのですが、16進数に変換されて送信されて"ms,1"入力で豆電球1だけを点滅させるのが他の豆電球も点灯てしいます。
36
-
32
+
37
- ms,1 やmr,2という文字は16進数に変換せずにそのまま送信したいのです
33
+ ms,1 やmr,1などの文字は16進数に変換せずにそのまま送信したいのです
38
34
 
39
35
 
40
36
 
@@ -130,6 +126,8 @@
130
126
 
131
127
  }
132
128
 
129
+
130
+
133
131
  //! テキストボックスから、送信するテキストを取り出す
134
132
 
135
133
  String data = sndTextBox.Text;
@@ -152,12 +150,16 @@
152
150
 
153
151
  {
154
152
 
153
+
154
+
155
155
  //! シリアルポートからテキストを送信する.
156
156
 
157
157
  serialPort1.Write(data + "\n");
158
158
 
159
159
  int startIndex = data.IndexOf(",");
160
160
 
161
+
162
+
161
163
  if (startIndex > -1)
162
164
 
163
165
  {
@@ -168,6 +170,8 @@
168
170
 
169
171
  int value = Convert.ToInt32(tValue, 16);
170
172
 
173
+
174
+
171
175
  for (int i = 1; i <= 16; i++)
172
176
 
173
177
  {
@@ -176,6 +180,8 @@
176
180
 
177
181
  Control[] cs = this.Controls.Find("CheckBox" + i.ToString(), true);
178
182
 
183
+
184
+
179
185
  //チェック対象ビットに1が立っていればチェックオン、0ならチェックオフ
180
186
 
181
187
  ((CheckBox)cs[0]).Checked = ((value & (1 << (i - 1))) > 0);