02. maj 2006 - 18:04Der er
10 kommentarer og 1 løsning
Hændelse skal styres af tid
Kunne jeg få hjælp til at styre nedenstående kode, således at forløbet, altså hvert klik på en textbox, kun sker for fx hvert sekund?
Option Explicit Private Sub Command1_Click() Dim tbC As Control, f As Integer, p For f = 1 To 12 Set tbC = Me.Controls("Textbox" + CStr(f)) p = tbC.Text
If p <> "" Then tbC.Text = "Klik på " + p End If Next f
>mcnovy, det tror jeg ikke, for det er en timer, der skal køre mod en anden timer. Ovenstående er kun et led i et større program. Men du kan da foreslå noget.
hvis du i forevejen har en timer.. og hvis den timer også kører konstant..?
så kan du da gemme timerens tid ned i en integer lave en if funktion der spørger om timeren nu er mere en 1 sekund større en hvad der står i din integer.!
det er nok mit bedste bud.. må hellere sige at jeg ikke kender noget til visual basic.. kun C#, så jeg kan kun give nogle råd til hvad man kan gøre..
>hej mcnovy Det er meningen at forløbet skal forsinkes. Med 1 eller 2 eller tre sekunder mellem hvert klik. Dette skal kunne styres ved valg. Får jeg bare 1 klik pr. sekund, kan jeg sikkert selv klare resten. Men jeg kan ikke finde ud af, hvordan jeg undgår, at hele forløbet bliver udført på 1/100 af et sekund. Det er problemet.
>h7jws Ja, din kode virker. Men det der sker, når jeg sætter den ind som her: Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Dim tbC As Control, f As Integer, p For f = 1 To 12 Set tbC = Me.Controls("Textbox" + CStr(f))
p = tbC.Text If p <> "" Then tbC.Text = "Her er " + p
End If Next f Sleep 3000 End Sub er at starten bliver forsinket i 3 sekunder, hvorefter hele forløbet gennemføres i løbet af det næste splitsekund. Der skal startes med det samme, men næste gennemkørsel skal først sættes i gang efter 3 sekunders sleep. Programmet skal virke således: Her var nr. 12. 3 sekunders pause. Her var nr. 11, 3 sekunders pause, her var nr. 10 osv. Men tampen brænder..
>h7iws Ja, den virker men på den måde at der nu går ca. 12x3 sekunder inden den sætter gang i løkken. Det jeg savner er, at der i løkken for f = 1 to 12 skal gå ca. 3 sekunder fra 1. til 2. og igen fra 2 til 3 osv indtil hele løkken er kørt igennem 36 sekunder efter. Jeg håber, at du forstår hvad jeg mener.
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.