Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > С# continue


Автор: Neymexa 28.4.2009, 20:37
не подскажите как применить?

Код

private void button1_Click(object sender, EventArgs e)
        {
            BackgroundWorker bw = sender as BackgroundWorker;

            try
            {
                DirectoryInfo di = new DirectoryInfo(textBox1.Text);
                FileInfo[] array = di.GetFiles("*.xml");
                for (int i = 0; i < array.Length; i++)
                {
                    XPathDocument doc = new XPathDocument(textBox1.Text + "\\" + array[i]);
                    XPathNavigator navigator = doc.CreateNavigator();
                    for (int j = 0; j < listView1.Items.Count; j++)
                    {
                        XPathNodeIterator nodes = navigator.Select(listView1.Items[j].SubItems[1].Text);
                        if (nodes.MoveNext())
                        {
                            toolStripProgressBar1.Maximum = i;
                            toolStripProgressBar1.Value = i;
                            toolStripProgressBar1.Visible = true;
                            toolStripStatusLabel1.Visible = true;
                            toolStripStatusLabel1.Text = "Идет перемещение из" + textBox1.Text + " в " + listView1.Items[j].Text;
                            File.Move(textBox1.Text + "\\" + array[i], listView1.Items[j].Text + "\\" + array[i]);
                        }                                    
                        else                            
                        {
                            File.Move(textBox1.Text + "\\" + array[i], @"C:\Users\User" + "\\" + array[i]);
                        }

                    }

                }
                //MessageBox.Show(toolStripStatusLabel1.Text); 
                                 
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }            
        }

вот так не работает 
прога берет файлы пасширения xml в директории указанной в textbox.text и перекидывает в директорию указанную в litview.items[i]

Автор: -Mikle- 28.4.2009, 23:10
а что не работает?

Автор: Neymexa 29.4.2009, 06:14
Цитата(-Mikle- @ 28.4.2009,  23:10)
а что не работает?

если убрать else {moveto...}
то все работает
else это перемещение файлов по умолчанию

Автор: SKrivosein 29.4.2009, 10:24
Проверь если существует @"C:\Users\User", не совсем уверен но File.Move() не создаёт новую директорию.
А вобще ошибки какие студия выкидывает, или просто молчит. Попробуй это место смотреть в дебагру.
Да а ты написал МoveТo()

Автор: Neymexa 29.4.2009, 20:03
Цитата(SKrivosein @ 29.4.2009,  10:24)
Проверь если существует @"C:\Users\User", не совсем уверен но File.Move() не создаёт новую директорию.
А вобще ошибки какие студия выкидывает, или просто молчит. Попробуй это место смотреть в дебагру.
Да а ты написал МoveТo()

а здарова!
moveto()-перемещает из одной директории в другую

По подробнее... 
1 ый цикл перебирает файлы с расширением /xml
2ой сравнивает с условием указанным в listview.items[j].subitems[1].text и перемещает в listview.items[j]

Автор: SKrivosein 29.4.2009, 20:33
Сосредоточся! smile 
В коде у тебя написано
Цитата

File.Move(textBox1.Text + "\\" +....

а потом пишеш moveto()
Ну ладно, ты посмотрел что я тебе писал, какие результаты?
Есть Visual Studuo, влючи дебургер, поставь breakpoint  везде где надо, и посмотри пошагово что происходит с переменными, директориями....
Просто разбиратся в куске твоего кода, желающие наверно есть, но их очень мало.

Автор: Neymexa 29.4.2009, 21:31
Цитата(SKrivosein @ 29.4.2009,  20:33)
Сосредоточся! smile 
В коде у тебя написано
Цитата

File.Move(textBox1.Text + "\\" +....

а потом пишеш moveto()
Ну ладно, ты посмотрел что я тебе писал, какие результаты?
Есть Visual Studuo, влючи дебургер, поставь breakpoint  везде где надо, и посмотри пошагово что происходит с переменными, директориями....
Просто разбиратся в куске твоего кода, желающие наверно есть, но их очень мало.

ой  точно насчет moveto
у меня в коде все правильно проверил просто нужно както придумать выход из цикла посредством continue or break
файлы и директории все правильно и даже обработка xpath  smile 
на счет дебагера посмотрю - я не особо умею им пользоваться -- > буду учиться

Автор: Neymexa 29.4.2009, 21:48
блин такое чувство что на работе и дома разные версии studio хотя оба 2008
на работе при дебаге наводишь мышкой например на array[i] и отображается список всех xml файлов а тут дома нифига?
В чем дело?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)