1

3行のデータを含むテキストファイルを読みたい1行に「Server=...」が含まれています次の行は「Username=..」で、最後の行は「Password=...」です。このファイルを作成し、各行を別々のラベルに入れます。(label1、label2、label3)

OFDSetは私のopenfiledialogです

すべてVisualBasicで。

誰か助けますか?

これが私が試したコードですが、エラーが発生します:

Dim oReader As StreamReader

        If OFDSet.ShowDialog = Windows.Forms.DialogResult.OK Then
            oReader = New StreamReader(OFDSet.FileName, True)
            ServLabel.Text = oReader.ReadLine(1)
            UserLabel.Text = oReader.ReadLine(2)
            PassLabel.Text = oReader.ReadLine(3)

        End If
4

2 に答える 2

2

より簡単な解決策は、1回の呼び出しで文字列の配列を返すFile.ReadAllLinesメソッドを使用することです。

If OFDSet.ShowDialog = Windows.Forms.DialogResult.OK Then
    Dim lines = File.ReadAllLines(OFDSet.FileName)
    ServLabel.Text = lines(0)
    UserLabel.Text = lines(1)
    PassLabel.Text = lines(2)
End If

こちらのMSDNリファレンスを参照してください

(ファイルクラスにはSystem.IOのインポートが必要です)

また、最初の行がこのようなものである場合

Server=MyServerPC

MyServerPCServLabelの一部だけが必要で、=記号で入力を分割する必要があります

ServLabel.Text = lines(0).Split("="c)(1)

もちろん、これは単なる例です。より堅牢なエラー処理が必要です。少なくとも3行あるかどうか、および各行が=記号で正しく区切られているかどうかを確認する必要があります。

于 2013-01-30T22:09:02.317 に答える
1

StreamReader.ReadLine()パラメータを取るオーバーロードはありません。String戻り型、、にはインデクサーがあるため、Intellisenseは2つのオーバーロードを表示します。

于 2013-01-30T22:00:58.163 に答える