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?
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..
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.