Thema Datum  Von Nutzer Rating
Antwort
19.01.2021 18:18:05 Patrick Reinemer
NotSolved
19.01.2021 19:40:21 volti
NotSolved
19.01.2021 19:43:21 volti
NotSolved
19.01.2021 19:52:04 Patrick
NotSolved
Rot Excel Tennisspiel soll beschleunigt werden.
19.01.2021 23:09:36 volti
*****
Solved
20.01.2021 11:39:55 Patrick
NotSolved

Ansicht des Beitrags:
Von:
volti
Datum:
19.01.2021 23:09:36
Views:
664
Rating: Antwort:
 Nein
Thema:
Excel Tennisspiel soll beschleunigt werden.

Hallo Patrick,

das Wait war ein Versehen...

Hier mal eine Idee mit dem API-Timer.

Diese stoppe ich immer direkt beim Code-Anfang und setze ihn am Ende neu.

Sonst macht der z.B. bei einem Fehler innerhalb des Codes gnadenlos weiter.

Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
Private Declare PtrSafe Function SetTimer Lib "user32" ( _
        ByVal hwnd As LongPtrByVal nIDEvent As LongPtr, _
        ByVal uElapse As LongByVal lpTimerFunc As LongPtrAs LongPtr
Private Declare PtrSafe Function KillTimer Lib "user32" ( _
        ByVal hwnd As LongPtrByVal nIDEvent As LongPtrAs Long
Dim hTimer As LongPtr
        
Public Sub Programm()
  Dim Neustart
    
  KillTimer 0&, hTimer            ' Timer stoppen
  DoEvents
  If Spiel_läuft = False And Aktuelle_Spalte = "0Then
     ' Start beginnen
     Start
     Startpunkt_festlegen
     Steuerung

  ElseIf Spiel_läuft = False And Aktuelle_Spalte <> "0Then
     ' Spiel ist vorbei
     MsgBox "Game Over"
     Neustart = MsgBox("Soll ein neues Spiel gestartet werden?", vbYesNo)
     If Neustart = "6Then
        Aktuelle_Spalte = "0"
        Programm
     End If
     Exit Sub
  Else
     ' Position Ball ermitteln
     If Aktuelle_Spalte = "3Or Aktuelle_Spalte = "91Then
        ' Balkentreffer
        Balken_getroffen
     ElseIf Aktuelle_Reihe = "3Or Aktuelle_Reihe = "32Then
        ' Randtreffer
        Rand_getroffen
     Else
        ' Nichts getroffen
        Weiterlaufen
     End If

     ' Neues Feld eintragen und altes austragen
     Range("C3:CM32").ClearContents
     Cells(Aktuelle_Reihe, Aktuelle_Spalte).Value = "2"
     Cells(Alte_Reihe, Alte_Spalte).Value = "1"

  End If
  Steuerung
  DoEvents
  hTimer = SetTimer(0&0&250AddressOf Programm) ' Timer setzen 250 mSec
End Sub

Public Sub Steuerung()

  Application.OnKey "{TAB}", "Balken_hoch_S1"
  Application.OnKey "{CAPSLOCK}", "Balken_runter_S1"

  Application.OnKey "{UP}", "Balken_hoch_S2"
  Application.OnKey "{DOWN}", "Balken_runter_S2"

End Sub

Sub TimerStop()
   KillTimer 0&, hTimer            ' Timer stoppen
End Sub
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.01.2021 18:18:05 Patrick Reinemer
NotSolved
19.01.2021 19:40:21 volti
NotSolved
19.01.2021 19:43:21 volti
NotSolved
19.01.2021 19:52:04 Patrick
NotSolved
Rot Excel Tennisspiel soll beschleunigt werden.
19.01.2021 23:09:36 volti
*****
Solved
20.01.2021 11:39:55 Patrick
NotSolved