Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cassiano Sanches

Usando o timer para timeout

Recommended Posts

Olá pessoal,Minha dúvida é a seguinte.Eu tenho uma lógica que busca o resultado de um teste pela rs232.O que eu quero fazer é consultar o resultado do teste até um determinado tempo.Pensei em usar o timer.É por ele?tb pensei em fazer a seguinte lógica1 - pega a hora local2 - soma a hora local com o time maximo de execucao (salva em uma variavel)aih faço um looping q compara a hora local com a variavel salva (q eh o tempo de inicio e o maximo de execucao) e se isso for maior q a hora local o looping para.só que se o usuário trocar a hora da estação nesse intervalo de tempo quebra com a lógica.alguém sabe alguma maneira melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cassiano nunca coloquei isso em prática, mas só estou dando uma idéia.

Pega o horário de inicio menos o horário final e veja quantos minutos ou segundos existe de diferença entre um e outro;

Não sei se é possível, mas se for possível manda seu looping executar durante esses X minutos ou segundos encontrados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer usando a logica que comentei.

 

Peguei a hora local e somei os segundos do timeout.

aih faço um while comparando a hora atual com a q salvei

 

DateTime OriginalTime = DateTime.UtcNow.AddSeconds(Convert.ToUInt16(AllVariables.TimeOut));			while ((DateTime.UtcNow <= OriginalTime) && (AllVariables.TestResult == ""))			{				AllVariables.TestResult = Convert.ToString(AllVariables.RS232.ReadExisting());				System.Threading.Thread.Sleep(100);			}

como o timeout é baixo não me preocupei com a questão de alterarem a hora do micro nesse meio tempo, mas com certeza deve afetar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.