我已经尝试了很多在这里发布的代码。还有其他地方。
它不做想做的事。
先看代码:
加载按钮:
private void LoadBtn_Click(object sender, EventArgs e)
{
TextReader testTxt = new StreamReader(ItemBaseInfosPath);
string read;
do
{
read = testTxt.ReadLine();
if (read.Contains(IDTxt.Text))
{
ConquerItemBaseInformation CIBI = new ConquerItemBaseInformation();
CIBI.Parse(read);
NameTxt.Text = CIBI.Name;
LevelTxt.Text = Convert.ToString(CIBI.Level);
MaxAttackTxt.Text = Convert.ToString(CIBI.MaxAttack);
MinAttackTxt.Text = Convert.ToString(CIBI.MinAttack);
PhysicalTxt.Text = Convert.ToString(CIBI.PhysicalDefence);
DodgeTxt.Text = Convert.ToString(CIBI.Dodge);
MagicAttackTxt.Text = Convert.ToString(CIBI.MagicAttack);
MagicDefTxt.Text = Convert.ToString(CIBI.MagicDefence);
AttackRangeTxt.Text = Convert.ToString(CIBI.AttackRange);
PriceTxt.Text = Convert.ToString(CIBI.ConquerPointsWorth);
break;
}
else
{
MessageBox.Show("Item Not Found.");
}
} while (read != null);
保存按钮:
private void SaveBtn_Click(object sender, EventArgs e)
{
TextReader testTxt = new StreamReader(ItemBaseInfosPath);
string read, read1, read2, read3, read4, read5, read6,
read7, read8, read9, read10;
do
{
read = testTxt.ReadLine();
if (read.Contains(IDTxt.Text))
{
ConquerItemBaseInformation CIBI = new ConquerItemBaseInformation();
CIBI.Parse(read);
CIBI.Name = NameTxt.Text;
CIBI.Level = Convert.ToByte(LevelTxt.Text);
CIBI.MaxAttack = Convert.ToByte(MaxAttackTxt.Text);
MessageBox.Show(read);
break;
}
} while (read != null);
}
加载按钮工作得很好!没有什么问题。保存按钮中的问题。
我现在得到了这条线,例如:" 111003@@IronHelmet@@21@@0@@15@@0@@0@@0@@0@@0@@0@@0@@150@@0@@0@@0@@3@@0@@0@@0@@0@@3899@@3899@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@Warrior'sHelmet@@None@@5@@0@@0@@0@@2020@@500@@"
111003是ID,IronHelmet是名字,15是等级。
它加载了。我想保存它。(注意每个都有它的文本框。
它是 ItemEditor 程序,所以当我在 TextBox 中编辑任何内容并按“保存按钮”时,我想要
它会替换每个已编辑的内容并再次保存文本文件!:)
(注意: String.Replace("", ""); 如果我使用此代码和应该编辑的文本框,如果它的值(文本)为 0,那么它将更改行中的所有 0 值!= 失败)
我希望你能理解我!