回答編集履歴

2

2

2016/07/27 02:13

投稿

takasima20
takasima20

スコア7460

test CHANGED
@@ -31,3 +31,49 @@
31
31
  }
32
32
 
33
33
  ```
34
+
35
+ --- 追加2 ---
36
+
37
+
38
+
39
+ 画面をいじらないってんならこんな感じで
40
+
41
+ ```C#
42
+
43
+ try {
44
+
45
+ //! シリアルポートからテキストを送信する.
46
+
47
+ serialPort1.Write(data +"\n");
48
+
49
+ int startIndex = data.IndexOf(",");
50
+
51
+ if (startIndex > -1) {
52
+
53
+ startIndex = startIndex + 1; // 開始位置","の次の文字
54
+
55
+ string tValue = data.Substring(startIndex);
56
+
57
+ int value = Convert.ToInt32(tValue, 16);
58
+
59
+ for (int i = 1; i <= 16; i++) {
60
+
61
+ //画面上の処理対象チェックボックスコントロールを特定
62
+
63
+ Control[] cs = this.Controls.Find("CheckBox" + i.ToString(), true);
64
+
65
+ //チェック対象ビットに1が立っていればチェックオン、0ならチェックオフ
66
+
67
+ ((CheckBox)cs[0]).Checked = ((value & (1 << (i - 1))) > 0);
68
+
69
+ }
70
+
71
+ }
72
+
73
+ } catch (Exception ex) {
74
+
75
+ MessageBox.Show(ex.Message);
76
+
77
+ }
78
+
79
+ ```

1

1

2016/07/27 02:13

投稿

takasima20
takasima20

スコア7460

test CHANGED
@@ -1,6 +1,6 @@
1
1
  必ずカンマがあるという前提だからスね。
2
2
 
3
- ```
3
+ ```C#
4
4
 
5
5
  int startIndex = data.IndexOf(",") + 1; // 開始位置","の次の文字
6
6
 
@@ -9,3 +9,25 @@
9
9
  ```
10
10
 
11
11
  カンマの有無を判定して処理を分ければいいと思います。
12
+
13
+ --- 追加 ---
14
+
15
+
16
+
17
+ 例えばこんな感じでどうスかね。
18
+
19
+ ```C#
20
+
21
+ string tValue = data;
22
+
23
+ int startIndex = data.IndexOf(",");
24
+
25
+ if (startIndex > -1) {
26
+
27
+ startIndex = startIndex + 1; // 開始位置","の次の文字
28
+
29
+ tValue = data.Substring(startIndex);
30
+
31
+ }
32
+
33
+ ```