ям.
Для його оптимізації, була створена логічна змінна і умова, що вимикає повідомлення про успішне збереженні налаштувань (кнопки «Зберегти») в необхідному випадку. Потім був повністю очищений обробник відновлення вихідних налаштувань, і написаний код, який встановлює значення за замовчуванням в графічному інтерфейсі, потім встановлює значення істини для логічної змінної і просто по черзі виконує програмне натискання кнопок «Зберегти».
У підсумку код програми зменшився ще на ~ 200 рядків, до того ж при додаванні нових об'єктів або параметрів на будь вкладки в майбутньому, мені більше не доведеться писати нові операції для відновлення вихідних налаштувань - потрібно буде лише додати одну сходинку установки значення за замовчуванням для нового параметра.
Деякі правки були внесені також в імпорт і експорт налаштувань, операції установки значень реалізовані аналогічно відновленню вихідних налаштувань, за винятком джерела даних.
В останню чергу була реалізована локалізація додатки. Для цього планувалося використовувати ini файли і клас для роботи з ними, званий TIniFile. Однак виявилося, що він не підтримує Юнікод, а значить, неможливо буде зробити коректний висновок іноземних символів. Для цього був використаний клас TMemIniFile, у якого більш широкі можливості.
Локалізація реалізована наступним чином:
Створено файл English.lng, в якому містяться мовні рядки англійською мовою
Реалізовано отримання англомовного ідентифікатора мови ОС користувача, наприклад Russian, English і т.д.
Реалізована завантаження мовних рядків з відповідного мови файлу локалізації та установка всіх елементів інтерфейсу локалізованих написів.
У разі відсутності локалізованого файлу, завантажуються англомовні написи.
Створено файл Russian.lng
Довідка за програмою перенесена в папку manager help і іменується аналогічно файлам локалізації, за винятком розширення.
Підсумком стала можливість локалізації програми на будь-яку мову всім користувачам, що знають англійську. Для локалізації необхідно скопіювати файл English.lng, перейменувати його під свою мову, виконати переклад всіх рядків на свою рідну мову в текстовому редакторі.
.2.6 Тестування ПЗ
У процесі тестування програмного продукту, ставилася мета перевірити працездатність програми на різних версіях Celestia і Celestia EP, коректну локалізацію, відсутність помилок і їх виникнення.
Основними операціями при тестуванні Менеджера конфігурації Celestia були: зміна і збереження параметрів на кожній вкладці, запуск Менеджера з включеним і вимкненим Інтернетом для перевірки функції завантаження посилань з сервера.
Після запуску програми на Celestia 1.6.1, ми бачимо:
Як бачите, на вкладці «Об'єкти і час» недоступні практично всі об'єкти. Причиною є їх відсутність в стандартному дистрибутиві Celestia 1.6.1.
інструменти також відсутні в стандартній комплектації космічного симулятора.
Отже, ми відкриваємо файл celestia.cfg і бачимо, наприклад:
Змінюємо в Менеджерові пару значен...