質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

10883閲覧

テキストファイルを読み込んで表示したい

naia

総合スコア20

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

1クリップ

投稿2015/05/28 06:57

VBでテキストファイルから読み込んだ数値を
ソフト起動時に自動的(フォームが立ち上がった時)にNumericUpDownに代入したいのですが、コードの書き方が分かりません
一応試した事として
Open fileName For mode As #fileNumberを試してみましたが、今のバージョンのVSに対応してない?らしくエラーが出てしまいました。

テキストファイルの中身は下記のようにカンマで区切ってあり

8,0,9,0

具体的には
NumericUpDown1.Value =(ここに8を代入したい)
NumericUpDown2.Value =(ここに0を代入したい)
NumericUpDown3.Value =(ここに9を代入したい)
NumericUpDown4.Value =(ここに0を代入したい)

と、したいです。
よろしくお願いします
使用ソフトはVisual Studio Express 2013です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ファイルに関する操作はSystem.IO名前空間のFileクラスが便利です。

lang

1Dim data As String 2data = File.ReadAllText(fileName)

これだけでテキストをすべて読み込めます。(ソースファイルの先頭にImports System.IOが必要です)

得られたテキスト8,0,9,0をInteger型の配列に変換します。

lang

1Dim nums() As Integer 2nums = data.Split(","c).Select(AddressOf Integer.Parse).ToArray()

後は順次代入すれば終了です。

lang

1NumericUpDown1.Value = nums(0) 2NumericUpDown2.Value = nums(1) 3NumericUpDown3.Value = nums(2) 4NumericUpDown4.Value = nums(3)

投稿2015/05/28 07:21

htsign

総合スコア870

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naia

2015/05/29 02:41

とても分かりやすいサンプルをあげて頂き勉強になりました ありがとうございました
guest

0

こんにちは。

VB.NETでは以下のようにTextStreamなどでファイルを読み込みましょう。
文字列にしたあと、カンマ区切りなどを行えば良いと思います。(CSVParserという方法もありますが)

http://dobon.net/vb/dotnet/file/readfile.html

(追記コード)

lang

1Imports System.IO 2Imports System.Text 3 4Public Class Form1 5 6 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 7 8 'テキストファイル(SJIS)から1行読み込み 9 Const TEXT_PATH As String = "C:\Temp\Hoge.txt" 10 Dim getString As String = String.Empty 11 Using sr As New StreamReader(TEXT_PATH, Encoding.GetEncoding("Shift_JIS")) 12 getString = sr.ReadLine() 13 End Using 14 15 '分解 16 Dim getValues As String() = getString.Split(","c) 17 18 'NumericXXXにセット 19 NumericUpDown1.Value = CDec(getValues(0)) 20 NumericUpDown2.Value = CDec(getValues(1)) 21 NumericUpDown3.Value = CDec(getValues(2)) 22 NumericUpDown4.Value = CDec(getValues(3)) 23 24 End Sub 25End Class

※エラーチェックなどはしてません。

投稿2015/05/28 07:08

編集2015/05/28 07:17
Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naia

2015/05/29 02:41

回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問