print "Hello World"
APP | Android/ Infinity-Profan Program | Quelltext der Hauptprogrammdatei |
API | Android/ Infinity-Profan Include | Quelltext einer Include [...] ![]() |
APK | Android/ Infinity-Profan Kompilat | Das fertige und weitergabefähige Programmpaket. |
null | kann nur null sein (Prozeduren-Parameter unterladener Prozeduren sind z.B. null) |
bool | boolean, kann true oder false sein |
long | ganzzahliger Zahlenwert, -9223372036854775808 bis 9223372036854775807 |
float | Fließkommazahl |
string | Zeichenkette |
array | Datenkette |
+ | Addition |
++ | Increment |
+= | Increment um X |
- | Subtraktion |
-- | Decrement |
-= | Decrement um X |
* | Multiplikation |
/ | Division |
\ | Division (ganzzahlig) |
% | Modulo (Divisionsrest) |
^ | |
| | or (binär) |
|| | or (logisch) |
& | and (binär) |
&& | and (logisch) |
! | NOT |
<< | bitshift left |
>> | bitshift right |
< | kleiner |
<= | kleiner gleich |
> | größer |
>= | größer gleich |
<> | ungleich |
!= | ungleich |
= | Wert-Zuweisung |
== | gleich (Vergleich) |
=== | absolut gleich (Vergleich ob Wert und Typ übereinstimmen) |
?: | Ternärer Operator, a==b?10:20, wenn a gleich b ist, dann 10 sonst 20. |
Space-Operator (Freizeichen), eigentlich kein Operator sondern eine Sprach/ Syntaxeigenschaft, näheres dazu unter: [...] ![]() |
myvar=[
"wald1"=[
"äpfel"=20
"birnen"=30
]
"stadt"=[
"autos"=20
"züge"=[
]
]
a=[10,20,30]
a.groove.beat=10 // entspricht a["groove"]["beat"]=10
//Beispiele für zeilenweises- und zeilenübergreifendes Schreiben: print "Dies ist ein Text mit einer Stringkonstante mit Zeilenumbrüchen" print "Dies ist\nein Text mit einer \nStringkonstante mit\nZeilenumbrüchen." print 10+20;print 30+40 print 10+20 print 30+40 print (10 +20 +30) print (10+20+30)
$alias: Konstanten definieren $launcher: APP mit Launcher/ Startseite-Fähigkeit |
Print "Hallo Welt"
arr: multifunktional je nach Parameter arr.count: Anzahl der Einträge arr.reverse: Einträgereiheinfolgeumkehr arr.serialize: Array->String arr.unserialize: String->Array arr.sort: alphanumerische Einträgesortierung arr.sortnum: numerische Einträgesortierung arr.usort: benutzerdefinierte Einträgesortierung |
audio.beep |
dev dev.audio dev.battery dev.bluetooth dev.cam dev.file dev.gps dev.internet.http dev.lights dev.phone dev.screen dev.screen.gui dev.screen.gui.msg dev.thread |
long listen array providers float longitude float latitude float altitude float accuracy float bearing float speed string provider array satellites
print "Ermittlung: "+(dev.gps(true)==true?"Aktiv":"konnte nicht aktiviert werden")// Erkennung aktivieren proc event id dta case id==event.backkey : end if id==event.gps print "Positionsdaten:" print dta endif endproc
print dev.internet.http("http://ip.mxii.com")//gibt die WAN-IP aus
dev.phone dev.phone.call dev.phone.calldialog |
dev.thread dev.thread.sleep: sleep dev.thread.settimer: Timer setzen dev.thread.killtimer: Timer entfernen |
proc meineTimerProc print "Timer!!!" endproc dev.thread.settimer(2000,@meineTimerProc)
mytimer=dev.thread.settimer(2000,@meineTimerProc,true) dev.thread.killtimer(mytimer)// beendet timer gleich wieder
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
event.asynchttpmsg event.backkey event.battery event.button// Betätigung eines Textfeldes oder eines Buttons event.config event.display event.docking event.error event.focus event.gps event.keydown event.keyup event.menukey event.phonecall// Ein- oder Ausgehender Anruf event.reboot event.resume event.shutdown event.touchdown event.touchend event.touchmove
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
exec: öffnet je nach URL-Protokoll (z.B. http:// für Browser) exec.package: öffnet installierte APP (Package) z.B. "com.google.zxing.client.android" exec.packageinstall: Installiert die APK Dateiname String exec.packageslist: Liefert assoz. Array installierter APPs. exec.system: Führt string oder array als Systembefehl(e) aus |
print exec()//liefert ein assoz. Array z.B. mit den Schlüsseln: pkgname, appname und buildcount. // oder print exec().pkgname
file file.chdir: Verzeichniswechsel file.copy: Kopieren file.del: Entfernen file.direxists: Verzeichnisexistenz file.diskfree: freier Datenträgerspeicher file.disksize: Datenträgerkapazität file.exists: Dateiexistenz file.getdir: Arbeits- und Sonderverzeichnis(se) file.list: Dateien und Ordner listen file.mkdir: Verzeichnis erstellen file.read: Datei lesen file.size: Dateigröße file.time: Dateizeit file.write: Datei schreiben file.zip: Dateien packen file.unzip: Dateien entpacken |
file.write("datei.txt","Dateiinhalt")//legt Datei datei.txt an und schreibt Dateiinhalt hinein.
file.write("datei.txt","NochmehrInhalt",true)//hängt an Datei datei.txt NochmehrInhalt an (append).
gui gui.background: Hintergrund von Control gui.destroy: Entfernt Control gui.gravity: Gravitation eines Controls gui.grid: Erstellt ein Grid-Control. gui.height: Höhe in Pixel von Control gui.image (ctrl,file): Erstellt ein Image gui.show (ctrl,mode): Sichtbarkeit Control gui.text: Text-Control erstellen gui.textcolor: Textfarbe von Text-Control gui.theme: Stil eines Contols gui.width: Breite in Pixel von Control |
grid=gui.grid gui.hwnd [2,2] gui.background grid rgb 255 0 0 gui.background [grid 2 1] rgb 0 255 0
gui.background gui.hwnd [180 [0 rgb 0 0 0] [100 rgb 255 255 255]]
grid=gui.grid gui.hwnd [3,3] gui.image [grid,1,2] "../res/appicon.png" gui.image [grid,3,1] "../res/appicon.png" gui.image [grid,2,3] "../res/appicon.png"
img=gui.image gui.hwnd "../res/appicon.png"//irgend ein Bild laden gui.image img "../res/anderedatei.png"//neues Bild laden
ui.grid=gui.grid gui.hwnd [3,3] ui.img=gui.image [ui.grid,2,2] "../res/appicon.png" dev.thread.settimer 1000 @p1 true dev.thread.settimer 500 @p2 proc p1 global ui gui.show [ui.grid,2,2] 1// or true endproc proc p2 global ui dev.thread.settimer 1000 @p2 gui.show [ui.grid,2,2] 0// or false endproc proc event id data case id==event.backkey : end if id==event.button cls print id print data endif endproc
var grid=gui.grid(gui.hwnd,[2,2])// erzeugt ein 2x2 Grid auf Hauptfenster gui.theme grid,gui.theme.debug// Alle Zellen von Grid grid sichtbar machen bzw. hervorheben gui.theme [grid,1,1],gui.theme.debug// Zelle 1,1 von Grid stärker hervorheben
math.cos math.sin math.tan math.pi math.acos math.asin math.atan math.sqrt math.deg2rad math.rad2deg math.geodist math.rnd |
print round(math.geodist(
["latitude"=0,"longitude"=0]
["latitude"=20,"longitude"=20]
)) // ergibt 1788
msg msg.box msg.notify msg.toast |
msg.box "Text"
msg.box "Titel","Text","OK"
msg.box "Titel","Text",["OK","Abbrechen"]
msg.box "Text","Titel",["Knopf1","Knopf2","Knopf3"]
msg.box "Titel","Text",["OK","Abbrechen"],"texteingabe"
msg.box "Titel","Text","OK",["Vorgabetext",Stilkonstante(n)]
msg.box "Titel","Text","OK","VorgabeText",@myProc proc myproc(btn,txt) print "Es wurde Button "+str(btn)+" gewählt und der eingegebene Text lautet: "+txt endproc
msg.toast "Hallo Welt!"
print print.cls print.color |
print "Text"
print.color rgb(255,0,0),rgb(255,255,0) print "roter Text mit gelbem Hintergrund"
rgb rgb.getrvalue rgb.getgvalue rgb.getbvalue rgb.getavalue |
cls rgb(0,0,0)// löscht aktuellen Bildschirm schwarz cls rgb(0,0,0,128)// löscht aktuellen Bildschirm schwarz halb durchsichtig cls rgb(255,255,255,128)// löscht aktuellen Bildschirm weiß durchsichtig
print rgb.getavalue(rgb(10,20,30,40))// gibt 40 aus
print rgb.getbvalue(rgb(10,20,30))// gibt 30 aus
print rgb.getgvalue(rgb(10,20,30))// gibt 20 aus
print rgb.getrvalue(rgb(10,20,30))// gibt 10 aus
screen: Liefert assoziatives Array mit aktuellen Werten screen.fullscreen: Vollbildmodus, ob Statuszeile und Navigation unsichtbar screen.fontsizes: liefert ein assoz. Array mit den verschiedenen Schriftgrößen des Systemes screen.height: Anzahl physischer Pixel // %maxy screen.keepon: Timeout f. Bildschirmabschaltung deaktivieren screen.rotation: Display Drehung screen.width: Anzahl physischer Pixel //%maxx screen.xdpi: horizontale "Pixel pro Inch"-Angabe screen.ydpi: vertikale "Pixel pro Inch"-Angabe |
print screen print screen.rotation print screen.rotation screen.rotation.left print "Auflösung: "+screen.width+" x "+screen.height
print screen.fullscreen // oder print(screen.fullscreen())
screen.fullscreen true // oder screen.fullscreen(true)
screen.fullscreen false // oder screen.fullscreen(false)
print screen.keepon // oder print(screen.keepon())
screen.keepon true // oder screen.keepon(true)
screen.keepon false // oder screen.keepon(false)
screen.rotation.left = 8 screen.rotation.right = 0 screen.rotation.top = 1 screen.rotation.bottom = 9 screen.rotation.sensor = 4
unspecified = -1 landscape = 0 portrait = 1 user = 2 behind = 3 sensor = 4 nosensor = 5 sensor_landscape = 6 sensor_portrait = 7 reverse_landscape = 8 reverse_portrait = 9 full_sensor = 10 user_landscape = 11 user_portrait = 12 full_user = 13 locked = 14
str: Long/ Float nach String str.chr: Zeichen long als String, 65 = A str.decode64: Base64-Dekodierung von string str.del: Entfernt Zeichen aus string str.encode64: Base64-Kodierung von string str.ins: String einfügen str.len: Länge von string. str.lower: Großbuchstaben in Kleinbuchstaben str.md5: MD5-Summe von string str.mid: Teilstring str.ord: Wert des ersten Zeichens im String, A = 65 str.pos: Position von Vorkommen ermitteln str.replace: Vorkommen ersetzen str.sha1: SH1-Summe von string str.sha256: SH256-Summe von string str.shuffle: mischt Zeichen nach Zufall str.trim: Führende und abschließende Leerzeichen entfernen str.upper: Kleinbuchstaben in Großbuchstaben |
print str.replace("Hallo","ll","i")// Haio
-3: Anzahl seit 01.01.1970 vergangener Millisekunden -2: Anzahl seit Hochfahren vergangener Millisekunden abzgl. Standby-Zeit -1: Anzahl seit Hochfahren vergangener Millisekunden 0: HH:MM 1: SS.MS 2: HH:MM.SS 3: HH 4: MM 5: SS 6: yyyy-mm-dd 7: dd.mm.yyyy 8: landesspezifisches Datumformat, ie: dd.mm.yyyy 9: yyyymmddHHMMSS//Datenbankformat 10: yyyymmdd//Datenbankformat 11: Tag im Monat (1-31) 12: Monat (1-12) 13: Jahr 14: Wochentag 0-6, 0=Sonntag, 1=Montag, ... 15: Kalenderwoche (1-53)
a=10, b=10 if a==b //... Programmtext elseif a<b //... Programmtext elseif a>b //... Programmtext else //... Programmtext endif
i=0
while
print ++i
case i==10 : break
wend
i=0
while i<10
print ++i
wend
mydata.test1=10 mydata.test2=20 print test// zeigt 20 proc test global mydata return mydata.test1 endproc
//Richtig: include ogl.inc, sounds.inc //Falsch: include "ogl.inc", "sounds.inc"
proc test(a,b,c=andereProc(10,20)) return c endproc proc andereProc(a,b) return a+b endproc print test()// gibt 30 aus
proc test a b c=andereProc(10,20) return c endproc proc andereProc a b return a+b endproc print test()// gibt 30 aus