WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 03.05.2005, 14:28   #1
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Frage Wie kann ich, oder kann ich eine For-Schleife raufzählen lassen mit Verzögerung

Hallo Leute!

Habe in VBA ein kleines Progrämmchen geschrieben und komme jetzt nicht weiter!

Dachte ich könnte mit der Wait-Methode die in einer For-Schleife gezählten Zahlen mit einer Pause von einer Sekunde ausgeben!

Geht das, bei mir nicht!

Hilfe!

Grüsse Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 03.05.2005, 17:30   #2
testi
Veteran
 
Registriert seit: 22.04.2004
Alter: 51
Beiträge: 216


Standard

Am Besten ist es, wenn du dir eine eigene Routine schreibst.
Wie z.B.:
Code:
Public Sub Pause(Zeit As Variant)
Zeit = CDec(Zeit)
Start = Timer
Anfang = 0
Do While Anfang < Zeit
Anfang = Timer - Start
DoEvents
Loop
End Sub
Dann kannst du die For-Next Schleife wie wie folgend pausieren:
Code:
For i= 1 to 324234
........
Pause 1 'Für 1 Sekunden Pause
Next i
mfG
Testi
testi ist offline   Mit Zitat antworten
Alt 03.05.2005, 18:59   #3
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Einfacher gehts mit wait (siehe VBA-Hilfe).

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 03.05.2005, 20:38   #4
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Daumen hoch Danke Euch für Eure Hilfe!

Ganz besonders möchte ich testi danken!

Kanst ma noch erklären, was in der Sub da gemacht wird?

Grüße

Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 03.05.2005, 21:54   #5
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

Code:
Public Sub Pause(Zeit As Variant) 'Variable Zeit wird als variablentyp variant übergeben
Zeit = CDec(Zeit) 'variable zeit wird in eine dezimalzal umgewandelt
Start = Timer 'Variable Start wird der wert von Timer zugewisen
Anfang = 0 'Variable Anfang wird 0 gesetzt
Do While Anfang < Zeit 'während variable anfang kleiner variable zeit ist soll er folgendes tun:
Anfang = Timer - Start 'Variable anfang ist variable timer weniger timer von anfang
DoEvents ' ka was das soll
Loop ' ende der do while schleife
End Sub 'ende des subs
hoffe es hilft ein wenig
Potassium ist offline   Mit Zitat antworten
Alt 03.05.2005, 23:30   #6
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Finds halt seltsam das man sich eine eigene Untermethode bastelt wenn das ganze mit:
Application.Wait(Now + TimeValue("0:00:01"))
erledigt ist...


Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 04.05.2005, 08:34   #7
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Zitat:
Original geschrieben von jak
Finds halt seltsam das man sich eine eigene Untermethode bastelt wenn das ganze mit:
Application.Wait(Now + TimeValue("0:00:01"))
erledigt ist...
IIRC hat DoEvents den Vorteil, daß man Eingaben während des Wartens verarbeiten kann, während dies mit Wait nicht der Fall ist. Bspw. Kann man das 'Warten mittels Wait'-Makro im Editor nicht durch Abbrechen beenden, das mit DoEvents hingegen schon. Bitte um Korrektur, falls das falsch sein sollte .
flinx ist offline   Mit Zitat antworten
Alt 04.05.2005, 12:40   #8
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ja, der Nachteil ist, das wait Excel unterbricht. Die Schleife ist aber auch nicht sonderlich schön (verhindert IMHO das der Prozessor in wait oder sleep Modi geht). Man könnte es auch mit OnTime machen (dann hat man in der Schleife einen Aufruf eines Unterprogramms).

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 07.05.2005, 10:17   #9
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Standard

Hallo nochmal!

Kann ich nun mit dieser Pause Sub auch nur um ein 10el oder ein 100el einer Sekunde verzögern, wenn nein, bräuchte ich da auch eine Möglichkeit.

Grüße

Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 07.05.2005, 11:04   #10
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Das ist ein wirklicher Vorteil von timer, das er unter Windows auch Bruchteile von Sekunden angibt (soweit ich das gesehen habe bis zu 100stel). An sich ist timer+0.01 also erlaubt. Probier einfach mal aus was passiert wenn du "Pause 0.1" eingibst.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:49 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag