powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не переносятся файлы в другую директорию в си#
4 сообщений из 4, страница 1 из 1
Не переносятся файлы в другую директорию в си#
    #39173737
t44
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t44
Гость
Добрый день.
У меня такой вопрос. Если файлы не загружаются поочередно в imagePanel1.Image,
то переносятся файлы в другую директорию, иначе не хотят переносится пишет, что занят файл другим процессом. Что здесь можно сделать?
Код: 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.
  if (textBox1.Text != "" & textBox2.Text != "")
            {
                var dir = new DirectoryInfo(textBox1.Text); 
                foreach (FileInfo file in dir.GetFiles()) 
                {
                        
                    label3.Text = "Cтатус: Обрабатывается файл - " + file.FullName;
                                     
                    string fileName = file.FullName;
                  
                    string extension;

                    extension = Path.GetExtension(fileName);
                   
                    if (extension.ToUpper() == ".JPG" | extension.ToUpper() == ".JPEG")
                    {

                        Bitmap b = new Bitmap(fileName);


                        imagePanel1.Image = b;



                        if (b.Height > 768 || b.Width > 1024)
                        {
                           
                            imagePanel1.Image = ResizeImage(imagePanel1.Image, 1024, (int)Math.Round((decimal)imagePanel1.Image.Height * 1024 / imagePanel1.Image.Width));
                            lblSize.Text = "Image size: " + imagePanel1.Image.Width.ToString() + " x " + imagePanel1.Image.Height.ToString() + "px";

                        }

                        Application.DoEvents();
                        Thread.Sleep(2000);
                        pic_changed = true;
                        txtPath.Text = fileName;
                        sourceFile = fileName;
                        string result;
                        result = Path.GetFileName(fileName);
                        destinationFile = textBox2.Text + "\\" + result;

                      

                    }

                }


              

              

            }
            else
            {
                MessageBox.Show("Необходимо задать папку для обработки и архива!");
                return; 
            }

            
            imagePanel1.Image = null;
      


     




Сама процедура переноса:

Код: 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.
private void button4_Click(object sender, EventArgs e)
        {
        
             if (textBox1.Text != "" & textBox2.Text != "")
            {

            var dir = new DirectoryInfo(textBox1.Text);// папка с файлами 
          

            foreach (FileInfo file in dir.GetFiles()) // извлекаем все файлы и кидаем их в список 
            {
               

                
                string fileName = file.FullName;
              

                    sourceFile = fileName;
                    string result;

                    result = Path.GetFileName(fileName);
                    
                    destinationFile = textBox2.Text + "\\" + result;

                   
                     System.IO.File.Move(sourceFile, destinationFile);

                  

                

            }
            }
             else
             {
                 MessageBox.Show("Необходимо задать папку для обработки и архива!");
                 return;
             }
            
        }



Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
Не переносятся файлы в другую директорию в си#
    #39174023
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно как два метода связаны и где выпадает ошибка...
...
Рейтинг: 0 / 0
Не переносятся файлы в другую директорию в си#
    #39174292
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каком потоке обрабатываются? С какой целью
Код: c#
1.
Thread.Sleep(2000);


Вероятно, происходит одновременное обращение из разных потоков.
...
Рейтинг: 0 / 0
Не переносятся файлы в другую директорию в си#
    #39176687
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Я вроде сделал. Создавал и уничтожал компонент, в который размещалась картинка динамически и это помогло.
YLScsImage.ImagePanel imagePanel2;
imagePanel2 = new YLScsImage.ImagePanel();

......................


img.Dispose();
.............

imagePanel2.Dispose();
b.Dispose();
......
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не переносятся файлы в другую директорию в си#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]