Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±

    Оптимизация или упрощение кода.

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

    Есть некоторые участки кода, которые не нравятся, ибо уверен можно сделать лучше, но к сожалению не позволяют знания. Чистым примером служит вывод даты рождения пациента, если метод dateTimePicker_DR.Value.Day хранит в себе 1 (т.е. первый день начала месяца), в xml выгружается в формате: 1997-5-1.

    Буду очень благодарен и сразу извиняюсь за столь большой код.

    PHP код:
    using System;
    using System.Windows.Forms;
    using System.Xml;

    namespace 
    Patients {
        public 
    partial class Form_Attached Form {
            public 
    Form_Attached() {
                
    InitializeComponent();
            }

            
    string FAM "",
                
    IM "",
                
    OT "",
                
    DR "",
                
    ENP "",
                
    KSPEC "";

            
    int W 0,
                
    NUCH 0,
                
    PRATT 0,
                
    MAX_NOMZ 0;

            private 
    void Form_Attached_Load(object senderEventArgs e) {
                
    dateTimePicker_DR.Value DateTime.Now;
            }

            private 
    void label_OT_Click(object senderEventArgs e) {

            }

            private 
    void button_cancel_Click(object senderEventArgs e) {
                
    this.Close();
            }

            private 
    void button_result_Click(object senderEventArgs e) {
                if(
                    
    textBox_FAM.Text == "" ||
                    
    textBox_IM.Text == "" ||
                    
    textBox_OT.Text == "" ||
                    
    comboBox_W.SelectedIndex == -||
                    
    textBox_ENP.Text == "" ||
                    
    comboBox_KSPEC.SelectedIndex == -||
                    
    comboBox_NUCH.SelectedIndex == -||
                    
    comboBox_PRATT.SelectedIndex == -1) {
                        
    label_error.Text "Проверить достоверность данных!\nВнимание! Обязательное заполнение всех полей!";
                        
    label_error.ForeColor System.Drawing.Color.Red;
                }
                else {
                    
    string XmlFileName = @"Xml Library\\Attached.xml";
                    
    XmlDocument xmlDcmnt = new XmlDocument();
                    
    xmlDcmnt.Load(XmlFileName);
                    
    XmlElement xRoot xmlDcmnt.DocumentElement;

                    foreach (
    XmlNode xnode in xRoot) {
                        foreach (
    XmlNode childnode in xnode.ChildNodes) {
                            if (
    childnode.Name == "NOMZ") {
                                
    Int32.TryParse(childnode.InnerTextout MAX_NOMZ);
                            }
                        }
                    }
                    
    MAX_NOMZ++;

                    
    XmlNode element xmlDcmnt.CreateElement("ZAP");
                    
    xmlDcmnt.DocumentElement.AppendChild(element);

                    
    XmlNode subElement_NOMZ xmlDcmnt.CreateElement("NOMZ");
                    
    subElement_NOMZ.InnerText MAX_NOMZ.ToString();
                    
    element.AppendChild(subElement_NOMZ);

                    
    XmlNode subElement_FAM xmlDcmnt.CreateElement("FAM");
                    
    subElement_FAM.InnerText FAM;
                    
    element.AppendChild(subElement_FAM);

                    
    XmlNode subElement_IM xmlDcmnt.CreateElement("IM");
                    
    subElement_IM.InnerText IM;
                    
    element.AppendChild(subElement_IM);

                    
    XmlNode subElement_OT xmlDcmnt.CreateElement("OT");
                    
    subElement_OT.InnerText OT;
                    
    element.AppendChild(subElement_OT);

                    
    XmlNode subElement_W xmlDcmnt.CreateElement("W");
                    
    subElement_W.InnerText W.ToString();
                    
    element.AppendChild(subElement_W);

                    
    XmlNode subElement_DR xmlDcmnt.CreateElement("DR");
                    
    subElement_DR.InnerText DR;
                    
    element.AppendChild(subElement_DR);

                    
    XmlNode subElement_ENP xmlDcmnt.CreateElement("ENP");
                    
    subElement_ENP.InnerText ENP;
                    
    element.AppendChild(subElement_ENP);

                    
    XmlNode subElement_DBEG xmlDcmnt.CreateElement("DBEG");
                    
    subElement_DBEG.InnerText DateTime.Now.ToString("yyyy-MM-dd");
                    
    element.AppendChild(subElement_DBEG);

                    
    XmlNode subElement_SATT xmlDcmnt.CreateElement("SATT");
                    
    subElement_SATT.InnerText "2";
                    
    element.AppendChild(subElement_SATT);

                    
    XmlNode subElement_KSPEC xmlDcmnt.CreateElement("KSPEC");
                    
    subElement_KSPEC.InnerText KSPEC;
                    
    element.AppendChild(subElement_KSPEC);

                    
    XmlNode subElement_NUCH xmlDcmnt.CreateElement("NUCH");
                    
    subElement_NUCH.InnerText NUCH.ToString();
                    
    element.AppendChild(subElement_NUCH);

                    
    XmlNode subElement_PRATT xmlDcmnt.CreateElement("PRATT");
                    
    subElement_PRATT.InnerText PRATT.ToString();
                    
    element.AppendChild(subElement_PRATT);

                    
    // Сохраняем наш документ.
                    
    xmlDcmnt.Save(XmlFileName);

                    
    // Очищаем поля.
                    
    textBox_FAM.Text "";
                    
    textBox_IM.Text "";
                    
    textBox_OT.Text "";
                    
    comboBox_W.SelectedIndex = -1;
                    
    dateTimePicker_DR.Value DateTime.Now;
                    
    textBox_ENP.Text "";
                    
    comboBox_KSPEC.SelectedIndex = -1;
                    
    comboBox_NUCH.SelectedIndex = -1;
                    
    comboBox_PRATT.SelectedIndex = -1;

                    if (
    MessageBox.Show("Продолжить работу с формой?""Patients - Прикрепление"MessageBoxButtons.YesNoMessageBoxIcon.Question) == DialogResult.No) {
                        
    this.Close();
                    }
                }
            }

            private 
    void textBox_FAM_TextChanged(object senderEventArgs e) {
                
    FAM textBox_FAM.Text;
            }
            private 
    void textBox_IM_TextChanged(object senderEventArgs e) {
                
    IM textBox_IM.Text;
            }
            private 
    void textBox_OT_TextChanged(object senderEventArgs e) {
                
    OT textBox_OT.Text;
            }
            private 
    void textBox_ENP_TextChanged(object senderEventArgs e) {
                
    ENP textBox_ENP.Text;
            }

            private 
    void comboBox_W_SelectedIndexChanged(object senderEventArgs e) {
                switch (
    comboBox_W.SelectedIndex) {
                    case 
    0:
                        
    1;
                        break;
                    case 
    1:
                        
    2;
                        break;
                }
            }
            private 
    void comboBox_KSPEC_SelectedIndexChanged(object senderEventArgs e) {
                
    string[,] array_of_names_doc = new string[82] {
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" },
                    { 
    "Секретно",
                        
    "00000000000" }
                };

                switch (
    comboBox_KSPEC.SelectedIndex) {
                    case 
    0:
                    case 
    1:
                    case 
    2:
                    case 
    3:
                    case 
    4:
                    case 
    5:
                    case 
    6:
                    case 
    7:
                        
    KSPEC array_of_names_doc[comboBox_KSPEC.SelectedIndex1];
                        break;
                }
            }
            private 
    void comboBox_NUCH_SelectedIndexChanged(object senderEventArgs e) {
                switch (
    comboBox_NUCH.SelectedIndex) {
                    case 
    0:
                        
    NUCH 001;
                        break;
                    case 
    1:
                        
    NUCH 003;
                        break;
                    case 
    2:
                        
    NUCH 005;
                        break;
                    case 
    3:
                        
    NUCH 006;
                        break;
                    case 
    4:
                        
    NUCH 007;
                        break;
                    case 
    5:
                        
    NUCH 008;
                        break;
                    case 
    6:
                        
    NUCH 009;
                        break;
                    case 
    7:
                        
    NUCH 010;
                        break;
                }
            }
            private 
    void comboBox_PRATT_SelectedIndexChanged(object senderEventArgs e) {
                switch(
    comboBox_PRATT.Text) {
                    case 
    "Первоначальный выбор":
                        
    PRATT 1;
                        break;
                    case 
    "Замена МО":
                        
    PRATT 2;
                        break;
                    case 
    "Смена места жительства":
                        
    PRATT 3;
                        break;
                }
            }

            private 
    void dateTimePicker1_DR_ValueChanged(object senderEventArgs e) {
                
    string month_dr "",
                    
    day_dr "";

                switch(
    dateTimePicker_DR.Value.Month) {
                    case 
    1:
                    case 
    2:
                    case 
    3:
                    case 
    4:
                    case 
    5:
                    case 
    6:
                    case 
    7:
                    case 
    8:
                    case 
    9: {
                        
    month_dr "0" dateTimePicker_DR.Value.Month;
                        break;
                    }
                    case 
    10:
                    case 
    11:
                    case 
    12: {
                        
    month_dr "" dateTimePicker_DR.Value.Month;
                        break;
                    }
                }

                switch (
    dateTimePicker_DR.Value.Day) {
                    case 
    1:
                    case 
    2:
                    case 
    3:
                    case 
    4:
                    case 
    5:
                    case 
    6:
                    case 
    7:
                    case 
    8:
                    case 
    9: {
                        
    day_dr "0" dateTimePicker_DR.Value.Day;
                        break;
                    }
                    case 
    10:
                    case 
    11:
                    case 
    12:
                    case 
    13:
                    case 
    14:
                    case 
    15:
                    case 
    16:
                    case 
    17:
                    case 
    18:
                    case 
    19:
                    case 
    20:
                    case 
    21:
                    case 
    22:
                    case 
    23:
                    case 
    24:
                    case 
    25:
                    case 
    26:
                    case 
    27:
                    case 
    28:
                    case 
    29:
                    case 
    30:
                    case 
    31: {
                        
    day_dr "" dateTimePicker_DR.Value.Day;
                        break;
                    }
                }
                
    DR dateTimePicker_DR.Value.Year "-" month_dr "-" day_dr;
            }
        }


  2. #2
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Не обязательно писать пустые case

  3. Пользователь сказал cпасибо:
    BadPawn (22.01.2017)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •