「プロパティの追加」を使用して、realBASIC プロジェクトで使用するグローバル配列を作成するためのヒントはありますか? 下の写真は私の試みです。
http://i17.photobucket.com/albums/b52/orubap/basic.jpg (編集: リンク切れ)
camModel(1) を使用するとコンパイルおよび実行されますが、何も返されません。camModel(4) を使用すると範囲外のエラーがスローされるため、途中であると推測しています。
提案?
「プロパティの追加」を使用して、realBASIC プロジェクトで使用するグローバル配列を作成するためのヒントはありますか? 下の写真は私の試みです。
http://i17.photobucket.com/albums/b52/orubap/basic.jpg (編集: リンク切れ)
camModel(1) を使用するとコンパイルおよび実行されますが、何も返されません。camModel(4) を使用すると範囲外のエラーがスローされるため、途中であると推測しています。
提案?
コードはコンパイルされますが、これは配列を初期化する有効な方法ではありません。少なくとも、そうすることはマニュアルのどこにも言及されていません。エラーとしてフラグを立てるのではなく、コンパイラは静かに失敗していると言えます。App.Open などの init メソッドを介して値を配置する必要があります。また、初期化中であっても、配列のインデックスは 0 ベースであることを忘れないでください。したがって、指定したコードに従って、3 つの値の配列プロパティを宣言します。
camModel(2) as String
そして App.Open イベントで:
camModel(0) = "Nikon"
camModel(1) = "Sony"
camModel(2) = "Philips"
ただし、私がそれを行う場合、次のようにプロパティを宣言します。
camModel(-1) as String
次に、Array 関数を入力します。
camModel = Array("Nikon", "Sony", "Philips")
そうすれば、後でモデルを追加することができ、毎回配列の境界を気にする必要がなくなります。
「プロパティの追加」機能を使用してグローバル変数にアクセスする場合は、新しいモジュールを作成するだけです。次に、どこからでもアクセスできるプロパティをモジュールに追加できます。
名前空間をきれいに保つために、プロパティへのアクセスを制限したい場合があります。グローバルでは、を使用するだけでプロパティにアクセスできますが、アクセスYourVariableName
許可を保護 (黄色の三角形の記号) に変更することもできるため、入力YourModuleName.YourVariableName
して変数にアクセスする必要があります。それは物事を少しきれいに保ちます。
したがって、モジュールを作成し、[プロパティの追加] をクリックして、たとえばYourArrayName(-1)
asを宣言することにより、グローバル配列を簡単に作成できます。Integer
標準の配列関数 (ubound、append、remove など) を使用して、配列内の任意の項目を追加、削除、および変更できます。