Deutsch
Befehlssatz und Hilfe

Funktion: event

 
- Seite 1 -


proc event ( long id [, { long data | array data } ] )

Funktion event wird aufgerufen, sobald ein globales Event auftritt wie z.B. Drücken von Systemtasten oder ein Fehler.

Beispiel:
proc event id dta

    case id==event.backkey : end//back button
    print "Event:"+id
    case dta : print dta
    case id==event.error : msg.box "ERROR #"+dta["nr"]+": "+dta["msg"]

endproc


Übersicht der Event-IDs:

User-IDs sollten immer kleiner -1 sein.

-1: ERROR, ein Systemfehler ist aufgetreten:
data["nr"] und data["msg"] halten genauere Fehlerinformationen bereit
1: Zurücktaste (Hardware o. Softbutton) wurde betätigt
2: Menütaste (Hardware o. Softbutton) wurde betätigt


Events für Tastatur:

100: Taste wurde gedrückt, Tastencode in data
101: Taste wurde losgelassen, Tastencode in data


Events für Maus/ Fingerberührung auf Bildschirm:

200: Finger/Maus auf Display gesetzt
201: Finger/Maus auf Display bewegt
202: Finger/Maus von Display entfernt

In Data findet sich jeweils 1 assoziatives Array mit folgenden Schlüsseln:

long p = pointer = Finger (ID eines Fingers, 0..x)
float x = Position auf Bildschirm
float y = Position auf Bildschirm
float press: Druckstärke, bei Fingern meist 1.0
float size: die Aufdruckgröße
string devicename: Bezeichnung des Stiftes, sowas wie "sec_e-pen" bei Pens oder oder "sec_touchscreen" bei Finger
long deviceid = eindeutige Gerätenummer die nach Neustarts aber anders sein kann
string device = eindeutige GeräteID die auch Neustarts übersteht




1000: Resume, die APP wurde wieder in den Vordergrund geholt
1100: Fokusänderung, je nach Data ob APP wieder den Fokus hat oder ihn verloren hat etwa wegen Bedienung des Vorhanges etc.
1200: Konfigurationsänderung im Gerät: Bildschirmrotation oder Auflösungsänderung oder Hardwaretastatur an- /abgesteckt - ggf. siehe assoziatives Array data.
1250: Bildschirm wurde ein- oder ausgeschaltet je nach data.


Beispiel:
proc event

    if id == 1

        print "Zurücktaste gedrückt!!!"

    elseif id == 2

        print "Menütaste gedrückt!!!"

    elseif id == -1

        msg(0,"Fehler aufgetreten",data)

    else

        print "Diese ID ist nicht definiert: ",id

    endif

endproc


3000: GPS-Position oder Genauigkeit hat sich geändert, siehe assoziatives Array in data: listen, found, latitude,longitude,altitude, accuracy, bearing, speed, provider.


4000: Batterie-Informationen haben sich geändert. Erweiterte Batterieinformationen mit Funktion device() beziehen!


5000: Gerät wird heruntergefahren, ob Neustart steht in data
5100: Gerät Dockingstation-Event.


6000: Ein- oder Ausgehender Anruf, siehe assoziatives Array in data.


7000: Meldet, wenn ein asynchroner http-Download, dessen Inhalt nicht an eine Proc sondern in eine Datei umgeleitet werden soll, fertig ist.


8000: Betätigung eines Textfeldes oder eines Buttons.


Keywords: event,onbackpressed,onerror,onmenupressed,onkey,mouse,ontap,finger, battery, phonestate

 
16.01.2015  
 



 
- Seite 1 -


Neues Event:

3000: GPS-Position oder Genauigkeit hat sich geändert, siehe assoziatives Array in data: latitude,longitude,altitude, accuracy, bearing, speed, provider.
 
26.01.2015  
 



Neues Event:

4000: Batterie-Informationen haben sich geändert. Erweiterte Batterieinformationen mit Funktion device() beziehen!
 
31.01.2015  
 



2 neue Events:

1250: Bildschirm wurde ein- oder ausgeschaltet je nach data
 
31.01.2015  
 



3 neue Events:

5000: Gerät wird heruntergefahren oder neu gestartet je nach data
5100: Gerät Dockingstation-Event.
 
31.01.2015  
 



Neues Event:

6000: Ein- oder Ausgehender Anruf, siehe assoziatives Array in data für Telefonnummer und Status.
 
04.02.2015  
 




HofK
Bei event sind die Konstantenbezeichnungen eventuell nicht 100% klar.

Deshalb erst einmal ein Vorschlag:

event.error = -1
event.backkey = 1
event.menukey = 2
event.keydown = 100
event.keyup = 101
event.touchdown =200
event.touchmove = 201
event.touchend = 202
event.resume = 1000
event.focus = 1100
event.config = 1200
event.display.on = 1250
event.display.off = 1251
event.gps = 3000
event.battery = 4000
event.shutdown = 5000
event.reboot = 5001
event.docking = 5100
event.phonecall = 6000
 
04.03.2015  
 



Hm also ich finde die super,
was übersehe ich?
 
04.03.2015  
 



 
- Seite 2 -


Neu: (erst nach nächstem Update verfügbar!)

event.asynchttpmsg = 7000

Meldet, wenn ein asynchroner http-Download, dessen Inhalt nicht an
eine Proc sondern in eine Datei umgeleitet werden soll, fertig ist.
 
05.11.2015  
 



Neu:

Da nun var(variable) den Variablentypen liefert,
diese eine weitere Zeile in die event:
KompilierenMarkierenSeparieren
KompilierenMarkierenSeparieren
proc event id data

    // mit dieser einen neuen zusätzlichen Zeile..
    case var(id)=="string" : return msg msg.notification id

    if id==event.error// this is an error!

        print "ERROR"
        print data

    elseif id==event.backkey// this is back button

        end

    else

        //print "Event:"+id
        //case data : print data

    endif

endproc


sich schnell und einfach eine Funktion "debug" geschrieben namens
"event":
KompilierenMarkierenSeparieren
print "ok"
event("hat ok geschrieben")
print 10*20
event("funktioniert auch!)

die Inhalte wandern so in den Vorhang - praktisch!
 
12.11.2015  
 



event.display.on und event.display.off zusammengefasst zu event.display

ob on oder off in data

event.reboot und event.shutdown zusammengefasst zu

event.shutdown

ob reboot in data
 
16.11.2015  
 




HofK
Mit event kann man sehr einfach und übersichtlich eine schlichte, situationsbezogene Gestensteuerung realisieren.

Siehe Quelltext  [...]  zum Beispiel gps-track  [...] 
 
21.12.2015  
 



Neu: event.button = 8000

Betätigung eines Textfelders oder eines Buttons - genaueres in data.ctrl und data.state.
 
28.02.2016  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

18.903 Betrachtungen

Unbenanntvor 0 min.
Member 171684410.02.2022
Micha1233418.05.2016
AndreasS17.05.2016
Nelofa26.04.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (15x)
HofK (2x)


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