Author Topic: anfänger mit schleifen  (Read 8192 times)

Offline Quentin

  • Prof. Inline
  • *****
  • Posts: 915
    • View Profile
Re: anfänger mit schleifen
« Reply #30 on: 2013-Apr-12 »
GETTIMER fängt halt eben nach jedem SHOWSCREEN die Zählung neu an. Du bräuchtest dann halt eben noch eine weitere Variable, wo du die jeweilige Verzögerung ermittelst. GETTIMERALL ist hier imho einfacher zu handhaben, weil er die Zählung beim Start des Programmes beginnt und somit linear fortgeschrieben wird.

Theoretisch könnte es zwar irgendwann mal zu einem Überlauf kommen und die Zählung im negativen Bereich weitergehen, das geschieht bei 32-Bit integer aber erst nach etwas mehr als 24 Tagen.

aber hier dann noch das passende Beispiel mit GETTIMER

Code: (glbasic) [Select]
LOCAL zaehler = 0
LOCAL verzoegerung = 1000  // 1000 Millisekunden
LOCAL zeit = 0

WHILE TRUE

zeit = zeit + GETTIMER()

PRINT zaehler, 0, 0
IF zeit > verzoegerung
INC zaehler
zeit = 0
ENDIF

SHOWSCREEN

WEND
« Last Edit: 2013-Apr-12 by Quentin »

Offline kanonet

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1142
    • View Profile
    • My GLBasic code archiv
Re: anfänger mit schleifen
« Reply #31 on: 2013-Apr-13 »
Schließe mich Quentins Empfehlung an GETTIMERALL() zu verwenden, mach ich (und vermutlich auch alle anderen) immer so.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5081
  • O Rly?
    • View Profile
Re: anfänger mit schleifen
« Reply #32 on: 2013-Apr-13 »
jopp GETTIMERALL()
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard