26. juli 2003 - 10:29Der er
9 kommentarer og 1 løsning
Få ajourført en form 'på kommando'
Jeg er ny her. Jeg har en Form i Visual Basic (6) hvor jeg tæller noget om på en label (form1.label1=form1.label1+1)
Dette kører i en løkke, men først når løkken er gennemført vises noget på label'en. Jeg kan altså ikke se at den 'tæller op' (Jeg ved godt at det vil gå meget hurtigt) Jeg har brug for der vises lidt action indimellem.
Det kan tage ca 10 sekunder at løbe løkken igennem, og det ser jo så ud som om der intet sker.
Hvordan kan jeg få vist/ajourført min form evt via en timer (hvert ½ sekund eller lignende)
Jeg har prøvet med noget Show Me men det virker ikke
Du kan vel bare løbende skrive noget i labelen. VB 6.0 har jo en mulighed for f.eks. hvert halve sekund at starte en proces, som så skriver noget til din label. Du skal bruge "uret" i værktøjslinien. Du kan selv vælge hvornår du skal starte med dette, og hvor lnag tid imellem havert tik.
Her er et eks. Hvert 2. sekund kommer der en msgbox.
Private Sub Form_Load() Dim tid, i, starttid starttid = Timer While tid < starttid + 10 If tid > starttid + i Then MsgBox "Hejsa" i = i + 2 End If tid = Timer 'gør her hvad du skal.... Wend End Sub
Du skal blot kalde DoEvents: Sådan her; Private Sub Command1_Click() start End Sub
Sub start() Dim tid, i, starttid starttid = Timer While tid < starttid + 10 If tid > starttid + i Then Label1 = "Hejsa" & i i = i + 1 End If tid = Timer DoEvents 'gør her havd du skal.... Wend End Sub
Jo det skulle jeg mene, men normalt er det bedst kun at kalde DoEvents, når man ved der er brug for det. Det sætter jo det i stå man har gang i en lille stykke tid. men når man kører rundt i en stor løkke skal man gøre det, når man ved der er udskrift m.m. på vej. Jeg kan kun sige prøv.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.