Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 06.12.2015
Сообщений: 98

Последовательное выполнение процессов

14.02.2021, 13:08. Показов 2594. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрейшего.
Уважаемые форумчане подскажите пожалуйста.

Есть:
1. запущен сторонняя программа
2. формирует текстовый документ

Мне необходимо:
1. остановить стороннюю программу
2. переместить текстовый документ из каталога сторонней программы в иной каталог
3. в каталог сторонней программы скопировать мой текстовый документ
4. запустить стороннюю программу

То, что мне необходимо - реализовано.
Вопрос в следующем:
как реализовать выполнение пунктов последовательно ожидая выполнения предыдущего, т.е. 2-ой пункт не запускается, пока 1-ый не закончен.

Может ссылки кто подкинет, где почитать, либо похожего примера.

Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2021, 13:08
Ответы с готовыми решениями:

Ожидание завершения копии программы. Последовательное выполнение
День добрый! Появился вопрос... Есть программа по обработке фото файлов. Через контекстное меню Проводника, можно выбрав сразу несколько...

Последовательное выполнение процессов с ожиданием завершения каждого
Имеется 2 процесса, которые должны выполняться один за другим. Первый - объединение нескольких файлов .odt в один: Process cat = new...

последовательное выполнение
как мне сделать так что бы когда вибераю чек боксами программы для установки, после нажимаю на кнопку Установить . И они устанавливались...

17
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 13:31
panso, вопрос неясен. Программа и так выполняется последовательно. Вы говорите что все что необходимо уже реализовано. Так в чем тогда проблема?
1
1 / 1 / 0
Регистрация: 06.12.2015
Сообщений: 98
14.02.2021, 13:43  [ТС]
Возможно я чего-то не до понимаю. Имена текстовых документов одинаковые, если файл по размерам большой, выполняя 2-й и 3-ий пункт прописывает, что такой файл уже существует. Я изначально подумал, что это связано с тем, что 2-ой процесс еще не закончен, а третий начался (т.е. нужный файл для скачивания еще не перемещен, а на его замену копируется мой и возникает конфликт).
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 14:04
Цитата Сообщение от panso Посмотреть сообщение
если файл по размерам большой, выполняя 2-й и 3-ий пункт прописывает, что такой файл уже существует.
1) Только для больших файлов такое?
2) Кто и что прописывает? Покажите текст или скриншот
3) Покажите свой код. Возможно нужно просто разрешить перезапись существующего файла.
1
1 / 1 / 0
Регистрация: 06.12.2015
Сообщений: 98
14.02.2021, 14:47  [ТС]
Все, понял. Затупил. Для проверки выполнил код дважды, а там уже был мой .txt.

проявлялось:


поясните еще пожалуйста. Как я понял с Ваших слов, если множество копирований и перемещений, все выполняется последовательно и следующий процесс начинается после завершения предыдущего? Что-то на подобии как в проводнике "в очередь".

спасибо.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 14:58
panso, вы не в тему употребляете слово процесс. Так называют запущенное приложение. Вы же не запускаете процессы на каждое действие, а вызываете процедуры/функции. Код вы не показали так что я делаю предположение. Если да, то конечно ваш код выполняется строго последовательно. Следующая строка не начнет выполняться пока не закончится выполнение предыдущей.
1
1 / 1 / 0
Регистрация: 06.12.2015
Сообщений: 98
14.02.2021, 15:04  [ТС]
перемещение файла из Path1 в Path2
VB.NET
1
2
3
4
5
6
    Sub move_txtfiles()
        way_to_folder = way_to_DSD.Text
        If System.IO.Directory.Exists("скаченные\" + month_ago + " " + my_post_name.Text + " " + lb_year.Text) Then
            IO.File.Move(way_to_folder + "\test.txt", way_to_my_applicattion + "\скаченные\" + month_ago + " " + my_post_name.Text + " " + lb_year.Text + "\test.txt")
        End If
    End Sub
копирование из Path3 в Path1
VB.NET
1
2
3
4
5
    Sub copy_txtfiles()
        If System.IO.Directory.Exists("обработанные") Then
            IO.File.Copy(way_to_my_applicattion + "\обработанные\test.txt", way_to_folder + "\test.txt")
        End If
    End Sub
выполнение
VB.NET
1
2
3
4
5
6
    Private Sub lb_time_TextChanged(sender As Object, e As EventArgs) Handles lb_time.TextChanged
        If cb_algoritm_start.Checked = True Then
            move_txtfiles()
            copy_txtfiles()
         End If
    End Sub
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 16:16
panso, как я и говорил. Никаких процессов тут нет. Обычные вызовы процедур.

Что касается исключения, то оно возникает потому что File.Copy и File.Move генерируют исключение если файл назначения уже существует. Для Copy это можно предотвратить если передать True третьим аргументом. Это разрешает перезапись файла назначения. Для Move такой перегрузки нет. Попробуй переключиться на FileSystem.MoveFile.

Добавлено через 44 минуты
panso, и еще вдогонку. Советую прочитать статью Феномен XY: как избежать «неправильных» проблем. Она точно подходит к данному обсуждению.
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
14.02.2021, 16:25
а если после перемещения файла зациклится на проверке существования его в папке1, как только вернёт - отсутствует - копировать из папки3 в папку1.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 16:42
Цитата Сообщение от Yury Komar Посмотреть сообщение
а если после перемещения файла зациклится на проверке существования его в папке1
Откуда здесь взяться зацикливанию?
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
14.02.2021, 17:07
Лучший ответ Сообщение было отмечено panso как решение

Решение

OwenGlendower, ну я имею ввиду это:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
    Private Sub lb_time_TextChanged(sender As Object, e As EventArgs) Handles lb_time.TextChanged
        If cb_algoritm_start.Checked = True Then
            move_txtfiles()
 
            'ждем пока файл исчезнет из папки1
            Do While IO.File.Exist("путь_к_файлу_папки1") = True
            Loop
 
            copy_txtfiles()
         End If
    End Sub
Добавлено через 1 минуту
костыльно конечно выглядит
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 17:26
Yury Komar, не понял зачем тут цикл
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
14.02.2021, 17:34
OwenGlendower, ну, может я неправильно понял, но вроде как, у ТС при перемещении файла он переносится, но при копировании на его место другого - ошибка о том, что файл все еще существует. Может быть просто не успевает полностью переместится и уже пытается поместить новый вместо старого. Задержки изза скорости работы при операцях с файлами.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
14.02.2021, 18:48
Yury Komar, ок, понял. Я понял по другому, но возможно я ошибся. Пусть ТС решает.
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
14.02.2021, 18:54
OwenGlendower, согласен
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
15.02.2021, 03:29
panso, получилось ли решить вашу проблему?
1
1 / 1 / 0
Регистрация: 06.12.2015
Сообщений: 98
18.02.2021, 20:47  [ТС]
да, спасибо огромное.

Добавлено через 1 минуту
в принципе это то, что я и хотел, только походу объяснил не правильно

Добавлено через 1 минуту
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
   
 Private Sub lb_time_TextChanged(sender As Object, e As EventArgs) Handles lb_time.TextChanged
        If cb_algoritm_start.Checked = True Then
            move_txtfiles()
 
            'ждем пока файл исчезнет из папки1
            Do While IO.File.Exist("путь_к_файлу_папки1") = True
            Loop
 
            copy_txtfiles()
         End If
    End Sub
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
19.02.2021, 06:09
отлично.
А так да, очень важно правильно задать вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2021, 06:09
Помогаю со студенческими работами здесь

Не последовательное выполнение команд в C#
Итак, есть довольно крупный проект, который мне нужно довести до ума. Создал класс для методов сравнения параметров изображения из...

Последовательное выполнение методов
Приветствую, столкнулся с проблемой, имеется 2 метода, один заполняет DGV из базы, второй заполняет ту же таблицу в базе, мне требуется что...

Последовательное выполнение кода
Как можно реализовать последовательность выполнения кода Пока 1 часть не завершит выполнение, например calculate(); не выполнять abc();

Последовательное выполнение потоков
Господа, очень нужна ваша помощь, бьюсь уже третий день... 1. Необходимо чтобы сперва выполнялся метод upload, а после него replace. Т.е....

Последовательное выполнение запросов
Доброго времени суток! Имеется действие, добавляющее комментарий в БД и вызываемое клиентами с помощью ajax запросов. Появилась...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru