PDA

Показать полную графическую версию : [решено] Как в цикле на каждом шаге изменять имя значения в setings.setings ?


Страниц : 1 [2]

Sadhacker
15-06-2012, 10:07
Delirium, этот проэкт я скинул для примера. А нужно мне делать так для загрузки новых баз по корпоративной сети на отделения где 2-4 компьтера. Архив загружается с ftp по adsl а потом розбрасывается на эти компьтера. Вот s1,s2 и т.д. это сетевой путь куда нужно збрасывать базы. Если значение стоит 0 то оно не используется. Тоесть мне поочереди нужно проверять значения от s1 до s16 и если там не 0 то копировать базы на этот адрес. Счас я просто скопировал 16 раз вот это:
string a = Properties.Settings.Default.s1;
try
{
if (a != "0") //якщо параметр не пустий то
{
FileInfo fi = new FileInfo(Properties.Settings.Default.inftp); //ЧИТАЄМ РОЗМІР СКАЧАНОГО ІН ФАЙЛА
// Чи є файл in.txt на сетевом пк
if (File.Exists(a + "in.txt")) //якшо є
{
FileInfo fi2 = new FileInfo(a + "in.txt"); //ЧИТАЄМ РОЗМІР файла на робочій станції
long size2 = fi2.Length; // Читаєм розмір файла
if (size/*Розмір файла на головном пк*/ != size2)
{
FastZip FZ = new FastZip();
FZ.ExtractZip(Properties.Settings.Default.putbasss, a, "");
fi.CopyTo(a + "in.txt", true); //КОПІРУЄМ ЗАГРУЖЕНИЙ ІН НА ДРУГИЙ
notifyIcon1.ShowBalloonTip(5000, "Загрузка БД", "БД загружены на " + a, ToolTipIcon.Info);
}
}
else //Якшо нема
{
FastZip FZ = new FastZip();
FZ.ExtractZip(Properties.Settings.Default.putbasss, a, "");
fi.CopyTo(a + "in.txt", true); //КОПІРУЄМ ЗАГРУЖЕНИЙ ІН НА ДРУГИЙ
notifyIcon1.ShowBalloonTip(5000, "Загрузка БД", "БД загружены на " + a, ToolTipIcon.Info);
}
}
}
catch (Exception ex)
{
notifyIcon1.ShowBalloonTip(5000, "Ошибка загрузки комунальных БД", ex.Message, ToolTipIcon.Error);
}
Весь проэкт збросить не могу. Мне нужно чтобы вследуйщий раз так само проверилось уже s2 и так до s16.

Sadhacker
15-06-2012, 15:42
Delirium, кстати, у меня в visual studio 2010 professional доступно только framework 4.0 . Как туда можно 2.0 запихнуть? Я думал что просто нужно на пк установить фреймворк, но он так не появляется.

Sadhacker
15-06-2012, 17:24
Delirium, о с фреймворком 2.0 разобрался, там просто нужно было поставить 3.5 sp1.

Delirium
15-06-2012, 23:29
Ну в общем то я так и думал, что это будут пути. В данном случае проще всего работать с текстовиком и считывать его построчно.
Пример текстовика:
s1=d:\
s2=0
s3=c:\
Считываем его через File.ReadLine() - т.е. построчно. Далее ищем знак =, и все что слева - переменная, все что справа - путь. И вперед обрабатывать.
Плюсы подхода - гибкость использования и редактирование текстовика чем угодно.
Минусы - написание парсера для обработки текстовика. Но он будет максимум в 20 строчек.
Если у самого не получится, скажи, я напишу.

Sadhacker
17-06-2012, 20:18
Delirium, ок, я попробую.




© OSzone.net 2001-2012