NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

文字列を配列に入れる

解決済み
解決策を見る

標記の件、

配列に文字列1つと数字2つを格納したいと考えています。

そしてWhileループで配列に貯めていくようなことをしたいです

 

(例)

abc 30 20

bcd 39   10

wde   10 19

・・・

 

以下のようなコードを書いているのですが、

文字列が数字に変換されてしまい、うまくいきません。

「要素」の表示器には文字列が表示されます。

 

ご教授お願いします。

 

sannpuru.JPG

0 件の賞賛
メッセージ1/6
3,919件の閲覧回数
解決策
トピック作成者sakana55が受理

まず「スプレッドシート文字列を配列に変換」関数ですが、左下の配列タイプ入力端子に接続している配列の型で出力の型が決まります。デフォルトではスクリーンショットのようにDBLの1次元配列ですが、この部分を文字列の1次元配列定数に変更すると、出力も文字列配列になります。

 

次に、残り2つの入力端子は配線が逆です。左上が形式文字列、その下がスプレッドシート文字列になります。

 

最終的に文字列と数値の配列になるようですが、この場合は数値を文字列に変換する関数で文字列に変換しないと、最終的に配列にはならないと思います。上記の修正をして文字列配列となった場合は、次の「配列連結追加」関数で配線が壊れます。これは、数値と文字列の組み合わせを1つの配列にできないからです。数値を一旦文字列に変換して扱うか、クラスタにまとめる必要がございます。

0 件の賞賛
メッセージ2/6
3,876件の閲覧回数

NI 上野様

 

ありがとうございました。

教えていただいたやり方でうまくいきました。

 

もう一つ相談ですが、

開発したVIの数が増えていて、管理が困っています。

例えば、

①A_subVIをMain1_VI、Main2_VIで使っていたとすると、Main1_VIでA_subVIを編集すると、Main2_VIに反映してしまっていて

 Main2_VIのコードがエラーになる

➁個別フォルダで管理とプロジェクトで管理することの使い分けがわからない。個別フォルダで管理だとVIをコピペして増えてしまう・・

 

などあるのですが、どのように管理すれば、効率がよいかアドバイスを頂きたいです。

 

0 件の賞賛
メッセージ3/6
3,846件の閲覧回数

配線がうまくいったようで安心しました。

 

ソフトウェア管理についての回答は以下のとおりです。

 

1. この場合は、サブVIを2つのメインVIでも使えるように汎用性を持たせるように作成するか、今のサブVIはテンプレートのようにして、各メインVI用に別々のサブVIに分ける必要があります。

 

2. ソースコード管理方法はさまざまあり、開発人数やプロジェクトの規模、アプリケーションのコード量によっても異なるので、それぞれの要件にあった手法、自分がやりやすい手法を選択したほうがいいと思います。

 

プロジェクトエクスプローラを使用した手法に関しては下記のページが参考になると思います。

 

個人的には、一人だけでローカル保存する場合は、以下のようにしています。

  • プロジェクトごとにフォルダ分けする
    (共有利用できるサブVIは別のフォルダにまとめておく)
  • ファイル名の命名規約と統一し、バージョンや日付で変更やバックアップとしてファイルを残す
  • アプリケーションが大きくなる場合、EXEを作成する場合、仕様書があり大規模になることが想定されている場合は、プロジェクトエクスプローラを最初から使用する
  • 場合によっては、途中からプロジェクト化する
    (メインVIを開いておき、ファイルメニュー > プロジェクトを作成 を選択し、ブランクプロジェクトを作成します。途中で開いているVIを追加するかを選択できるダイアログが表示されますので、追加することで自動でサブVIごと追加されます。)
  • 共通利用できるサブVIを含むプロジェクトごとをバックアップや移行する場合は、ZIPファイル化する
    (プロジェクトエクスプローラのビルド仕様を右クリックして、新規 > Zipファイルより作成できます。)
0 件の賞賛
メッセージ4/6
3,824件の閲覧回数

NI 上野様

 

プロジェクトごとにフォルダ分けして管理していこうと思います。

ありがとうございます。引き続きどうぞよろしくお願いします。

 

0 件の賞賛
メッセージ5/6
3,813件の閲覧回数

こちらこそ今後ともよろしくお願い申し上げます。

0 件の賞賛
メッセージ6/6
3,803件の閲覧回数