Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!
Autor: p. specht (---.aon.at)
Datum:   12.01.19 18:38

Kleiner Test dazu:
 WindowTitle "Messageabholendes Waitinput beschleunigt:"+\
 "     Lösung von Jens-Arne Reumschüssel testen"
 '(CL) CopyLEFT 2019-01 by P.Specht, Vienna/AT/EU
 
 CLS:Randomize:font 2
 declare n&,tm&,i&,x&,y&,txt$,ungueltig&
 
 $IFNDEF COMPILER
 txt$="INTERPRETER"
 n&=2500
 $ELSE
 txt$="COMPILER"
 n&=4000
 $ENDIF
 
 AppendMenuBar 100," "+txt$+" zählt bis "+str$(n&)+\
 ".     ESC-Taste soll erkannt werden und zerstört den laufenden Test!"
 
 
 print "\n OHNE Beschleunigung:",:x&=%pos:y&=%csrlin
 waitinput 3:sound 200,20:ungueltig&=0
 tm&=&GetTickCount
 Whileloop n&:locate 20,20:print &Loop;"     ";
   i&=&Loop
   waitinput 3
   :if %Key="27":ungueltig&=1:break:endif
 Endwhile
 tm&=&GetTickCount-tm&
 locate y&,x&
 ifnot ungueltig&: print tm&,"ms"
 else :print "<abgebrochen>":clear ungueltig&
 Endif
 
 
 print "\n NUR Fastmode:",:x&=%pos:y&=%csrlin
 waitinput 3:sound 200,20:ungueltig&=0
 tm&=&GetTickCount
 set("Fastmode",1)
 Whileloop n&:locate 20,20:print &Loop;"     ";
   waitinput 3
   :if %Key="27":ungueltig&=1:break:endif
 Endwhile
 set("Fastmode",0)
 tm&=&GetTickCount-tm&
 locate y&,x&
 ifnot ungueltig&: print tm&,"ms"
 else :print "<abgebrochen>":clear ungueltig&
 Endif
 
 
 print "\n NUR MIT rnd()-Chance:",:x&=%pos:y&=%csrlin
 waitinput 3::sound 200,20:ungueltig&=0
 tm&=&GetTickCount
 Whileloop n&:locate 20,20:print &Loop;"     ";
   if rnd()>0.95
     waitinput 3
    :if %Key="27":ungueltig&=1:break:endif
   endif
 Endwhile
 tm&=&GetTickCount-tm&
 locate y&,x&
 ifnot ungueltig&: print tm&,"ms"
 else :print "<abgebrochen>":clear ungueltig&
 Endif
 
 
 print "\n LÖSUNG von Jens-Arne R.: Fastmode mit %PeekMessage:",:x&=%pos:y&=%csrlin
 waitinput 3:sound 200,20:ungueltig&=0
 tm&=&GetTickCount
 set("Fastmode",1)
 Whileloop n&:locate 20,20:print &Loop;"     ";
   if %PeekMessage
     waitinput 3
     :if %Key="27":ungueltig&=1:break:endif
   Endif
 Endwhile
 set("Fastmode",0)
 tm&=&GetTickCount-tm&
 locate y&,x&
 ifnot ungueltig&: print tm&,"ms"
 else :print "<abgebrochen>":clear ungueltig&
 Endif
 
 
 print "\n OHNE JEDE ABFRAGE:",:x&=%pos:y&=%csrlin
 waitinput 3:sound 200,20:ungueltig&=0
 tm&=&GetTickCount
 Whileloop n&:locate 20,20:print &Loop;"     ";
 '
 Endwhile
 tm&=&GetTickCount-tm&
 locate y&,x&
 ifnot ungueltig&: print tm&,"ms"
 else :print "<abgebrochen>":clear ungueltig&
 Endif
 
 
 hold:
 sound 2000,60
 Waitinput 7000:casenot %wmTimer:goto "hold"
 
 END
 


____
Ein richtiges Problem hat keine Lösung, nur Näherungen!

Nachricht bearbeitet (12.01.19 19:15)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
Jens-Arne Reumschüssel 10.01.19 21:32 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
p. specht 12.01.19 18:38 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
Jens-Arne Reumschüssel 14.01.19 19:32 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
p. specht 14.01.19 19:40 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
Jens-Arne Reumschüssel 14.01.19 19:49 
 Re: Messageloop direkt aufrufen: LÖSUNG GEFUNDEN!  Neu
Jens-Arne Reumschüssel 14.01.19 20:45 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org