Exemplo n.º 1
0
        public static bool LoadCaptionResource(string sCaptionFile)
        {
            const int MENU_TYPE   = 0;
            const int BUTTON_TYPE = 1;
            const int OTHER_TYPE  = 2;

            System.IO.FileStream     fs  = null;
            System.Xml.XmlTextReader xtr = null;

            GlobalVariable.gLanguageData lang;
            int iCapType = 0;

            string[]        sTemp = new string[5];
            int             i;
            CaptionLangSort langSort;

            try
            {
                GlobalVariable.gaButtonLanguage.Clear();
                GlobalVariable.gaMenuLanguage.Clear();
                GlobalVariable.gaTextLanguage.Clear();

                // Open XML File
                if (File.Exists(sCaptionFile) == false)
                {
                    return(true);
                }

                fs = new System.IO.FileStream(sCaptionFile, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);

                // Set xmlReader
                xtr = new XmlTextReader(fs);

                while (xtr.Read())
                {
                    switch (xtr.NodeType)
                    {
                    case XmlNodeType.Element:

                        switch (xtr.Name.ToUpper())
                        {
                        case "BUTTON":

                            iCapType = BUTTON_TYPE;
                            break;

                        case "MENU":

                            iCapType = MENU_TYPE;
                            break;

                        case "OTHER":

                            iCapType = OTHER_TYPE;
                            break;

                        case "TEXT":

                            xtr.MoveToAttribute("Key");
                            lang.Key = xtr.Value.Trim().ToUpper();

                            i = 0;
                            while (xtr.Read())
                            {
                                if (xtr.NodeType == XmlNodeType.Text)
                                {
                                    sTemp[i] = xtr.Value.Trim();
                                    i++;
                                }
                                else if (xtr.NodeType == XmlNodeType.EndElement && xtr.Name.ToUpper() == "TEXT")
                                {
                                    break;
                                }
                            }

                            // 2020-01-28-김미경 : message 를 다국어 버전으로 만들기 위하여 배열을 늘림
                            lang.Lang_1 = sTemp[0];
                            lang.Lang_2 = sTemp[1];
                            lang.Lang_3 = sTemp[2];
                            lang.Lang_4 = sTemp[3];
                            lang.Lang_5 = sTemp[4];

                            switch (iCapType)
                            {
                            case BUTTON_TYPE:

                                GlobalVariable.gaButtonLanguage.Add(lang);
                                break;

                            case MENU_TYPE:

                                GlobalVariable.gaMenuLanguage.Add(lang);
                                break;

                            case OTHER_TYPE:

                                GlobalVariable.gaTextLanguage.Add(lang);
                                break;
                            }
                            break;
                        }
                        break;
                    }
                }

                langSort = new CaptionLangSort();
                GlobalVariable.gaButtonLanguage.Sort(langSort);
                GlobalVariable.gaMenuLanguage.Sort(langSort);
                GlobalVariable.gaTextLanguage.Sort(langSort);
            }
            catch (Exception)
            {
                if (!(xtr == null))
                {
                    CmnFunction.ShowMsgBox(GetMessage(8) + "\r\n" + "\r\n" + "\'" + xtr.Name + xtr.Value + "\'", "XML Read Error", MessageBoxButtons.OK, System.Convert.ToInt32(MessageBoxIcon.Warning));
                }
            }
            finally
            {
                // Close XML File
                if (!(xtr == null))
                {
                    xtr.Close();
                }
                if (!(fs == null))
                {
                    fs.Close();
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        public static bool LoadCaptionResource()
        {
            const int MENU_TYPE   = 0;
            const int BUTTON_TYPE = 1;
            const int OTHER_TYPE  = 2;

            System.IO.FileStream     fs  = null;
            System.Xml.XmlTextReader xtr = null;

            GlobalVariable.gLanguageData lang;
            int iCapType = 0;

            string[]        sTemp = new string[3];
            int             i;
            CaptionLangSort langSort;

            try
            {
                GlobalVariable.gaButtonLanguage.Clear();
                GlobalVariable.gaMenuLanguage.Clear();
                GlobalVariable.gaTextLanguage.Clear();

                // Open XML File
                if (Microsoft.VisualBasic.FileSystem.Dir(modGlobalConstant.MP_CAPTION_FILE, 0) == "")
                {
                    return(true);
                }

                fs = new System.IO.FileStream(modGlobalConstant.MP_CAPTION_FILE, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);

                // Set xmlReader
                xtr = new XmlTextReader(fs);

                while (xtr.Read())
                {
                    switch (xtr.NodeType)
                    {
                    case XmlNodeType.Element:

                        switch (xtr.Name.ToUpper())
                        {
                        case "BUTTON":

                            iCapType = BUTTON_TYPE;
                            break;

                        case "MENU":

                            iCapType = MENU_TYPE;
                            break;

                        case "OTHER":

                            iCapType = OTHER_TYPE;
                            break;

                        case "TEXT":

                            xtr.MoveToAttribute("Key");
                            lang.Key = xtr.Value.ToUpper();

                            i = 0;
                            while (xtr.Read())
                            {
                                if (xtr.NodeType == XmlNodeType.Text)
                                {
                                    sTemp[i] = xtr.Value;
                                    i++;
                                }
                                else if (xtr.NodeType == XmlNodeType.EndElement && xtr.Name.ToUpper() == "TEXT")
                                {
                                    break;
                                }
                            }
                            lang.Lang_1 = sTemp[0];
                            lang.Lang_2 = sTemp[1];
                            lang.Lang_3 = sTemp[2];

                            switch (iCapType)
                            {
                            case BUTTON_TYPE:

                                GlobalVariable.gaButtonLanguage.Add(lang);
                                break;

                            case MENU_TYPE:

                                GlobalVariable.gaMenuLanguage.Add(lang);
                                break;

                            case OTHER_TYPE:

                                GlobalVariable.gaTextLanguage.Add(lang);
                                break;
                            }
                            break;
                        }
                        break;
                    }
                }

                langSort = new CaptionLangSort();
                GlobalVariable.gaButtonLanguage.Sort(langSort);
                GlobalVariable.gaMenuLanguage.Sort(langSort);
                GlobalVariable.gaTextLanguage.Sort(langSort);
            }
            catch (Exception)
            {
                if (!(xtr == null))
                {
                    CmnFunction.ShowMsgBox("Occured error in read language file." + "\r\n" + "\r\n" + "\'" + xtr.Name + xtr.Value + "\'", "FMB Client", MessageBoxButtons.OK, 1);
                }
            }
            finally
            {
                // Close XML File
                if (!(xtr == null))
                {
                    xtr.Close();
                }
                if (!(fs == null))
                {
                    fs.Close();
                }
            }

            return(true);
        }