Toon posts:

[VB] timers maken in runtime

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand hoe dit moet / of het kan? het lukt mij iedere keer niet :'(

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-09 22:30

mulder

ik spuug op het trottoir

Oei, VB is lang geleden, maar volgens mij moet je er eentje op je form droppen, die invisible maken, en dan kun je een Load doen.

oogjes open, snaveltjes dicht


  • rambo-2001
  • Registratie: November 2000
  • Laatst online: 02-01-2024

rambo-2001

be anonymous

wat moet je voor timers maken in vb ?
kan je wel een stukje source code geven van een timer waar ik nu mee bezig ben maar misschien heb je er helemaal niks aan dus wat is precies de bedoeling van jouw vb project.

source + programma feel free to use it
http://members.home.nl/ppielage/timer.zip

cs skill - making a desert eagle out of tooth picks


Verwijderd

Op maandag 29 april 2002 20:29 schreef Don Facundo het volgende:
Oei, VB is lang geleden, maar volgens mij moet je er eentje op je form droppen, die invisible maken, en dan kun je een Load doen.
Eerst nog even een 'Index' invullen, zodat je een control array krijgt. Die kan je vervolgens met een Load 'kopieren'. Invisible is een timer-control al, dus dat hoeft niet...

Verwijderd

Topicstarter
Hoe kan ik die dan kopieren? misschien een klein voorbeeldje... als ik iets probeer zegt ie dat de index niet bestaat |:(

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 08-09 17:54

Sponge

Serious Game Developer

Load myTimer(myTimer.UBound + 1)

Werkt vast wel :)

  • rambo-2001
  • Registratie: November 2000
  • Laatst online: 02-01-2024

rambo-2001

be anonymous

hoe moet de timer tellen ? in seconden,minuten,uren ?
of gewoon
do while x<100
x=x+1
loop

cs skill - making a desert eagle out of tooth picks


Verwijderd

Topicstarter
Dat Load myTimer(myTimer.UBound + 1) Werkt perfect... >:)

Weet er toevallig ook iemand hoe ik een array rezize?
als ik bijvoorbeeld dit heb:
Dim testArray(1 To 25, 1 To 20) As String
Kan dat of moet ik dan een nieuwe declareren en die variablen overzetten?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-09 22:30

mulder

ik spuug op het trottoir

Redim Preserve en F1

oogjes open, snaveltjes dicht


Verwijderd

Dim TestArray() as Timer
Redim Preserve Timer (1 to blabla)

eerst dimmen zonder hoeveelheid. . en daarna redimmen naar de gewenste size... Preserve zorgt ervoor dat de inhoud van de array blijft bestaan

als je op de eerste regel WEL een size invult kun je hem later niet meer redimmen

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09-09 16:14

Crazy D

I think we should take a look.

Denk erom dat je niet ongelimiteerd timers kan aanmaken, er is in ieder geval een windows-limiet (kweet niet precies hoeveel), en of het de performance ten goede komt als je 873 timers hebt draaien ;)
Kun je dan niet "beter" 1 timer nemen, en in de event handler van de timer de juiste aktie laten ondernemen?

Exact expert nodig?


  • Adion
  • Registratie: Januari 2001
  • Laatst online: 05-09 08:09
Op dinsdag 30 april 2002 17:35 schreef Skizmo het volgende:
Dim TestArray() as Timer
Redim Preserve Timer (1 to blabla)

eerst dimmen zonder hoeveelheid. . en daarna redimmen naar de gewenste size... Preserve zorgt ervoor dat de inhoud van de array blijft bestaan

als je op de eerste regel WEL een size invult kun je hem later niet meer redimmen
Dit heeft volgens mij niet zoveel zin, je definieert namelijk een Timer, maar je krijgt er nooit code aan gekoppeld.

Wat je denk ik wel kan doen is eerst een timer maken, bijvoorbeeld Timer1, daar de nodige code inzetten en dan in je source :

Dim TestArray() as Timer1
Redim Preserve TestArray(100)

Ik weet niet of dit echt nuttig is, omdat je binnen de timer code ook niet weet door welke timer de code is opgeroepen, tenzij je TestArray(a).Tag = "blabla" gebruikt.
Beter lijkt mij van een array met starttijden bij te houden en dan een Timer te maken die elke seconde ofzo die hele rij starttijden afgaat om te kijken of hij voor 1 ervan een actie moet ondernemen.

Dus
Dim TimeArray() As Single
Redim TimeArray(10)
TimeArray(0) = Timer (of gebruik timeGetTime voor betere precisie)
...

en in je timer

For A = LBound(TimeArray) to Ubound(TimeArray)
If Timer - TimeArray(A) > mijnInterval Then
doeIets
eventueel TimeArray(A) = Timer om het opnieuw uit te voeren
End If
Next

VirtualDJ 2026 - Fast Image Resizer - Instagram


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 05-09 10:48

WhiteDog

met zwarte hond

even een tip:

hou er rekening mee dat, terwijl je in een bepaalde timer zit, de andere timers NIET actief zijn. Dus ga nooit dingen die 10 seconden duren in je timers zetten.

VB is namelijk niet multithreaded (tenzij je multithreaded active exe's gaat maken natuurlijk)

  • Azzmodan
  • Registratie: Juni 2000
  • Laatst online: 27-08 11:56
Op woensdag 01 mei 2002 10:52 schreef dawsie het volgende:
even een tip:

hou er rekening mee dat, terwijl je in een bepaalde timer zit, de andere timers NIET actief zijn. Dus ga nooit dingen die 10 seconden duren in je timers zetten.

VB is namelijk niet multithreaded (tenzij je multithreaded active exe's gaat maken natuurlijk)
Dit is alleen waar als je programma vanuit de ide draait, als je een exe heb draaie alle timers wel.

Maar maar eens een simpel forumpje met 2 timers 1 op 1sec en andere op 1,5 sec en run die eerst in vb en vervolgens als exe.

Edit:
Zet wel ff een messagebox ofzo in die timers ;)
Pagina: 1