Возможно, вы захотите посмотреть на совпадение строк с регулярными выражениями («regexp»). Обратите внимание, что синтаксис регулярных выражений, используемый Matlab, отличается от синтаксиса, используемого в VBA. В вашем примере «.» берет на себя роль «?» подстановочный знак, чтобы вы могли сделать
str1 = 'aabb'; % Match
str2 = 'abab'; % No match
if isempty(regexp(str1, '.ab.'))
disp('str1 is no match');
else
disp('str1 is a match');
end
if isempty(regexp(str2, '.ab.'))
disp('str2 is no match');
else
disp('str2 is a match');
end
, и вы должны получить следующее:
str1 является совпадением
str2 не соответствует
Лучшее решение состояло бы в том, чтобы записать консольное приложение, которое делает его задание и выходы. Можно затем использовать Windows Task Scheduler для выполнения его периодически.
Почему Вы не создаете свое приложение как услуга во-первых?
Код, который работает постоянно, называют демоном и существует статья, здесь обрисовывающая в общих чертах, как сделать то, что Вы спрашиваете. Это укажет на Вас на пример того, как записать простой сервис здесь.
Вы, вероятно, не хотите просто вращаться в цикле, напрасно использующем процессорное время.
Принятие Вас находится на окнах, у Вас должен быть цикл, который никогда не заканчивается вызовом к WaitForSingleObject () или WaitForMultipleObjects () или MsgWaitForMultipleObjects () в зависимости от Ваших потребностей. Затем имейте некоторый объект синхронизации, который будит Вас, такие как именованное событие.
См. документацию Синхронизации Win32 здесь. Если Вы уточняете больше то, что должна сделать Ваша программа, мы можем, вероятно, предоставить более определенную консультацию.
Если Ваша программа будет постоянно выполнением затем, необходимо спать, пока желаемое событие не имеет место (например, передачи секунд XX). Если Вы просто будете вращаться в некоторое время {} цикл, то Вы высосете процессорное время.
Если Ваша программа собирается всегда работать на машине затем, необходимо считать создание ее сервисом, таким образом, она автоматически запускается и останавливается с машиной.
Хорошо я уверен в какой-то момент, что это должно остановиться, нет?
Породите поток, который действительно работает и имеет основной блок потока на Консоли. ReadLine (), если Вы хотите, чтобы это было выполнимо как консольное приложение также.
Если Вы действительно просто хотите приостановить основной поток навсегда, просто блок на ManualResetEvent, Вы никогда не стреляете.
Но, рассмотрите использование сервиса, если Вы можете.
Если Ваше создание настольного приложения Вы захотите иметь выполненный в системном лотке. Это будет
Если Ваше создание серверного приложения Вы захотите записать сервис окон. Это будет
Как кто-то, кто, прежде всего, Специалист по ИТ, я сказал бы, что приложения сторонних производителей, что мы получаем то выполнение как консольные приложения вместо сервисов окон, для которых мы прикладываем много сил удерживающийся от того, чтобы быть купленным. Это создает большую работу для нас и открывает проблемы значительной поддержки и дыры в системе безопасности.