Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  GetAsyncKeyState / KeyPressed / DOEvents

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   GetAsyncKeyState / KeyPressed / DOEvents (815 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
elharry
Mitglied



Sehen Sie sich das Profil von elharry an!   Senden Sie eine Private Message an elharry  Schreiben Sie einen Gästebucheintrag für elharry

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 13. Okt. 2009 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

versuche mich gerade mal wieder an einem Makro und bekomme es nicht hin.
Das Makro soll beim drücken der ESC Taste abbrechen. Das Makro soll nur auf Windows laufen.
Den folgenden Code habe ich.

Sub Main()
    For I = 1 To 10000
        DoEvents
        KeyPressed = CBool(GetAsyncKeyState(vbKeyEscape) And &H8000) ' &H8000 meint gedrückt!
        DoEvents                                ' Catia wartet kurz?
        'MsgBox ("Keypressed : " & KeyPressed)
        If KeyPressed = "True" Or KeyPressed = "Richtig" Then
            Exit Sub
            MsgBox ("Richtig : ")
        End If
        CATIA.Statusbar = I
    Next

Hat jemand eine Idee was ich da falsch mache?

mfg

elharry
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator



Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Okt. 2009 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für elharry 10 Unities + Antwort hilfreich

Hallo,

wenn das Makro läuft und du ESC drückst wird es doch automatisch abgebrochen. Dafür brauchst du IMHO die Funktion nicht 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

elharry
Mitglied



Sehen Sie sich das Profil von elharry an!   Senden Sie eine Private Message an elharry  Schreiben Sie einen Gästebucheintrag für elharry

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 13. Okt. 2009 15:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,

leider tut es das nicht. Ich kann die ESC Taste drücken und halten so lange ich will.
Wenn ein Makro läuft dann läuft es.
Ich habe ja den Wert von I in der Statusbar ausgegeben und da sieht man ich kann wirklich drücken
soviel ich will. Das Makro läuft immer bis zum Ende der Zählschleife durch.

mfg

elHarry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAMiCADse
Mitglied



Sehen Sie sich das Profil von CAMiCADse an!   Senden Sie eine Private Message an CAMiCADse  Schreiben Sie einen Gästebucheintrag für CAMiCADse

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 13. Okt. 2009 16:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für elharry 10 Unities + Antwort hilfreich

Hallo elharry,

KeyPressed ist vom Typ 'boolean', kein String -->

Code:
If KeyPressed = True Then

oder besser einfach

Code:
If KeyPressed Then

Gruß
CAMiCADse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Elektrokonstrukteur (m/w/d)
Technische Projekte, die es in sich haben. Das ist FERCHAU. Als Marktführer in Engineering und IT bieten wir unseren mehr als 8.400 Mitarbeitern an über 100 Niederlassungen und Standorten innovative Herausforderungen in den unterschiedlichsten Bereichen der Elektrotechnik - einfach die ganze Welt des Engineerings. Sind auch Sie bereit, mit uns gemeinsam neue Wege zu gehen? Dann ergreifen Sie Ihre Chance bei FERCHAU und geben Sie Ihrer Zukunft die entscheidende Richtung....
Anzeige ansehenElektrotechnik, Elektronik
elharry
Mitglied



Sehen Sie sich das Profil von elharry an!   Senden Sie eine Private Message an elharry  Schreiben Sie einen Gästebucheintrag für elharry

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 15. Okt. 2009 07:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo CAMiCADse,

super danke, das wars wohl.
Hier noch der Code für alle die es interessiert und
10U's für CAMiCADse.


Public Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Boolean

Sub Main()
    For I = 1 To 100000
        DoEvents
        KeyPressed = CBool(GetAsyncKeyState(vbKeyEscape) And &H8000) ' &H8000 meint gedrückt!
        'MsgBox ("Keypressed : " & KeyPressed)
        If KeyPressed Then
            'Or KeyPressed = "Richtig" Then
            Exit Sub
            MsgBox ("Richtig : ")
        End If
        CATIA.Statusbar = I
    Next

End Sub

Gruß  elHarry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz