Forum: PC-Programmierung VB6 Picture5 blinkt nur im Debugger kotz


von Benshee (Gast)


Angehängte Dateien:

Lesenswert?

Im Debugger funktionieren die Schleifen einwandfrei. Habe noch ein 
Programm mit meheren Picturen geschrieben, die schaltet man der Schalter 
prima an und aus. Aber wenn die Schleifen das An/Aus (Blinken) 
übernehmen sollen dann werden die Pictures scheinbar per Zufall An oder 
Aus geschaltet. Aber im Debugger geht alles schön nach der Reihe, so wie 
es ja eigentlich programmiert ist.
"WinXP und VB6.0Prof."


'---------------Form1---------------------
Private Sub Command1_Click()
        Form2.Show
        Load Form2

End Sub
'------------------------------------------

'--------------Form2-----------------------

Private Sub Command2_Click()


    End

End Sub


Private Sub Command3_Click()

 Picture5.Visible = False

  For x = 0 To 10
    For t = 0 To 999999
      h = 5 - 2
      i = 8 - 3
    Next t

    Picture5.Visible = True

    For k = 0 To 999999
      h = 5 - 2
      i = 8 - 3
    Next k

    Picture5.Visible = False
  Next x
End Sub

Private Sub Form_Load()

    Dim i As Long
    Dim t As Long
    Dim k As Long
    Dim x As Long
    Dim h As Long


End Sub
'----------------------------------------------

von Tim H. (hotty) Benutzerseite


Lesenswert?

Benshee schrieb:
> For k = 0 To 999999
>       h = 5 - 2
>       i = 8 - 3
>     Next k

lol ...
nimm doch einen Timer und lass den PC net ein paar unnütze Dinge 
rechnen.

>übernehmen sollen dann werden die Pictures scheinbar per Zufall An oder
>Aus geschaltet.

das kommt immer darauf an wie ausgelastet der pc ist. Wegen deiner 1Mio. 
mal rechnen Schleife.

von Benshee (Gast)


Lesenswert?

Naja, Timer habe ich noch nicht probiert. Ist auch wieder Lernaufwand, 
ich wollte es halt mal auf ne ganz Hirnlose Art BLINKEN lassen. Warum 
geht es Debugger Schritt für Schritt richtig und wenn mam es mit 
dem"PLay-Pfeil" aktiviert nur einmal AN und dann wieder AUS , warum 
BLINKT es nicht 10 mal ??

von Jürgen G. (jrgen_g)


Lesenswert?

Probier`s mal mit einem DoEvents() nach dem Visible = true / false.
Zum Thema Timer, viel Wissen benötigt man für deren Einsatz nicht. Schau 
mal hier : http://www.vbarchiv.net/faq/details.php?id=forms_labelblink, 
das Beispiel sollte sich leicht an Deine Erfordernisse anpassen lassen.

von Benshee (Gast)


Lesenswert?

Vielen Dank Jürgen, das Beispiel ist ganz gut

von Benshee (Gast)


Lesenswert?

Wie kann man was NEGIEREN wenn links vom = gerade das gegenteil steht ??

Shape2.Visible = Not Shape2.Visible

Wie soll man das verstehen mit dem NOT ??

von avr (Gast)


Lesenswert?

Benshee schrieb:
> Shape2.Visible = Not Shape2.Visible

.Visibel hat nur 2 Werte, True oder False (1 oder 0)

Shape2.Visible = Not Shape2.Visible

=> if(Shape2.Visible = True) then
       Shape2.Visible = False
   else
       Shape2.Visible = True
   end if

mach das selbe

Ist ein Toggeln

avr

von Benshee (Gast)


Lesenswert?

Wo soll man sowas lernen ?? So viele VB-Seiten kann man garnicht per 
Goggel suchen.

Vielen Dank

von Benshee (Gast)


Lesenswert?

Scheinbar kann man in VB nicht einfach mal so Programmieren wie in C 
oder JAVA oder BASIC (1986 mit C64 und dann 1995 mit meinem ersten PC ) 
.

In VB ist alles " Ereignis-Getriggert" ;-))

von Lehrmann M. (ubimbo)


Lesenswert?

Tim H. schrieb:
> Benshee schrieb:
>> For k = 0 To 999999
>>       h = 5 - 2
>>       i = 8 - 3
>>     Next k
>
> lol ...
> nimm doch einen Timer und lass den PC net ein paar unnütze Dinge
> rechnen.

Das optimiert der Compiler sowieso alles raus.

Hinterher steht dann noch das da

[LEERE]

Benshee schrieb:
> Shape2.Visible = Not Shape2.Visible

das soll doch hoffentlich ein Witz sein oder ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.