Ir para conteúdo

POWERED BY:

Arquivado

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

mml

Timer para o programa rodar novamente.

Recommended Posts

Caros

 

Estou utilizando o seguinte programa, ele pega um arquivo txt e envia via serial.

O Programa fica aberto e quando aparece um novo arquivo .txt ele roda.

Eu gostaria que o programa rodasse a cada 20 segundos.

Eu criei o timer e coloquei o interval de 10000 e deixei em enabled.

 

Private Sub Form_Load()

Timer1.Enabled = True
Call iniTextCom

End Sub

Private Sub Timer1_Timer()

Call ComtxtLer
Call ComtxtKill

End Sub
Private Sub iniTextCom()
Dim TextLine1, TextLine2 As String

On Error GoTo Fim

Open App.Path & "\TextCom.ini" For Input As #1
    Line Input #1, TextLine1
    Text3.Text = TextLine1
    Line Input #1, TextLine2
    Text4.Text = TextLine2
Close #1

Fim:
End Sub
Private Sub ComtxtLer()
Dim TextLine As String

On Error GoTo Fim

Open App.Path & "\Texto.txt" For Input As #2
    Line Input #2, TextLine
    Text2.Text = TextLine
    Call Com
Close #2

Fim:
End Sub
Private Sub ComtxtKill()
On Error GoTo Fim

Kill App.Path & "\Texto.txt"

Fim:
End Sub
Private Sub Com()
'On Error GoTo Fim

MSComm1.CommPort = Text3.Text
MSComm1.Settings = Text4.Text
MSComm1.PortOpen = True
MSComm1.Output = Text2.Text + Chr(13)
MSComm1.PortOpen = False

Fim:
End Sub

Private Sub Timer2_Timer()
 Refresh
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá mml, primeiramente seja bem vindo ao fórum.

Caso não tenha lido nossas regras e deseje fazer, clique aqui.

 

Cara, e qual é sua dúvida, você só disse o que fez mas não citou nenhuma dificuldade, erro ou dúvida.

Só o que posso te dizer é que, se quer o intervalo de 20 segundos deve colocar 20000 e não 10000 no seu timer. Cada 1000 corresponde a 1 segundo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 11/03/2010 at 13:16, 'Claudio Neto' disse:

Olá mml, primeiramente seja bem vindo ao fórum.

Caso não tenha lido nossas regras e deseje fazer, clique aqui.

 

Cara, e qual é sua dúvida, você só disse o que fez mas não citou nenhuma dificuldade, erro ou dúvida.

Só o que posso te dizer é que, se quer o intervalo de 20 segundos deve colocar 20000 e não 10000 no seu timer. Cada 1000 corresponde a 1 segundo.

 

 

Preciso que meu programe rode a cada 10 segundos, que ele faça a verificação do arquivo .txt a cada 10 segundos.

 

Esta linha abaixo que coloquei não esta fazendo nada.

 

Private Sub Timer2_Timer()

Refresh

End Sub

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quem tinha escrito 20 segundos lá em cima, só me baseei na sua informação.

 

Isso que pôs ai realmente não fará nada. O que espera que ele faça?

Você usou dois timer, o primeiro já está executando as funções. Coloque o interval dele para 10 segundos. O segundo timer não é necessário.

Quando você abre o programa ele gera o arquivo texto baseado nas informações que estão no seu form. Mas no load do programa, essas text não estão em branco? Se sim, o arquivo gravará sempre valores em branco, senão tudo bem. E após você ler (ComtxtLer) está excluindo (ComtxtKill) o arquivo. Ou seja, após 10 segundos ele tentará abrir novamente, mas o arquivo não existirá mais.

 

Resumindo, tudo está meio confuso. Mesmo que você não exclua o arquivo, a cada dez segundos ele lerá sempre as mesmas informações.

 

Tente dar uma explicação neu objetivo final.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem problemas.

 

Bom vou explicar qual o objetivo.

 

Eu tenho um outro programa que esta rodando um script, é este programa que gera o .txt a partir dai o programa que criei em vb ele pega a primeira linha do txt e envia via serial.

 

O programa que esta gerando os .txt ele fica gerando sem parar eu não consegui fazer uma rotina de tempo que ele fica criando os .txt a cada 10 segundos.

 

Entao queria fazer no VB para que o meu programa fizesse a leitura do .txt a cada 10 segundos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, então tente alterar as coisas que falei.

Primeiro de tudo que você não precisa de dois timers. Apenas um e configure para 10 segundos.

Se é outro programa que vai criar o txt, pq você está criando no load do seu form?

E o fato de você excluir o arquivo, você realmente deveria fazer isso? O arquivo não tem que ficar lá?

E se o outro programa fica criando sem parar, 10 segundos não é um tempo muito longo para esperar?

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.