Core
Liste der Types:
Bit
DateTime
Exception
Keywords
LayoutValues
Notification
Service
String
StringBuilder
Timer
Bit ist ein vordefinites Objekt das Methoden (Funktionen) auf Bitebene
enthält.
Beispiel:
Dim flags As Int
flags = Bit.Or(100, 200)
Events:
Keine
Members:
And (N1 As Int, N2 As Int) As Int
Not (N As Int) As Int
Or (N1 As Int, N2 As Int) As Int
ParseInt (Value As String, Radix As Int) As Int
ShiftLeft (N As Int, Shift As Int) As Int
ShiftRight (N As Int, Shift As Int) As Int
ToBinaryString (N As Int) As String
ToHexString (N As Int) As String
ToOctalString (N As Int) As String
UnsignedShiftRight
(N As Int, Shift As Int) As Int
Xor (N1 As Int, N2 As Int) As Int
Members Erklärung:
And (N1 As Int, N2 As Int) As Int
Gibt das bitweise AND von
zwei Werten zurück.
Not (N As Int) As Int
Gibt das bitweise Komplement
von dem gegebenen Werte zurück.
Or (N1 As Int, N2 As Int) As Int
Gibt das bitweise OR von zwei
Werten zurück.
ParseInt (Value As String, Radix As Int) As Int
Analysiert den Wert von Value
als Integer mit dem gegebenen Radix.
Radix – muss zwischen 2 to 36 liegen.
ShiftLeft (N As Int, Shift As Int) As Int
Verschiebt N nach links.
Shift – Anzahl der Stellen zu verschieben.
ShiftRight (N As Int, Shift As Int) As Int
Verschiebt N nach rechts.
Das Originalvorzeichen bleibt beibehalten
Shift - Anzahl der Stellen zu verschieben.
ToBinaryString (N As Int) As String
Gibt den Wert von N als
String in Basis 2 zurück.
ToHexString (N As Int) As String
Gibt den Wert von N als
String in Basis 16 zurück.
ToOctalString (N As Int) As String
Gibt den Wert von N als
String in Basis 8 zurück.
UnsignedShiftRight (N As Int, Shift As Int) As Int
Verschiebt N nach
rechts.
Verschiebt Nullen in die ganz linke Stellung.
Shift - Anzahl der Stellen zu verschieben.
Xor (N1 As Int, N2 As Int) As Int
Gibt das bitweise XOR von
zwei Werten zurück.
Datum und Zeit Methoden.
DateTime ist ein vordefiniertes Objekt. Man braucht es nicht selbst zu
definieren.
Datum und Zeit Werte sind in Ticks gespeichert. Ticks ist die Anzahl von
Millisekunden seit dem 1ten Januar 1970.
Diese Werte sind zu groß
um in Integer Variablen gespeichert werden zu können, sie müssen unbedingt in
Long Variablen gespeichert werden.
Die
Methoden DateTime.Date und DateTime.Time konvertieren Tickwerte in einen String.
Die aktuelle Zeit bekommt man mit DateTime.Now.
Beispiel:
Dim now As Long
now = DateTime.Now
Msgbox("The date is: " & DateTime.Date(now) & CRLF & _
"The time is:
" & DateTime.Time(now), "")
Events:
Keine
Members:
Add (Ticks As Long,
Years As Int,
Months As Int,
Days As Int)
As Long
Date (Ticks As
Long) As String
DateFormat As
String
DateParse (Date As
String) As Long
GetDayOfMonth (Ticks As Long) As Int
GetDayOfWeek (Ticks As Long) As Int
GetDayOfYear (Ticks As Long) As Int
GetHour (Ticks As
Long) As Int
GetMinute (Ticks As
Long) As Int
GetMonth (Ticks As
Long) As Int
GetSecond (Ticks As
Long) As Int
GetYear (Ticks As
Long) As Int
Now As Long [read only]
TicksPerDay As
Long
TicksPerHour As
Long
TicksPerMinute As Long
TicksPerSecond As Long
Time (Ticks As
Long) As String
TimeFormat As
String
TimeParse (Time As
String) As Long
Members Erklärung:
Add (Ticks As Long, Years As Int, Months As Int, Days As Int) As Long
Gibt einen Tickwert zurück
der das Resultat der Addierung des gegebenen Tickwertes und den gegebenen
Zeitspannen ist.
Negative Werte werden subtrahiert.
Beispiel:
Dim Tomorrow As Long
Tomorrow = DateTime.Add(DateTime.Now, 0, 0, 1)
Log("Tomorrow date is: " & DateTime.Date(Tomorrow))
Date (Ticks As Long) As String
Gibt das Datum (in Ticks
ausgedrückt) als String zurück.
Das Datumformat kann mit dem DateFormat Schlüsselwort definiert werden.
Beispiel:
Log("Today is: " & DateTime.Date(DateTime.Now))
DateFormat As String
Format zur Anzeige
von Datum als String, setzen oder lesen.
Die verschiedenen Formate findet man hier: formats.
Das Standardformat ist MM/dd/yyyy (zum Beispiel 04/23/2002). M - Monat, d - Tag,
y - Jahr
DateParse (Date As String) As Long
Gibt den Tickwert des als
String eingegebenen Datums zurück.
Eine Ausname wird erzeugt falls die Umwandlung verfehlt.
Beispiel:
Dim SomeTime As Long
SomeTime = DateTime.DateParse("02/23/2007")
GetDayOfMonth (Ticks As Long) As Int
Gibt den Tag im Monat
vom Tickwert zurück.
Werte zwischen 1
und 31.
GetDayOfWeek (Ticks As Long) As Int
Gibt den Tag in der
Woche vom Tickwert zurück.
Werte zwischen 1 und 7.
GetDayOfYear (Ticks As Long) As Int
Gibt den Tag im Jahr
vom Tickwert zurück.
Werte zwischen 1 und 366.
GetHour (Ticks As Long) As Int
Gibt die Stunde im Tag vom
Tickwert zurück.
Werte zwischen 0 und 23.
GetMinute (Ticks As Long) As Int
Gibt die Minute in der Stunde
vom Tickwert zurück.
Werte zwischen 0 und 59.
GetMonth (Ticks As Long) As Int
Gibt den Monat im Jahr vom
Tickwert zurück.
Werte zwischen 1 und 12.
GetSecond (Ticks As Long) As Int
Gibt die Sekunde in der
Minute vom Tickwert zurück.
Werte zwischen 0
und 59.
GetYear (Ticks As Long) As Int
Gibt das Jahr vom Tickwert zurück.
Now As Long [read only]
Aktuelle Zeit in Ticks
(Anzahl der Millisekunden seit dem 1ten Januar 1970).
TicksPerDay As Long
Time (Ticks As Long) As String
Gibt die Zeit als String der
eingegebenen Ticks zurück.
Das Zeitformat kann mit dem Schlüsselwort TimeFormat definiert werden.
Beispiel:
Log("The time now is: " & DateTime.Date(DateTime.Now))
TimeFormat As String
Format zur Anzeige
der Zeit als String, definieren oder lesen.
Die verschiedenen Formate findet man hier: formats.
Das Standardformat ist HH:mm:ss (zum Beispiel 23:45:12). H - Stunde, m -
Minuten, s - Sekunden
TimeParse (Time As String) As Long
Gibt den Tickwert der als String
eingegebenen Zeit zurück.
Exception
(Ausnahme)
Enthält eine Ausnahme.
Man kann die letzte Ausnahmemeldung mit LastException aufrufen.
Zun Beispiel:
Try
Dim in As InputStream
in = File.OpenInput(File.DirInternal, "SomeMissingFile.txt")
'...
Catch
Log(LastException.Message)
End Try
If in.IsInitialized Then in.Close
Events:
Keine
Members:
IsInitialized
As Boolean
Message As String [read only]
Members Erklärung:
Keywords / Schlüsselworte
Liste der internen Schlüsselworte.
Events:
Keine
Members:
Abs (Number As Double) As Double
ACos (Value As
Double) As Double
ACosD (Value As
Double) As Double
Array
Asc (Char As Char) As Int
ASin (Value As
Double) As Double
ASinD (Value As
Double) As Double
ATan (Value As
Double) As Double
ATanD (Value As
Double) As Double
BytesToString (Data() As Byte, StartOffset
As Int,
Length As Int,
CharSet As String)
As String
CallSub (Component As
Object, Sub As
String) As String
CallSub2 (Component As Object, Sub As String,
Argument As Object)
As String
CallSub3 (Component As Object, Sub As String,
Argument1 As Object,
Argument2 As Object)
As String
CancelScheduledService
(Service As Object)
Catch
cE As Double
Ceil (Number As
Double) As Double
CharsToString (Chars() As Char,
StartOffset As Int,
Length As Int)
As String
Chr (UnicodeValue As
Int) As Char
Continue
Cos (Radians As
Double) As Double
CosD (Degrees As
Double) As Double
cPI As Double
CRLF As String
Density As Float
Dim
DipToCurrent (Length As Int) As Int
DoEvents
Exit
ExitApplication
False As Boolean
File As File
Floor (Number As
Double) As Double
For
GetDeviceLayoutValues As LayoutValues
GetType (object
As Object) As String
If
InputList (Items As
List, Title As
String, CheckedItem As Int) As Int
InputMap (Items As
Map, Title As
String)
InputMultiList (Items As List, Title As String) As List
Is
IsBackgroundTaskRunning
(ContainerObject As Object,
TaskId As Int)
As Boolean
IsNumber (Text As
String) As Boolean
IsPaused
(Component As Object)
As Boolean
LastException As Exception
LoadBitmap (Dir As
String, FileName As
String) As Bitmap
LoadBitmapSample (Dir As String,
FileName As String,
MaxWidth As Int,
MaxHeight As Int)
As Bitmap
Log (Message As
String)
Logarithm (Number As Double, Base As Double) As Double
Max (Number1 As
Double, Number2 As
Double) As Double
Min (Number1 As
Double, Number2 As
Double) As Double
Msgbox (Message As
String, Title As
String)
Msgbox2 (Message As
String, Title As
String, Positive As
String, Cancel As
String, Negative As
String, Icon As
android.graphics.Bitmap) As Int
Not (Value As Boolean) As Boolean
Null As Object
NumberFormat (Number As Double,
MinimumIntegers As Int,
MaximumFractions As Int)
As String
NumberFormat2 (Number As Double,
MinimumIntegers As Int,
MaximumFractions As Int,
MinimumFractions As Int,
GroupingUsed As Boolean)
As String
PerXToCurrent (Percentage As Float) As Int
PerYToCurrent (Percentage As Float) As Int
Power (Base As
Double, Exponent As
Double) As Double
ProgressDialogHide
ProgressDialogShow (Text As String)
ProgressDialogShow2 (Text As String, Cancelable
As Boolean)
QUOTE As String
Regex As
Regex
Return
Rnd (Min As Int, Max As Int) As Int
Round (Number As
Double) As Long
Round2 (Number As
Double, DecimalPlaces As Int) As Double
Select
Sender As Object
Sin (Radians As
Double) As Double
SinD (Degrees As
Double) As Double
Sqrt (Value As
Double) As Double
StartActivity (Activity As Object)
StartService (Service As Object)
StartServiceAt (Service As Object, Time As Long,
DuringSleep As Boolean)
StopService (Service As Object)
Sub
TAB As String
Tan (Radians As
Double) As Double
TanD (Degrees As
Double) As Double
ToastMessageShow (Message As String,
LongDuration As Boolean)
True As Boolean
Try
Type
Until
While
Members Erklärung:
Abs (Number As Double) As Double
Gibt den Absolutwert (Betrag)
zurück.
ACos (Value As Double) As Double
Gibt den Winkel des Kosinus
in Radiant zurück.
ACosD (Value As Double) As Double
Gibt den Winkel des Kosinus
in Grad zurück.
Array
Erzeugt ein eindimensionales
Array vom bestimmten Type.
Die Syntax ist: Array As type (list of values).
Beispiel:
Dim Days() As String
Days = Array As String("Sunday", "Monday", ...)
Asc (Char As Char) As Int
Gibt den Unicode Code des
gegebenen Buchstabens oder dem ersten Buchstaben eines Strings zurück.
ASin (Value As Double) As Double
Gibt den Winkel des Sinus in
Radiant zurück.
ASinD (Value As Double) As Double
Gibt den Winkel des Sinus in
Grad zurück.
ATan (Value As Double) As Double
Gibt den Winkel des Tangens
in Radiant zurück.
ATanD (Value As Double) As Double
Gibt den Winkel des Tangens
in Grad zurück.
BytesToString (Data() As Byte, StartOffset As Int, Length As Int, CharSet As String) As String
Konvertiert das
gegebene Bytearray in einen String.
Data – Das Bytearray.
StartOffset – Das erste zu lesende Byte.
Length – Länge, Anzahl der zu lesenden Bytes.
CharSet - Name des Charactersets (auch CodePage genannt).
Beispiel:
Dim s As String
s = BytesToString(Buffer, 0, Buffer.Length, "UTF-8")
CallSub (Component As Object, Sub As String) As String
Ruft die gegebene Sub auf.
CallSub kann benutzt werden um eine Subroutine in einem anderen Modul
aufzurufen.
Diese Routine wird jedoch nur aufgerufen wenn das andere Modul nich in Pause ist.
In diesem Fall wird ein leerer Strinh zurückgegeben.
Man kann IsPaused benutzten um zu testen pb das Modul in Pause ist.
Das heißt daß eine Acticity keine andere Activity
aufrufen kann da die zweite auf jeden Fall in Pause ist.
CallSub erlaubt einer Activity eine Sub in einem Service aufzurufen oder
erlaubt einem Service eine Sub in einer Activity aufzurufen.
Beachten Sie daß es nicht möglich ist Subs in einem
Codemodul aufzurufen.
CallSub kann auch benutzt werden um Subs im aktuellen Modul aufzurufen. In
diesem Fall einen leeren String als Component übergeben.
Beispiel:
CallSub(Main, "RefreshData")
CallSub2 (Component As Object, Sub As String, Argument As Object) As String
Ähnlich wie CallSub. Ruft eine Sub mit einem einzigen
Argument auf.
CallSub3 (Component As Object, Sub As String, Argument1 As Object, Argument2 As Object) As String
Ähnlich wie CallSub. Ruft eine Sub mit einem zwei
Argumenten auf.
CancelScheduledService (Service As Object)
Hebt geplante Aufgaben für dieses Service auf.
Catch
Eine Exception (Ausnahme) die
in einem 'try block' erzeugt wurde wird im 'catch block' abgefangen.
LastException erlaubt die Exception zu lesen.
Syntax:
Try
...
Catch
...
End Try
cE As Double
e Konstante (naturliche
Logarithmus Basis).
Ceil (Number As Double) As Double
Gibt die kleinste
ganze Zahl (Integer) zurück die grösser oder gleich der gegebenen Zahl (Number)
ist. Der Rückgabewert ist ein Double Wert.
CharsToString (Chars() As Char, StartOffset As Int, Length As Int) As String
Erstellet einen neuen
String von einem Character Array (Buchstaben-Array).
Das kopieren startet von der Stelle StartOffset mit einer Anzahl von Buchstaben
gleich Length.
Chr (UnicodeValue As Int) As Char
Gibt den Buchstaben des
gegebenen Unicode Wertes zurück.
Stoppt die aktuelle Iteration
und fährt mit der Nächsten weiter.
Cos (Radians As Double) As Double
Rechnet den Kosinus des in
Radiant gegebenen Winkels.
CosD (Degrees As Double) As Double
Rechnet den Kosinus des in
Grad gegebenen Winkels.
cPI As Double
CRLF As String
Neue Zeile Buchstabe. Wert
von Chr(13).
Density As Float
Gibt die Geräteskala zurück,
Standard ist DPI / 160.
(DPI entspricht dots per inch, Punkte pro Zoll).
Dim
Deklariert eine Variable.
Syntax:
Einfache Variable deklarieren:
Dim Variablename [As type]
Des Standardtype ist String.
Mehrere Variablen deklarieren. Alle Variables
sind vom gleichen Type.
Dim Variable1, Variable2, ..., [As type]
Diese Verkürzung ist nur für das Dim Schlüsselwort gültig.
Ein Array deklarieren:
Dim Variable(Rang1, Rang2, ...) [As type]
Beispiel: Dim Days(7) As String
Für eine Null Länge kann der Rang weg gelassen werden.
DipToCurrent (Length As Int) As Int
Scaliert den Wert, der
einer spezifische Länge auf einem Gerät mit Standarddensity (Density = 1.0)
entspricht, auf das aktuelle Gerät.
Zum Beispiel, der folgende Code setzt die Breite des Buttons auf den gleichen
physicalischen Wert auf allen Geräten.
Button1.Width = DipToCurrent(100)
Es gibt eine abgekürzte Syntax für diese Methode. Jede Zahl gefolg von 'dip'
wird gleichso konvertiert (kein Lehrzeichen ist zwischen der Zahl und 'dip'
erlaubt).
Der vorhergehende Code ist diesem gleich:
Button1.Width = 100dip
'dip -> density independent pixel
DoEvents
Prozesse die auf Messages
(Meldungen) in der Messagewarteschlange (messages queue) warten.
DoEvents kann in langen Schlaufen (loops) aufgerufen werden damit das Programm
wartende Events oder Messages behandeln kann.
Exit
Verlässt die innerste
Schlaufe (loop).
ExitApplication
Beendet sofort die
Anwendung und stoppt den Prozess.
Es ist nicht vorteilhaft diese Methode zu verwnden sondern Activity.Finish zu bevorzugen.
Diese Methode überlässt dem OS wann es den Prozess zerstören will.
False As Boolean
Floor (Number As Double) As Double
Gibt die grösste ganze Zahl
(Integer) zurück die kleiner oder gleich der gegebenen Zahl (Number) ist. Der
Rückgabewert ist ein Double Wert.
Entspricht Int in anderen
Basic Sprachen.
For
Syntax:
For Variable = Wert1 To Wert2 [Step Intervall]
...
Next
Beispiel:
For i = 1 To 10
Log(i) 'Will print 1 to 10 (inclusive).
Next
Falls die Iteratorvariable vorher nicht deklariert wurde ist sie standardmässig
vom Type Int.
GetDeviceLayoutValues As LayoutValues
Gibt die
Gerätelayoutwerte (LayoutValues) zurück.
Beispiel:
Log(GetDeviceLayoutValues)
GetType (object As Object) As String
Gibt den Java Objekttype als
String zurück.
If
Eine Zeile:
If Bedingung
Then true-Code [Else false-Code]
Mehrere Zeilen:
If Bedingung Then
Code
Else If Bedingung Then
statement
...
Else
Code
End If
InputList (Items As List, Title As String, CheckedItem As Int) As Int
Zeigt einen modalen Dialog
an, mit einer Liste von Einträgen und Radiobuttons. Ein Klick auf einen Eintrag
schlißt den Dialog.
Gibt den Index des gewählten Eintrages zurück oder DialogResponse.Cancel wenn der
Benutzer auf die Back Taste gedrückt hat.
Items – Liste der Eintäge.
Title - Dialogtitel.
CheckedItem – Der Index des ersten gewählten Eintrages. -1 eingeben wenn kein
vordefinierter Eintrag angezeigt werden soll.
InputMultiList (Items As List, Title As String) As List
Zeigt einen modalen
Dialog an, mit einer Liste von Einträgen und Checlboxen. Der Benutzer kann
mehrere Eintäge wählen.
Shows a modal dialog with a list of items and checkboxes. The user can select
multiple items.
Der Dialog wird mit dem "OK" Button geschlossen.
Gibt eine Liste zurück mit den Indexen der gewählten Einträge. Die Liste ist
sortiert.
Gibt eine lehre Liste zurück wenn der Benutzer die Back Taste gedrückt hat.
Is
Testet ob das Objekt von
einem bestimmten type ist.
Beispiel:
For i = 0 To Activity.NumberOfViews - 1
If Activity.GetView(i) Is Button Then
Dim b As Button
b = Activity.GetView(i)
b.Color = Colors.Blue
End If
Next
IsBackgroundTaskRunning (ContainerObject As Object, TaskId As Int) As Boolean
Testet ob eine
Hintergrundaufgabe läuft, die von dem gegebenen Containerobjekt übergeben wurde
und mit dem gegebenen ID.
IsNumber (Text As String) As Boolean
Testet ob der String einer
Zahl entspricht.
IsPaused (Component As Object) As Boolean
Testet ob die gegebene
Komponente (component) angehalten (paused) ist. Gibt auch True zurück für
Komponenten die noch nicht gestartet wurden.
Beispiel:
If IsPaused(Main) = False Then CallSub(Main, "RefreshData")
LastException As Exception
Gibt die letzte
Exception (Ausnahme) zurück (falls sie existiert).
LoadBitmap (Dir As String, FileName As String) As Bitmap
Lädt eine Bitmap
Datei.
Das Androiddateisystem unterscheidet zwischen Gross- und Kleinbuchstaben.
Man sollte LoadBitmapSample in Betracht ziehen wenn man sehr grosse Bilder
laden will.
Die Dateigrösse ist ohne Bedeutung für den Speicherplatzbedarf da die Bilder
meistens kompressiert gespeichert sind.
Beispiel:
Activity.SetBackgroundImage(LoadBitmap(File.DirAssets, "SomeFile.jpg"))
LoadBitmapSample (Dir As String, FileName As String, MaxWidth As Int, MaxHeight As Int) As Bitmap
Lädt eine Bitmap
Datei.
Der Decoder subsampelt das Bitmap wenn MaxWidth oder MaxHeight kleiner als die
Bildmaße sind.
Das kann bei grossen Bildern ein bedeutendes Speicherplatzersparniss ergeben.
Beispiel:
Activity.SetBackgroundImage(LoadBitmapSample(File.DirAssets, "SomeFile.jpg",
Activity.Width, Activity.Height))
Log (Message As String)
Logt (to log = anmerken) eine
Meldung. Die Logs (Anmerkungen) können im LogCat Tab angezeigt werden (im IDE
unten rechts).
Logarithm (Number As Double, Base As Double) As Double
Max (Number1 As Double, Number2 As Double) As Double
Gibt die grösste der beiden
Zahlen zurück.
Min (Number1 As Double, Number2 As Double) As Double
Gibt die kleinste der beiden
Zahlen zurück.
Msgbox (Message As String, Title As String)
Zeigt eine modale Messagebox
(Meldungsbox) an, mit der gegebenen Meldung und Titel.
Die Box zeigt einen OK Button an.
Beispiel:
Msgbox("Hello world", "This is the title")
Msgbox2 (Message As String, Title As String, Positive As String, Cancel As String, Negative As String, Icon As android.graphics.Bitmap) As Int
Zeigt eine modale Messagebox
(Meldungsbox) an, mit der gegebenen Meldung und Titel.
Message – Die Meldung.
Title – Der Titel.
Positive – Text für den "Positive" Button. "" eingeben wenn man den Button unsichtbar machen will.
Cancel – Text für den "Cancel" (Abbrechen) Button. "" eingeben wenn man den Button unsichtbar machen will..
Negative - Text für den "Negative" Button. "" eingeben wenn man den Button unsichtbar machen will..
Icon – Ein Bitmap das nahe dem Titel angezeigt wird. 'Null' eingeben wenn man
das Icon unsichtbar machen will.
Gibt einen einen der DialogResponse Werte zurück.
Beispiel:
Dim result As Int
result = Msgbox2("This is the message", "This is the
title", "Good", "", "Bad",
LoadBitmap(File.DirAssets, "smiley.gif"))
If result = DialogResponse.Positive Then ...
Not (Value As Boolean) As Boolean
Invertiert den gegebenen
booleschen Wert.
Null As Object
NumberFormat (Number As Double, MinimumIntegers As Int, MaximumFractions As Int) As String
Konvertiert die
gegebene Zahl in eine String Varable.
Der String enthält zu mindestens MinimumIntegers Ziffern (links vom
Dezimalpunkt) und zu meistens MaximumFractions Ziffern (rechts vom
Dezimalpunkt).
Beispiel:
Log(NumberFormat(12345.6789, 0, 2)) '"12,345.68"
Log(NumberFormat(1, 3 ,0)) '"001"
NumberFormat2 (Number As Double, MinimumIntegers As Int, MaximumFractions As Int, MinimumFractions As Int, GroupingUsed As Boolean) As String
Konvertiert die
gegebene Zahl in eine String Varable.
Der String enthält zu mindestens MinimumIntegers Ziffern (links vom
Dezimalpunkt), zu meistens MaximumFractions Ziffern und zu mindestens MinimumFractions
Ziffern (rechts vom Dezimalpunkt).
GroupingUsed – Definiert ob man all 3 Ziffern trennen will.
Beispiel:
Log(NumberFormat2(12345.67, 0, 3, 3, false)) '"12345.670"
PerXToCurrent (Percentage As Float) As Int
Gibt die
physikalische Breite eines gebenen Prozentsatzes der Activitybreite zurück.
Beispiel:
Button1.Width = PerXToCurrent(50) 'Button1.Width = 50% * Activity.Width
Ein gibt eine verkürzte Syntax für diese Methode. Jede Zahl gefolg von '%x'
konvertiert gleich wie PerXToCurren (kein Lehrzeichen ist zwischen der Zahl und
'%x' erlaubt).
Der vorhergehende Code ist diesem gleich:
Button1.Width = 50%x
PerYToCurrent (Percentage As Float) As Int
Gibt die
physikalische Höhe eines gebenen Prozentsatzes der Activityhöhe zurück.
Beispiel:
Button1.Height = PerYToCurrent(50) 'Button1.Height = 50% * Activity.Height
Ein gibt eine verkürzte Syntax für diese Methode. Jede Zahl gefolg von '%x'
konvertiert gleich wie PerYToCurrent (kein Lehrzeichen ist zwischen der Zahl
und '%y' erlaubt).
Der vorhergehende Code ist diesem gleich:
Button1.Height = 50%y
Power (Base As Double, Exponent As Double) As Double
Exponential Funktion, Base
(Basis) hoch Exponent.
ProgressDialogHide
Macht einen Progress
Dialog unsichbar. Macht nichts wenn kein Progress Dialog sichbar ist.
ProgressDialogShow (Text As String)
Zeigt einen Dialog
an, mit einem drehendem Kreis und dem gegebenen Text.
Anders als Msgbox und InputList Methoden, der Code wird nicht blockiert,
sondern wir weiter geführt..
Um den Dialog zu löschen muss man ProgressDialogHide aufrufen.
Der Dialog wird auch gelöscht wenn der Benutzer die Back Taste drückt.
ProgressDialogShow2 (Text As String, Cancelable As Boolean)
Zeigt einen Dialog
an, mit einem drehendem Kreis und dem gegebenen Text.
Anders als Msgbox und InputList Methoden, der Code wird nicht blockiert,
sondern wir weiter geführt..
Um den Dialog zu löschen muss man ProgressDialogHide aufrufen.
Cancelable – Gibt an
ob der Benutzer den Dialog mit der Back Taste löchen kann oder nicht.
QUOTE As String
Anführungszeichen-Buchstabe.
Der Wert von Chr(34).
Regex As Regex
Methode für Regular
expressions.
Return
Kehrt aus einer Sub zurück
und gibt gegebenenfalls den angegebenen Wert zuruck.
Rnd (Min As Int, Max As Int) As Int
Gibt eine Zufalls-Integer
Zahl zurück zwischen Min (inclusiv) und Max (exclusiv).
Round (Number As Double) As Long
Gibt die näheste Long-Zahl
der gegebenen Zahl zurück.
Round2 (Number As Double, DecimalPlaces As Int) As Double
Rundet die gegebene Zahl ab
mit den gegebenen Kommastellen.
Select
Vergleicht den Wert einer
Variablen mit mehreren Werten.
Beispiel:
Dim value As Int
value = 7
Select value
Case 1:
Log("One")
Case 2, 4, 6, 8:
Log("Even")
Case 3, 5, 7, 9:
Log("Odd larger than
one")
Case Else
Log("Larger than
9")
End Select
Sender As Object
Gibt das Objekt zurück das das Event erzeugt hat.
Nur in Eventroutinen gültig.
Beispiel:
Sub Button_Click
Dim b As Button
b = Sender
b.Text = "I've been clicked"
End Sub
Sin (Radians As Double) As Double
Rechnet den Sinus des in
Radiant gegebenen Winkels.
SinD (Degrees As Double) As Double
Rechnet den Sinus des in Grad
gegebenen Winkels.
Sqrt (Value As Double) As Double
Rechnet die positive
Quadratwurzel.
StartActivity (Activity As Object)
Startet eine Activity
oder bringt sie in den Vordergrund wenn sie bereits existiert.
Activity kann eine
Stringvariable mit dem Namen der Zielactivity sein oder auch die aktuelle
Activity sein.
Nach diesem Aufruf
wird die Activity unterbrochen (paused) und die Zielactivity wird fortgesetzt
(resumed).
Diese Methode kann
auch verwendet werden, um Intents Objekte an das System zu senden.
Beispiel: StartActivity (Activity2)
StartService (Service As Object)
Startet das gegebene Service.
Das Service wird zuerst erstellt falls es nocht nicht zuvor gestratet wurde.
Service – Das Servicemodul oder der Servicename.
Beispiel:
StartService(SQLService)
StartServiceAt (Service As Object, Time As Long, DuringSleep As Boolean)
Plant den Start des gegebenen Service zu dem gegebenen
Zeitpunkt (Time).
Service - Das Servicemodul oder der Servicename. Einen leeren String eingeben
wenn man von einem Servicemodul aufruft das eine Aufgabe für sich selbst plant.
Time – Der Zeitpunkt wenn das Service gestartet werden soll. Falls der
Zeitpunkt schon überschritten ist wird das Service sofort gestartet.
DuringSleep – Legt fest ob das Service gestartet werden soll falls das Gerät
'schläft' oder nicht. Wenn DuringSleep = False und das Gerät zum gegebenen
Zeitpunkt 'schläft'
wird das Service gestartet sobald das Gerät wieder 'aufwacht'.
StartServiceAt kann benutzt werden wenn man sich wiederholende Aufgaben planen
will. Sie müssen es unter Service_Start aufrufen um die nächste Aufgabe zu
planen.
Dieser Aufruf hebt vorhergehende Aufgaben für das gleiche Service auf.
Beispiel:
StartServiceAt(SQLService, DateTime.Now + 30 * 1000, false) 'will start after 30 seconds.
StopService (Service As Object)
Stopt das gegebene Service. Service_Destroy wird
aufgerufen. Wenn man StartService nachher wieder aufruft wird das Service
zuerst wieder erstellt.
Service - Das Servicemodul oder der Servicename. Einen leeren String eingeben
um das aktuelle Service im gleichen Servicemodul zu stoppen.
Beispiel:
StopService(SQLService)
Sub
Deklariert eine Subroutine
mit Parametern und Rückgabewert.
Syntax: Sub Name [(Liste der
Parameter)] [As return-type]
Parameter beinhaltet Name und
Type der Parametervariablen.
Die Längen der Array-Dimensionen
dürfen nicht eingegeben werden.
Beispiel:
Sub MySub (FirstName As String, LastName As String, Age As Int, OtherValues() As Double) As Boolean
...
End Sub
In dem Beispiel ist OtherValues ein eindimensionales Array.
Die Rückgabewert-Typedeklaration wird nach der Klammer der Subroutine
angehängt.
TAB As String
Tabulator Buchstabe. Wert von Chr(9).
Tan (Radians As Double) As Double
Rechnet den Tangens des in
Radiant gegebenen Winkels.
TanD (Degrees As Double) As Double
Rechnet den Tangens des in
Grad gegebenen Winkels.
ToastMessageShow (Message As String, LongDuration As Boolean)
Zeigt eine kurze
Nachricht an die automatisch wieder verschwindet.
Message – Text der anzuzeigenden Nachricht.
LongDuration – Wenn True, zeicht die Nachricht länger an, wenn False nur für
eine kurze Zeitspanne.
True As Boolean
Jede Exception (Ausnahme) die
in einem Try Block aufkommt wird im Catch Block aufgefangen.
Man muss LastException
aufrufen um die aufgefangen Exception zu lesen.
Syntax:
Try
...
Catch
...
End Try
Type
Deklariert eine Struktur.
Kann nur in den Subroutinen Sub Globals oder Sub Process_Globals verwendet
werden.
Syntax:
Type type-name (field1, field2, ...)
Fields (Felder) beinhalten Name and Type der Variablen oder Objekte.
Beispiel:
Type MyType (Name As String, Items(10) As Int)
Dim a, b As MyType
a.Initialize
a.Items(2) = 123
Until
Durchläuft die Schleife
(loop) bis die Bedingung True ist.
Syntax:
Do Until Bedingung
...
Loop
While
Durchläuft die Schleife
(loop) solange wie die Bedingung True ist.
Syntax:
Do While Bedingung
...
Loop
Objekt das die Bildschirm Werte enthält.
Man kann die Werte des aktuellen Bildschirms mit GetDeviceLayoutValues aufrufen.
Zum Beispiel:
Dim lv As LayoutValues
lv = GetDeviceLayoutValues
Log(lv) 'will print the values to the log
Activity.LoadLayout und Panel.LoadLayout geben ein
LayoutValues Objekt zurück das die Werte des aktuellen Layouts enthält.
Events:
Keine
Members:
Height As Int
Scale As Float
toString As String
Width As Int
Members Erklärung:
Scale As Float
Skala des Gerätebildschirms,
1.0 entspricht 'dots
per inch' / 160 (Punkte pro Zoll/160).
Für die meisten Geräte ist
der Wert entweder 1.0 oder 1.5 (hohe Auflösung, 240 dots per inch).
toString As String
Die Bilschirmbreite in Pixel.
Notification / Benachrichtigung
Eine Statusleiste
Benachrichtigung. Der Benutzer kann den Mitteilungsbildschirm öffnen und auf
die Meldung drücken.
Ein Drücken auf die
Anmeldung, startet die Activity die im Notificationsobjekt angegeben wurde.
Benachrichtigungen werden in
der Regel von Services verwendet da Services nicht Activities direkt starten
können.
Eine Benachrichtigung muß ein Icon haben und "info" muß gesetzt sein.
Beispiel:
Dim n As Notification
n.Initialize
n.Icon = "icon"
n.SetInfo("This is the title", "and this is the body.", Main)
n.Notify(1)
Permissions / Erlaubnisse:
android.permission.VIBRATE
Events:
Keine
Members:
AutoCancel As Boolean [write
only]
Cancel (Id As Int)
Icon As String [write
only]
Initialize
Insistent As Boolean [write
only]
IsInitialized As Boolean
Light As Boolean [write
only]
Notify (Id As Int)
Number As Int
OnGoingEvent As Boolean [write
only]
SetInfo (Title As String, Body As String,
Activity As Object)
Sound As Boolean [write
only]
Vibrate As Boolean [write
only]
Members Erklärungen:
AutoCancel As Boolean [write only]
Setzt ob die Benachrichtigung automatisch storniert wird wenn der Benutzer
auf sie klickt.
Cancel (Id As Int)
Storniert die Benachrichtigung mit dem gegebenen
Id.
Icon As String [write only]
Setzt das Icon das angezeigt wird.
Der Icon Wert ist der Name der Icondatei ohne Extension. Der Name
unterscheidet Groß-und Kleinschreibung.
Die Bilddatei muß manuell in den Ordner 'source folder\Objects\res\drawable'
kopiert werden..
Sie können "icon" benutzen, das Anwendungsicon das sich im gleichen
Ordner befindet:
n.Icon = "icon"
Initialize
Initialisiert die Benachrichtigung. Standardmassig spielt
die Benachrichtigung einen Ton, zeigt Licht an und läßt das Gerät
vibrieren.
Insistent As Boolean [write only]
Setzt ob der Ton wiederholen gespielt wird bis der
Benutzer den Benachrichtigungsbildschirm öffnet.
IsInitialized As Boolean
Setzt ob das Gerät Licht anzeigt.
Beispiel:
n.Light = False
Notify (Id As Int)
Zeigt die Benachrichtigung an.
Id – Der BenachrichtigungsId. Dieser Id kann vom Benutzer später benutzt werden
um sie zu erneuern (durch Aufruf von Notify mit dem
gleichen Id), oder um die Benachrichtigung zu stornieren.
Number As Int
Holt oder setzt eine Zahl die im Icon angezeigt wird. Das
ist nützlich um mehrere Events in einer einzigen Benachrichtigung anzuzeigen.
OnGoingEvent As Boolean [write only]
Setzt ob die Benachrichtigung ein "ongoing
event" ist. Die Benachrichtigung wird in der 'ongoing' Zone angezeigt und
kann nicht gelöscht werden.
SetInfo (Title As String, Body As String, Activity As Object)
Setzt den Benachrichtigungstext und die Action
(Maßnahme).
Title - Benachrichtigungstitel.
Body - Benachrichtigungskörper.
Activity - Die Activity die gestartet wird wenn der Benutzer auf die
Benachrichtigung klickt.
Einen leeren String eingeben um das aktuelle Service zu starten (wenn es aus
von Activitymodul aufgerufen wird).
Beispiel:
n.SetInfo("Some title", "Some text", Main)
Sound As Boolean [write only]
Setzt ob die Benachrichtigung den Ton spielt.
Beispiel:
n.Sound = False
Vibrate As Boolean [write only]
Setzt ob die Benachrichtigung das Gerät vibrieren läßt.
Beispiel:
n.Vibrate = False
Jedes Servicemodul enthält
ein Serviceobjekt.
Dieses Objekt wird benutzt um ein Service in den Vordergrund oder in den
Hintergrund zu bringen.
Siehe das Service Module Tutorial für mehr
Informationen.
Events:
Keine
Members:
StartForeground (Id As Int, Notification As android.app.Notification)
StopForeground (Id As Int)
Members Erklärungen:
StartForeground (Id As Int, Notification As android.app.Notification)
Bringt das aktuelle Service in den Vordergrund und zeigt die gegebene
Benachrichtigung an.
Id – Der BenachrichtigungsId (siehe die Dokumentation zum Notification Objekt).
Notification - Die Benachrichtigung die angezeigt werden soll.
StopForeground (Id As Int)
Bringt das aktuelle Service in den Hintergrund und storniert die
Benachrichtigung mit dem gegebenen Id.
String
Strings sind nicht veränderbar 'immutable' in Basic4android, was heisst
dass man den Wert eines Strings ändern kann, aber nicht den Text der in einem
Stringobjekt enthalten ist.
Methoden wie SubString, Trim und ToLowerCase geben einen neuen String zurück, sie
ändern nicht den Wert des aktuellen Strings.
Typische Anwendung:
Dim s As String
s = "some text"
s = s.Replace("a", "b")
Man kann StringBuilder verwenden wenn man einen 'mutable' String braucht.
Bachten Sie dass Stringtexte auch Stringobjekte sind:
Log(" some text ".Trim)
Events:
Keine
Members:
CharAt (Index As Int)
As Char
CompareTo (Other As
String) As Int
EndsWith (Suffix As
String) As Boolean
EqualsIgnoreCase (other As String) As Boolean
GetBytes (Charset As
String) As Byte()
IndexOf (SearchFor As
String) As Int
IndexOf2 (SearchFor As
String, Index As
Int) As Int
Length As Int
Replace (Target As
String, Replacement As String) As String
StartsWith (Prefix As String) As Boolean
SubString (BeginIndex As Int) As String
SubString2 (BeginIndex As Int, EndIndex As Int) As String
ToLowerCase As
String
ToUpperCase As
String
Trim As String
Members Erklärung:
Gibt den Buchstaben an der
gegebenen Stelle (index) zurück.
CompareTo (Other As String) As Int
Vergleicht buchstäblich zwei
Strings.
Rückgabewerte:
< 0 wenn der aktuelle String vor Other ist.
= 0 wenn beide Strings gleich sind.
> 0 wenn der aktuelle String nach Other ist.
Beachten Sie dass Grossbuchstaben vor Kleinbuchstaben sind.
Beispiele:
"abc".CompareTo("da") ' < 0
"abc".CompareTo("Abc") ' > 0
"abc".CompareTo("abca")' < 0
EndsWith (Suffix As String) As Boolean
Gibt True zurück wenn der
String mit dem gegebenen Suffix endet.
EqualsIgnoreCase (other As String) As Boolean
Gibt True zurück wenn
beide String gleich sind ignoriert Gross- und Kleinschrift.
GetBytes (Charset As String) As Byte()
Wandelt einen String in ein
Array von Bytes um.
Beispiel:
Dim Data() As Byte
Data = "Some string".GetBytes("UTF8")
IndexOf (SearchFor As String) As Int
Gibt die Stelle (index)
zurück, wo der SearchFor String das erste mal im
Originalstring auftritt.
Gibt -1 zurück wenn SearchFor nicht gefunden wurde.
IndexOf2 (SearchFor As String, Index As Int) As Int
Gibt die Stelle (index)
zurück, wo der SearchFor String das erste mal im
Originalstring auftritt.
Die Suche startet ab der gegebenen Stelle (index).
Gibt -1 zurück wenn SearchFor nicht gefunden wurde.
Length As Int
Gibt die Länge des Strings
zurück.
Replace (Target As String, Replacement As String) As String
Gibt einen neuen String
zurück in dem alle Target Strings durch Replacement Strings ersetzt wurden.
StartsWith (Prefix As String) As Boolean
Gibt True zurück wenn der
String mit dem gegebenen Prefix anfängt.
SubString (BeginIndex As Int) As String
Gibt einen neuen String
zurück.
Der neue String enhält alle Buchstaben beginnend inclusive mit dem Buchstaben
an Stelle BeginIndex bis zum Ende des Originalstrings.
Beispiel:
"012345".SubString(2) 'returns "2345"
SubString2 (BeginIndex As Int, EndIndex As Int) As String
Gibt einen neuen String
zurück.
Der neue String enhält alle Buchstaben beginnend inclusive mit dem Buchstaben
an Stelle BeginIndex bis zur Stelle EndIndex exculsiv, der Buchstabe an Stelle
EndIndex wird nicht in Betracht gezogen
Beispiel:
"012345".SubString2(2, 4) 'returns "23"
ToLowerCase As String
Gibt einen neuen String in
Kleinschrift zurück.
ToUpperCase As String
Gibt einen neuen String in Großschrift zurück.
Trim As String
Gibt einen neuen String ohne Leerbuchstaben
am Anfang und am Ende des Originalstrings.
StringBuilder ist ein veränderlicher (mutable) String, anders als bei
normalen Strings, die unveränderlich (immutable) sind.
StringBuilder ist besonders nützlich, wenn man viele Strings verketten muß.
Der folgende Code demonstriert die Leistungsfähigkeitssteigerung von
StringBuilder:
Dim start As Long
start = DateTime.Now
'Regular string
Dim s As String
For i = 1 To 5000
s = s & i
Next
Log(DateTime.Now - start)
'StringBuilder
start = DateTime.Now
Dim sb As StringBuilder
sb.Initialize
For i = 1 To 5000
sb.Append(i)
Next
Log(DateTime.Now - start)
Auf einem Gerät gemessen, braucht die erste For-Next Schlaufe ungefähr 20 Sekunden,
die zweite braucht nur ein Paar Zehntelsekunden.
Der Grund dafür ist daß der Code s = s & i jedes mal einen neuen String
erstellt, Strings sind unveränderlich (immutable).
Die Methode StringBuilder.ToString konvertiert das Objekt in eienen String.
Events:
Keine
Members:
Append (Text As String) As StringBuilder
Initialize
Insert (Offset As Int, Text As String) As StringBuilder
IsInitialized
As Boolean
Length As Int [read only]
Remove
(StartOffset As
Int,
EndOffset As Int) As StringBuilder
ToString As String
Members Erklärung:
Append (Text As String) As StringBuilder
Hängt den gegebenen
Text an das Ende an.
Gibt das gleiche Objekt zurück, man kann Methoden verketten.
Beispiel:
sb.Append("First line").Append(CRLF).Append("Second
line")
Initialize
Initialisiert das
Objekt.
Beispiel:
Dim sb As StringBuilder
sb.Initialize
sb.Append("The value is: ").Append(SomeOtherVariable).Append(CRLF)
Insert (Offset As Int, Text As String) As StringBuilder
Fügt den gegebenen
Text ein ab der gegebenen Offset Stelle.
IsInitialized As Boolean
Gibt die Länge
(Anzahl der Buchstaben) des Textes zurück.
Remove (StartOffset As Int, EndOffset As Int) As StringBuilder
Löscht die gegebenen
Buchstaben.
StartOffset – Der erste Buchstabe der gelöscht wird.
EndOffset – Endstelle, der Buchstabe an dieser Stelle wird nicht gelöscht.
ToString As String
Konvertiert das
Objekt in einen String.
Ein Timer Objekt generiert Tickevents in bestimmten Zeitabständen.
Einen Timer zu benutzen ist eine bessere Alternative gegenüber einer sehr
langen Schlaufe (loop), er erlaubt dem System andere Events und Messages
(Meldungen) zu verarbeiten.
Zu beachten ist, daß Timerevents nicht erzeugt
werden wenn das System mit anderem Code beschäftigt ist (ausser man benützt das
DoEvents Schlüsselwort).
Die Timer Eigenschaft Enabled ist standardmäßig auf False gestzt.
Um den Timer zu starten muss Enabled auf True gesetzt werden.
Timer events werden nicht ausgelöset wenn die Activity ausgeschaltet ist
(paused), oder wenn ein blockierender Dialog (wie eine Msgbox) sichtbar ist.
Timer müssen in Sub Process_Globals deklariert werden. Ansonsten würden
mehrere Timer laufen jedes mal wenn die Activity neu
erstellt wird.
Es ist auch wichtig den Timer auszuschalten wenn die Activity ausgeschaltet ist
(pausing) und dann wieder einschalten. Das erspart CPU-Zeit und die Batterie.
Events:
Tick
Members:
Enabled As Boolean
Initialize
(EventName As String, Interval As Long)
Interval As Long
Members Erklärung:
Liest oder setzt ob der Timer
aktiv ist (ticking) oder nicht.
Initialize (EventName As String, Interval As Long)
Initialisiert den Timer mit
EventName als Subroutine-Name und der gegebenen Zeitspanne (in Millisekunden).
WICHTIG: diese Objekte müssen in der Sub Process_Globals Routine deklariert
werden.
Beispiel:
Timer1.Initialize("Timer1", 1000)
Timer1.Enabled = True
Sub Timer1_Tick
'Handle tick events
End Sub
Interval As Long
Liest oder setzt die
Zeitspanne des Timers in Millisekunden.