Verdammte Schleife

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Pummelie

Betreff: Verdammte Schleife

BeitragSa, Jun 14, 2008 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, mein Problem
Ich habe 4 Buttons die alle eine andere Aktion ausführen, die Aktionen habe ich in eine Repeat/Forever schleife gepackt.
Nun, führt das Programm die Aktionen fast nie beiom ersten Klick aus, weil er die schleife (in meiner ansicht) zu langsam durchggeht.

Meine Frage:
Wie kann ich das Optimieren?
 

Phlox

BeitragSa, Jun 14, 2008 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
4 Buttons machen eine Schleife langsam?
Zeig mal die Schleife.
 

DjDETE

BeitragSa, Jun 14, 2008 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du immer "If" benutzt kann es sein, dass du den Button mehrmals drücken musst, benutze "Select" und "Case", dann sollte es funktionieren.
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

Pummelie

BeitragSa, Jun 14, 2008 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier die Schleife:
Code: [AUSKLAPPEN]

Repeat
If GetKey() = 27 Then End
If WaitEvent() = $401 Then
Select EventSource()
Case button4
If ButtonState(button4) = 0 Then
Gosub Ende
EndIf
End Select
End If
If GetKey() = 27 Then End
If WaitEvent() = $401 Then
Select EventSource()
Case button3
If ButtonState(button3) = 0 Then
;kleine Aktion
EndIf
End Select
End If
If GetKey() = 27 Then End
If WaitEvent() = $401 Then
Select EventSource()
Case button2
If ButtonState(button2) = 0 Then
;kleine Aktion
EndIf
End Select
End If
If GetKey() = 27 Then End
If WaitEvent() = $401 Then
Select EventSource()
Case button1
If ButtonState(button1) = 0 Then
;kleine Aktion
EndIf
End Select
End If
Forever
 

DjDETE

BeitragSa, Jun 14, 2008 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Also: Du musst nur einmal Select machen und kannst dann soviele Case wie du willst reinpacken. Und das If Buttonstate... kannnst du auch bleiben lassen, solange du keine Checkboxes oder Radiobuttons verwendest.
Code: [AUSKLAPPEN]

Repeat
 If Getkey()=27 then End
 If Waitevent()=$401 then
  select eventsource()
   case button4
    gosub ende
   case button3
    ;kleine Aktion
   case button2
    ;kleine Aktion
   case button1
    ;kleine Aktion
  end select
 endif
forever


Alles klar?
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

Pummelie

BeitragSa, Jun 14, 2008 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank,
hat funktioniert Exclamation

Shogo

BeitragSa, Jun 14, 2008 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Aus dem

Code: [AUSKLAPPEN]
If Waitevent()=$401 then


wuerde ich auch ein Select machen sonst koennte es Probleme Geben wenn man mehr als $401 abfragt.

Pummelie

BeitragSa, Jun 14, 2008 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Da ich kein weiters Thema auf machen will, schreib ich es einfach hier rein.
Also ich habe ein wirkliches kleines problem, wie schließe ich ein fenster?
Ich habe in meinem Programm 2 aufmachen lassen, wie schließe ich eines wieder?

The Shark

BeitragSa, Jun 14, 2008 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Freegadget fensterhandle
 

ChristianK

BeitragSa, Jun 14, 2008 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn das Fenster später wieder angezeigt werden soll, nimm besser HideGadget und ShowGadget.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Pummelie

BeitragSo, Jun 15, 2008 8:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah danke Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group