Помогите решить эту задачу. как сделать чтобы после заполнения поля формы winForm в visual studio перезаписывал данные в файле. Тема Банкомат С#. Чтобы когда например выбирал поле Внести деньги и писал сумму 200р, изначально было 8000р он все выполняет и баланс становится 8200, но когда выхожу из программы и заново захожу, баланс опять 8000р. Читай из файла xml, там сразу прописанно что изначально баланс 8000р, хочется чтобы после внесения и выхода из форма в файле xml перезаписалось на 8200 Хочу чтобы от туда перезаписывал данные.
Вод Коды программы:
Код Form
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;
namespace BS
{
public partial class Form1 : Form
{
client Cl = new client();
account Ac;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "Введите Пин-Код";
}
/*OK*/private void buttonOK_Click(object sender, EventArgs e)
{
switch (label1.Text)
{
case "Введите Пин-Код":
{
if (textBox1.Enabled)
if (Cl.correctPincode(textBox1.Text))
{
textBox1.Text = "";
label1.Text = "Вход подтвержден!\nВыберите следующее действие.";
Ac = new account(Cl.AccountNumber);
buttonWITHDRAW.Visible = true;
buttonADD.Visible = true;
buttonBALANCE.Visible = true;
textBox1.Enabled = false;
}
else
{
label1.Text = "Неверный Пин-Код! \nВход не Выполнен!";
buttonWITHDRAW.Visible = false;
buttonADD.Visible = false;
buttonBALANCE.Visible = false;
textBox1.Enabled = false;
}
break;
}
case "Снять деньги":
{
label1.Text = Ac.withdraw(Convert.ToInt32(textBox1.Text));
buttonWITHDRAW.Visible = true;
buttonADD.Visible = true;
buttonBALANCE.Visible = true;
textBox1.Enabled = false;
break;
}
case "Внести деньги":
{
label1.Text = Ac.AddToYourAccount(Convert.ToInt32(textBox1.Text));
buttonWITHDRAW.Visible = true;
buttonADD.Visible = true;
buttonBALANCE.Visible = true;
textBox1.Enabled = false;
break;
}
}
}
/*BALANCE*/private void buttonBALANCE_Click(object sender, EventArgs e)
{
label1.Text = Ac.ShowYourBalance();
buttonWITHDRAW.Visible = true;
buttonADD.Visible = true;
buttonBALANCE.Visible = false;
textBox1.Enabled = false;
}
/*ЖМЯК ЦИФОРКИ*/private void button14_Click(object sender, EventArgs e)
{
textBox1.Text += (sender as Button).Text;
}
/*ВЫХОД ИЗ ПРОГРАММЫ*/private void buttonExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
/*BACKSPACE*/private void buttonBACKSPACE_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length > 1)
{
char[] str = textBox1.Text.ToCharArray();
textBox1.Text = "";
for (int i = 0; i < str.Length - 1; i++)
{
textBox1.Text += str[i];
}
}
else
textBox1.Text = "";
}
/*WITHDRAW*/private void buttonWITHDRAW_Click(object sender, EventArgs e)
{
label1.Text = "Снять деньги";
buttonWITHDRAW.Visible = false;
buttonADD.Visible = false;
buttonBALANCE.Visible = false;
textBox1.Enabled = true;
}
/*ADD*/private void buttonADD_Click(object sender, EventArgs e)
{
label1.Text = "Внести деньги";
buttonWITHDRAW.Visible = false;
buttonADD.Visible = false;
buttonBALANCE.Visible = false;
textBox1.Enabled = true;
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
Код Account
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
namespace BS
{
class account
{
public account(int id)
{
Balance(id);
}
private void Balance(int Id)
{
XDocument XD = XDocument.Load("Account.xml");
foreach (XElement XE in XD.Root.Elements())
{
if (XE.Attribute("Id").Value.ToString() == Id.ToString())
{
balance = Convert.ToInt32(XE.Attribute("Symma").Value.ToString());
break;
}
}
}
private int balance;
public string withdraw(int Sym) // Снять
{
string mes = "";
if (Sym>=100)
if(balance>Sym)
{
balance -= Sym;
mes = "Сумма снята со счета.";
}
else
{
mes = "Не достаточно средств на счете!";
}
else
{
mes = "Сумма должна быть более 100р!";
}
return mes;
}
public string AddToYourAccount(int Sym)// внести
{
string mes = "";
if (Sym < 100)
{
mes = "Сумма должна быть более 100р!";
return mes;
}
else
{
balance += Sym;
}
return "Сумма " + Sym.ToString() + " добавлена на счет";
}
public string ShowYourBalance()// баланс
{
return "Ваш баланс " + balance.ToString() + " RUB";
}
}
}
Код Account.xml
accounts
account Id ="0" Symma="100"
account Id ="1" Symma="8000"
account Id ="2" Symma="1000000"
/accounts
Код Clients
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
namespace BS
{
class client
{
public client()
{
}
public bool correctPincode(string pincode)
{
bool Tr = false;
//читаем из XML
XDocument XD = XDocument.Load("Client.xml");
foreach (XElement XE in XD.Root.Elements())
{
if (XE.Attribute("pincode").Value.ToString() == pincode)
{
AccountNumber = Convert.ToInt32(XE.Attribute("id").Value.ToString());
Tr = true;
break;
}
}
return Tr;
}
public int AccountNumber;
}
}
Clients.xml
clients
client pincode="1488" id="0"/>
client pincode="2222" id="1"/>
client pincode="7538" id="2"/>
/clients>