• ベストアンサー

配列について

今VBを勉強しています。 気温や風圧、空の状態のデータを曜日毎に表示させるプログラムを作らなければなりません。気温や風圧などをメモ帳に書いた一週間のデータをDesignの中にあるラベルにセットで表示させたいのですがやりかたがわかりません・・・どうすればメモ帳に書いてあるデータを一度に全てのラベルに表示させることができますか?あとできればどのようにしてコードを打つかも教えてください。お願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

>配列について 必ずしも配列を使わなくてもいい(済む)のでは。 >Designの中にあるラベル フォームに貼り付けたラベルですか。何個貼り付けますか。 デザインモードのデザインですか。デザインの中というのは見たことなし。 >全てのラベルに表示させることができますか 普通は1日分を表示して、次へボタンなどをクリックすると、翌日の観測データが表示されるようなのが多い(絶対これだとはいえませんが)どうですか。 それとも1つのラベルに改行して、メモ帳の読み込み字の見かけのように 表示するのでしょうか。 >あとできればどのようにしてコードを打つかも 「コードを打つ」というのも当り見たことないです。プログラムコードを載せてほしいということですか。 コード以前の問題として (1)メモ帳はファイルとして、保存します その前に項目区切りと、囲う文字(”・・・”)などの、仕様を決めます エクセルのデーター区切り位置で出てくる、考えが参考になります。 テキスト形式のファイルの形式が少し違ったもの数種あります。 (2)そのファイルを読んで、区切り文字やフィールド長を基に、各フィールド項目に分けて、変数にセットします。この際配列に記憶させる方法も あります。 #2のご回答のLineInputやVBのLineInput#1 で改行までを読み込んで、各項目に分解します。 (3)それら項目の値をラベルの「Caption」プロパティに代入します。 ラベルがコントロール配列になっていれば、コードは繰り返しが使えて短くなります。

yuzupati
質問者

お礼

回答ありがとうございました。参考にさせていただきます。

その他の回答 (3)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.3

では一例を示します。 1.Textboxを準備してプロパティでmultilineを選択。 2.CommadButtonを準備する。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim filenum As Integer Dim readline As String Const openfile As String = "C:\hogeh.txt" TextBox1.Text = "" filenum = FreeFile() Try FileOpen(filenum, openfile, OpenMode.Input) Do Until EOF(filenum) readline = LineInput(filenum) TextBox1.Text = TextBox1.Text & readline & vbCrLf Loop Catch MsgBox("エラー") Finally FileClose(filenum) End Try End Sub

yuzupati
質問者

お礼

回答ありがとうございました。参考にさせていただきます。

回答No.2

VBのバージョンが書いてませんが、 .NETであれば、これの下のほうを参考に。 http://dobon.net/vb/dotnet/file/readfile.html ファイルのレイアウトがどうなっているのか分かりませんが、もし、 [気温,風圧,空の状態]のようなデータなら、 Dim list() As String = Split(sr.ReadLine(), ",") でlistに気温,風圧,空の状態の配列が作成できます。

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

全てを一気に解決しようとせず、問題を分割して一つ一つクリアしましょう。 問題を見る限り、  1)メモ帳からデータを読み込む  2)読み込んだデータをプログラムの中で一時的に保管する  3)ラベルに保管したデータを設定して表示する  4)上記の作業を複数のデータの場合に行う という段階を踏んでいるように見えます。 どの段階がどれくらいのレベルでわかって、何がわからないのかをはっきりさせましょう。 プログラムを作るうえで機能を分割する考え方は重要です。

yuzupati
質問者

補足

回答ありがとうございます。 きちんと段階を踏まなければいけなかったんですね。 では、まず最初の「メモ帳からデータを読み込む」とゆうのは、どのようにすればいいんでしょうか?

関連するQ&A

  • 配列

    数日前に配列について質問したんですが質問の内容がうまく書けなかったので詳しく書きます。 私はVB.NETを使っています。 Monday,晴,南西,12,88,66 Tuesday,晴曇,南,3,90,77 Wednesday,曇,南東,6,88,56 Thursday,雪,北,15,66,44 Friday,雨,北東,12,70,55 Saturday,雷,東,9,72,56 Sunday,快晴,西,10,77,69 このようなデータが書かれたテキストファイルがあります。 これは曜日、天気の状態、風向き、風速、最高気温、最低気温を表しています。 またメニューバーに”ファイル”、”曜日”を作ります。 ファイルの中には”読み込み”と”終了”を作り、 曜日の中には月、火、水、木、金、土、日を作ります まずファイルの読み込みを押したら月曜日のデータが項目ごとのラベルに表示されるようなプログラムを作りたいんです。   このような感じに・・   状態    晴   風向き   南西   風速    12   最高気温  88   最低気温  66 またメニューの曜日の中で例えば水曜日を押したら水曜日のデータが上と同じように表示されるようにもしたいんです。 このようなプログラムを作りたい時・・ 1.このような配列を作る時どのようなコードになりますか? 2.Private Sub Form1_Load はどのようなコードを組めばいいですか? 最近VBを勉強し始めて一番ここが知りたいんです。 ここのコードの作り方がわからなければ先に進めません。。 ホントに質問が丸投げですいません(><。) でも、できればこのプログラムのコードを教えてください!お願いします。

  • arrayについて

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

  • VB2008によるコントロール配列

    VB初心者でただ今勉強中です。VB2008です。 Form1の中にたくさん(100個くらい)の星(ビットマップデータ)をちりばめ、その星がランダムに点いたり消えたりするプログラムを作成しようとしています。 フォームにPictureBoxを配置して(星.bmp)とします。 その星を100個フォーム上にちりばめたいのですがPictureBoxを100個も置くのはムダな労力です。 それで配列を使いたいのですが、PictureBoxを1つだけフォームに配置してそれをコード上で配列として使う方法がわかりません。 いろいろ調べてみたのですが初心者にはわからない説明ばっかりで途方に暮れています。

  • VB Textboxの数字を判別する方法

    VisualVasic初心者です。下記のコードについて教えてください。 Textboxに数字を入力し、その数値によりラベルに表示される文字が変わるというプログラムを作りたいのですが、コードがわかりません。 Textboxに1と入力し、ボタンを押すとラベル1に「りんご」と表示される。 TextBoxに2と入力し、ボタンを押すとラベル2に「みかん」と表示される。 VB2005を使用しています。

  • VB2008 SQL Server2005 連携

    Win Xp HEで VB2008 Express Edition と Sql Server 2005 EDで データベース プログラムの練習をしています。  vb2008で新しいプロジェクトを作成し プロジェクト メニュから ローカルデータベースを選択すると「ローカル データファイルの 接続に 必要な データ プロバイダが見つかりません。 ファイルはプロジェクトに追加されますが ファイルに関連付けられた データ セットは 生成されません。」という メッセージがでます。 本来なら ここで データソース構成ウィザードが表示され空の データセットが作成されるはずなのですが 空のデータセットが できないまま終了してしまいます。 どなたか 対処法が わかる方 教えてください。 VB2008EDも SQL SERVER 2008も正常に インストールされて いると思います。設定の 問題だと おもうのですが・・・・

  • VB6でやると構造体の配列になる変数をVB2008では何で作ればいいか

    VB6でプログラムを作っていたときは 値のセットが配列になるとき 構造体を動的配列で宣言してデータを足して作りました。 VB2008で開発をすることになり 同じようなことをしたいのですが もっと便利なやり方が登場したりするのでしょうか? クラスで挑戦したのですが動的配列はできないようでした。

  • ユーザインタフェースにテキストボックスを複数利用しての抽出方法

    VB.NETでプログラミングしています。 (ACCESSのデータで)テキストボックス、コンボボックスを使用してそのテキストでデータを抽出するプログラムを作りたいのですが、そのプログラムコードが分かりません。 例えばラベルに役職...テキストボックスに係長、    ラベルに住所...テキストボックスに東京、で  係長 AND(かつ)東京にいる人とか  係長 OR(又は) 東京にいる人   というように コードを詳しく教えてください。

  • コンボボックスかリストボックスの使い方

    VB2008でプログラミングしています。 コードと値がセットになっているDBからデータを取得して フォームに表示させるように作成しています。 フォームに表示するのは値で、実行ボタンを押したときには コードを取得したいのですが この場合は、コンボボックスでしょうか?リストボックスでしょうか? 複数選択はできません。 選ばれたコードを元にDBを検索するプログラムが実行されます。

  • プロセスがタスクマネージャーに残るのは、なぜ?

    vbのプログラムから、GetExitCodeProcessとDo Whileを使用し外部プログラム(メモ帳など)の実行、監視しています。何かの表示しに、外部プログラムが終了しているにもかかわらず終了コードが取れないことがあり、タスクマネージャーを見ると、プロセスが残っている状態です。 なぜ、終了コードが取れずに、プロセスが残るのでしょうか? 何か参考があればよろしくお願いします。

  • プルダウンで日付と曜日を取得する

    開発環境 Visual Web Developer 2008 Express Edition(言語はVB.NET) 「年」「月」「日」のプルダウンと「曜日」を表示するラベルが配置された画面を作ろうとしています。 年と月のプルダウンに関しては、2000~2020年・1~12月までをhtmlで追加してやれば良いのですが、 たとえば、 2000年の1月を選択したらポストバックして2000年1月に存在する日を「日」のプルダウンに表示させ、さらに、日付のプルダウンで28日と選択したらそれに対応する曜日をラベルに表示させる、 といった場合にはどのようなコードを書けば可能でしょうか? 宜しくお願い致します。

専門家に質問してみよう