Как выровнять входные данные в соответствующих столбцах? - PullRequest
0 голосов
/ 02 июня 2018

Я новичок в C # и пытаюсь как-то научиться этому.Так что, может быть, код выглядит ужасно.Сейчас я занимаюсь разработкой приложения для форм Windows.

Я пытаюсь создать текстовый файл, в котором я хочу сохранить входные данные из нескольких текстовых полей в строках и столбцах.

Текстовый файлсоздание, сохранение данных и чтение данных работает со следующим кодом, но данные не выровнены согласно соответствующим столбцам.PadRight метод и изменение отступа также не работают.

, пожалуйста, помогите мне с этим кодом для выравнивания данных соответствующим образом.

`//Reading file through Open button in menustrip
  private void OpenOCtrlOToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            open.Filter = "All Files (*.*)|";
            open.FilterIndex = 1;
            open.Title = "Open file";

            if (open.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    StreamReader read = new StreamReader(open.FileName);

                    string[] fileData = File.ReadAllLines(open.FileName);
                    var parts = fileData[4].Split(new string[] { "      " }, StringSplitOptions.RemoveEmptyEntries);

                    ucMainPageOutline.Instance.ProjN.Text = parts[0];
                    ucMainPageOutline.Instance.ProjL.Text = parts[1];
                    ucMainPageOutline.Instance.Ownr.Text = parts[2];
                    ucMainPageOutline.Instance.Dsinr.Text = parts[3];
                    ucMainPageOutline.Instance.Sprvsr.Text = parts[4];
                    ucMainPageOutline.Instance.ConstT.Text = parts[5];
                    ucMainPageOutline.Instance.Bldr.Text = parts[6];
                    ucMainPageOutline.Instance.Sec.Text = parts[7];
                    ucMainPageOutline.Instance.MExcD.Text = parts[8];
                    ucMainPageOutline.Instance.ExcD.Text = parts[9];
                    ucMainPageOutline.Instance.ExcW.Text = parts[10];
                }
                catch(Exception)
                { }
                try
                {
                    StreamReader read = new StreamReader(open.FileName);

                    string[] fileData = File.ReadAllLines(open.FileName);
                    var parts = fileData[12].Split(new string[] { "      " }, StringSplitOptions.RemoveEmptyEntries);

                    ucInputM.Instance.GWLt.Text = parts[0];
                    ucInputM.Instance.WallT.Text = parts[1];
                    ucInputM.Instance.HPSize.Text = parts[2];
                    ucInputM.Instance.WallL.Text = parts[3];
                    ucInputM.Instance.WStifness.Text = parts[4];
                    ucInputM.Instance.ElasticM.Text = parts[5];
                    ucInputM.Instance.Walldia.Text = parts[6];
                    ucInputM.Instance.WallK.Text = parts[7];
                    ucInputM.Instance.Strength.Text = parts[8];
                    ucInputM.Instance.Steel.Text = parts[9];
                    ucInputM.Instance.SprtT.Text = parts[10];
                }
                catch (Exception)
                { }

                try
                {
                    StreamReader read = new StreamReader(open.FileName);

                    string[] fileData = File.ReadAllLines(open.FileName);
                    var parts = fileData[18].Split(new string[] { "      " }, StringSplitOptions.RemoveEmptyEntries);

                    ucInputM.Instance.StrutDim.Text = parts[0];
                    ucInputM.Instance.Strut1st.Text = parts[1];
                    ucInputM.Instance.StrutVS.Text = parts[2];
                    ucInputM.Instance.StrutHS.Text = parts[3];
                    ucInputM.Instance.StrutN.Text = parts[4];
                    ucInputM.Instance.StrutStif.Text = parts[5];
                    ucInputM.Instance.StrutL.Text = parts[6];
                    ucInputM.Instance.AnchorLoad.Text = parts[7];
                    ucInputM.Instance.Anchor1st.Text = parts[8];
                    ucInputM.Instance.AnchorAngle.Text = parts[9];
                    ucInputM.Instance.AnchorFL.Text = parts[10];
                    ucInputM.Instance.AnchorLL.Text = parts[11];
                    ucInputM.Instance.AnchorVS.Text = parts[12];
                    ucInputM.Instance.AnchorHS.Text = parts[13];
                    ucInputM.Instance.AnchorNo.Text = parts[14];
                }
                catch (Exception)
                { }
            }
        }

        // Saving/Creating file through save button in menustrip
        private void SaveSCtrlSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();

            save.Filter = "All Files (*.*)|";
            save.FilterIndex = 1;
            save.Title = "Save File";

            if (save.ShowDialog() == DialogResult.OK)
            {
                string[,] P = new string[1, 11]
                {
                    {ucMainPageOutline.Instance.ProjN.Text, ucMainPageOutline.Instance.ProjL.Text, ucMainPageOutline.Instance.Ownr.Text, ucMainPageOutline.Instance.Dsinr.Text, ucMainPageOutline.Instance.Sprvsr.Text, ucMainPageOutline.Instance.ConstT.Text, ucMainPageOutline.Instance.Bldr.Text, ucMainPageOutline.Instance.Sec.Text, ucMainPageOutline.Instance.MExcD.Text, ucMainPageOutline.Instance.ExcD.Text, ucMainPageOutline.Instance.ExcW.Text}
                };

                string[,] P1 = new string[1, 11]
                {
                    {ucInputM.Instance.GWLt.Text, ucInputM.Instance.WallT.Text, ucInputM.Instance.HPSize.Text, ucInputM.Instance.WallL.Text, ucInputM.Instance.WStifness.Text, ucInputM.Instance.ElasticM.Text, ucInputM.Instance.Walldia.Text, ucInputM.Instance.WallK.Text, ucInputM.Instance.Strength.Text, ucInputM.Instance.Steel.Text, ucInputM.Instance.SprtT.Text}
                };

                string[,] P2 = new string[1, 15]
                {
                    { ucInputM.Instance.StrutDim.Text,ucInputM.Instance.Strut1st.Text, ucInputM.Instance.StrutVS.Text, ucInputM.Instance.StrutHS.Text, ucInputM.Instance.StrutN.Text, ucInputM.Instance.StrutStif.Text, ucInputM.Instance.StrutL.Text, ucInputM.Instance.AnchorLoad.Text, ucInputM.Instance.Anchor1st.Text, ucInputM.Instance.AnchorAngle.Text, ucInputM.Instance.AnchorFL.Text, ucInputM.Instance.AnchorLL.Text, ucInputM.Instance.AnchorVS.Text, ucInputM.Instance.AnchorHS.Text, ucInputM.Instance.AnchorNo.Text }
                };

                using (StreamWriter write = new StreamWriter(save.FileName))
                {

                    write.WriteLine("----------------------------------------------------------------------Project Outline information---------------------------------------------------------------------------------");
                    write.WriteLine(" ");
                    write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15}", "P.Name", "P.Location", "Owner", "Designer", "Supervisor", "C.Time", "Builder", "Section #", "M.E.Depth", "E.Depth", "E.Width");

                    for (int i = 0; i < 1; i++)
                    {
                        write.WriteLine(" ");
                        write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15}", P[i, 0], P[i, 1], P[i, 2], P[i, 3], P[i, 4], P[i, 5], P[i, 6], P[i, 7], P[i, 8], P[i, 9], P[i, 10]);
                    }

                    write.WriteLine(" ");
                    write.WriteLine("----------------------------------------------------------------------Input Module Information---------------------------------------------------------------------------------");
                    write.WriteLine(" ");
                    write.WriteLine("----------------------------------------------------------------------Wall Information---------------------------------------------------------------------------------");
                    write.WriteLine(" ");
                    write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15}", "GWL", "W.Type", "H.P.Size", "W.Length", "W.Stiffness", "W.E.Modulus", "1st.C.Dia", "K.wall", "UCS", "St.Type", "S.Type");

                    for (int i = 0; i < 1; i++)
                    {
                        write.WriteLine(" ");
                        write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15}", P1[i, 0], P1[i, 1], P1[i, 2], P1[i, 3], P1[i, 4], P1[i, 5], P1[i, 6], P1[i, 7], P1[i, 8], P1[i, 9], P1[i, 10]);
                    }

                    write.WriteLine(" ");
                    write.WriteLine("----------------------------------------------------------------------Support Information---------------------------------------------------------------------------------");
                    write.WriteLine(" ");
                    write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15} {11,-15} {12,-15} {13,-15} {14,-15}", "Strut.Sec", "Strut.1st.L", "Strut.VS", "Strut.HS", "Strut#", "Strut.Stiff", "Strut.L", "D.Load", "Anchor.1st.L", "Anchor.Angle", "Anchor.FF.L", "Anchor.S.L", "Anchor.VS", "Anchor.HS", "Anchor#");

                    for (int i = 0; i < 1; i++)
                    {
                        write.WriteLine(" ");
                        write.WriteLine("{0,-15} {1,-15} {2,-15} {3,-15} {4,-15} {5,-15} {6,-15} {7,-15} {8,-15} {9,-15} {10,-15} {11,-15} {12,-15} {13,-15} {14,-15}", P2[i, 0], P[i, 1], P2[i, 2], P2[i, 3], P2[i, 4], P2[i, 5], P2[i, 6], P2[i, 7], P2[i, 8], P2[i, 9], P2[i, 10], P2[i, 11], P2[i, 12], P2[i, 13], P2[i, 14]);
                    }
                    MessageBox.Show("File Saved");
                    write.Dispose();
                }`

enter image description here

1 Ответ

0 голосов
/ 01 июля 2018

Эта проблема выравнивания в текстовом файле очень раздражает.Итак, я прекратил сохранять данные в текстовом файле и перешел в файл Excel.Теперь у меня нет проблем с выравниванием текста.Есть некоторые проблемы с форматированием в Excel, но они не так важны.

...