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

Vector em VB

Discussão em 'Programação' iniciada por Susana_santos, 22 de Novembro de 2007. (Respostas: 9; Visualizações: 2308)

  1. Bons dias,

    tenho um programa para fazer e preciso de um vector para guardar horas que depois vao sendo "chamadas" ao longo do dia,vao ser usadas por uma variavel time e depois d cada hora para passar para a hora seguinte que codigo devo usar?ja me disserem que podia ser i = i+1, mas n tenho a certeza.

    podem me ajudar sff?!
     
  2. fica aqui o codigo feito muito a pressa mas que ta mal quase de certeza! :1361:

    Public time(17) As Double
    time(0) = "8:15"
    time(1) = "9:00"
    time(2) = "9:45"
    time(3) = "10:05"
    time(4) = "10:50"
    time(5) = "11:35"
    time(6) = "11:45"
    time(7) = "12:30"
    time(8) = "13:15"
    time(9) = "13:30"
    time(10) = "14:15"
    time(11) = "15:00"
    time(12) = "15:20"
    time(13) = "16:05"
    time(14) = "16:50"
    time(15) = "17:00"
    time(16) = "17:45"
    time(17) = "18:30"

    Private Sub Timer1_Timer()
    If lblhora.Caption = time(0) Then
    Beep
    End Sub
     
  3. pessoal eu sei q isto pra voces é capaz de ser uma duvida ridicula mas é mesmo necessário para o meu programa e agradecia alguma ajuda!..
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Para começar, a variável Time deve ser uma String, por causa dos dois pontos.
    O Timer o que faz é comparar a hora actual a uma hora qualquer daquelas. O ciclo for roda entre 0 e 17 e verifica se a hora actual é alguma daquelas.

    Percebido?
     
  5. boinazul

    boinazul Power Member

    Código completo para o teu procedimento:

    'Em General
    Dim Time as String
    Dim i as Integer

    'No Form Load
    time(0) = "8:15"
    time(1) = "9:00"
    time(2) = "9:45"
    time(3) = "10:05"
    time(4) = "10:50"
    time(5) = "11:35"
    time(6) = "11:45"
    time(7) = "12:30"
    time(8) = "13:15"
    time(9) = "13:30"
    time(10) = "14:15"
    time(11) = "15:00"
    time(12) = "15:20"
    time(13) = "16:05"
    time(14) = "16:50"
    time(15) = "17:00"
    time(16) = "17:45"
    time(17) = "18:30"
    i = 0

    'No Timer
    If LblHoras.Caption=Time(i) then
    beep
    i=i+1
    end if

    Basta isto, alguma dúvida, apita
     
  6. HecKel

    HecKel The WORM

    Porque raio usas tantos timers?

    Não bastava um e fazeres o tratamento da nova hora?
     
  7. boinazul

    boinazul Power Member

    Claro que existe muitas formas de fazer o que ela pretende. Eu fiz como ela tinha pensado e que secalhar entende melhor. Na programação ha sempre outro caminho para..
    Mas se ela percebe assim, também dá. E secalhar n era mais facil tratar a hora, pq a hora n segue nenhum padrão, se fosse de 45min em 45min era mais facil. assim como ela tem não.
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Na minha opinião, é de evitar fornecer códigos completos. É verdade que há maus hábitos que "aparecem" sozinhos, mas pior é existirem maus hábitos que se ganham por ver maus hábitos dos outros (como este, devo dizer!), e para além disso, é sempre bom deixar a pessoa a pensar um bocado, senão ela não está a programar, está apenas a escrever código.


    Quanto ao código, concordo que há muitas formas de fazer as coisas, mas há umas melhores que outras. Essa nem é muito má, mas em vez desse i, acho que seria melhor um For...Next que compararia com cada uma das horas (senão se o programa for ligado às 13h, fica à espera da primeira hora - 8:15), e com um intervalo maior (uma verificação para saber qual das horas está mais próxima da actual, e ajustas o intervalo do Timer de modo a "disparar" nesse preciso momento).
     
  9. boinazul

    boinazul Power Member

    Exactamente, para fazer assim, o codigo já era algo mais complexo, pois teriamos k ter uma variavel com a hora que o programa é aberto, e dp comparar com os intervalos do vector para ver em qual se fixava, para calcular a próxima hora.

    Quanto ao fornecer o codigo completo n concordo ctg, pq quem percebe mesmo de programação, acaba por perceber o codigo e aprende com isso, é como tudo. Podes copiar num teste mas se te mandarem fazer já n sabes, mas isso é que vai definir quem é bom ou mau. as vezes nao se consegue mesmo chegar la, ou porque desconhecemos determinadas funções que permitem de uma forma simples resolver o nosso problema.
     

Partilhar esta Página