Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Bsturtz in der schleife

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.09.2004, 16:10 Uhr
RedEagle



Hi,
wir lehrnen in der Schule jetzt VB und mein Freund (der keine Programmiererfahrung hat) möchte gerne etwas zum Blinken bringen. Deshalb wollte ich (da ich früher schonmal mit VB gearbeitet habe) ihm ein Kleises Beispiel-prog. schreiben:


Visual Basic:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'---------------------------------------------------------------------
  
Private Sub cmd_start_Click()
Do
  Sleep 1000
  pic_flag.Visible = False
  Sleep 1000
  pic_flag.Visible = True
Loop Until chk_stop.Value = True
'Wenn chk_stop ein "Häckchen" hat, soll das Bild aufhören zu blinken
End Sub



Wenn ich jetzt den Button "cmd_start" anklicke, hängt das Programm.
Wenn ich es dann über den Taskmanager beende, sehe ich "blau"

Was habe ich Falsch gemacht?? Ist doch alles richtig, oder??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.09.2004, 16:17 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Bau ein DoEvents in die Schleife ein, dann sollte es funktionieren.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.09.2004, 16:21 Uhr
RedEagle




wo, und wie??

Ich habe zwar vor 2 Jahren schonmal mit VB gearbeitet, aber auch nur nen Halbes jahr lang, deshalb kenne ich nur das Nötigste

Aus msdn werde ich auch nciht schlau.
--
MFG RedEagle

Dieser Post wurde am 27.09.2004 um 16:24 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.09.2004, 17:12 Uhr
sXene[WARE]




Visual Basic:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub cmd_start_Click()
Do
  Sleep 1000
  pic_flag.Visible = False
  Sleep 1000
  pic_flag.Visible = True
  DoEvents  'Lass Windows seinen Kram machen
Loop Until chk_stop.Value = True
'Wenn chk_stop ein "Häckchen" hat, soll das Bild aufhören zu blinken
End Sub


--
sXene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.09.2004, 17:18 Uhr
Bruder Leif
dances with systems
(Operator)


Hups, habs grad gesehen: Mach lieber

Visual Basic:
Private Sub Timer1_Timer()
  pic_flag.Visible = Not pic_flag.Visible
  If chk_stop.Value Then Timer1.Enabled = False
End Sub



Das ist wesentlich einfacher und weniger fehlerträchtig
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.09.2004, 17:21 Uhr
RedEagle



an alle.
@Bruder Leif: In der schule haben wir noch nicht mit Timer gearbeitt, und auch noch nicht mit Logischen befehlen wie AND, OR oder NOT. Deshalb habe ich das so geschrieben, damit mein Freund das schnell versteht.
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.09.2004, 17:25 Uhr
RedEagle



da mein PC das nicht mitmacht, muss ich doch auf Bruder Leif's methode zurückgreifen.

Ich habe das jetzt mal so kopiert, muss ich was am Timer einstellen?? es funktioniert nehmlich nicht

ps.: habe "Timer1.Enabled = True" in "Private Sub Form_Load()" geschrieben. Ist doch richtig, oder??
--
MFG RedEagle

Dieser Post wurde am 27.09.2004 um 17:27 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
27.09.2004, 17:26 Uhr
sXene[WARE]



ich würd so machen


Visual Basic:
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Intervall = 10
End Sub

Private Sub cmdStart_Click()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If chkStop.Value = True Timer1.Enabled = False
If Picture1.Visible = True then Picture1.Visible = False Else Picture1.Visible = True
End Sub


--
sXene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
27.09.2004, 17:30 Uhr
RedEagle



funktioniert
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: