Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: timer, toimiiko?

Sivun loppuun

kojamo [13.07.2006 09:26:22]

#

Toimiiko tuo timer niin kuin sen ajattelen toimivan..et jos Buffer ei oo 2, niin kaksi sekuntia loopissa ja ulos. Kieli siis VBA

Dim Buffer As String
Dim timer As Single

    Buffer = MSComm1.CommEvent

Do Until Buffer = 2
If timer > TimeSerial(0, 0, 2) Then Exit Sub
Loop
Call Record
End Sub

setä [13.07.2006 11:56:21]

#

Timer nollautuu vuorokauden vaihtuessa. Tallenna timerin arvo ennen luuppia muuttujaan ja vertaa luupissa Timeriä tähän muuttujaan. Kun erotus on 2 tullaan ulos luupista.

kojamo [13.07.2006 17:12:07]

#

Dim timer As Single

timer = Timeserial(0,0,2)
...

Do Until ...
If timer > (0,0,2) Then Exit sub

Näinkö?

setä [13.07.2006 18:12:04]

#

Dim t1 As Single

t1 = Timer

Do Until ...
   If Timer - t1 > 2 Then Exit Do
...
Loop

kojamo [13.07.2006 23:09:30]

#

oke, kiitän...käytän tuota exit sub:ia, kun seuraava vaihe on turha jos buffer ei oo 2.

kojamo [17.07.2006 09:44:24]

#

Vielä kysymys tuosta timerista, Pitääkö tuo olla isolla Timer vai timer? Miksi mulla vaihtaa ison T:n pieneksi?

siis tuo rullaa sekunneissa kaksi sekuntia? Aika syötetään aina sekunneissako

Dim Buffer As String
Dim t1 As Single

    Buffer = MSComm1.CommEvent
    t1 = timer

Do Until Buffer = 2
   If timer - t1 > 2 Then Exit Sub
Loop

Blaze [17.07.2006 10:01:32]

#

kojamo kirjoitti:

Pitääkö tuo olla isolla Timer vai timer?

Ei merkitystä, VB on case insensitive.

kojamo kirjoitti:

Miksi mulla vaihtaa ison T:n pieneksi?

Dim-lauseessa oleva kirjotusmuoto ratkasee, mitä VB-IDE pitää oikeana. Korjaa se sinne, niin VB-IDE maagisesti vaihtaa kaikki isoiksi.

setä [17.07.2006 10:02:17]

#

Se on VBA:ssa näköjään pienellä t:llä. Timer-funktio laskee sekunteja sadasosineen Keskiyöstä alkaen eli siis nollautuu aina kun vuorokausi vaihtuu. keskipäivällä klo. 12 sen arvo on siis 12*60*60 = 43200 ja puolisekuntia tämän jälkeen arvo on 43200,5.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta