• ベストアンサー

arrayについて

私はVBでarrayを使ってお天気プログラムというものを作りたいんですが初心者なのでいまいちどのようにコードを組めばいいかわかりません。 月曜日から日曜日までの天気の情報が曜日ごとに表示されるプログラムのことで、テキストファイルにある風速、最高温度、最低温度をラベルに表示させたいのですがどのようなコードを書けばいいんでしょうか?? 例えばメニューバーに月曜日から日曜日をつくり、月曜日をクリックしたら月曜日の風速、最高気温、最低気温をラベルに表示させるようにしたいんですけど。。 まずメニューにLoadをつくり、曜日ごとに天気のデータが載っているテキストファイルの内容をメニューバーのLoadから表示させたい時どのようなコードを組めばいいんですか?? またarrayのコードをどのように組めばいいんですか?? ホントに分からないので教えてください!!!

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.2

丸投げでは回答のしようがないと思います。 そこで、Array関数の使用例とテキストファイルの配列への取り込み要領のみを示しておきます。 <Array関数サンプル: VB6.0> Private Sub Command1_Click()   Dim MyWeek, MyDay      MyWeek = Array("月曜日", "火曜日", "水曜日", "木曜日", "金曜日i", "土曜日", "日曜日")   MyDay = MyWeek(2)   Debug.Print MyDay End Sub [イミディエイトウィンドウ] 水曜日 <天気情報.txtのリードサンプル: VB6.0> 10m, 25℃,12℃ 11m, 26℃,11℃ 12m, 26℃,10℃ 13m, 27℃,13℃ このようなテキストを配列変数に読み込むには、FileReadArray関数を利用すれば僅か1行でOKです。 Private Sub コマンド0_Click()   Dim I    As Integer   Dim N    As Integer   Dim Datas() As String      Datas() = FileReadArray("C:\Temp\天気情報.txt")   N = UBound(Datas())   For I = 0 To N     Debug.Print Datas(I)   Next I End Sub [イミディエイトウィンドウ] 10m, 25℃,12℃ 11m, 26℃,11℃ 12m, 26℃,10℃ 13m, 27℃,13℃ Public Function FileReadArray(ByVal FileName As String) As String() On Error GoTo Err_FileReadArray    Dim fso    As FileSystemObject    Dim fil    As File    Dim txs    As TextStream    Dim strText  As String    Dim strTexts() As String       Set fso = New FileSystemObject    Set fil = fso.GetFile(FileName)    Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)    strText = txs.ReadAll    strTexts = Split(strText, Chr$(13) & Chr$(10)) Exit_FileReadArray:    FileReadArray = strTexts()    Exit Function Err_FileReadArray:    MsgBox Err.Description & "(FileReadArray)", vbExclamation, " 関数エラーメッセージ"    strTexts() = Split("")    Resume Exit_FileReadArray End Function <注意>Microsoft Scripting Runtime を参照するように設定する必要在り!

runrun010
質問者

お礼

ありがとうございます!! 私自身もうまく質問できなくてすいません!! すごくわかりやすいのですがVB.NETの場合も同じように書けばいいのですか??

その他の回答 (2)

noname#22222
noname#22222
回答No.3

s_husky です。 http://www.vbstation.net/spec/T3.htm http://www.bcap.co.jp/hanafusa/dotnet/sonota00.htm .net の参考になるだろうページを紹介しておきます。

  • frogeye
  • ベストアンサー率47% (11/23)
回答No.1

VB といってもバージョンによって回答が異なってくると思います。 使っているVBのバージョン(VSのバージョンでも可)を教えてください。 困っているのは分かりますし、混乱しているとは思いますが、まずは状況を整理してください。 ちなみに、VB6だと、arrayクラスはありませんから、単純に配列を使います。 Dim Wt(7) As String Wt(0) = "晴れ" のような感じです。 それ以降(VB.NET)であればStringCollectionあたりがつかえると思います。MSDNで探してみてください。 メニューに関してはメニューにLoadの項目を作って、そのクリックイベントに動作を記述することになると思います。

runrun010
質問者

お礼

私の使っているバージョンはVB.NETです。 この場合どのようなarrayを作ればいいんでしょうか??

関連するQ&A