C # Запись в файл построчно - PullRequest
0 голосов
/ 24 июня 2018

Итак, я занят созданием приложения ac # WinForms для своей компании.Для этого мне нужно иметь возможность сохранять свои билеты в данных вместе с приложением.Вот как выглядит диалоговое окно заявки: enter image description here

Я хочу сохранить все данные в каком-нибудь локально сохраненном файле (.txt может быть лучшим?) Строка за строкой,вот так:

enter image description here

Приложение также должно иметь возможность открывать файл и отображать данные в форме.

Я долженвероятно, используйте пространство имен System.IO.File, но у меня нет опыта работы с ним.Мой поиск в Google не помог мне с этой проблемой, поэтому я обратился к stackoverflow.

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Первый код WriteLine с массивом может вам помочь. Таким образом, вы должны создать массив строк со всей предоставленной информацией и затем записать его в файл.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file

Philipp.

0 голосов
/ 24 июня 2018

Попробуйте создать код, подобный приведенному ниже,

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.Xml;
using System.Xml.Linq;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        const string FILENAME = @"c:\temp\test.xml";
        XDocument doc = null;
        XElement tickets = null;
        public Form1()
        {
            InitializeComponent();
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);

            string ident = "<?xml version=\"1.0\" encoding=\"utf-8\"?><tickets></tickets>";
            doc = XDocument.Parse(ident);
            tickets = doc.Root;

        }


        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            doc.Save(FILENAME);
        }

        private void addTicket_Click(object sender, EventArgs e)
        {
            XElement newTicket = new XElement("ticket",
                new XElement("ID", this.ID),
                new XElement("Name", this.Name),
                new XElement("Type", this.Type),
                new XElement("Device_Name", this.Device_Name),
                new XElement("Serial_Number", this.Number),
                new XElement("Repair_Data", this.Repair),
                new XElement("Fix", this.Fix),
                new XElement("Additional", this.Additional)
                );
            tickets.Add(newTicket);
        }

    }
}
...