Zähler

KingKamali

Grünschnabel
hi ich habe einen counter gemacht, der von zb. 0 - 100 in 1er schritten zählt.
Nur ich will das sehen wie er die zahlen zählt. Weil ich sehe nur eine 1 und dann wenn ich auf den button(start count) drücke, dann sehe ich dannach nur dir Hundert.

danke im voraus
 
Servus!

Habs gerade ausprobiert bei mir geht das mit dem DoEvents an dieser stelle nicht ...

versuchs mal mit nem Timer ...:

Code:
Leg ein Timer-Objekt auf die Form und stell bei den Eigenschaften unter Intervall 100 ein. Nun legst du ein Textfeld auf die Form und nennst es Text1. Jetzt legst du noch einen Button auf die Form. Danach klickst du mal doppelt auf den Timer und trägst folgendes ein:

Dim i As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
i = 0
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
If i < 100 Then
    i = i + 1
    Text1 = i
Else
    Timer1.Enabled = False
End If
End Sub

Gruß Tom
 
Beim DoEvents kommts ja darauf an, ob er schon eine Verzögerung eingebaut hat. Wenn er das in Form einer Schleife oder der Sleep-API hat und das ganze nicht in 0,0001 Sekunden hochzählt, dann braucht er ein DoEvents. Siehe diesen Code:
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
 Dim zähler As Integer, cnt As Integer, wt As Long
 For cnt = 1 To 100
  Label1.Caption = zähler
  DoEvents
  zähler = zähler + 1
  'Entweder per Sleep-API
  'Sleep 50
  'oder per Schleife warten
  'For wt = 1 To 900000: Next wt
 Next cnt
End Sub


Der Doc!
 
Im Prinzip ja (war meine Antwort, hatte halt noch zusätzlich einen Zähler eingebaut), allerdings läuft das ganze dann so schnell ab, dass du das gar nicht mehr mitkriegst (deshalb auch die Verzögerung).


Der Doc!
 
also ich würds so machen:

Dim a 'Variable a erstellen

Private Sub Form_Load()
Text1.Text = 0 'Text in Text1 löschen
Command1.Caption = "Start" 'Button Beschriftung
Timer1.Interval = 1000 'Der Timer zählt alle 1000ms d.h. 1s
<<<hier kann man dann die Geschwindigkeit regeln
Timer1.Enabled = False 'Timer Aus
End Sub

Private Sub Command1_Click()

a = 0 'Variable a ist 0
Timer1.Enabled = True 'Timer An
End Sub

Private Sub Timer1_Timer()
If a < 100 Then
a = a + 1 'Wenn a nicht größer ist als 100 dann +1
Else
Timer1.Enabled = False 'Wenn größer > Timer Aus
End If
Text1.Text = a 'a in Text1 schreiben
End Sub

;)
 
Zurück