![]() |
Anzeige:
|
|
|||||||
| Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten! |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
bräuchte einen Code für einen CountDown Zähler der beim Click auf Start von 5 Minuten bis auf Null nach unten zählt, jedoch nach Ablauf jeder Minute ein Textfeld einblendet ohne zu stoppen?
Ist so etwas machbar? Besten Dank im Voraus!! |
|
|
|
|
|
|
#2 (Direktlink) |
|
Ehren-Moderator
![]() Registriert seit: 17.02.2002
Ort: Wülfingen
Beiträge: 17.805
|
http://meine-erste-homepage.com/generatoren.php
auf dieser Seite gibt es einen Countdowngenerator. Gruß Rolf
__________________
Gruß Rolf |
|
|
|
|
|
#3 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
Danke für deinen Tip aber das ist ein Javascript Generator und ich weis nicht wie ich das in ein bestehendes VB-Programm integrieren soll!
Wie gesagt ich bräuchte einen Code der einen CountDown von 5 Minuten nach unten zählt und dabei nach jeder Minute ein Textfeld einblendet ohne das er selbst aufhört nach unten zu zählen! |
|
|
|
|
|
#4 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 19.03.2006
Beiträge: 42
|
Das ist net schwer!
Also für den countdown! Du machst auf deine Form ein Timer1 ! Im den Code vom Knopf schreibst du rein: Code:
Dim Z as interger Z=3000 '(Das sind die fünf minuten) Timer1.Intervall = 1000 Timer1.Enable = True Code:
Z = Z -1 IF Z = 600 or z = 1200 or z = 1800 or z = 2400 Then 'Hier kommt der Befehl rein was jede minute geschehen soll! ICh weiß nicht genau was du bei jeder Minute machen willst erklär das nochmal genauer! End IF If Z = 0 Then Z = 3000 Timer1.Enable = False End IF MFG TimS[/code]
__________________
Irgendwann raucht der PC immer ab! |
|
|
|
|
|
#5 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
Danke erst mal für deine schnelle Hilfe
aber wenn ich auf den Start Knopf drücke, kommt bei Z As interger folgende Fehlermeldung! Benutzerdefinierter Typ nicht definiert wie kann ich den Fehler beheben? Zu deiner Frage: In das Textfeld das jede Minute eingeblendet werden soll, also 5 Textfelder in den 5 Minuten und da muß ich einen Wert für die Sinkgeschwindigkeit eintragen! |
|
|
|
|
|
|
#6 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 19.03.2006
Beiträge: 42
|
Hatte mich vertippt:
HIe mal ein Beispielcode musst hal nur für die jeweiligen Namen deine einsetzen!: Code:
Public Class Form1
Dim Z As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Z = 3000 '(Das sind die fünf minuten)
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Z = Z - 1
'Also sollen fünf textboxen erscheinen oder? Die musst du vorher auf der From anlegen und auf Visibl = False stellen
'und dann schreibst du hier rein:
If Z = 600 Then
TextBox1.Visible = True
End If
If Z = 1200 Then
TextBox2.Visible = True
End If
If Z = 1800 Then
TextBox3.Visible = True
End If
If Z = 2400 Then
TextBox4.Visible = True
End If
If Z = 3000 Then
TextBox5.Visible = True
End If
If Z = 0 Then
Z = 3000
Timer1.Enabled = False
MsgBox("Timer beendet")
End If
End Sub
End Class
__________________
Irgendwann raucht der PC immer ab! |
|
|
|
|
|
#7 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
Public Class Form1 Erwartet: Anweisungsende
bei Form1 Fehlermeldung |
|
|
|
|
|
#8 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 17.08.2005
Beiträge: 104
|
Hi !!
Ich nehme mal an Du verwendest VB6 ? Ist zwar schon einige Zeit her aber ich werds mal versuchen !! Zuerst fügst du in dein Windowsform die 5 Textboxen ein. Danach setzt du die Visible Eigenschaft auf False Nun zum Code !! Was mir gerade dazu einfällt wäre eine Pause zb: Code:
Private Sub Pause() Dim iWarten As Integer Dim iAktuellerTimer As Single iWarten = 60 iAktuellerTimer = Int(Timer) Do DoEvents Loop Until Int(Timer) = iAktuellerTimer + iWarten End Sub Code:
Private Sub TbAnzeigen()
Dim iZähler As Integer
For iZähler = 1 To 5
Call Pause
Select Case iZähler
Case 1
Text1.Visible = True
Text1.Text = Time
Case 2
Text2.Visible = True
Text2.Text = Time
Case 3
Text3.Visible = True
Text3.Text = Time
Case 4
Text4.Visible = True
Text4.Text = Time
Case 5
Text5.Visible = True
Text5.Text = Time
End Select
Next
End Sub
Im Form_Activate einfach mit : TbAnzeigen aufrufen Ich denke das wars Vielleicht versuchst Du`s mal und meldest dich wieder ob`s funktioniert hat. mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung. Gilbert K. Chesterton |
|
|
|
|
|
#9 (Direktlink) | |
|
War schon mal da
![]() Registriert seit: 19.03.2006
Beiträge: 42
|
Zitat:
Beim ersten fehler hast du unten End Class vergessen! Beim Zweiten musst du schaun ob deine form auch so heißt! Den Code einfach übernehmen kannst du nicht!
__________________
Irgendwann raucht der PC immer ab! |
|
|
|
|
|
|
#10 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
Hallo ARCUS_L
Dein Tipp hat super geklappt vielen Dank. Noch eine Frage: kann ich den Durchlauf auch vorzeitig durch eine Stop - Taste wieder abbrechen? |
|
|
|
|
|
|
#11 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 17.08.2005
Beiträge: 104
|
Hi !!
Geht ganz einfach über das abfragen einer Boolschen Variable ! Dazu benötigst Du einen Button mit dem du die Boolsche Variable auf True setzt und dann mit einer If bedingung abfragen. mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung. Gilbert K. Chesterton |
|
|
|
|
|
#12 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
Bitte was (Boolsche Variable)
kannst Du mir da bitte ein bisschen helfen !!! Möchte mit einem Button "Stop" bei Bedarf den CountDown unterbrechen. mfg Woidlmaisi |
|
|
|
|
|
#13 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 17.08.2005
Beiträge: 104
|
Hi !
Als erstes in der Code Ansicht im Deklarationsteil eine Boolsche Variable Deklarieren: Private bEnde As Boolean Dann im Klick ereignis des Ende Buttons die Variable auf True setzen: Code:
Private Sub Command1_Click() bEnde = True End Sub Code:
Do DoEvents If bEnde = True Then Exit Do Loop Until Int(Timer) = iAktuellerTimer + iWarten Code:
For iZähler = 1 To 5 Call Pause If bEnde = True Then Exit Sub mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung. Gilbert K. Chesterton |
|
|
|
|
|
#14 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 01.04.2006
Beiträge: 16
|
zuerst mal vielen vielen Dank für Deine Hilfe
Das Programm funktioniert !!! nur eins ist mir beim Test aufgefallen. Wenn ich den Durchlauf 1 mal unterbreche (also auf Stop klicke) und dann wieder auf die Start - Taste drücke funktioniert der Durchlauf nicht mehr. Ich muß das Programm schließen und wieder starten, dann geht es. Vielleicht gibt es dafür eine Lösung. Ich bin aber auch mit dieser Lösung mehr als Zufrieden. Danke mfg Woidlmaisi |
|
|
|
|
|
#15 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 17.08.2005
Beiträge: 104
|
Hi !
Das ist kein Problem ! Dazu musst du nur alle Textboxen wieder auf Visible = False setzen und die Boolsche Variable wieder auf False setzen bEnde = False dann den Ablauf neu Starten. Private Sub Command2_Click() Text1.Visible = False . . . Text5.Visible = False bEnde = False TbAnzeigen end Sub mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung. Gilbert K. Chesterton |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|