Deutsch
Experimente

Quasi-simultane Bearbeitung mehrerer Aufgaben - Old style; Maus-Interaktion

 

p.specht

Quasi-simultane Bearbeitung mehrerer Aufgaben (XProfan-11).
So etwas geht natürlich heute viel besser mit Threads. Aber damals ...
' Include-Pfad anpassen!
 $H C:\Users\user\XProfan\XProfan11\INCLUDE\Windows.ph
Window 0,0-%maxx,%maxy
Cls
Def IsMouseSwapped(0) ~GetSystemMetrics(~SM_SWAPBUTTON)
'0 = Rechtmaus/1 = Linksmaus
windowtitle "Crazy Mouse - Version 1.0 beta"
' Aus den Teilen: IsMouseSwapped() von David Strutz,
' Maustasten sicher abfragen (w) von Frank Abbing,
' Mausrad hoch und runter von Dieter Zornow
' CheckIfMousewheel/MiddleKey von Andreas Miethe samt
' Franks improvement betr. Horizontal-Mausrad/Trackball,
' zusammengestellt und um "Lebende Schleife", "Debounce"
' und "Sauberes Beenden"(TM) ergänzt von P. Specht 2009-09
declare x%,y%,z%,LM%,FLT%,tm!,ti!,k&
k&=1000
Cls
UserMessages $201,$204,$207,$202,$205,$208,$20A

if IsMouseSwapped()=0

    print "             Rechtshänder-Maus, keine Tastenvertauschung"

else

    print "             Linkshänder-Maus, Tasten R-L-vertauscht"

endif

z%=0

If ~GetSystemMetrics(91)

    Inc z%
    Print "             Horizontales Mausrad vorhanden"

EndIf

If ~GetSystemMetrics(75)

    Inc z%
    Print "             Vertikales Mausrad vorhanden"

EndIf

IfNot z%

    Print "             Kein Mausrad vorhanden."

EndIf

z%=~GetSystemMetrics(43)
print "             ";z%;" Tasten an der Maus installiert"
flt%=2
SetTimer 1

While 1

    WaitInput

    if %key=2 OR %key=27:Break:endif

        If %UMESSAGE = $20A

            IF HIWORD(&UWPARAM)=120

                PRINT " Rad hoch   ":FLT%=2

            ELSE

                if flt% : flt%=abs(flt%)-1

                elseif flt%=0: PRINT " Rad runter "

                endif

            ENDIF

        ENDIF

        If %umessage=$201

            ifnot LM%=1:Print " Links gedrückt.   ":LM%=1:endif

            ElseIf %umessage=$204

                ifnot LM%=4:Print " Rechts gedrückt.  ":LM%=4:endif

                ElseIf %umessage=$207

                    ifnot LM%=7:Print " Mitte gedrückt.   ":LM%=7:endif

                    ElseIf %umessage=$202

                        ifnot LM%=2:Print " Links losgelassen.":LM%=2:endif

                        ElseIf %umessage=$205

                            ifnot LM%=5:Print " Rechts losgelassen.":LM%=5:endif

                            ElseIf %umessage=$208

                                ifnot LM%=8:Print " Mitte losgelassen. ":LM%=8:endif

                                EndIf

                                ' Lebende Schleife
                                x%=%Pos:y%=%csrlin' Merk dir wo du warst
                                color 10,3:Locate 2,1:print x%,y%;" ";' und gib HIER kurz mal was aus
                                color 14,1:Locate 1,1:print %mouseX;":";%mouseY;" "
                                color 15,3:Locate 1,61:print Date$(0),Time$(0);".";left$(Time$(1),2);
                                color 15,9:Locate 3,1:ti!=val(time$(1)):print ti!-tm!:tm!=ti!
                                color 0,15:Locate y%,x%' Restore, wo du grad warst
                                print "#";' Beliebige weiterlaufende Aktion
                                ' die selbst nicht allzu lange dauert
                                case %csrlin>26:CLS

                            Endwhile

                            UserMessages 0
                            KillTimer
                            End
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
05.06.2021  
 



Zum Experiment


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.062 Betrachtungen

Unbenanntvor 0 min.
Ernst21.07.2021
Wilfried Friebe24.06.2021
Uwe Lang23.06.2021
R.Schneider13.06.2021
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

p.specht (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie