Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ~VB~~Koodin nopeus~

Mike [29.12.2002 11:57:56]

#

Eli siis pitäisi saada VB:n koodi toimimaan samalla nopeudella jokaisella koneella. Että toisella koneella tietokonevastustajat eivät olisi nopeampia tai hitaampia. Eli mitenkä tälläinen onnistuisi?

progo [29.12.2002 14:20:22]

#

Hidastamalla sopivin väliajoin, tuo kysymys on vähän epäselvä, mutta ainahan se Sleep(ms AS INTEGER) voi toimia..

Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
  (ByVal dwMilliseconds As Long)
' ... jne koodissa eteenpäin
Sleep(2) ' kahden millisekunnin nokoset..

Antti Laaksonen [29.12.2002 15:07:39]

#

Sleep on melko huono, kun se jumittaa koko koneen toiminnan tauon ajaksi. Parempi vaihtoehto on joko Timer-komponentin käyttäminen sopivalla Interval-arvolla tai hidastuksen tekeminen seuraavasti suoraan koodista:

'ohjelma siirtää ikkunaa ruudulla sivusuuntaisesti
'oikealle, kunnes se saavuttaa ruudun oikean laidan

Private Sub Form_Activate()
    Dim h As Single, a As Single
    h = 0.05 'hidastus sekunteina

    Do While Left < Screen.Width - Width
        a = Timer
        Do While a + h > Timer
            DoEvents
        Loop
        Move Left + 15 * 2
    Loop
End Sub

Vastaus

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

Tietoa sivustosta