Usando o gestor do temporizador. Queria escrever um artigo, mas depois foi desviado. Embora possa não ser suficiente para um artigo.
Não o obterá num tempo específico devido ao código de um único fio e fila de eventos, mas com um erro médio inferior a um segundo (o máximo é limitado pelo tempo máximo de execução do evento pelo código).
Quanto mais, existe apenas um temporizador.
Precisa dele?
Sim, a margem de erro é quase imperceptível. Talvez queira carregá-lo de imediato para a Base de Código? Perder-se-á no fórum, e outra pessoa irá precisar dele lá.
Yedelkin: Sim, o erro é quase imperceptível. Porque não o coloca de imediato na Base de Código? Vai perder-se no fórum, e outra pessoa vai precisar dele.
Ainda não acabei, estou ocupado com o meu File Unlimited por 5. Terminarei em breve.
A questão não é se vamos precisar dela ou não. É a única forma normal e correcta de trabalhar com temporizadores múltiplos.
Mais uma vez, este é um grande substituto para a função do sono nos perus, e mais uma vez, um segundo é um pouco exagerado.
O tema está aberto a discussão. O que pensa?
Há uma nuance. O temporizador no indicador não funciona se não estiver anexado ao gráfico. Portanto, mesmo um segundo temporizador é frequentemente inútil em indicadores.
Aqui está uma solução para a monitorização de eventos de menos de um segundo. Talvez, um temporizador possa ser feito em conjunto com GetTickCount().
stringo: Qual é o problema? É necessário executar um temporizador normal e analisar o tempo. Se o tempo não for adequado - sair imediatamente do OnTimer.
E porque deveria eu bombardear a fila com cada segundo eventos de Temporizador e perder o meu tempo a verificar OnTimer() a cada segundo, se eu quiser executar OnTimer() uma vez por dia (por hora, etc.) mas a uma determinada hora?
Creio que seria muito mais racional e elegante utilizar esta função com dois parâmetros:
boolEventSetTimer(
int seconds, // количество секунд для OnTimerintзадержка=0// количество секунд задержки запуска первого события Timer
);
Que é o que o SD sugeriu.
Adição: o valor do parâmetro de atraso pode ser facilmente e uma vez calculado no OnInit().
intзадержка=0// количество секунд задержки запуска первого события Timer
não o fazer de todo, pois é apenas uma treta.
Vou perguntar como perito em tretas. Qual é a ideia por detrás deste atraso(intdelay=0), e para que fim foi sugerido (atraso)? Como o entendeu?
E a segunda pergunta que quero esclarecer, qual é o objectivo de especificar"número de milissegundos de atraso de 1 segundo para o OnTimer"? Que objectivo está a tentar alcançar? Por exemplo, atrasar cada segundo no OnTimer por três milissegundos?
Bem, na verdade era isso que eu estava a sugerir. Apenas embrulhado num conveniente pacote.
Uma vez por segundo é uma ninharia assustadora, especialmente se se saltar eventos desnecessários.
Como compreende, neste caso, o meu lema é: "Abaixo todos os avarentos, se puder passar sem eles". A única coisa a fazer é permitir o atraso da geração do primeiro evento temporizador a nível de terminal pelo tempo escolhido por um utilizador. Assim, não estou a menosprezar a importância do vosso código, especialmente porque simplesmente ainda não o vi.
Usando o gestor do temporizador. Queria escrever um artigo, mas depois foi desviado. Embora possa não ser suficiente para um artigo.
Não o obterá num tempo específico devido ao código de um único fio e fila de eventos, mas com um erro médio inferior a um segundo (o máximo é limitado pelo tempo máximo de execução do evento pelo código).
Quanto mais, existe apenas um temporizador.
Precisa dele?
Sim, o erro é quase imperceptível. Porque não o coloca de imediato na Base de Código? Vai perder-se no fórum, e outra pessoa vai precisar dele.
Ainda não acabei, estou ocupado com o meu File Unlimited por 5. Terminarei em breve.
A questão não é se vamos precisar dela ou não. É a única forma normal e correcta de trabalhar com temporizadores múltiplos.
Ainda não acabei, estou ocupado com o meu File Unlimited por 5. Terminarei em breve.
Existe alguma forma de conseguir que a EA gere eventos temporais num momento específico? Por exemplo, no início do último minuto da hora ou do dia.
Mais uma vez, este é um grande substituto para a função do sono nos perus, e mais uma vez, um segundo é um pouco exagerado.
O tema está aberto a discussão. O que pensa?
Há uma nuance. O temporizador no indicador não funciona se não estiver anexado ao gráfico. Portanto, mesmo um segundo temporizador é frequentemente inútil em indicadores.
Aqui está uma solução para a monitorização de eventos de menos de um segundo. Talvez, um temporizador possa ser feito em conjunto com GetTickCount().
Qual é o problema? É necessário executar um temporizador normal e analisar o tempo. Se o tempo não for adequado - sair imediatamente do OnTimer.
E porque deveria eu bombardear a fila com cada segundo eventos de Temporizador e perder o meu tempo a verificar OnTimer() a cada segundo, se eu quiser executar OnTimer() uma vez por dia (por hora, etc.) mas a uma determinada hora?
Creio que seria muito mais racional e elegante utilizar esta função com dois parâmetros:
Que é o que o SD sugeriu.
Adição: o valor do parâmetro de atraso pode ser facilmente e uma vez calculado no OnInit().
E porquê...
Bem, na verdade, era isso que eu estava a sugerir. Apenas embrulhado num conveniente pacote.
Uma vez por segundo é uma ninharia assustadora, especialmente se se saltar eventos desnecessários.
e isto.
não o fazer de todo, pois é apenas uma treta.
não o fazer de todo, pois é apenas uma treta.
Vou perguntar como perito em tretas. Qual é a ideia por detrás deste atraso(int delay=0), e para que fim foi sugerido (atraso)? Como o entendeu?
E a segunda pergunta que quero esclarecer, qual é o objectivo de especificar"número de milissegundos de atraso de 1 segundo para o OnTimer"? Que objectivo está a tentar alcançar? Por exemplo, atrasar cada segundo no OnTimer por três milissegundos?
Bem, na verdade era isso que eu estava a sugerir. Apenas embrulhado num conveniente pacote.
Uma vez por segundo é uma ninharia assustadora, especialmente se se saltar eventos desnecessários.