2014-02-25 65 views
0

我试图将文本从我的文本框导出为.txt文件。我找到了一些答案,但我无法得到这个工作。目前我有5个文本框,我想从中导出数据。我想要一个容易阅读的标准格式。将文本框文本导出为.txt

这里是我当前的代码:

private void totalaether_Click(object sender, EventArgs e) 
{ 
    aefirstNum = (!String.IsNullOrWhiteSpace(textBox2.Text)) ? Convert.ToInt32(textBox2.Text) : 0; 
    aesecondNum = (!String.IsNullOrWhiteSpace(textBox3.Text)) ? Convert.ToInt32(textBox3.Text) : 0; 
    aethirdNum = (!String.IsNullOrWhiteSpace(textBox4.Text)) ? Convert.ToInt32(textBox4.Text) : 0; 
    aefourthNum = (!String.IsNullOrWhiteSpace(textBox5.Text)) ? Convert.ToInt32(textBox5.Text) : 0; 

    op = "X"; 

    if (op == "X") total = (((aefirstNum * 3) * 3) * 3) + ((aesecondNum * 3) * 3) + (aethirdNum * 3) + aefourthNum; 

    textBox6.Text = total.ToString(); 
} 

所以这基本上是写数字到文本框。我想要做的就是把这些总量和输出它是这样的:

辉煌:[序号这里]

纯:此号码]

大:这里数]

常规:在这里数]

总:[序号这里]

工作液这是包括savefiledialog,这允许我设置文本文件名并选择保存位置。

 // set a default file name 
     exportAether.FileName = ".txt"; 

     // set filters - this can be done in properties as well 
     exportAether.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; 

     if (exportAether.ShowDialog() == DialogResult.OK) 
     { 
      using (var writer = new StreamWriter(exportAether.FileName)) 
      { 
       writer.WriteLine("Brilliant: {0}", aefirstNum); 
       writer.WriteLine("Pure: {0}", aesecondNum); 
       writer.WriteLine("Greater: {0}", aethirdNum); 
       writer.WriteLine("Regular: {0}", aefourthNum); 
       writer.WriteLine("Total: {0}", total); 
       // write other lines here 
      } 

谢谢你的帮助,这很好!

+0

为什么你有这将是一个条件的'if'声明 - 根据您当前的代码 - 总是正确的? – Brian

+1

我不知道。我是编程新手,我在教程中看到它。 – Advancin

回答

5

一种方式做到这一点:

using (var writer = new StreamWriter("filename.txt")) 
{ 
    writer.WriteLine("Brilliant: {0}", aefirstNum); 
    writer.WriteLine("Pure: {0}", aesecondNum); 
    // write other lines here 
} 
+0

简单而优雅,+1。 – Brian

+0

+1使用using关键字。 –

+0

完美的工作!现在,有没有办法让这个打开'savefiledialog',这样我可以选择位置和文件名? – Advancin

相关问题