Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Как в цикле на каждом шаге изменять имя значения в setings.setings ?

Ответить
Настройки темы
.NET - [решено] Как в цикле на каждом шаге изменять имя значения в setings.setings ?

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот есть код:
private void Form1_Load(object sender, EventArgs e)
{

for (int i = 1; i <= 3; i++)
{

string a;
a = (Properties.Settings.Default.s1);
label1.Text = a;


}
}


Мне нужно чтобы на каждом шаге в строчке "a = (Properties.Settings.Default.s1);" s1 увиличевалось на 1. Тоесть не 2 шаге а должно быть присвоено Properties.Settings.Default.s2. Делал "a = ("Properties.Settings.Default.s"+i);" но потом "а" присваивается путь "Properties.Settings.Default.s2", а не само знечение этого параметра.

Отправлено: 13:07, 01-06-2012

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Подсказка:
//Перебор всех свойств.
Код: Выделить весь код
foreach(object obj in Properties.Settings.Default) //цикл для всех свойств
{
   
}
Далее можно проверять, если имя начинается с S, и последние цифры равны цифрам в цикле FOR, то выводить значение текущей obj.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 13:55, 01-06-2012 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Delirium, спасибо, сейчас попробую и отпишусь)

Цитата Delirium:
foreach(object obj in Properties.Settings.Default) //цикл для всех свойств
{
} »

Ошибка 1 Оператор foreach не работает с переменными типа "WindowsFormsApplication1.Properties.Settings", поскольку "WindowsFormsApplication1.Properties.Settings" не содержит открытого определения для "GetEnumerator" C:\Documents and Settings\Администратор\мои документы\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 26 25 WindowsFormsApplication1

Отправлено: 13:58, 01-06-2012 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Хм... странно, я думал, у него есть интерфейс IEnumerator...
В понедельник потестирую на работе, попробуем что нибудь придумать.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 11:47, 02-06-2012 | #4


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Delirium, ок.

Отправлено: 23:13, 02-06-2012 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
foreach (System.Configuration.SettingsProperty obj in Properties.Settings.Default.Properties) //цикл для всех свойств
            {
                textBox1.Text += obj.Name + "=" + obj.DefaultValue + Environment.NewLine;
            }
Результат в textBox: (s1-s5 - наименования параметров, a1-a5 - значения
Код: Выделить весь код
s3=a3
s2=a2
s5=a5
s4=a4
s1=a1
Ну а дальше, я думаю, просто - проверять в IF, если имя равно S1-s5, то выводить те, что нужно.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:45, 04-06-2012 | #6


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Delirium, огромное спасибо!
Сделал вот так:
Код: Выделить весь код
for (int i=0;i<=16;i++)
            {
                foreach (System.Configuration.SettingsProperty obj in Properties.Settings.Default.Properties) //цикл для всех свойств
                {

                    if (obj.Name == "s" + i)
                    {
                        textBox1.Text += obj.DefaultValue.ToString();

                    }

                }
                
            }
и все работает так как и надо было.

Последний раз редактировалось Delirium, 05-06-2012 в 01:04.


Отправлено: 19:40, 04-06-2012 | #7


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Sadhacker, оформляй код тегами CODE, а то читать тяжело. Всегда рады помочь.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:04, 05-06-2012 | #8


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Delirium, появилась проблема: когда изменяю значение параметра в файле config, оно не обновляется в программе. А именно в obj.DefaultValue. У меня все настройки редактируются вручную в файле настроек. Как сделать так что-бы значение обновлялось?

Отправлено: 12:45, 05-06-2012 | #9


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата Sadhacker:
Как сделать так что-бы значение обновлялось? »
Код: Выделить весь код
Properties.Settings.Default.s1 = "новое значение";
Properties.Settings.Default.Save(); - Вот что самое главное! Иначе не сохранится. :)

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:31, 06-06-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Как в цикле на каждом шаге изменять имя значения в setings.setings ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Цикл в Цикле deamon7 Скриптовые языки администрирования Windows 5 15-04-2023 09:04
CMD/BAT - [решено] Передача двойных параметров в цикле RuCosinus Скриптовые языки администрирования Windows 5 28-10-2011 18:24
CMD/BAT - [решено] Не распознается подстановочный знак (*) в цикле for Gamer Скриптовые языки администрирования Windows 4 30-09-2010 10:03
.NET - Перекрытие области видимости в цикле foreach Delirium Программирование и базы данных 2 18-09-2010 02:06
Повтор в цикле команды XCopy babki Программирование и базы данных 6 29-11-2005 10:22




 
Переход