Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Jesterru
3 / 2 / 2
Регистрация: 19.06.2016
Сообщений: 299

Неправильно сохраняются настройки

29.03.2017, 18:25. Показов 1020. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делал игру кликер для конкурса.
Начал делал сохранение/загрузку данных. (Раньше такое никогда не делал)
В итоге при открытии программы у меня настройки такие, какие стоят в настройках проекта (Проект - Свойства - Параметры)
Ну, я думаю вы понимаете, что я хочу : "Как это сделать нормально? Чтобы сохранять/загружать данные"
Код :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
       private void Main_Form_Load(object sender, EventArgs e)
        {
            EPC = Properties.Settings.Default.EPC;
            EPS = Properties.Settings.Default.EPS;
            ES = Properties.Settings.Default.ES;
            ESell = Properties.Settings.Default.ESell;
            Money = Properties.Settings.Default.Money;
 
            EPCUpgrLvl1 = Properties.Settings.Default.EPCUpgrLvl1;
            EPCUpgrLvl2 = Properties.Settings.Default.EPCUpgrLvl2;
            EPSUpgrLvl1 = Properties.Settings.Default.EPSUpgrLvl1;
            EPSUpgrLvl2 = Properties.Settings.Default.EPSUpgrLvl2;
            ESellUpgrLvl1 = Properties.Settings.Default.ESellUpgrLvl1;
            ESellUpgrLvl2 = Properties.Settings.Default.ESellUpgrLvl2;
 
            SS_Panels = Properties.Settings.Default.SS_Panels;
            SS_Bataries = Properties.Settings.Default.SS_Bateries;
            SS_Other = Properties.Settings.Default.SS_Other;
 
            AES_Control = Properties.Settings.Default.AES_Control;
            AES_Electro = Properties.Settings.Default.AES_Electro;
            AES_Housing = Properties.Settings.Default.AES_Housing;
 
            ALET_Copper = Properties.Settings.Default.ALET_Copper;
            ALET_Steel = Properties.Settings.Default.ALET_Steel;
            ALET_Other = Properties.Settings.Default.ALET_Other;
 
            SSP_Accelerator = Properties.Settings.Default.SSP_Accelerator;
            SSP_Rocket = Properties.Settings.Default.SSP_Rocket;
            SSP_Rocket = Properties.Settings.Default.SSP_Rocket;
            SSP_Sputnik = Properties.Settings.Default.SSP_Sputnik;
            SSP_Panels = Properties.Settings.Default.SSP_Panels;
        }
 
        private void Main_Form_FormClosing(object sender, FormClosingEventArgs e)
        {
            Properties.Settings.Default.EPC = EPC;
            Properties.Settings.Default.EPS = EPS;
            Properties.Settings.Default.ES = ES;
            Properties.Settings.Default.ESell = ESell;
            Properties.Settings.Default.Money = Money;
 
            Properties.Settings.Default.EPCUpgrLvl1 = EPCUpgrLvl1;
            Properties.Settings.Default.EPCUpgrLvl2 = EPCUpgrLvl2;
            Properties.Settings.Default.EPSUpgrLvl1 = EPSUpgrLvl1;
            Properties.Settings.Default.EPSUpgrLvl2 = EPSUpgrLvl2;
            Properties.Settings.Default.ESellUpgrLvl1 = ESellUpgrLvl1;
            Properties.Settings.Default.ESellUpgrLvl2 = ESellUpgrLvl2;
 
            Properties.Settings.Default.SS_Panels = SS_Panels;
            Properties.Settings.Default.SS_Bateries = SS_Bataries;
            Properties.Settings.Default.SS_Other = SS_Other;
 
            Properties.Settings.Default.AES_Control = AES_Control;
            Properties.Settings.Default.AES_Electro = AES_Electro;
            Properties.Settings.Default.AES_Housing = AES_Housing;
 
            Properties.Settings.Default.ALET_Copper = ALET_Copper;
            Properties.Settings.Default.ALET_Steel = ALET_Steel;
            Properties.Settings.Default.ALET_Other = ALET_Other;
 
            Properties.Settings.Default.SSP_Accelerator = SSP_Accelerator;
            Properties.Settings.Default.SSP_Rocket = SSP_Rocket;
            Properties.Settings.Default.SSP_Fuel = SSP_Fuel;
            Properties.Settings.Default.SSP_Sputnik = SSP_Sputnik;
            Properties.Settings.Default.SSP_Panels = SSP_Panels;
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.03.2017, 18:25
Ответы с готовыми решениями:

Куда сохраняются настройки приложения
Здравствуйте друзья. В одном решении есть два проекта: консольное приложение и виндовс приложение. Виндовс приложение второстепенное...

Не сохраняются все настройки в почтовой программе
Пишу почтовик. На одном из этапов появилась идея - сохранять/загружать письма локально. Реализовал. Но путь сохранений прописывал...

Не сохраняются настройки
Здравствуйте, подскажите пожалуйсто: как сделать чтобы подключения библиотек не "сбрасывалось"... А то каждый раз когда захожу в...

9
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
29.03.2017, 19:54
Как Вы храните настройки ? Где находится ваша БД??? В ресурсах ???
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
31.03.2017, 15:24
напишите класс для работы с INI-файлом. Тогда вы сможете туда и записывать данные и читать с него данные. Проще будет.

Например вот так класс для работы с INI-файлом может выглядеть:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Runtime.InteropServices;
using System.Text;
 
namespace Ini
{
    /// <summary>
    /// Create a New INI file to store or load data
    /// </summary>
    public class IniFile
    {
        public string path;
 
        [DllImport("kernel32.dll")]
        private static extern long WritePrivateProfileString(string section,
            string key, string val, string filePath);
        [DllImport("kernel32.dll")]
        private static extern int GetPrivateProfileString(string section,
                 string key, string def, StringBuilder retVal,
            int size, string filePath);
 
        /// <summary>
        /// INIFile Constructor.
        /// </summary>
        /// <PARAM name="INIPath"></PARAM>
        public IniFile(string INIPath)
        {
           // path = INIPath;
 
          //  path ;
        }
        /// <summary>
        /// Write Data to the INI File
        /// </summary>
        /// <PARAM name="Section"></PARAM>
        /// Section name
        /// <PARAM name="Key"></PARAM>
        /// Key Name
        /// <PARAM name="Value"></PARAM>
        /// Value Name
        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.path);
        }
 
        /// <summary>
        /// Read Data Value From the Ini File
        /// </summary>
        /// <PARAM name="Section"></PARAM>
        /// <PARAM name="Key"></PARAM>
        /// <PARAM name="Path"></PARAM>
        /// <returns></returns>
        public string IniReadValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp,
                                            255, this.path);
            return temp.ToString();
 
        }
    }
}
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
31.03.2017, 15:43
Sigma214, чем же проще? Вот неуниверсальнее - да

Jesterru, допишите в методе закрытия формы в конце
C#
1
Properties.Settings.Default.Save();
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
31.03.2017, 18:26
Sigma214,объясните пожалуйста что сие означает [DllImport("kernel32.dll")] ??? Поподробнее об информации в квадратных скобках.

Добавлено через 2 минуты
Что это ???
C#
1
[STAThread]
Добавлено через 1 минуту
Почему используются именно квадратные скобки???
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
31.03.2017, 18:53
Про DllImport можете почитать здесь (если буду пересказывать своими словами, то, возможно Вы меня не поймете) (Раздел 12.4 Системные функции): https://books.google.ru/books?... BE&f=false


Вот про STAThread: https://msdn.microsoft.com/ru-... 82351.aspx
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
31.03.2017, 19:08
Цитата Сообщение от Sigma214 Посмотреть сообщение
напишите класс для работы с INI-файлом. Тогда вы сможете туда и записывать данные и читать с него данные. Проще будет.

Не по теме:

Да вы извращенец... В ini хранить настройки в 2017 году...

0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
31.03.2017, 19:09
Someone007, эм... это оскорбление или комплимент?
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
31.03.2017, 19:34
Sigma214,что в данном случае означают квадратные скобки???
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
31.03.2017, 19:40
Веселый, Это атрибут указывает исполняющей среде, что приложение использует однопоточную COM-модель.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2017, 19:40
Помогаю со студенческими работами здесь

Не сохраняются настройки плагина
Пишу плагин Paid Post. Сделал для него пробную страницу настроек (она пока там одна). Выводится страница нормально, но при нажатии...

Не сохраняются настройки Wi-Fi на ноутбуке
Здравствуйте. В один вечер ноутбук перестал подключаться автоматически к домашнему вай-фай: тоесть, пароль он помнит, а пишет что &quot;Нет...

Не сохраняются настройки сети
Здравствуйте уважаемые форумчане. Есть трабл. захожу я значит в настройки Центр управления сетями и общим доступом. нажимаю изменить...

Не сохраняются настройки в BIOS
Здравствуйте. Помогите, пожалуйста, разобраться, ибо не знаю в чем дело - не сохраняются настройки биоса при перезагрузке, при том, что...

Не сохраняются настройки в файл
Всем привет!) Есть такой код: final File cfg_file = new File(&quot;/storage/emulated/0/XPlayer/config.ini&quot;); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru