|
You last visited: Today at 17:10
Advertisement
[VB] Timer Problem
Discussion on [VB] Timer Problem within the .NET Languages forum part of the Coders Den category.
06/19/2010, 17:02
|
#1
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
[VB] Timer Problem
Hey Leute
Ich habe ein problem mit einem Timer.
Ich mache es meistens so, wenn Button1 geklickt wird soll das passieren:
PHP Code:
Timer1.Start Timer1.Interval = 1000 timeleft = 5
So dann schreib ich bei Timer hin:
PHP Code:
timeleft = timeleft -1 If timeleft = 0 Then Label1.Visible = True
Natürlich schreibe ich vorher noch
PHP Code:
Dim timeleft as Byte
So dann debugge ich das ganze.
Nach 5 Sekunden wird auch schön das Label angezeigt nur dann beendet sich das debugging automatisch und dann kommt eine Fehlermeldung:
Die arethmetische Operation hat einen Überlauf verursacht.
Dividieren sie nicht durch 0.
Diese Fehlermeldung wird bei
PHP Code:
timeleft = timeleft -1
angezeigt.
Was muss ich machen damit dies weg geht?
Gibt es noch andre Möglichkeiten außerd timeleft, dass z.B. Nach 5 Sekunden ein Label sichtbar gemacht wird?
Wenn ja wie?
Bekommt alle n Thanks von mir
|
|
|
06/19/2010, 17:22
|
#2
|
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
|
nutz doch timer.tag sieht so aus
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Tag = 5
Timer1.Enabled = True
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = False
Timer1.Interval = 1000
Label1.Text = ""
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Tag = Timer1.Tag - 1
If Timer1.Tag < 0 Then
Label1.Text = "huhu"
End If
End Sub
|
|
|
06/19/2010, 17:52
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
Quote:
Originally Posted by luckystriker96
Hey Leute
Ich habe ein problem mit einem Timer.
Ich mache es meistens so, wenn Button1 geklickt wird soll das passieren:
PHP Code:
Timer1.Start
Timer1.Interval = 1000
timeleft = 5
So dann schreib ich bei Timer hin:
PHP Code:
timeleft = timeleft -1
If timeleft = 0 Then Label1.Visible = True
Natürlich schreibe ich vorher noch
PHP Code:
Dim timeleft as Byte
So dann debugge ich das ganze.
Nach 5 Sekunden wird auch schön das Label angezeigt nur dann beendet sich das debugging automatisch und dann kommt eine Fehlermeldung:
Die arethmetische Operation hat einen Überlauf verursacht.
Dividieren sie nicht durch 0.
Diese Fehlermeldung wird bei
PHP Code:
timeleft = timeleft -1
angezeigt.
Was muss ich machen damit dies weg geht?
Gibt es noch andre Möglichkeiten außerd timeleft, dass z.B. Nach 5 Sekunden ein Label sichtbar gemacht wird?
Wenn ja wie?
Bekommt alle n Thanks von mir 
|
habs ein bisschen geändert
Code:
Public Class Form1
dim timeleft as integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.interval = 1000
timeleft = 5
timer2.interval = 1000
timer1.enabled = true
timer2.enabled = true
End Sub
Dann beim timer1:
Code:
timeleft = val(timeleft - 1)
dann brauchst du einen 2.timer:
Code:
if timeleft = 0 then
label1.visible = true
End IF
mfg
|
|
|
06/19/2010, 18:13
|
#4
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Also Pain deins hat irgendwie nicht geklappt und das von killer hat geklappt.
Trotzdem Danke an euch beide.
|
|
|
06/19/2010, 18:19
|
#5
|
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
|
sry ich vergas das hätte oben noch hin müssen
Option Explicit On
Imports System.Windows.Forms
|
|
|
06/19/2010, 18:33
|
#6
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Ja ich hab noch ne Frage
Ich hab das ja jetzt einmal so gemacht mit dem Timer, dass dann ein Label sichtbar wird.
Jetzt wollt ich das selbe nochmal machen.
Also wieder 2 Timer nehemen und dann wieder 3 Sekunden zählen lassen und dann ein Panel sichtbar machen lassen.
Geht aber nicht.
Die Form wird dann nicht nach 3 Sekunden sichtbar sondern sofort.
Kennst du eine Lösung?
|
|
|
06/19/2010, 18:48
|
#7
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
Code:
Public Class Form1
dim timeleft as integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.interval = 1000
timeleft = 3
timer2.interval = 1000
timer1.enabled = true
timer2.enabled = true
End Sub
Dann beim timer1:
Code:
Code:
timeleft = val(timeleft - 1)
dann brauchst du einen 2.timer:
Code:
Code:
if timeleft = 0 then
label1.visible = false
End IF
Habs von oben kopiert und bisschen geändert
mfg
|
|
|
06/19/2010, 19:04
|
#8
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Ja das klappt ja nicht.
Hab das so gemacht.
PHP Code:
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Start() Label4.Visible = True End Sub Dim timeleft As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Label5.Visible = True Then Timer3.Start() Timer3.Interval = 1000 timeleft = 3 Timer4.Interval = 1000 Timer3.Enabled = False Timer4.Enabled = True
End If Timer1.Interval = 1000 timeleft = 5 Timer2.Interval = 1000 Timer1.Enabled = False Timer2.Enabled = True If Label5.Visible = True Then Timer3.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick timeleft = Val(timeleft - 1) End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick If timeleft = 0 Then Label4.Visible = False If Label4.Visible = False Then Label5.Visible = True If Label5.Visible = True Then Button1.Enabled = False If Label5.Visible = True Then Timer1.Stop()
End If End If End Sub
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
timeleft = Val(timeleft - 1) End Sub
Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick If timeleft = 0 Then Panel1.Visible = True End If End Sub End Class
Nachdem Label5 sichtbar wurde, passiert nichts mehr, obwohl dann eig nach 3 Sekunden Panel1 sichtbar werden soll.
Was ist daran falsch?
|
|
|
06/19/2010, 19:07
|
#9
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
ich glaub nicht, das da ein error drin ist.
standartmäßig hat ein panel die selbe farbe wie die form
|
|
|
06/19/2010, 19:08
|
#10
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Ja ich hab eine Picturebox mit einem Bild
und die form hat eine schwarze farbe.
Von daher muss da was falsch sein.
|
|
|
06/19/2010, 19:12
|
#11
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
schick mir mal das proj. bzw. uploade es bei rapidshare, megaupload oder so und schick mir link, ich guck mir das mal an wo fehler ist.
|
|
|
06/19/2010, 19:21
|
#12
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Is das die richtige Datei?
|
|
|
06/19/2010, 19:27
|
#13
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
ne 
standartmäßig ist es im dokumente ordner, dh :
C:\Users\Deinname\Documents\Visual Studio 2008/2010 (unter win 7)
und da suchst du den ordner von deinem projekt und den packst du in zip oder rar, und dann ladest hoch
|
|
|
06/19/2010, 19:48
|
#14
|
elite*gold: 252
Join Date: Oct 2009
Posts: 3,975
Received Thanks: 1,223
|
Achso
|
|
|
06/19/2010, 20:09
|
#15
|
elite*gold: 0
Join Date: Nov 2009
Posts: 328
Received Thanks: 364
|
also ich habs jetzt nicht im source ausgebessert, aber ich weis dein problem:
das hast du gemacht:
Code:
timeleft = 3
Timer4.Interval = 1000
Timer3.Enabled = False
Timer4.Enabled = True
Code:
Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
If timeleft = 0 Then
Panel1.Visible = True
End If
End Sub
der hat doch noch nicht mal bis 0 runter gezählt (timeleft), er ist erst bei 3
schreib einfach statt:
timeleft = 3
:
timeleft = 0
|
|
|
 |
|
Similar Threads
|
Timer-Problem
07/31/2009 - AutoIt - 13 Replies
Hey Leute,
ich bins mal wieder, mit nem neuen kleinen Problem ;)
Also:
Dies funktioniert nicht, obwohl es eigentlich funktionieren sollte (denke ich^^)
......GUI-Kram
While 1
|
[Problem] With this timer
06/29/2009 - CO2 Private Server - 4 Replies
Ok im adding the Auto Afk thing in but the problem is this Error 1 The name 'AfkKickElapsed' does not exist in the current context.
Now the timer is at Character.cs becuse thats where the guide said to go
|
Timer auf 0
06/28/2009 - AutoIt - 3 Replies
Hallo
Könnt ihr mir schnell sagen, wie man einen Timer in AutoIt wieder zurücksetzt?
Der erste der es mir beantworten kann kriegtn dickes Thx.
Hoffe auf Hilfe
$timer1 = TimerInit ()
TimerDiff ($timer1) > 60000
|
[HELP] Timer
05/26/2009 - CO2 Private Server - 3 Replies
I need help making a timer in lotf
|
Help with this timer
03/26/2009 - CO2 Private Server - 2 Replies
RestartTimer = new System.Timers.Timer();
RestartTimer.Interval = (120 * 60 * 100);<<Make this Ever hour?
RestartTimer.Elapsed += new ElapsedEventHandler(RestartTimer_E);
RestartTimer.Start();
Lol what do i put there to make it ever hour im use to just numbers not that
|
All times are GMT +2. The time now is 17:10.
|
|