2012-06-25 44 views
1

頁面,同時涉及.txt文檔和文本(Proposals,每個提議在同一行上,僅約100行)。當你點擊一個按鈕句子(該文件的第一個TextLine)顯示在TextBlock中:將文本.txt文檔的輸出文本行與TextBlock和Button一起應用於TextBlock

public string GetQ() 
    { 
     string pathFile = "Q.txt"; 
     Uri uri = new Uri(pathFile, UriKind.Relative); 
     StreamResourceInfo sri = Application.GetResourceStream(uri); 
     using (StreamReader sr = new StreamReader(sri.Stream)) 
     { 
      string wordline = sr.ReadLine(); 
      return wordline; 
     } 

    } 

如何使你按下按鈕接下來的時間,出現在文件的下一行?

謝謝!

回答

2

這是未經測試的,但您可以將文件存儲在字符串數組中,然後在不重新打開文件的情況下訪問您需要的內容以讀取每行。

var qFile = new List<string>(); 

public string GetQ() 
{ 
    string pathFile = "Q.txt"; 
    Uri uri = new Uri(pathFile, UriKind.Relative); 
    StreamResourceInfo sri = Application.GetResourceStream(uri); 
    using (StreamReader sr = new StreamReader(sri.Stream)) 
    { 
     string line = ""; 
     while ((line != null) 
     { 
      line = sr.ReadLine()); 
      if (line != null) 
       qFile.Add(line); // Add to list 
    } 
} 

現在你可以只加載到qFile[0]qFile[qFile.Count - 1]

+0

你能解釋一下關於將qFile [0]加載到qFile [qFile.Count - 1]的更多細節嗎?謝謝! – user1397396

+0

qFile只是我給出的字符串列表的名稱,所以qFile [0]是列表中的第一個元素,另一個是最後一個元素。所以你可以有一個像'int counter = 0'這樣的變量,並且每次按下按鈕時只顯示'qFile [counter]',然後在下次按下按鈕時遞增計數器。 –

2

你以後可以很容易地完成File.ReadLines什麼所示的代碼我快幾行(沒有單元測試做了)

private static int LineNumber = 0; 
    private List<string> textLines = new List<string>(); 

    public string GetTextLine() 
    { 
     const string pathFile = @"C:\test\Q.txt"; 

     if (textLines.Count == 0) 
     { 
      textLines = File.ReadLines(pathFile).ToList(); 
     } 

     if (LineNumber < (textLines.Count - 1)) 
     { 
      return textLines[LineNumber++]; 
     } 

     return textLines[LineNumber]; 
    } 

希望它可以幫助你好運...

+0

錯誤:'System.IO.File'不包含'ReadLines'的定義 – user1397396

+0

我正在使用.Net 4 Framework並且沒有得到錯誤 – HatSoft

+0

我不知道windows phone開發世界中有什麼可用的,但我喜歡這種新語法...非常簡單。看起來像['File.ReadLines()'](http://blogs.msdn.com/b/wriju/archive/2010/03/10/net-framework-4-0-newbie-file-readlines.aspx)是.NET 4的新功能。 –