2013-01-10 88 views
1

我目前正在爲編程學習編程hangman。爲此,我有一個大約6000字的文本文件作爲嵌入式資源。程序讀取文件並從中取出一個隨機字符串。現在,爲了增加複雜性,我做了一個書寫員,在那裏你可以寫你自己的話。現在我的問題是:如何將編輯後的字符串數組保存到資源文件中?保存嵌入資源

此代碼讀取資源文件並將其顯示在多行文本框中。

public editorForm() 
{ 
    InitializeComponent(); 
    string[] Lines = Properties.Resources.wordRes.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 
    for (int i = 0; i < Lines.Length; i++) 
    { 
     textBox1.Text += Lines[i] + Environment.NewLine;    
    } 
    textBox1.SelectionStart = textBox1.Text.Length;   
} 

這是我保存當前的代碼,現在它只是保存編輯後的文件保存到桌面,但我想它保存爲資源。

private void saveToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    string[] words = textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 
    FileStream overwrite = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Hangman.txt", FileMode.Create); 
    using (StreamWriter file = new StreamWriter(overwrite)) 
    { 
    for (int i = 0; i < words.Length; i++) 
    { 
     file.Write(words[i] + Environment.NewLine); 
    } 
    }  
    MessageBox.Show("Words saved. "); 
} 

回答

1

在編譯程序集之後,嵌入式資源不能更新或更改,除了hacky之外。

爲什麼不將數據保存到磁盤,然後在加載時將數據與嵌入式資源中的數據合併。或者只是將文件放在磁盤上並獲取嵌入式資源,或者如果文件不存在然後寫入磁盤,則使用嵌入式資源作爲默認值。

+0

嗯好吧。 :( –