2012-04-21 116 views
0

我正在創建一個簡單的應用程序來從文本框中捕獲客戶數據並將其保存在驅動器C中的文本文件中,字符串由逗號分隔。並將存儲的數據顯示在第二個窗體上,該窗體通過按鈕從第一個窗體激活。我到目前爲止編寫的代碼如下,有人可以幫助我在哪裏出錯。將文本框數據保存到.txt文件並在另一個表單文本框上顯示數據

代碼編譯沒有錯誤,但它顯示警告: variable FILE in form2 is declared but not used..

爲 「InvoiceDataAppGaoria.Form2」的類型初始值引發了異常(窗體2 F2 =新Form2的())

當我分配:當我開始沒有調試它的錯誤報告崩潰數組元素添加到文本框IDE(Visual Studio 2008)報告錯誤。

窗體2

namespace InvoiceDataAppGaoria 
{ 
    public partial class Form2 : Form 
    { 
     static string FILE = @"C:\Csharp\coursework1\maucha.txt"; 
     static FileStream outFile = new FileStream("FILE", FileMode.Open, FileAccess.Read); 
     static StreamReader read = new StreamReader("FILE"); 
     static string line = read.ReadLine(); 
     static string[] values = line.Split(','); 
     string invoicetxt = values[0]; 
     string lname = values[1]; 
     string fname = values[2]; 
     string AMT = values[3]; 

     public Form2() 
     { 
      InitializeComponent(); 
     } 

    } 
} 

Form1中

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Collections; 
using System.IO; 

namespace InvoiceDataAppGaoria 
{ 
    public partial class Form1 : Form 
    { 
     const string DELIM = ","; 
     const string FILENAME = @"C:\Csharp\coursework1\maucha.txt"; 
     int invoNum; 
     string lname,fname; 
     double AMT; 
     static FileStream outFile = new FileStream("FILENAME",FileMode.Create,FileAccess.Write); 
     StreamWriter writer = new StreamWriter(outFile); 
     public Form1() 
     { 
     InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
     invoNum = Convert.ToInt32(invoicetxt.Text); 
     lname = lnameBox.Text; 
     fname = fnameBox.Text; 
     AMT = Convert.ToDouble(amtBox.Text); 
     writer.WriteLine(invoNum+DELIM+lname+DELIM+fname+DELIM+AMT); 
     } 
     private void button2_Click(object sender, EventArgs e) 
     { 
     Form2 F2 = new Form2(); 
     F2.Show(); 
     } 

    } 

} 

回答

2

當您創建文件流,您使用"FILE"代替變量FILE。它大概應該是這樣的,而不是:

static string FILE = @"C:\Csharp\coursework1\maucha.txt"; 
static FileStream outFile = new FileStream(FILE, FileMode.Open, FileAccess.Read); 
static StreamReader read = new StreamReader(FILE); 

而只是提到它:你真的應該命名您的變量file,而不是FILE。堅持常見的命名約定使閱讀其他代碼變得更愉快。

+0

哈哈,當我第一次在手機上看到這個時我以爲你寫了「你需要使用''FILE」'而不是'FILE'「:) – 2012-04-21 15:43:02

相關問題