2016-04-16 4 views
0

私はこの段落を含むtxtファイルを持っています。各段落は^記号で始まり、各行を識別することができます。私のコードでは、ロード時にランダムな段落を表示するフォームでツールチップを生成したいと考えています。テキストファイルからツールチップを生成する方法

私はツールチップに文字列値を取得してその位置を管理していますが、テキストファイル全体を別の文字列値に「読み込む」ことができました。 "^"記号を削除し、その記号をツールチップに表示します。私は将来、txtファイルを編集して、これが自動化されたプロセスになることを考えています。^で始まる各行に、乱数を生成して表示する関数を考えました。私はここまでそれを作っています

Public Class Question 
Dim quote As String 
Dim qn As Double 
Private Sub Question_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load 
    ToolTip1.ShowAlways = True 

    Dim bquote As String 
    bquote = My.Computer.FileSystem.ReadAllText("C:\texts.txt") 

    Dim thesearch As String 
    thesearch = "^" 

    ' for test quote = "i've made it" 
    ToolTip1.SetToolTip(Me, quote) 
End Sub 

この特定の問題のために働く

+0

あなたはスプリットを使用して、引用符の配列に 'bquote'を回すことができます関数 'Dim quotes()As String = bquote.Split(thesearch.ToCharArray()、StringSplitOptions.RemoveEmptyEntries)'を使用して、ランダムジェネレータを使用して配列要素を選択します。 – schudel

+0

[**研究**](https://www.google.com/search?q=Split+a+string+VB.NET) –

+0

お返事ありがとうございました。明日はこれを試してみますあなたが助けてくれたので、今日私が成功した –

答えて

0

コードを助けてくださいです:

Public Class Question 
Dim quote As String 
Private Sub Question_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load 
    ToolTip1.ShowAlways = True 
    Dim inital_text_load As String 
    inital_text_load = My.Computer.FileSystem.ReadAllText("C:\texts.txt") 

    Dim quote_array As String() 

    quote_array = inital_text_load.Split("^".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) 

    Dim rand As New Random() 
    Dim index As Integer = rand.Next(0, quote_array.Length - 1) 

    quote = quote_array(index) 

    ToolTip1.SetToolTip(Me, quote) 

End Sub 
End Class 
+0

行間を並べ替えるためにtxtファイルで使用されたシンボルは^ –

+0

でした。これは間違っています: 'rand.Next(0、quote_array.Length - 1)'。 _max_パラメータはインクルーシブではないので、 'rand.Next(0、quote_array.Length)'を実行する必要があります。そうでなければ、最後の項目を決して選択しません。 –

+0

さて、あなたはそれを私の注意の中に置いた、それは良いことです。^FINという名前の最終行を親切にしてもらえるようになりました。 –

関連する問題