1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ciclo com determinado de tempo (VB)

Discussão em 'Programação' iniciada por Roberto_TGEI09, 13 de Fevereiro de 2009. (Respostas: 16; Visualizações: 2208)

  1. Roberto_TGEI09

    Roberto_TGEI09 Power Member

    Boas,

    eu estava aqui a fazer a minha PAP (projecto final de curso) em VB. E estou com uma duvida, como criar uma ciclo que dure um determinado tempo???

    Por exemplo durante 10 segundos . . . vai fazer sempre o mesmo ciclo...

    Agradecia sugestões xD

    Obrigado..
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não consigo perceber ao certo o que queres, mas uma coisa que podes fazer é um While var... Wend, sendo que a variável global "var" começa por ser True, e assim que ele entra no ciclo activa um Timer que, terminados os 10 segundos, faz com que "var" seja False.
    Algo deste género:
    Código:
    x = True
    Timer1.Interval = 10*1000
    Timer1.Enabled = True
    While x
       'código
    Wend
    
    E no Timer1_Timer(), o que fazes é
    Código:
    x = False
    Timer1.Enabled = False
    
    *Acho* que é isto.
     
  3. PNDmartins

    PNDmartins Power Member

    Também podes usar um StopWatch:

    Código:
     
    Public Sub FuncaoTemporizada()
     
         Dim St As New StopWatch
         St.Start()
     
         While St.ElapsedMiliseconds <= 10000
              'O código que queres que seja executado durante 10 segundos.
         End While
     
         St.Stop()
     
    End Sub
     
    
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    A questão é: VB6 ou VB.NET?
     
  5. PNDmartins

    PNDmartins Power Member

    Sim, o Kayvlim tem razão. Se for em Vb6 acho que não existe o controlo StopWatch e daí o código que pus é inútil.
     
  6. Roberto_TGEI09

    Roberto_TGEI09 Power Member

    Codigo é em VB6 . . . Quando iniciei, disseram em ser o mais facil, para iniciantes =)
    e comprei um livro para me ir orientado, e o livro também é de VB6...

    Obrigado =)

    Ainda nao vou aplicar, o codigo, estou um bocado atrofiado com a escola, mas assim que colocar, logo digo, se resultou!

    Bastante agradecido xD
     
  7. Roberto_TGEI09

    Roberto_TGEI09 Power Member






    o meu projecto é acender vários leds,
    tipo eu carrego num botao, e ele vai piscar durante 10 segundos, e depois apaga.
    se eu voltar a carregar no botao volta a piscar e depois fica ligado.

    é esse o meu objectivo para já.....

    Agradeço ideias...
    xD

    e soluções... =)

    Desculpem demorar a responder... mas só agora tenho net novamente! =)

    [ eu ja sei como acender e apagar leds, ja tenho o codigo =) ]
     
    Última edição: 14 de Fevereiro de 2009
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Então...
    - Quando clicas no botão, acendes o led e fazes com que o Timer1.Interval seja 10*1000 e Timer1.Enabled = True
    - No Timer1_Timer, o que ele faz é apagar o led e Timer1.Enabled = False.

    Isto faz com que ele acenda no início e apague no fim dos 10 segundos.

    Se quiseres que ele pisque ao longo dos 10 segundos, penso que consigas adaptar isto, porque só tens de mexer no Timer1.Interval e no Timer1.Enabled e matemática básica ;)
     
  9. xina12

    xina12 Power Member

    dentro de um timer em que o intervalo é de 1000 fazes o seguint:
    dim x as integer
    x=0

    do
    x+1
    (aqui metes o codigo necessário para ver se o "x" é par ou impar)

    if x="par" then

    (código para acender o led)

    else

    (código para desligar o led)

    loop until (x=10)

    *********************************
    penso que é isto que queres o código para saber se o numero é par ou impar é facil encontras na net ou até num livro qualquer de programação. Em principio penso que é uma funçao.

    Mas o que o programa deverá fazer é: quando o x for par acende o led quando for impar apaga.

    cumps
     
  10. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Ou, a cada timer, muda o estado do led :P
    X é par se o resto da divisão de X por 2 for 0. Ou seja,
    Código:
    If x Mod 2 = 0 Then Msgbox "x é par" Else Msgbox "x é ímpar"
     
  11. Roberto_TGEI09

    Roberto_TGEI09 Power Member


    mas isso vai fazer com que ele durante esse intervalo fique a piscar?

    Eu vou aplicar isso segunda á noite... logo vos digo se funcionou . . .

    xD

    Obrigaddoooo!!!
     
    Última edição pelo moderador: 15 de Fevereiro de 2009
  12. Roberto_TGEI09

    Roberto_TGEI09 Power Member

    Olá . . .
    Pessoal eu gostava de vos dar uma imagem do meu projecto, para voces entender melhor. o que estou a fazer.
    Mas nao sei como colocar aqui imagens? onde vou posta-las para depois abrir um link para aqui?
    AGuardo as vossas respostas...


    Obrigadoo.....
     
  13. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    este tópico para saberes alguns sites onde as podes alojar. Depois, carregas em [​IMG] aqui no fórum e colocas o URL para a imagem aparecer.
    Cuidado com as regras das imagens ;) não podes pôr imagens muito grandes.
     
  14. Roberto_TGEI09

    Roberto_TGEI09 Power Member

    Oi...

    Obrigadao..

    acho que ja consegui...

    http://www.2and2.net/files/49a5700c856da.bmp

    ai está a form, que mais trabalho me tem dado...

    BAH...

    isso é um gestor de segurança de um edificio, onde será simulado numa maquete através de o cabo paralelo.
    Ainda nao testei, o ciclo, por falta de material, mas já avancei um pouco, ja tenho temporizador.
    Os modos de segurança predefinidos, são definidos por mim, eu é que digo, o que activas e desactivar.
    Na parte que diz manual são definidos pelo utilizador.

    Penso ter sido claro xD

    gostava de ideias....
    criticas....
     
  15. Roberto_TGEI09

    Roberto_TGEI09 Power Member

    oi...

    como eu consigo fazer o seguinte:

    Carregar num botão
    e vai dizer tudo que tenho selecionado (checks) numa msgbox, e ainda vai dizer a que horas o temporizador vai activa-las, como podem ver na imagem, no meu post anterior?
     
  16. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Isso depende muito da forma como fizeres as coisas.
    Uma forma de ver o estado de TODAS as checkboxes de um form é algo deste género:
    Código:
    Private Sub Command1_Click()
        Dim Output As String
        Dim Object As Control
     
        For Each Object In Form1
            If TypeOf Object Is CheckBox Then
                Output = Output & Object.Caption & ": " & IIf(Object.Value = vbChecked, "Checked", "Not checked") & vbCrLf
            End If
        Next Object
     
        MsgBox Output
    End Sub
    
    Quanto às horas a que o temporizador vai activá-las, depende: como é que programaste o temporizador?
     
  17. Roberto_TGEI09

    Roberto_TGEI09 Power Member


    o temporizador, utilizei um timer

    e fiz o seguinte:
    Código:
    Private Sub Temporizador1_Timer()
    'lb_h = horas no pc
    'lb_m = minutos no pc
    'txh1= horas definidas pelo utilizador
    'txh1 = minutos definidos pelo utilizador
     
    If (lb_h.Caption = TxH1.Text) And (lb_m.Caption = TxM1.Text) Then
    If (Combo1.Text = "Ligar") Then
    Label3.Caption = "Temporizador Desligado"
    Label13.Caption = ""
    Exit Sub
    Else
    If (Combo1.Text = "Desligar") Then
    Label8.Caption = "Temporizador Desligado"
    Label7.Caption = ""
    'out1 = out1 And (255 - 2)
    'Out 888, out1
    'sts1 = 0
    End If
    End If
    End If
    End Sub
    
     
    Última edição pelo moderador: 25 de Fevereiro de 2009

Partilhar esta Página