- ベストアンサー
arrayについて
私はVBでarrayを使ってお天気プログラムというものを作りたいんですが初心者なのでいまいちどのようにコードを組めばいいかわかりません。 月曜日から日曜日までの天気の情報が曜日ごとに表示されるプログラムのことで、テキストファイルにある風速、最高温度、最低温度をラベルに表示させたいのですがどのようなコードを書けばいいんでしょうか?? 例えばメニューバーに月曜日から日曜日をつくり、月曜日をクリックしたら月曜日の風速、最高気温、最低気温をラベルに表示させるようにしたいんですけど。。 まずメニューにLoadをつくり、曜日ごとに天気のデータが載っているテキストファイルの内容をメニューバーのLoadから表示させたい時どのようなコードを組めばいいんですか?? またarrayのコードをどのように組めばいいんですか?? ホントに分からないので教えてください!!!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
丸投げでは回答のしようがないと思います。 そこで、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 を参照するように設定する必要在り!
その他の回答 (2)
s_husky です。 http://www.vbstation.net/spec/T3.htm http://www.bcap.co.jp/hanafusa/dotnet/sonota00.htm .net の参考になるだろうページを紹介しておきます。
- frogeye
- ベストアンサー率47% (11/23)
VB といってもバージョンによって回答が異なってくると思います。 使っているVBのバージョン(VSのバージョンでも可)を教えてください。 困っているのは分かりますし、混乱しているとは思いますが、まずは状況を整理してください。 ちなみに、VB6だと、arrayクラスはありませんから、単純に配列を使います。 Dim Wt(7) As String Wt(0) = "晴れ" のような感じです。 それ以降(VB.NET)であればStringCollectionあたりがつかえると思います。MSDNで探してみてください。 メニューに関してはメニューにLoadの項目を作って、そのクリックイベントに動作を記述することになると思います。
お礼
私の使っているバージョンはVB.NETです。 この場合どのようなarrayを作ればいいんでしょうか??
お礼
ありがとうございます!! 私自身もうまく質問できなくてすいません!! すごくわかりやすいのですがVB.NETの場合も同じように書けばいいのですか??