CRS - 配列
配列へ要素を追加したい
配列に要素を追加する場合は、配列内で利用していない要素番号または文字列(キー)を指定し、値を代入します。
Arrayクラスの場合は、pushメソッドを利用してまとめて複数の要素を末尾に追加することが可能です。
1.Arrayクラス
Form Array { x = 0; y = 0; width = 400; height = 597; # 配列 Array arr1; arr1[0] = "ABC"; arr1[1] = "あいう"; arr1[2] = "123"; Label label1 { x = 36; y = 33; width = 322; height = 31; value = "配列の内容(デフォルト):ABC/あいう/123"; horizontalAlign = ALIGN_CENTER; verticalAlign = ALIGN_MIDDLE; bgColor = Color.WHITE; border = true; } EditBox editbox1 { x = 30; y = 176; width = 326; height = 157; } Button button1 { x = 112; y = 82; width = 244; height = 35; title = "末尾にデータ:99999を追加"; function onTouch(e) { /* 末尾の要素を追加 */ ^.arr1.push("99999"); # 取得した各要素のvalue値をEditBoxに表示 ^.setEditbox(); } } Button button2 { x = 112; y = 128; width = 244; height = 35; title = "要素番号3にデータ:88888を追加"; function onTouch(e) { # 添え字に要素番号を指定してデータを追加 ^.arr1[3] = "88888"; # 取得した各要素のvalue値をEditBoxに表示 ^.setEditbox(); } } Button button3 { x = 128; y = 344; width = 228; height = 35; title = "初期化"; function onTouch(e) { # arrayの初期化 ^.arr1.erase(); ^.arr1[0] = "ABC"; ^.arr1[1] = "あいう"; ^.arr1[2] = "123"; # editboxの初期化 ^.setEditbox(); } } Function setEditbox(){ editbox1.value = ""; var i; for (i in arr1) { # 取得した各要素のvalue値をEditBoxに表示 editbox1 = editbox1 + str(i) + "番目:" + arr1[i] + "\r\n"; } } if (!Application.DESIGNTIME) { # editbox表示設定 this.setEditbox(); } }
2.Mapクラス
Form Map { x = 0; y = 0; width = 400; height = 597; # 配列 Map mp; mp["data1"] = "データ1"; mp["data2"] = "データ2"; mp["data3"] = "データ3"; Label label1 { x = 28; y = 33; width = 322; height = 31; value = "配列の内容(デフォルト):データ1/データ2/データ3"; horizontalAlign = ALIGN_CENTER; verticalAlign = ALIGN_MIDDLE; bgColor = Color.WHITE; border = true; } Label label2 { x = 80; y = 80; width = 112; height = 24; value = "追加要素(key)"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_RIGHT; } Label label3 { x = 80; y = 122; width = 112; height = 24; value = "追加要素(value)"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_RIGHT; } TextBox textbox1 { x = 200; y = 80; width = 146; height = 27; } TextBox textbox2 { x = 200; y = 122; width = 146; height = 27; } EditBox editbox1 { x = 22; y = 207; width = 326; height = 157; } Button button1 { x = 144; y = 162; width = 204; height = 35; title = "入力した内容で要素を追加"; function onTouch(e) { # textboxに入力した内容で配列に新しい要素を追加する var txt1 = ^.textbox1.value; var txt2 = ^.textbox2.value; if((txt1 == "") || (txt2 == "")){ //.messageBox("keyとvalueの両方を入力してください。"); return; } ^.mp[txt1] = txt2; var len = ^.mp.length; var i; # 配列内容、要素数をeditboxに表示 ^.setEditbox(); ^.editbox1.value = ^.editbox1 + "要素数:" + str(len); } } Button button2 { x = 118; y = 392; width = 228; height = 35; title = "初期化"; function onTouch(e) { # mapの初期化 ^.mp.erase(); ^.mp["data1"] = "データ1"; ^.mp["data2"] = "データ2"; ^.mp["data3"] = "データ3"; # editboxの初期化 ^.setEditbox(); } } Function setEditbox(){ editbox1.value = ""; var i; # 取得した各要素の値をEditBoxに表示 # ※for-in文で取り出される順序は不定です for (i in mp) { editbox1 += "添え字(キー):" +str(i) +" 値:" + mp[i] + "\r\n"; } } if (!Application.DESIGNTIME) { # editbox表示設定 this.setEditbox(); } }
Biz-Collections Bizの宝箱 トップへ
Biz/Browser DT・Biz/Designer DT TIPS集 トップへ