LitDev 1.2.15.0 DE Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGraph LDGraphicsWindow
LDHID LDImage LDInline LDIOWarrior LDList
LDLogic LDMath LDMathX LDMatrix LDMusic
LDNetwork LDPhysics LDProcess LDQueue LDRegex
LDResources LDScrollBars LDSearch LDServer LDSettings
LDShapes LDShell LDSort LDSound LDSpeech
LDStatistics LDStopwatch LDText LDTextWindow LDTimer
LDTranslate LDUnits LDUtilities LDWaveForm LDWebCam
LDWindows LDxml LDZip

LD3DView
3D Visualisierung im GraphicsWindow.

Standardkoordinaten haben folgende Richtungen und keinen Bezug zu GraphicsWindow Koordinaten:
x - Links | Rechts +
y - Unten | Oben +
z - Rein | Raus +

Weitere Details zu untergeordneten Methoden s. http://msdn.microsoft.com/library/ms747437.aspx (Übersicht zu 3D-Grafiken).
Einige Add...-Methoden verwenden HelixToolkit (rekompiliert und angepasst für SB, http://www.helix-toolkit.org).

example 3D-samples\*.sb
http://blogs.msdn.microsoft.com/smallbasic/2016/06/19/3d-visualisation/
http://msdn.microsoft.com/library/system.windows.controls.viewport3d.aspx
http://msdn.microsoft.com/library/system.windows.media.media3d.viewport3dvisual.aspx
http://csharphelper.com/blog/2014/10/understand-three-dimensional-drawing-with-wpf-xaml-and-c


AddAmbientLight AddArrow AddCone
AddCube AddDirectionalLight AddGeometry
AddIcosahedron AddImage AddPipe
AddPointLight AddPyramid AddRectangle
AddRevolute AddSphere AddSpotLight
AddTube AddView AnimateRotation
AnimateRotation2 AnimateTranslation AutoControl
BoundingBox CameraProperties CloneObject
Freeze GetCameraDirection GetCameraPosition
GetCameraUpDirection GetPosition HitTest
LastRotationCompleted LastTranslationCompleted LoadModel
ModifyObject MoveCamera QueuedRotationCompleted
QueuedTranslationCompleted ResetCamera ResetMateral
ReverseNormals RotateGeometry RotateGeometry2
RotateGeometry3 RotationCompleted ScaleGeometry
SetBillBoard SetCentre SpecularExponent
TranslateGeometry TranslationCompleted

AddAmbientLight(shapeName,colour)
Fügt eine umgebende Lichtquelle hinzu, für gleichmäßige Beleuchtung aller Objekte. Oft mit Farbe geringer Helligkeit zB. (Light)Gray. Ungeeignet für spiegelnde Materialien "S" (Intern: Light#).
shapeName Der Name der 3DView Shape.
colour Die Lichtfarbe (zB. "#808040").
returns Der 3DView Lichtname.

AddArrow(shapeName,length,diameter,arrowLength,arrowDiameter,divisions,colour,materialType)
Fügt ein Pfeil Geometrieobjekt hinzu, aufwärts gerichtet beginnend an (0,0,0) (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
length Die Gesamtlänge des Pfeils.
diameter Der Schaftdurchmesser des Pfeils.
arrowLength Die Länge der Pfeilspitze.
arrowDiameter Der untere Durchmesser der Pfeilspitze.
divisions Die Anzahl radialer Teilbereiche für den Pfeil (>3, Standard: 18, nicht "").
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddCone(shapeName,baseRadius,topRadius,height,divisions,colour,materialType)
Fügt ein Kegel(stumpf) Geometrieobjekt hinzu, aufrecht mit der Basis zentriert in (0,0,0) (Intern: Geometry#).
Info: Ein Zylinder entspricht einem Konus mit baseRadius = topRadius.

shapeName Der Name der 3DView Shape.
baseRadius Der Radius der Grundfläche.
topRadius Der obere Radius (Standard: 0, Kegel),
> 0 Kegelstumpf
= baseRadius Zylinder

height Die Höhe des Konus.
divisions Die Anzahl radialer Teilbereiche für den Konus (Standard: 18).
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddCube(shapeName,sideLength,colour,materialType)
Fügt ein Würfel Geometrieobjekt hinzu, zentriert in (0,0,0) (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
sideLength Die Seitenlänge für den Würfel.
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddDirectionalLight(shapeName,colour,xDir,yDir,zDir)
Fügt eine gerichtete Lichtquelle hinzu, zur Beleuchtung aus einer Richtung zB. Sonnenlicht (Intern: Light#).
shapeName Der Name der 3DView Shape.
colour Die Lichtfarbe (zB. "#FFFF80").
xDir Der x-Richtungsvektor [-1,1] entlang dem der Lichteffekt wirkt (Standard: 0).
yDir Der y-Richtungsvektor [-1,1] entlang dem der Lichteffekt wirkt (Standard: 0).
zDir Der z-Richtungsvektor [-1,1] entlang dem der Lichteffekt wirkt (Standard: -1).
returns Der 3DView Lichtname.

AddGeometry(shapeName,points,indices,normals,colour,materialType)
Fügt ein mathematisches Geometrieobjekt hinzu. Position und Dimension entsprechend 'points' Definition. (Intern: Geometry#).
s. http://sol.gfxile.net/sphere/index.html (Sphere Mesh Creation).

shapeName Der Name der 3DView Shape.
points Eine Leerzeichen- oder Doppelpunkt- begrenzte Liste aller Eckpunkt-Koordinaten (zB. "x1 y1 z1:x2 y2 z2: ..").
indices Eine Leerzeichen- oder Doppelpunkt- begrenzte Liste von Eckpunkt-Indizes für jedes Dreieck (ab 0, im Gegenuhrzeigersinn je Außenfläche).
normals Optionale Leerzeichen- oder Doppelpunkt- begrenzte Liste von Auswärts-Normalen für jeden Knoten oder "".
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst vom Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des neuen Geometrieobjekts in der 3DView bei Erfolg, sonst "" und Fehlermeldung.
example 'Tetraeder
pts= "1:0:-.707 -1:0:-.707 0:1:.707 0:-1:.707"
pts= "1:1:1 1:-1:-1 -1:1:-1 -1:-1:1" 'od. schräg
idcs= "0:1:2 0:2:3 0:3:1 1:3:2"


AddIcosahedron(shapeName,radius,colour,materialType)
Fügt ein regelmäßiges Ikosaeder (20Flächner) Geometrieobjekt hinzu, zentriert in (0,0,0) (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
radius Der Radius des Ikosaeder.
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddImage(shapeName,geometryName,textures,imageName,materialType)
Fügt ein Bild zu einem Geometrieobjekt hinzu.
Eine geometrische 'Ansicht' kann verschiedene Segmentbilder in einem Bild beinhalten.

shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
textures Eine Leerzeichen- oder Doppelpunkt- begrenzte Liste der Texturkoordinaten für jeden Knoten.
Jeder Knoten hat 2 Werte zwischen 0 und 1 welche die x,y Abbildung des Bildes zum Knoten bestimmen (zB. "0:0 1:0 0:1 1:1" für Gesamtbild auf 4eck).
Kann "" (Standard) sein, wenn die Textur zuvor bereits gesetzt wurde.

imageName Das im Geometrieobjekt zu ladende Bild oder ein Gradientpinsel (Brush).
Rückgabewert von ImageList.LoadImage, lokale oder Netzwerk- Bilddatei bzw. Brushname.

materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst vom Licht
"S" Spiegelnd, zusätzliche Glanzpunkte


AddPipe(shapeName,length,innerDiameter,outerDiameter,divisions,colour,materialType)
Fügt ein Rohr Geometrieobjekt hinzu, aufrecht mit der Basis zentriert in (0,0,0) (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
length Die Länge des Rohres.
innerDiameter Der innere Rohrdurchmesser.
outerDiameter Der äußere Rohrdurchmesser.
divisions Die Anzahl radialer Teilbereiche für das Rohr (Standard: 18).
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddPointLight(shapeName,colour,xPos,yPos,zPos,range)
Fügt eine nicht gerichtete Punktlichtquelle hinzu, mit begrenzter Reichweite (Intern: Light#).
shapeName Der Name der 3DView Shape.
colour Die Lichtfarbe.
xPos Die x-Position des Lichtes.
yPos Die y-Position des Lichtes.
zPos Die z-Position des Lichtes.
range Der Lichtwirkungsbereich (Entfernung bis zu welcher der Lichteffekt wirkt).
returns Der 3DView Lichtname.

AddPyramid(shapeName,sideLength,height,colour,materialType)
Fügt ein Pyramide Geometrieobjekt hinzu, aufrecht mit der Basis zentriert in (0,0,0) (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
sideLength Die Seitenlänge an der Basis.
height Die Höhe.
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddRectangle(shapeName,width,height,colour,materialType)
Fügt ein Rechteck Geometrieobjekt hinzu, zentriert in (0,0,0), liegt in x,y Ebene mit Höhe z=0 (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
width Die Breite des Rechtecks.
height Die Höhe des Rechtecks.
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddRevolute(shapeName,path,divisions,colour,materialType)
Fügt ein Revolute Geometrieobjekt hinzu. Dies ist eine (offene/geschlossene) Oberfläche beginnend an (0,0,0) und aufwärts gerichtet.
Die Form ist definiert durch eine Punktemenge (Y,Z), wobei Y die vertikale Distanz entlang der Oberfläche ab 0 beschreibt, Z ist der Mantelradius.

shapeName Der Name der 3DView Shape.
path Eine Leerzeichen- oder Doppelpunkt- begrenzte Liste von 2D Punktkoordinaten zur Beschreibung der Revolutenform, zB. "y1:r1 y2:r2 ...".
divisions Die Anzahl radialer Teilbereiche (>1, Standard: 10, beeinflusst Anzahl der Dreiecke und Glattheit).
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.
example '3-teiliger Baum
path = "0:0 0:0.5 1:0.5 1:3 3:1 3:2.5 5:1 5:2 8:0"


AddSphere(shapeName,radius,divisions,colour,materialType)
Fügt ein Kugel Geometrieobjekt zentriert in (0,0,0) hinzu (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
radius Der Kugelradius.
divisions Die Anzahl der Raumbereiche (>1, Standard: 10, beeinflusst Anzahl der Dreiecke und Glattheit).
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddSpotLight(shapeName,colour,xPos,yPos,zPos,xDir,yDir,zDir,angle,range)
Fügt eine gerichtete Punktlichtquelle hinzu, mit begrenztem Lichtkegel und Reichweite (Intern: Light#).
shapeName Der Name der 3DView Shape.
colour Die Lichtfarbe.
xPos Die x-Position des Lichtes.
yPos Die y-Position des Lichtes.
zPos Die z-Position des Lichtes.
xDir Der x-Richtungsvektor [-1,1] der Lichtprojektion (Standard: 0).
yDir Der y-Richtungsvektor [-1,1] der Lichtprojektion (Standard: 0).
zDir Der z-Richtungsvektor [-1,1] der Lichtprojektion (Standard: -1).
angle Der Lichtkegel des Strahls [Grad].
range Der Lichtwirkungsbereich (Entfernung bis zu welcher der Lichteffekt wirkt).
returns Der 3DView Lichtname.

AddTube(shapeName,path,diameter,divisions,colour,materialType)
Fügt ein rohr-/schlauchförmiges Geometrieobjekt hinzu (Intern: Geometry#).
shapeName Der Name der 3DView Shape.
path Eine Leerzeichen- oder Doppelpunkt- begrenzte Liste von 3D Punktkoordinaten, zB. "x1:y1:z1 x2:y2:z2 ...".
diameter Der Rohr-/Schlauchdurchmesser.
divisions Die Anzahl radialer Rohrbereiche (>1, Standard: 10, beeinflusst Anzahl der Dreiecke und Glattheit).
colour Die Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte

returns Der Name des Geometrieobjekts in der 3DView.

AddView(width,height,performance)
Fügt eine 3DView Shape im GraphicsWindow hinzu, worin 3D Geometrieobjekte eingebunden und animiert werden können (Intern: View3D#).
width Die Breite der 3DView Shape.
height Die Höhe der 3DView Shape.
performance Vorzug von Schnelligkeit über Qualität? "True" oder "False" (Standard, 3DView fixiert auf definierte Breite/Höhe).
"True" entfernt visuelles Clipping (-> Größenänderung mit GW), 'HitTest' (nicht verwendet) und Antialias (nicht benötigt).

returns Der Name der 3DView Shape Ansicht.

AnimateRotation(shapeName,geometryName,xDir,yDir,zDir,startAngle,endAngle,duration,repeats)
Setzt ein Geometrieobjekt auf animierte 3D-Rotation um einen Achsenvektor (asynchron, s. 'RotationCompleted' Ereignis).
Verwendet die zweite Rotation. Die erste ist weiterhin verfügbar für eine andere Achsrotation.

shapeName Der Name der 3DView Shape.
geometryName Der Name des zu drehenden Geometrieobjekts, zB. model[1].
xDir Der x-Richtungsvektor [-1,1] der Drehachse.
yDir Der y-Richtungsvektor [-1,1] der Drehachse.
zDir Der z-Richtungsvektor [-1,1] der Drehachse.
startAngle Der Startwinkel [Grad] vom Grundzustand (Standard: 0).
endAngle Der Endwinkel [Grad] vom Grundzustand, zB. 360 (Standard: 0).
duration Die Dauer für einen Rotationszyklus [sec].
repeats Die Anzahl der Rotationszyklen (-1 für stetig).

AnimateRotation2(shapeName,geometryName,xDir,yDir,zDir,startAngle,endAngle,duration,repeats)
Setzt ein Geometrieobjekt auf animierte 3D-Rotation um einen Achsenvektor (asynchron, s. 'RotationCompleted' Ereignis).
Verwendet die dritte Rotation. Die erste ist weiterhin verfügbar für eine andere Achsrotation.

shapeName Der Name der 3DView Shape.
geometryName Der Name des zu drehenden Geometrieobjekts, zB. model[1].
xDir Der x-Richtungsvektor [-1,1] der Drehachse.
yDir Der y-Richtungsvektor [-1,1] der Drehachse.
zDir Der z-Richtungsvektor [-1,1] der Drehachse.
startAngle Der Startwinkel [Grad] vom Grundzustand (Standard: 0).
endAngle Der Endwinkel [Grad] vom Grundzustand (Standard: 0), zB. 360.
duration Die Dauer für einen Rotationszyklus [sec].
repeats Die Anzahl der Rotationszyklen (-1 für stetig).

AnimateTranslation(shapeName,geometryName,x,y,z,duration)
Setzt ein Geometrieobjekt auf animierte geradlinige 3D-Bewegung (asynchron, s. 'TranslationCompleted' Ereignis).
shapeName Der Name der 3DView Shape.
geometryName Der Name des zu bewegenden Geometrieobjekts, zB. model[1].
x Die x-Koordinate des Zielpunktes.
y Die y-Koordinate des Zielpunktes.
z Die z-Koordinate des Zielpunktes.
duration Die Dauer der Animation [sec].

AutoControl(pitchRoll,shift,keyDistance,speed)
Setzt automatische Steuerung für die Kamera.
Vor-|Rückwärtsbewegung per Mausrad (+Umschalt/Strg Taste für 5x schneller/langsamer).
L|R Gieren (Yaw) und Auf|Ab Neigen (Pitch) Kamerabewegung mit L-Maus.
L|R Gieren mit A,D oder Links,Rechts Taste.
Vor-|Rückwärtsbewegung mit W,S oder Auf,Ab Taste.
Rollen (Drehen) Kamerabewegung mit R-Maus.
L-Doppelklick auf Objekt zur Zentrierung/Auswahl.
R-Doppelklick zum Zurücksetzen der Aufwärts-Richtung zu y (yUp=1).
L|R Gieren (Yaw) und Auf-Ab Neigen (Pitch) Szenenbewegung mit Umschalt+LMaus (nach Objektwahl) zur Rotation um die Szene.
X,Y,Z Taste setzt diese Aufwärts-Richtung (Blick nach 0,0,0); +Umschalt in die Gegenrichtung.

pitchRoll Auf|Ab Neigen und Rollen Bewegung erlauben? "True" oder "False" (Standard).
shift Umschalt/Strg Tasten zur Maussteuerung erlauben? "True" oder "False" (Standard).
keyDistance Kameraabstand und Tastensteuerung:
>0 Kameraabstand zum Ursprung bei X,Y,Z Taste
0 verhindert X,Y,Z Tasten (Standard, "")
-1 verhindert auch A,D,W,S und Pfeiltasten

speed Vor-/Rückwärts Schrittfaktor (Standard: 1; 0.833=1/1.2=5/6 für dStep=1).

BoundingBox(shapeName,geometryName)
Ermittelt Abmessungen und Position des umgebenden Hüllkörpers für ein einzelnes Geometrieobjekt (s. GetPosition).
Dies sind die aktuellen Werte/Koordinaten (nach allen Transformationen).

shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts.
returns Ein 6-elementiger Array (ab 1) folgender Dimensionen/Position bei Erfolg, sonst "FAILED":

dimX = box[1] (Breite)
dimY = box[2] (Höhe)
dimZ = box[3] (Tiefe)
minX = box[4]
minY = box[5]
minZ = box[6]


CameraProperties(shapeName,nearDistance,farDistance,angle)
Setzt den horizontalen Blickwinkel der Kamera, sowie Clipping Abstände (Entfernung zur nahen/fernen Ausschneideebene).
Die fundamentalen Eigenschaften für perspektivische Kamerasicht.

shapeName Der Name der 3DView Shape.
nearDistance Der nahe Clipping Abstand (kann nahes Objekt verbessern zB. Maueraufprall Erkennung).
Ein negativer Wert ist 0.001 (Standard: 0.125).

farDistance Der ferne Clipping Abstand (kann Leistung verbessern).
Ein negativer Wert ist unendlich (Standard).

angle Der Sichtkegel der Kamera [Grad]. Beeinflusst den perspektivischen Fluchtpunkt (Standard: 60).
Falls negativ, wird eine orthographische Kamera (Parallelprojektion mit Sichtbreite -angle) verwendet (statt perspektivische Zentralprojektion).


CloneObject(shapeName,geometryName)
Erstellt eine komplette Kopie eines einzelnen Geometrieobjekts mit all seinen Eigenschaften (Intern: Geometry#+1).
shapeName Der Name der 3DView Shape.
geometryName Der Name des zu kopierenden Geometrieobjekts, zB. model[1].
returns Der Name des neuen kopierten Geometrieobjekts in der 3DView bei Erfolg, sonst "".

Freeze(shapeName,geometryName)
Einfrieren eines Geometrieobjekts zur kleinen Leistungsverbesserung. Dieses kann danach in keiner Weise modifiziert werden.
shapeName Der Name der 3DView Shape.
geometryName Der Name des einzufrierenden Geometrieobjekts, zB. model[1].
returns Nichts (Fehlermeldung bei Mißerfolg)

GetCameraDirection(shapeName)
Ermittelt die Blickrichtung der Kamera (Richtungsvektor) als Array der Komponenten "1=xDir;2=yDir;3=zDir;".
xDir*xDir + yDir*yDir + zDir*zDir = 1 (Einheitsvektor)

shapeName Der Name der 3DView Shape.
returns Ein 3-elementiger Array mit dem Richtungsvektor der Kamerasicht (Standard: "1=0;2=0;3=-1;").

GetCameraPosition(shapeName)
Ermittelt die Kameraposition als Array der Koordinaten "1=xPos;2=yPos;3=zPos;".
shapeName Der Name der 3DView Shape.
returns Ein 3-elementiger Array mit den Positionskoordinaten der Kamera (Standard: "1=0;2=0;3=10;").
example 'Radius zum Ursprung (0,0,0)
P = LD3DView.GetCameraPosition(view)
r = Math.SquareRoot(P[1]*P[1] + P[2]*P[2] + P[3]*P[3])

'Abstand 2er Punkte (Vektorlänge)
a = Math.SquareRoot(dx*dx + dy*dy + dz*dz)

'Koord. von P2 ab pos,r,dir (Vektorverschiebung)
x2 = Pos[1] + r * Dir[1]
y2 = Pos[2] + r * Dir[2]
z2 = Pos[3] + r * Dir[3]


GetCameraUpDirection(shapeName)
Ermittelt den Aufwärts-Richtungsvektor in der Szenenprojektion als Array der Komponenten "1=xUp;2=yUp;3=zUp;".
xUp*xUp + yUp*yUp + zUp*zUp = 1 (Einheitsvektor)

shapeName Der Name der 3DView Shape.
returns Ein 3-elementiger Array mit dem Aufwärts Richtungsvektor der 3DView (Standard: "1=0;2=1;3=0;").

GetPosition(shapeName,geometryName)
Ermittelt die transformierte (aktuelle) Zentrumsposition für ein bestehendes Geometrieobjekt (s. BoundingBox).
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts.
returns Ein 3-elementiger Array (ab 1) der transformierten Position bei Erfolg, sonst "FAILED":

centX = pos[1]
centY = pos[2]
centZ = pos[3]


HitTest(shapeName,x,y)
Ermittelt ein Auftreffen auf ein Geometrieobjekt in der 3DView. s. LD3DView.AddView(w,h, "").
Ein negativer Wert für eine Koordinate bezieht sich auf die Mitte der 3DView (Kameraansicht).

shapeName Der Name der 3DView Shape.
x Die x-Koordinate im GraphicsWindow (innerhalb der 3DView).
y Die y-Koordinate im GraphicsWindow (innerhalb der 3DView).
returns Ein 2-elementiger Array mit dem Name des Zielobjekts und seiner Entfernung (zB. "1=Geometry#;2=dist;") oder "" für keinen Treffer.

LastRotationCompleted
Ermittelt den Name des Geometrieobjekts welches zuletzt eine animierte Volldrehung beendete.

LastTranslationCompleted
Ermittelt den Name des Geometrieobjekts welches zuletzt eine animierte Vollbewegung beendete.

LoadModel(shapeName,fileName)
Lädt ein geometrisches Modell von einer Datei und fügt dieses an (0,0,0) in der 3DView hinzu (Intern: Geometry#+1).
Unterstützte Formate: 3ds, lwo, obj, (obj.gz ->)objz, off, stl. Position und Dimension entsprechend vorgegebener Geometrieeigenschaften.

shapeName Der Name der 3DView Shape.
fileName Der volle Pfad der zu ladenden Modelldatei.
Oft sind auch (gleichnamige) Bilddateien usw. im selben Ordner erforderlich.

returns Ein Array mit den Namen der hinzugefügten Geometrieobjekte bzw. Teilobjekte.
example http://archive3d.net

ModifyObject(shapeName,geometryName,action)
Durchführen einer Aktion an einem Geometrie- oder Lichtobjekt.
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrie- oder Lichtobjekts, zB. model[1].
action Die durchzuführende Aktion:
"H" Verbergen
"S" Anzeigen
"X" Entfernen


MoveCamera(shapeName,yaw,pitch,roll,move)
Ändert die Blickrichtung und Position der Kamera relativ zur aktuellen Ausrichtung/Position.
Winkelangaben im Bereich [0,-/+180] oder [0,-/+360], zB. 10|-350 bzw. -10|350.

shapeName Der Name der 3DView Shape.
yaw Die Links/Rechts ↔ Schwenkung [Grad] ab aktueller Ausrichtung (Gierung, Standard: 0).
+ Kamera rechts, Szene links
- Kamera links, Szene rechts

pitch Die Rauf/Runter ↕ Neigung [Grad] ab aktueller Ausrichtung (Standard: 0).
+ Kamera rauf, Szene runter
- Kamera runter, Szene rauf

roll Die Verdrehung in Blickrichtung [Grad] ab aktueller Ausrichtung (Standard: 0).
+ Kamera/Szene im/gegen Uhrzeigersinn
- Kamera/Szene gegen/im Uhrzeigersinn

move Die Vor-/Rückwärts Bewegung [Pxl] in Kamerakoordinaten (entlang Blickrichtung) ab aktueller Position.
+ Kamera vorwärts
- Kamera rückwärts


QueuedRotationCompleted
Ermittelt die Anzahl der aktuell abgeschlossenen animierten Volldrehungen.

QueuedTranslationCompleted
Ermittelt die Anzahl der aktuell abgeschlossenen animierten Vollbewegungen.

ResetCamera(shapeName,xPos,yPos,zPos,xDir,yDir,zDir,xUp,yUp,zUp)
Setzt die Position und Blickrichtung der Kamera, sowie (optional) die Aufwärtsrichtung der Ansicht.
Standard: Position in (0,0,10), zentrierte Ansicht entlang -z Achse abwärts, +y oben und +x rechts.
Mindestens ein Dir Vektor muß <>0 sein, alle anderen Pos/Dir Werte können dann "" sein.

shapeName Der Name der 3DView Shape.
xPos Die x-Position der Kamera (Standard: 0).
yPos Die y-Position der Kamera (Standard: 0).
zPos Die z-Position der Kamera (Standard: 10).
xDir Der x-Richtungsvektor [-1,1] der Kamerasicht (-/+ Links/Rechts, Standard: 0).
yDir Der y-Richtungsvektor [-1,1] der Kamerasicht (-/+ Runter/Rauf, Standard: 0).
zDir Der z-Richtungsvektor [-1,1] der Kamerasicht (-/+ Rein/Raus, Standard: -1).
xUp Optionaler x-Richtungsvektor [-1,1], definiert Aufwärts-Richtung der Szenenprojektion (Standard: 0).
yUp Optionaler y-Richtungsvektor [-1,1], definiert Aufwärts-Richtung der Szenenprojektion (Standard: 1).
zUp Optionaler z-Richtungsvektor [-1,1], definiert Aufwärts-Richtung der Szenenprojektion (Standard: 0).
example 'Standard
LD3DView.ResetCamera(view, 0,0,10, 0,0,-1, 0,1,0)
LD3DView.ResetCamera(view, "","",10, "","",-1, "",1,"")


ResetMateral(shapeName,geometryName,colour,materialType)
(Er)Setzt das Material/Farbe für ein bestehendes Geometrieobjekt.
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts.
colour Die neue Farbe oder ein Gradientpinsel (Brush) für das Objekt.
materialType Der neue Materialtyp:
"E" Emissiv, konstante Helligkeit
"D" Diffus, beeinflusst durch Licht
"S" Spiegelnd, zusätzliche Glanzpunkte


ReverseNormals(shapeName,geometryName)
Umkehren der Auswärtsnormalen für ein Geometrieobjekt.
Macht zB. die Innenoberfläche einer Sphäre anstatt der Außenoberfläche sichtbar (SkyDome).

shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts dessen Auswärtsnormale umgekehrt werden.

RotateGeometry(shapeName,geometryName,x,y,z,angle)
Rotiert ein Geometrieobjekt um dessen Zentrum (erste Rotation, relativ ab Originalposition).
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
x Der x-Richtungsvektor [-1,1] der Drehachse.
y Der y-Richtungsvektor [-1,1] der Drehachse.
z Der z-Richtungsvektor [-1,1] der Drehachse.
angle Der Drehwinkel vom Grundzustand [Grad] ab Originalposition.
Blick entlang +/- Drehachse -> im/gegen Uhrzeigersinn


RotateGeometry2(shapeName,geometryName,x,y,z,angle)
Rotiert ein Geometrieobjekt um dessen Zentrum (zweite Rotation, relativ ab aktueller Position).
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
x Der x-Richtungsvektor [-1,1] der Drehachse.
y Der y-Richtungsvektor [-1,1] der Drehachse.
z Der z-Richtungsvektor [-1,1] der Drehachse.
angle Der Drehwinkel [Grad] ab aktueller Position.
Blick entlang +/- Drehachse -> im/gegen Uhrzeigersinn


RotateGeometry3(shapeName,geometryName,x,y,z,angle)
Rotiert ein Geometrieobjekt um dessen Zentrum (dritte Rotation, relativ ab aktueller Position).
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
x Der x-Richtungsvektor [-1,1] der Drehachse.
y Der y-Richtungsvektor [-1,1] der Drehachse.
z Der y-Richtungsvektor [-1,1] der Drehachse.
angle Der Drehwinkel [Grad] ab aktueller Position.
Blick entlang +/- Drehachse -> im/gegen Uhrzeigersinn


RotationCompleted
Ereignisaufruf bei Beendigung einer Drehanimation (AnimateRotation(2)).

ScaleGeometry(shapeName,geometryName,scaleX,scaleY,scaleZ)
Skaliert (zoomt) ein Geometrieobjekt an dessen Zentrum.
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
scaleX Der x-Skalierungsfaktor (Standard: 1).
scaleY Der y-Skalierungsfaktor (Standard: 1).
scaleZ Der z-Skalierungsfaktor (Standard: 1).

SetBillBoard(shapeName,geometryName)
Setzt ein Geometrieobjekt auf kontinuierliche Rotation zur Kameraverfolgung.
Verwendet die zweite und dritte Rotation.

shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts in der 3DView.

SetCentre(shapeName,geometryName,x,y,z,options)
Setzt das Zentrum von Rotate- und ScaleGeometry Transformationen für ein Geometrieobjekt.
Standardmäßig ist dies das Zentrum des Hüllkörpers für das Geometrieobjekt (meist 0,0,0).
Das Zentrum wird mittels der Koordinaten bei Erstellung des Geometrieobjekts definiert und kann auch außerhalb des Geometrieobjekts liegen.
Ist ein Koordinatenwert auf "" gesetzt, wird dafür der Standardwert für das Zentrum verwendet.

shapeName Der Name der 3DView Shape.
geometryName Der Name des zu transformierenden Geometrieobjekts.
x Die x-Koordinate des Zentrums.
y Die y-Koordinate des Zentrums.
z Die z-Koordinate des Zentrums.
options Optionen zur Steuerung der Zentrierung (auch Mehrfachwerte, zB. "R1R2R3" zum Setzen für alle drei Rotationen):
"R1" RotateGeometry
"R2" RotateGeometry2
"R3" RotateGeometry3
"S" ScaleGeometry


SpecularExponent
Ermittelt oder setzt den Spiegelungsexponent bei Verwendung von spiegelndem Material "S" für Geometrieobjekte (Standard: 5).
Dieser Exponent definiert den relativen Anteil der Glanzkomponente des Beleuchtungsmodells für ein Material.
Ist zu setzen bevor ein neues Geometrieobjekt mit dieser Eigenschaft erstellt wird, danach unveränderbar.


TranslateGeometry(shapeName,geometryName,dX,dY,dZ)
Verschiebt ein Geometrieobjekt geradlinig an dessen Zentrum, relativ ab Originalposition.
shapeName Der Name der 3DView Shape.
geometryName Der Name des Geometrieobjekts, zB. model[1].
dX Der Versatz in x-Richtung ab Originalposition.
dY Der Versatz in y-Richtung ab Originalposition.
dZ Der Versatz in z-Richtung ab Originalposition.

TranslationCompleted
Ereignisaufruf bei Beendigung einer geradlinigen Bewegungsanimation (AnimateTranslation).

LDArray
Ein 1D LDArray der schneller operiert als gewöhnlicher SB-Array. LDArrays und SB-Arrays sind unterschiedlich definiert.
Ein neuer LDArray muß zuerst mit 'Create' erstellt werden (Intern: Array#, s. FastArray).
Nützlich für Arrays mit mehr als 100 bis 1000 Elementen (Zahl, String, Var). Unterstützt auch Leerwerte ("").
Bei Fehler wird "FAILED" zurückgegeben.

example other-samples\LDUnits.sb

Copy CopyNew CopyToSBArray
Count Create CreateFromIndices
CreateFromValues Delete GetIndex
GetValue Load Save
Search SetValue Sort
SortIndex

Copy(array1,array2)
Kopiert einen LDArray in einen bestehenden LDArray.
Beide LDArrays müssen gleich dimensioniert sein.

array1 Der zu kopierende LDArray (Quellarray).
array2 Der LDArray in den die Daten kopiert werden (Zielarray).
returns "" bei Erfolg, sonst "FAILED".

CopyNew(array)
Kopiert einen LDArray in einen neuen LDArray (Intern: Array#+1).
array Der zu kopierende LDArray.
returns Der Name des neuen LDArrays (Kopie) bei Erfolg, sonst "FAILED".

CopyToSBArray(array)
Kopiert einen LDArray in einen neuen SB-Array. Ein bestehender SB-Array wird dabei überschrieben.
Die Umkehrung (SB-Array zu LDArray) ist problematisch, da SB-Arrays nicht zwangsläufig durch fortlaufendee Ganzzahlen indexiert sind.
SB-Arrays können keine Leerwerte ("") enthalten, daher werden diese Werte nicht mitkopiert.

array Der Name des LDArrays (Quelle).
returns Der Name des SB-Arrays (Ziel) bei Erfolg, sonst "FAILED".

Count(array)
Ermittelt die Anzahl nicht-leerer Elemente in einem LDArray.
array Der Name des LDArrays.
returns Die Anzahl der Elemente, die Werte enthalten.

Create(maxSize)
Erstellt einen neuen LDArray zur Verwendung mit Zahlen oder Zeichenfolgen. Ein neuer LDArray muß hiermit zuerst erstellt werden (Intern: Array#).
maxSize Die maximale Anzahl der Elemente im Array.
returns Der Name des LDArrays bei Erfolg, sonst "FAILED".

CreateFromIndices(sbArray)
Erstellt einen neuen LDArray aus den Indizes eines SB-Arrays (Intern: Array#+1).
sbArray Der SB-Array.
returns Der Name des neuen LDArrays bei Erfolg, sonst "FAILED".

CreateFromValues(sbArray)
Erstellt einen neuen LDArray aus den Werten eines SB-Arrays (Intern: Array#+1).
sbArray Der SB-Array.
returns Der Name des neuen LDArrays bei Erfolg, sonst "FAILED".

Delete(array)
Löscht einen bestehenden LDArray aus dem Arbeitsspeicher (nicht unbedingt nötig, zur Freigabe von Speicherplatz bei Verwendung vieler Arrays).
array Der Name des zu löschenden LDArrays.
returns "" bei Erfolg, sonst "FAILED".

GetIndex(sbArray,value)
Ermittelt den ersten Index für einen Wert in einem SB-Array.
sbArray Der SB-Array.
value Der zu suchende Arraywert (buchstabengetreu).
returns Der erste Index für den Wert im SB-Array oder "" (nicht gefunden), sonst "FAILED".

GetValue(array,index)
Ermittelt einen Wert in einem LDArray.
array Der Name des LDArrays.
index Der Index des Elementes, dessen Wert zu ermitteln ist (ab 1).
returns Der ermittelte Arraywert bei Erfolg, sonst "FAILED".

Load(array,fileName)
Lädt einen LDArray aus einer Datei.
array Der LDArray in den die Daten geladen werden. Dieser muß bereits bestehen.
fileName Der volle Dateipfad zum Laden des LDArrays.
returns Die Anzahl geladener Elemente.

Save(array,fileName)
Speichert einen LDArray in eine Datei.
array Der zu speichernde LDArray.
fileName Der volle Dateipfad zum Speichern des LDArrays.
returns Die Anzahl gespeicherter Elemente.

Search(array,searchstring,match)
Ermittelt einen LDArray mit Indizes der Werte, welche den Suchstring beinhalten. Groß-/Kleinschreibung egal (keine Unterscheidung).
Der Eingabearray bleibt unverändert und der Trefferarray muß bereits bestehen, mit gleicher Größe wie durchsuchter Array.

array Der nach Treffern zu durchsuchende Array.
searchstring Die zu suchende Zeichenfolge.
match Ein LDArray der den Index der Trefferwerte enthält.
returns Die Anzahl gefundener Treffer.

SetValue(array,index,value)
Setzt einen Wert in einem bestehenden LDArray. Ein neuer LDArray muß zuerst mit 'Create' erstellt werden.
array Der Name des LDArrays.
index Der Index des zu ändernden Elementes im LDArray (ab 1).
value Der zu setzende Wert.
returns "" bei Erfolg, sonst "FAILED".

Sort(array)
Sortiert einen LDArray.
Standard ist alphabetische Sortierung, daher kommt "10" vor "2".
Um nach Zahlenwert zu sortieren, müssen alle Werte numerisch sein (oder leer).
Leerwerte sind am Ende der Sortierung angereiht.
Der angegebene LDArray wird durch den sortierten LDArray ersetzt.

array Zu sortierender LDArray.
returns "" bei Erfolg, sonst "FAILED".

SortIndex(array,index)
Füllt einen LDArray mit den sortierten Indizes eines zu sortierenden LDArrays.
Standard ist alphabetische Sortierung, daher kommt "10" vor "2".
Um nach Zahlenwert zu sortieren, müssen alle Werte numerisch sein (oder leer).
Leerwerte sind am Ende der Sortierung angereiht.
Der angegebene LDArray bleibt unverändert und der Indizes-beinhaltende LDArray muß zuvor auf die gleiche Größe wie der zu sortierende dimensioniert werden.

array Der LDArray welcher nach Sortierung die Reihenfolge der Indizes beinhaltet.
index Ein LDArray mit der Reihenfolge des sortierten LDArrays.
returns "" bei Erfolg, sonst "FAILED".

LDBits
Bitweise Logik zum Speichern binärer Flags als Bits in einer einzelnen -/+ Ganzzahl.
Intern wird dazu eine 32 Bit Zahl (Int32, -2147483648 bis 2147483647, -2^31 bis 2^31-1) verwendet.
32. Bit ist Vorzeichenbit (wenn gesetzt -> neg. Ganzzahl als Zweierkomplement).
Vergleichbar mit einem 32-elementigen Array von 1 und 0 Werten, gespeichert als einzelne Zahl.
Die 32 Bits (1 bis 32) werden ab 1 indexiert. Arraywerte (0|1) sind die gesetzten 2er Potenzen von 0 bis 31:
bit1..2^0, bit2..2^1, bit3..2^2, usw.

example http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/
http://graphics.stanford.edu/~seander/bithacks.html


AndBits GetBit GetBits
Not OrBits SetBit
UnsetBit XOrBits

AndBits(var1,var2)
Bitweise And (&, Und) Verkettung zweier Zahlen.
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1

var1 Die erste Zahl.
var2 Die zweite Zahl.
returns Die And Zahl (Bit gesetzt, wenn beide Eingabebits gesetzt).
example 1100 (12) And
1010 (10) =
1000 (8)

LDBits.AndBits(255, 15) '15
(FF & 0F = 0F, 11111111 & 00001111 = 00001111)
'n Geradzahl?
LDBits.AndBits(n,1) '0 gerade, 1 ungerade


GetBit(var,bit)
Ermittelt den Wert für ein angegebenes Bit in einer Zahl.
var Die zu überprüfende Zahl.
bit Der Index für das abzufragende Bit (1 bis 32).
returns 0 (ungesetzt) oder 1 (gesetzt).

GetBits(var)
Ermittelt alle Bitwerte einer Zahl als Array.
Info: Die Arrayindizes sind NICHT die 2er Potenzen des Bits, sondern Index-1.

var Die Zahl deren Bits zu ermitteln sind.
returns Die einzelnen Bitwerte (0 oder 1) als 32-elementiger Array (ab 1).
example GetBits(6) ' "1=0;2=1;3=1;4=0;.."
Unteres Halbbyte/Nibble: 0+2^1+2^2+0 = 6


Not(var)
Bitweise Not (~, Nicht) Umkehrung für eine Zahl.
~0 = 1
~1 = 0

var Die umzukehrende Zahl.
returns Die Not Zahl (alle Bits umgekehrt).
example Not 1100 (12) =
..110011 (-13)

LDBits.Not(0) 'gibt -1 (alle Bits gesetzt)


OrBits(var1,var2)
Bitweise Or (|, Oder) Verkettung zweier Zahlen.
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1

var1 Die erste Zahl.
var2 Die zweite Zahl.
returns Die Or Zahl (Bit gesetzt, wenn bereits ein Eingabebit gesetzt).
example 1100 (12) Or
1010 (10) =
1110 (14)

LDBits.OrBits(255, 15) '255
(FF | 0F = FF, 11111111 | 00001111 = 11111111)


SetBit(var,bit)
Setzt ein Bit in einer Zahl (Setzen auf 1).
var Die Zahl in der das Bit gesetzt wird.
bit Der Index für das zu setzende Bit (1 bis 32).
returns Die geänderte Zahl mit neu gesetztem Bit.

UnsetBit(var,bit)
Entfernt ein Bit in einer Zahl (Setzen auf 0).
var Die Zahl von der das Bit entfernt wird.
bit Der Index für das zu entfernende Bit (1 bis 32).
returns Die geänderte Zahl nach entferntem Bit.

XOrBits(var1,var2)
Bitweise XOr (^, eXklusivOder) Verkettung zweier Zahlen.
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

var1 Die erste Zahl.
var2 Die zweite Zahl.
returns Die XOr Zahl (Bit gesetzt, wenn nur ein Eingabebit gesetzt).
example 1100 (12) XOr
1010 (10) =
0110 (6)

LDBits.XOrBits(255, 15) '240
(FF ^ 0F = F0, 11111111 ^ 00001111 = 11110000)


LDBlueTooth
BlueTooth Steuerung.
Die erweiterten Features beziehen sich auf Nicht-Dateiübertragung (effektiv Schreiben eines Gerätetreibers).
Zur Kommunikation mit einem Bluetooth USB-Stick muß das externe Bluetooth Gerät angeschlossen und auf 'sichtbar' gesetzt sein, bevor das SB-Programm gestartet wird.

example other-samples\LDBlueTooth.sb

Connect DataAvailable Device
Encode GetDevices GetEncodings
GetServices Initialise InRange
LastDevice LastError OutOfRange
ReceiveData ReceiveFile SendData
SendFile Service

Connect()
Verbindet ein externes Gerät und Dienst mit dem Bluetooth USB-Stick (Erweitertes Feature).
Zuerst muß die Initialisierung erfolgen, dann Setzen des Gerätes, des Dienstes und der Codierung.

returns "True" bei Erfolg, sonst "False".

DataAvailable
Ermittelt die Anzahl empfangener Datenbytes in der Warteschlange zum Lesen.
Dies kann in einem Timer angewandt werden zur Überprüfung auf empfangene Daten.


Device
Ermittelt oder setzt das aktuelle Bluetooth Gerät.

Encode
Ermittelt oder setzt die aktuelle Bluetooth Datencodierung (Erweitertes Feature).

GetDevices()
Ermittelt eine Liste von erkannten Bluetooth Geräten.
returns Ein Array von Geräten bei Erfolg, sonst "".

GetEncodings()
Ermittelt eine Liste verfügbarer Codierungen (Erweitertes Feature).
returns Ein Array von Codierungen bei Erfolg, sonst "".

GetServices()
Ermittelt eine Liste verfügbarer Dienstprotokolle (Erweitertes Feature).
returns Ein Array von Diensten bei Erfolg, sonst "".

Initialise()
Initialisiert einen Bluetooth USB-Stick und erkennt sichtbare externe Geräte.
Sobald Geräte aus/in Reichweite gelangen, wird die Liste aktualisiert.

returns "True" oder "False", für Erfolg oder Fehler bei Konfiguration einer Bluetooth Schnittstelle.

InRange
Ereignisaufruf wenn ein Bluetooth Gerät in Reichweite gelangt (Scheint unerwartet zu feuern).

LastDevice
Ermittelt das letzte Gerät in- oder außerhalb der Reichweite.

LastError
Ermittelt die letzte Fehlermeldung. Fehlermeldungen können für verschiedene Fehlfunktionen gesetzt sein.

OutOfRange
Ereignisaufruf wenn ein Bluetooth Gerät außer Reichweite gelangt (Scheint nicht wie beabsichtigt zu funktionieren).

ReceiveData()
Empfängt (holt) Daten von einem Bluetooth Gerät (Erweitertes Feature).
Das Gerät muß initialisiert und verbunden sein. Die Codierung sollte ebenfalls gesetzt sein.

returns Ein String empfangener Zeichen bei Erfolg, sonst "".

ReceiveFile(fileName)
Empfängt (holt) eine Datei von einem angeschlossenen externen Bluetooth Gerät.
Zuerst muß Initialisierung erfolgen, dann Setzen des Gerätes.

fileName Der Ort zum Speichern der empfangenen Datei.
returns Eine Ergebnis Statusmeldung, "True" oder "False".

SendData(data)
Sendet Daten an ein Bluetooth Gerät (Erweitertes Feature).
Das Gerät muß initialisiert und verbunden sein. Die Codierung sollte ebenfalls gesetzt sein.

data Ein String zu sendender Zeichen.
returns Eine Ergebnis Statusmeldung, "True" oder "False".

SendFile(fileName)
Sendet eine Datei an ein angeschlossenes externes Bluetooth Gerät.
Zuerst muß Initialisierung erfolgen, dann Setzen des Gerätes.

fileName Die zu sendende Datei.
returns Eine Ergebnis Statusmeldung, "True" oder "False".

Service
Ermittelt oder setzt den aktuellen Bluetooth Dienst (Erweitertes Feature).

LDCall
(Rekursiver) Aufruf von Funktionen (Subs auch als Variablen) mit 1-5 optionalen Argumenten, mit/ohne Rückgabewert(e), bzw. asynchron von einer beliebigen Extension oder vorkompilierten SB Exe.
s. LDCall.Function für weitere Infos.

example other-samples\LDCall.sb, LDCallAsync.sb

args = ""
a = 3
b = 4
sum = LDCall.Function2("Addition", a,b)

Sub Addition
return = args[1] + args[2]
EndSub


CallAsync CallComplete CallInclude
Compile Function Function2
Function3 Function4 Function5
Include LastCall LastResult

CallAsync(dll,extension,obj,method,arguments)
Asynchroner Aufruf einer Extension Methode oder Programm Sub.
Sind 'dll', 'extension', 'obj' und 'arguments' alle "", dann kann 'method' eine Sub im SB Programm sein.

dll Die Extension Dll (zB. "LitDev.dll" oder "SmallBasicLibrary.dll") oder "".
extension Der Namespace der Extension (gewöhnlich wie Dll Name, zB. "LitDev" oder "Microsoft.SmallBasic.Library" in SmallBasicLibrary.dll) oder "".
obj Der Name des Extension Objekts (zB. "LDCall") oder "".
method Der Name der Extension Methode (zB. "Function") oder Name einer Sub im Programm (s.o., LDCall.Include).
arguments Ein Array mit Argumenten zur Übergabe oder "" für ohne. Ein einzelnes Argument muß nicht als Array übergeben werden.
returns "PENDING" bei Erfolg, sonst eine Fehlermeldung.
example other-samples\LDCallAsync.sb

CallComplete
Ereignisaufruf wenn der Aufruf einer asynchronen Methoden-Sub beendet ist.

CallInclude(include,method)
Aufruf einer Methode in einer eingebundenen vorkompilierten Assembly Datei.
include Der Name der eingebundenen Datei (Rückgabewert von 'Include' Methode, Intern: Include#).
method Der Name der aufzurufenden Sub Methode in der eingebundenen Exe.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

Compile(path)
Kompiliert eine angegebene SB Quelldatei in deren Elternordner (incl. Kontrolle auf Existenz und Änderungszeit der .exe).
Voraussetzung ist, daß SmallBasic im Standardpfad für das aktuelle Betriebssystem installiert ist.

path Der volle Pfad für die zu kompilierende SB Quelldatei (.sb).
returns Der Pfad der kompilierten Programmdatei (.exe) bei Erfolg, sonst "" (zB. .exe Änderungszeit >1 sec).

Function(funcName,arg1)
Aufruf einer SB Sub als Funktion mit 1 Übergabeargument, oder Sub als Variablenname.
Alle Variablen (Rückgabewerte) bleiben global. Eingabeargument(e) wird(en) in Array 'args' kopiert.
Ein (optionales) Ergebnis wird innerhalb der Sub in Variable (od. Array) 'return' übergeben.
Die Variable (Array) 'args' muß bei Programmstart mit "" belegt werden.
Eingabeparameter bleibt(en) unverändert, während 'args' und 'return' nach Rückgabe auf "" gesetzt werden.
Achtung: NICHT schachteln (2. LDCall aus LDCall-Sub), wegen überkreuzender Rückgabewerte.

funcName Der Name der aufzurufenden SB Sub in "" (auch als Variable).
arg1 Der Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als optionale Variable "return" oder Fehlermeldung zurückgegeben.
example 'Aufruf der Subs Func1 bis Func3:
For n = 1 to 3
LDCall.Function("Func"+n, "")
EndFor

Sub Func1
...
EndSub

Sub fUNC2
...
EndSub
'usw.


Function2(funcName,arg1,arg2)
Aufruf einer SB Sub als Funktion mit 2 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.

funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb

Function3(funcName,arg1,arg2,arg3)
Aufruf einer SB Sub als Funktion mit 3 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.

funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb

Function4(funcName,arg1,arg2,arg3,arg4)
Aufruf einer SB Sub als Funktion mit 4 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.

funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
arg4 4. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb

Function5(funcName,arg1,arg2,arg3,arg4,arg5)
Aufruf einer SB Sub als Funktion mit 5 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.

funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
arg4 4. Eingabewert (oder Array).
arg5 5. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb

Include(path)
Lädt/Referenziert ein anderes, zuvor kompiliertes SB Programm(.exe) zur Verwendung einer darin enthaltenden Sub(routine) Methode (Intern: Include#).
Zum Methodenaufruf s. CallInclude.
Zur Argumentübergabe globale Variablennamen (Rückgabewerte) in beiden Programmen verwenden.

path Der volle Pfad des untergeordneten, kompilierten SB Programmes(.exe) zur Verwendung als Assembly.
returns Der Name der eingebundenen Assembly Datei bei Erfolg, sonst "".

LastCall
Ermittelt den Name des letzen asynchronen Aufrufs (als "Namespace.Objekt.Methode(arg)" bei Methode, sonst "SubName()").

LastResult
Ermittelt den Rückgabewert des letzten asynchronen Aufrufs, sonst "".

LDChart
Methoden zur Darstellung von Daten als Kreis-/Tortendiagramm, Zeilen oder Histogramm.
example other-samples\LDChart.sb
http://blogs.msdn.microsoft.com/smallbasic/2014/11/15/small-basic-chart-extension/


AddChart ColourMap DoughnutFraction
Highlight HighlightDuration LastChart
LastLabel Legend Properties
SetData Update ValueClicked

AddChart(width,height)
Fügt ein Kreisdiagramm im GraphicsWindow hinzu (Intern: Control#).
Aktuelle GraphicsWindow.BackgroundColor wird für den Hintergrund verwendet.
Aktuelle GraphicsWindow.PenColor und -.Font.. Eigenschaften werden für die Textbezeichnung verwendet, zB:
GraphicsWindow.FontName = "Segoe UI"
GraphicsWindow.FontBold = "False"

width Die Breite des Chart Steuerelementes.
height Die Höhe des Chart Steuerelementes.
returns Der Name der Chart Shape.

ColourMap(chartName,hue,saturation,lightness,hsl,start,end,centralColour)
Setzt die Farbgebung für ein Kreisdiagramm.
chartName Der Name der Chart.
hue Ein Farbton (0 bis 360 [Grad], Standard: 0 für Rot).
saturation Eine Farbsättigung (Intensität 0 bis 1, Standard: 0.5).
lightness Eine rel. Helligkeit (0 bis 1, Standard: 0.5).
hsl Der Parameter für Farbabstufung der verschiedenen Segmente mit den Optionen:
"Hue" (Standard) Regenbogenfarben
"Saturation" steigende Farbintensität
"Lightness" steigende Helligkeit

start Startwert für Farbvariation im Bereich [0 bis 1] (Standard: 0).
end Endwert für Farbvariation im Bereich [0 bis 1] (Standard: 1).
centralColour Farbe für optionalen kreisförmigen Farbgradient zentriert auf der Chart (Standard: "").

DoughnutFraction
Ermittelt oder setzt den radialen Faktor für Sektorausschub beim 'Doughnut'-Chart Stil (Standard: 0.7).

Highlight(chartName,label,fraction)
Hebt ein Diagrammelement hervor (Sektor wird ausgerückt).
chartName Der Name des Charts.
label Die Beschriftung für das Segment.
fraction Radialer Faktor für Sektorausschub des ausgerückten Elementes (0 für zurücksetzen).

HighlightDuration
Ermittelt oder setzt die Animationsdauer [ms] für die Hervorhebung/Ausrückung (Standard: 100).

LastChart
Ermittelt den Name des zuletzt geklickten Chart Steuerelementes.

LastLabel
Ermittelt die Beschriftung des zuletzt geklickten Chartsegments.

Legend(chartName,scale,legend,background)
Setzt Eigenschaften für die Legende zu den Sektoren.
chartName Der Name der Chart.
scale Der Skalierungsfaktor für Legende und Textbezeichnungen (Standard: 1).
legend Der Stil der Legende mit den Optionen:
"None" Ohne Legende
"Legend" Eigenständige Legende
"Overlay" Name überlagert Sektor
"Percent" Prozentsatz überlagert Sektor
"Legend_Percent" (Standard) Separate Legende UND Prozentsatz überlagert Sektor.

background Farbiger Texthintergrund für Legende Beschriftung? "True" oder "False" (Standard).

Properties(chartName,style,scale)
Setzt die Eigenschaften für ein Kreisdiagramm.
chartName Der Name der Chart.
style Der Chartstil mit den Optionen:
"Pie" Kreis (Standard)
"Doughnut" Ring
"Bubble" Einzelkreise
"Bar" Zeilen
"Column" Histogramm

scale Der Skalierungsfaktor für die Chart (Standard: 1).

SetData(chartName,data)
Setzt die Daten für ein Kreisdiagramm.
chartName Der Name der Chart.
data Die zu setzenden Daten als 1D Array, indexiert durch die Elementnamen, zB.
data["Fred"] = 25
data["Mary"] = 15
data["John"] = 40


Update(chartName)
Neuzeichnen (aktualisieren) eines Charts.
Setzt alle hervorgehoben Segmente zurück oder betrifft alle geänderten Chart Eigenschaften.

chartName Der Name der Chart.

ValueClicked
Ereignisaufruf bei Anklicken eines Chartsegments.

LDClient
Server- und Klient Kommunikation zwischen Computern.
Für Server und Klient sind separate Programme erforderlich. Diese Klasse ist für den Klient (Intern: Client#). S.a. LDServer.

example client-server\*.sb

CheckServer CloseDelay Connect
Disconnect Disconnected GetClients
LastServerMessage Name SendMessage
ServerMessage UpdateDynamic UpdateStatic

CheckServer(server)
Testet ob ein Server für eine Verbindung zur Verfügung steht.
Diese Methode nicht mit hoher Frequenz (> 1x/sec) aufrufen.

server Die Server Verbindung als "IP:Port" (zB. "192.168.1.60:100").
Dieser Wert wird von von LDServer.Start zurückgegeben.

returns "AVAILABLE" oder "UNAVAILABLE".

CloseDelay
Ermittelt oder setzt eine Verzögerung [ms] (Standard: 100) bei Trennung, um das Senden einer Nachricht zu erlauben, bevor die Verbindung getrennt wird (Disconnect).
Diese Verzögerung sollte auch für den Server (LDServer.CloseDelay) gesetzt werden.


Connect(server,auto)
Verbindet zu einem Server.
server Die Server Verbindung als "IP:Port" (zB. "192.168.1.60:100").
Dieser Wert wird von 'LDServer.Start' zurückgegeben.

auto Automatiche Nachrichtenübergabe? "True" oder "False".
Bei (empfohlener) Verwendung werden alle Klientdaten via Server an alle anderen Klienten übergeben
und es ist keine weitere Verarbeitung von Senden- und Empfangen Ereignissen erforderlich.
Die Daten werden in Arrays (indexiert durch Klientname) aktualisiert, die von den 'Update..' Methoden zurückgegeben werden.
Die 'auto' Option sollte für Server und alle Klienten gleich sein.

returns "SUCCESS", "FAILED" oder "ALREADY_CONNECTED".

Disconnect()
Trennt den Klient vom Server ab.
returns "SUCCESS", "FAILED" oder "NOT_CONNECTED".

Disconnected
Ereignisaufruf wenn der Server diesen Klient abtrennt.

GetClients()
Ermittelt eine Liste aller aktuell verbundenen Klienten.
returns Ein Array mit aktuellen Klientnamen oder "" für 'keiner'.

LastServerMessage
Ermittelt die letzte Server Nachricht.

Name
Ermittelt oder setzt den eigenen Klientname.

SendMessage(message)
Sendet eine Nachricht an den Server.
message Die Nachricht. Kann eine beliebige Variable (auch Array) sein.
returns "SUCCESS", "FAILED" oder "NOT_CONNECTED".

ServerMessage
Ereignisaufruf wenn der Server eine Nachricht an diesen Klient sendet.

UpdateDynamic(data)
Aktualisiert Klientdaten bei Verwendung der 'auto' Nachrichtenübergabe (LDClient.Connect).
Verwendung für kleinere Anzahl von häufig wechselnden Daten (zB. Sprite Koordinaten).
Diese Methode verwendet klientseitg zuletzt aktualisierte Daten und ist dafür schnell.

data Die Daten dieses Klienten zur Übergabe an andere Klienten.
returns Ein Array (indexiert durch Klientname) mit aktuellen Daten für jeden existierenden Klient.

UpdateStatic(data)
Aktualisiert Klientdaten bei Verwendung der 'auto' Nachrichtenübergabe.
Verwendung für größere Anzahl von selten wechselnden Daten (zB. Klient Konfiguration).
Diese Methode verwendet serverseitig gespeicherte und abgerufene Daten.
Kann langsamer als UpdateDynamic sein, da auf serverseitig abgerufene Daten gewartet wird,
um sicherzustellen, daß alle Klientdaten voll synchronisiert werden.

data Die Daten dieses Klienten zur Übergabe an andere Klienten.
returns Ein Array (indexiert durch Klientname) mit aktuellen Daten für jeden existierenden Klient.

LDClipboard
Methoden zur Verwendung der System Zwischenablage.
example other-samples\LDClipboard.sb

Clear ClipboardChanged GetFileList
GetImage GetText ImageTransparency
SetFileList SetImage SetText

Clear()
Löscht den Inhalt der Zwischenablage. 'ClipboardChanged' Event wird immer ausgelöst.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

ClipboardChanged
Ereignisaufruf bei Statusänderung in der Zwischenablage.

GetFileList()
Ermittelt alle Pfade von Datei-/Ordnerobjekt(en) in der Zwischenablage als Array.
returns Ein Array mit Datei-/Ordnerpfad(en) oder "FAILED".

GetImage()
Lädt ein Bild von der Zwischenablage in ImageList (Intern: ImageList#+1).
returns Der Name des neuen Bildes in ImageList oder "FAILED".

GetText()
Ermittelt Text aus der Zwischenablage.
returns Der Text aus der Zwischenablage oder "FAILED".

ImageTransparency
Ermittelt oder setzt die Verwendung eines erweiterten Bildformats für 'SetImage', welches Transparenz unterstützt? "True" (Standard) oder "False".
Dieses Bildformat wird ev. von manchen Anwendungen (zB. ClipboardViewer) beim Einfügen nicht erkannt.
Ist ev. vor Aufruf von LDClipboard.SetImage zu setzen.


SetFileList(fileList)
Setzt mittels einer Liste von Pfaden deren Datei-/Ordnerobjekt(e) in die Zwischenablage.
fileList Ein einzelner Pfad oder Array mit vollen Datei-/Ordnerpfaden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

SetImage(imageName)
Setzt ein ImageList Bild in die Zwischenablage (bzgl. Transparenz s. 'ImageTransparency').
'ClipboardChanged' Event wird immer ausgelöst.

imageName Der Name des ImageList Bildes.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

SetText(text)
Setzt einen angegebenen Text in die Zwischenablage. 'ClipboardChanged' Event wird immer ausgelöst.
text Der in die Zwischenablage zu kopierende Text.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

LDColours
Bietet Standard SB-Farben und farbbezogene Methoden.
(LDColours.)Farbname steht für HexWert #(AA)RRGGBB einer SB-Farbe (bzw. #00FFFFFF für Transparent).
Farbeingabe als (LDColours.)Farbname oder "#(AA)RRGGBB" (s. LDDialogs.Colour, LDUtilities.ColourList) für 141 CSS3 Farben (incl. Transparent).
#RGB (=> #RRGGBB = #FFRRGGBB) für 216 Websichere Farben.

example 3D-samples\LD3DMazeGame.sb
http://msdn.microsoft.com/library/System.Windows.Media.Colors.aspx
http://i.msdn.microsoft.com/dynimg/IC24340.png


AliceBlue AntiqueWhite Aqua
Aquamarine Azure Beige
Bisque Black BlanchedAlmond
Blue BlueViolet Brown
BurlyWood CadetBlue Chartreuse
Chocolate Coral CornflowerBlue
Cornsilk Crimson Cyan
DarkBlue DarkCyan DarkGoldenrod
DarkGray DarkGreen DarkKhaki
DarkMagenta DarkOliveGreen DarkOrange
DarkOrchid DarkRed DarkSalmon
DarkSeaGreen DarkSlateBlue DarkSlateGray
DarkTurquoise DarkViolet DeepPink
DeepSkyBlue DimGray DodgerBlue
Firebrick FloralWhite ForestGreen
Fuchsia Gainsboro GetBlue
GetGreen GetHue GetLightness
GetOpacity GetRed GetSaturation
GhostWhite Gold Goldenrod
Gray Green GreenYellow
Honeydew HotPink HSLtoRGB
IndianRed Indigo Ivory
Khaki Lavender LavenderBlush
LawnGreen LemonChiffon LightBlue
LightCoral LightCyan LightGoldenrodYellow
LightGray LightGreen LightPink
LightSalmon LightSeaGreen LightSkyBlue
LightSlateGray LightSteelBlue LightYellow
Lime LimeGreen Linen
Magenta Maroon MediumAquamarine
MediumBlue MediumOrchid MediumPurple
MediumSeaGreen MediumSlateBlue MediumSpringGreen
MediumTurquoise MediumVioletRed MidnightBlue
MintCream MistyRose Moccasin
NavajoWhite Navy OldLace
Olive OliveDrab Orange
OrangeRed Orchid PaleGoldenrod
PaleGreen PaleTurquoise PaleVioletRed
PapayaWhip PeachPuff Peru
Pink Plum PowderBlue
Purple Red RosyBrown
RoyalBlue SaddleBrown Salmon
SandyBrown SeaGreen SeaShell
SetOpacity Sienna Silver
SkyBlue SlateBlue SlateGray
Snow SpringGreen SteelBlue
Tan Teal Thistle
Tomato Transparent Turquoise
Violet Wheat White
WhiteSmoke Yellow YellowGreen

AliceBlue
#F0F8FF - RGB: 240,248,255 (HSL: 208,1,0.97)

AntiqueWhite
Antikweiß
#FAEBD7 - RGB: 250,235,215 (HSL: 34.29,0.78,0.91)


Aqua
Türkis, HTML4 Farbe, Websafe
#00FFFF - RGB: 0,255,255 (HSL: 180,1,0.5), s. Cyan, 11=Cyan in TW


Aquamarine
Aquamarin
#7FFFD4 - RGB: 127,255,212 (HSL: 159.84,1,0.75)


Azure
Azurblau
#F0FFFF - RGB: 240,255,255 (HSL: 180,1,0.97)


Beige
Beige
#F5F5DC - RGB: 245,245,220 (HSL: 60,0.56,0.91)


Bisque
Fischcreme
#FFE4C4 - RGB: 255,228,196 (HSL: 32.54,1,0.88)


Black
Schwarz, HTML4 Farbe, Websafe
#000000 - RGB: 0,0,0 (HSL: 0,0,0), 0=Black in TW


BlanchedAlmond
Mandel blanchiert
#FFEBCD - RGB: 255,235,205 (HSL: 36,1,0.9)


Blue
Blau, HTML4 Farbe, Websafe
#0000FF - RGB: 0,0,255 (HSL: 240,1,0.5), 9=Blue in TW


BlueViolet
Blauviolett
#8A2BE2 - RGB: 138,43,226 (HSL: 271.15,0.76,0.53)


Brown
Braun
#A52A2A - RGB: 165,42,42 (HSL: 0,0.59,0.41)


BurlyWood
Wurzelholz
#DEB887 - RGB: 222,184,135 (HSL: 33.79,0.57,0.7)


CadetBlue
Kadettenblau
#5F9EA0 - RGB: 95,158,160 (HSL: 181.85,0.25,0.5)


Chartreuse
Blass Apfelgrün
#7FFF00 - RGB: 127,255,0 (HSL: 90.12,1,0.5)


Chocolate
Schokolade
#D2691E - RGB: 210,105,30 (HSL: 25,0.75,0.47)


Coral
Koralle
#FF7F50 - RGB: 255,127,80 (HSL: 16.11,1,0.66)


CornflowerBlue
Kornblumenblau
#6495ED - RGB: 100,149,237 (HSL: 218.54,0.79,0.66)


Cornsilk
Maisfaden
#FFF8DC - RGB: 255,248,220 (HSL: 48,1,0.93)


Crimson
Karmesinrot
#DC143C - RGB: 220,20,60 (HSL: 348,0.83,0.47)


Cyan
Cyan, HTML4 Farbe, Websafe
#00FFFF - RGB: 0,255,255 (HSL: 180,1,0.5), s. Aqua, 11=Cyan in TW


DarkBlue
Dunkelblau
#00008B - RGB: 0,0,139 (HSL: 240,1,0.27)


DarkCyan
Dunkelcyan
#008B8B - RGB: 0,139,139 (HSL: 180,1,0.27)


DarkGoldenrod
Dunkel Goldrute
#B8860B - RGB: 184,134,11 (HSL: 42.66,0.89,0.38)


DarkGray
Dunkelgrau (heller als Gray)
#A9A9A9 - RGB: 169,169,169 (HSL: 0,0,0.66)


DarkGreen
Dunkelgrün
#006400 - RGB: 0,100,0 (HSL: 120,1,0.2)


DarkKhaki
Dunkelkhaki
#BDB76B - RGB: 189,183,107 (HSL: 55.61,0.38,0.58)


DarkMagenta
Dunkelmagenta
#8B008B - RGB: 139,0,139 (HSL: 300,1,0.27)


DarkOliveGreen
Dunkelolivgrün
#556B2F - RGB: 85,107,47 (HSL: 82,0.39,0.3)


DarkOrange
Dunkelorange
#FF8C00 - RGB: 255,140,0 (HSL: 32.94,1,0.5)


DarkOrchid
Dunkelorchidee
#9932CC - RGB: 153,50,204 (HSL: 280.13,0.61,0.5)


DarkRed
Dunkelrot
#8B0000 - RGB: 139,0,0 (HSL: 0,1,0.27)


DarkSalmon
Dunkel Lachsrosa
#E9967A - RGB: 233,150,122 (HSL: 15.14,0.72,0.7)


DarkSeaGreen
Dunkel Meergrün
#8FBC8F - RGB: 143,188,143 (HSL: 120,0.25,0.65)


DarkSlateBlue
Dunkel Schieferblau
#483D8B - RGB: 72,61,139 (HSL: 248.46,0.39,0.39)


DarkSlateGray
Dunkel Schiefergrau
#2F4F4F - RGB: 47,79,79 (HSL: 180,0.25,0.25)


DarkTurquoise
Dunkeltürkis
#00CED1 - RGB: 0,206,209 (HSL: 180.86,1,0.41)


DarkViolet
Dunkelviolett
#9400D3 - RGB: 148,0,211 (HSL: 282.09,1,0.41)


DeepPink
Dunkel-/Tiefrosa
#FF1493 - RGB: 255,20,147 (HSL: 327.57,1,0.54)


DeepSkyBlue
Tiefhimmelblau
#00BFFF - RGB: 0,191,255 (HSL: 195.06,1,0.5)


DimGray
Gedämpftes Grau
#696969 - RGB: 105,105,105 (HSL: 0,0,0.41)


DodgerBlue
Dodgerblau
#1E90FF - RGB: 30,144,255 (HSL: 209.6,1,0.56)


Firebrick
Ziegelrot
#B22222 - RGB: 178,34,34 (HSL: 0,0.68,0.42)


FloralWhite
Blütenweiß
#FFFAF0 - RGB: 255,250,240 (HSL: 40,1,0.97)


ForestGreen
Waldgrün
#228B22 - RGB: 34,139,34 (HSL: 120,0.61,0.34)


Fuchsia
Fuchsie, HTML4 Farbe, Websafe
#FF00FF - RGB: 255,0,255 (HSL: 300,1,0.5), s. Magenta, 13=Magenta in TW


Gainsboro
#DCDCDC - RGB: 220,220,220 (HSL: 0,0,0.86)

GetBlue(colour)
Ermittelt den Blauanteil einer Farbe.
colour Farbe deren Blauanteil zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Der Blauanteil (0 bis 255).

GetGreen(colour)
Ermittelt den Grünanteil einer Farbe.
colour Farbe deren Grünanteil zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Der Grünanteil (0 bis 255).

GetHue(colour)
Ermittelt den Farbton (Hue) einer Farbe im HSL Farbraum (zB. "Transparent" ergibt 0).
colour Farbe deren Farbton (Hue) zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Der Farbton (0 bis 360 [Grad], mit 0 = 360 = Red).

GetLightness(colour)
Ermittelt die relative Helligkeit (Lightness) einer Farbe im HSL Farbraum (zB. "Transparent" ergibt 1).
colour Farbe deren relative Helligkeit (Lightness) zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Die rel. Helligkeit [0,1] für [Black,White], wobei L = (Max(R,G,B) + Min(R,G,B))/2/255.
example Hellwert (Value) im HSV Farbraum: V = Max(R,G,B)/255 = 2*L - Min(R,G,B)/255 [0,1].

GetOpacity(colour)
Ermittelt die Deckkraft (Alphawert) einer Farbe (zB. "Transparent" ergibt 0).
colour Farbe deren Deckkraft zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Die Deckkraft der Farbe (0 bis 255). 0 ist völlig transparent (#00) und 255 ist völlig deckend (#FF).
example Farbdeckkraft [%] = GetOpacity * 100/255

GetRed(colour)
Ermittelt den Rotanteil einer Farbe.
colour Farbe deren Rotanteil zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Der Rotanteil (0 bis 255).

GetSaturation(colour)
Ermittelt die Sättigung (Saturation) einer Farbe im HSL Farbraum (zB. "Transparent" ergibt 0).
colour Farbe deren Sättigung (Saturation) zu ermitteln ist, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
returns Die Farbsättigung [0,1] für [Gray,hell].

GhostWhite
Phantomweiß
#F8F8FF - RGB: 248,248,255 (HSL: 240,1,0.99)


Gold
Gold
#FFD700 - RGB: 255,215,0 (HSL: 50.59,1,0.5)


Goldenrod
Goldrute
#DAA520 - RGB: 218,165,32 (HSL: 42.9,0.74,0.49)


Gray
Grau, HTML4 Farbe
#808080 - RGB: 128,128,128 (HSL: 0,0,0.5), 8=DarkGray in TW


Green
Grün, HTML4 Farbe
#008000 - RGB: 0,128,0 (HSL: 120,1,0.25), 2=DarkGreen in TW


GreenYellow
Grüngelb
#ADFF2F - RGB: 173,255,47 (HSL: 83.65,1,0.59)


Honeydew
Honigtau
#F0FFF0 - RGB: 240,255,240 (HSL: 120,1,0.97)


HotPink
Warmrosa
#FF69B4 - RGB: 255,105,180 (HSL: 330,1,0.71)


HSLtoRGB(H,S,L)
Konvertiert HSL Farbwerte aus Farbton, Sättigung, relative Helligkeit (Hue, Saturation, Lightness = HSL) zu üblichen Rot, Grün, Blau Werten (RGB), wie in SB verwendet.
H Farbton / Hue (0 bis 360 [Grad], mit 0 = 360 = Red). Automatisch begrenzt auf [0,360].
S Sättigung / Saturation (0 bis 1, Gray bis satt). Automatisch begrenzt auf [0,1].
L Rel. Helligkeit / Lightness (0 bis 1, Black bis White). Automatisch begrenzt auf [0,1].
returns Die RGB Farbe als #RRGGBB HexWert.
example http://de.wikipedia.org/wiki/HSV-Farbraum

IndianRed
Indischrot
#CD5C5C - RGB: 205,92,92 (HSL: 0,0.53,0.58)


Indigo
Indigoblau
#4B0082 - RGB: 75,0,130 (HSL: 274.62,1,0.25)


Ivory
Elfenbein
#FFFFF0 - RGB: 255,255,240 (HSL: 60,1,0.97)


Khaki
Khaki
#F0E68C - RGB: 240,230,140 (HSL: 54,0.77,0.75)


Lavender
Lavendel
#E6E6FA - RGB: 230,230,250 (HSL: 240,0.67,0.94)


LavenderBlush
Lavendelblut
#FFF0F5 - RGB: 255,240,245 (HSL: 340,1,0.97)


LawnGreen
Rasengrün
#7CFC00 - RGB: 124,252,0 (HSL: 90.48,1,0.49)


LemonChiffon
Zitronenchiffon
#FFFACD - RGB: 255,250,205 (HSL: 54,1,0.9)


LightBlue
Hellblau
#ADD8E6 - RGB: 173,216,230 (HSL: 194.74,0.53,0.79)


LightCoral
Hellkoralle
#F08080 - RGB: 240,128,128 (HSL: 0,0.79,0.72)


LightCyan
Hellcyan
#E0FFFF - RGB: 224,255,255 (HSL: 180,1,0.94)


LightGoldenrodYellow
Hell Goldrutengelb
#FAFAD2 - RGB: 250,250,210 (HSL: 60,0.8,0.9)


LightGray
Hellgrau
#D3D3D3 - RGB: 211,211,211 (HSL: 0,0,0.83)


LightGreen
Hellgrün
#90EE90 - RGB: 144,238,144 (HSL: 120,0.73,0.75)


LightPink
Hellrosa (dunkler als Pink)
#FFB6C1 - RGB: 255,182,193 (HSL: 350.96,1,0.86)


LightSalmon
Hell Lachs
#FFA07A - RGB: 255,160,122 (HSL: 17.14,1,0.74)


LightSeaGreen
Hell Meergrün
#20B2AA - RGB: 32,178,170 (HSL: 176.71,0.7,0.41)


LightSkyBlue
Hell Himmelblau
#87CEFA - RGB: 135,206,250 (HSL: 202.96,0.92,0.75)


LightSlateGray
Hell Schiefergrau
#778899 - RGB: 119,136,153 (HSL: 210,0.14,0.53)


LightSteelBlue
Hell Stahlblau
#B0C4DE - RGB: 176,196,222 (HSL: 213.91,0.41,0.78)


LightYellow
Hellgelb
#FFFFE0 - RGB: 255,255,224 (HSL: 60,1,0.94)


Lime
Limette, HTML4 Farbe, Websafe
#00FF00 - RGB: 0,255,0 (HSL: 120,1,0.5), 10=Green in TW


LimeGreen
Limettengrün
#32CD32 - RGB: 50,205,50 (HSL: 120,0.61,0.5)


Linen
Leinen
#FAF0E6 - RGB: 250,240,230 (HSL: 30,0.67,0.94)


Magenta
Magenta, HTML4 Farbe, Websafe
#FF00FF - RGB: 255,0,255 (HSL: 300,1,0.5), s. Fuchsia, 13=Magenta in TW


Maroon
Kastanienbraun, HTML4 Farbe
#800000 - RGB: 128,0,0 (HSL: 0,1,0.25), 4=DarkRed in TW


MediumAquamarine
Mittel Aquamarin
#66CDAA - RGB: 102,205,170 (HSL: 159.61,0.51,0.6)


MediumBlue
Mittelblau
#0000CD - RGB: 0,0,205 (HSL: 240,1,0.4)


MediumOrchid
Mittel Orchidee
#BA55D3 - RGB: 186,85,211 (HSL: 288.1,0.59,0.58)


MediumPurple
Mittel Purpurrot/Lila
#9370DB - RGB: 147,112,219 (HSL: 259.63,0.6,0.65)


MediumSeaGreen
Mittel Meergrün
#3CB371 - RGB: 60,179,113 (HSL: 146.72,0.5,0.47)


MediumSlateBlue
Mittel Schieferblau
#7B68EE - RGB: 123,104,238 (HSL: 248.51,0.8,0.67)


MediumSpringGreen
Mittel Frühlingsgrün
#00FA9A - RGB: 0,250,154 (HSL: 156.96,1,0.49)


MediumTurquoise
Mitteltürkis
#48D1CC - RGB: 72,209,204 (HSL: 177.81,0.6,0.55)


MediumVioletRed
Mittel Violettrot
#C71585 - RGB: 199,21,133 (HSL: 322.25,0.81,0.43)


MidnightBlue
Mitternachtsblau
#191970 - RGB: 25,25,112 (HSL: 240,0.64,0.27)


MintCream
Minzcreme
#F5FFFA - RGB: 245,255,250 (HSL: 150,1,0.98)


MistyRose
Nebelrose
#FFE4E1 - RGB: 255,228,225 (HSL: 6,1,0.94)


Moccasin
Mokassin
#FFE4B5 - RGB: 255,228,181 (HSL: 38.11,1,0.85)


NavajoWhite
Navajoweiß
#FFDEAD - RGB: 255,222,173 (HSL: 35.85,1,0.84)


Navy
Marineblau, HTML4 Farbe
#000080 - RGB: 0,0,128 (HSL: 240,1,0.25), 1=DarkBlue in TW


OldLace
Alte Spitze
#FDF5E6 - RGB: 253,245,230 (HSL: 39.13,0.85,0.95)


Olive
Oliv, HTML4 Farbe
#808000 - RGB: 128,128,0 (HSL: 60,1,0.25), 6=DarkYellow in TW


OliveDrab
Olivgrün, Braunoliv
#6B8E23 - RGB: 107,142,35 (HSL: 79.63,0.6,0.35)


Orange
Orange
#FFA500 - RGB: 255,165,0 (HSL: 38.82,1,0.5)


OrangeRed
Orchidee

Orchid
#DA70D6 - RGB: 218,112,214 (HSL: 302.26,0.59,0.65)

PaleGoldenrod
Blass Goldrute
#EEE8AA - RGB: 238,232,170 (HSL: 54.71,0.67,0.8)


PaleGreen
Blassgrün
#98FB98 - RGB: 152,251,152 (HSL: 120,0.93,0.79)


PaleTurquoise
Blasstürkis
#AFEEEE - RGB: 175,238,238 (HSL: 180,0.65,0.81)


PaleVioletRed
Blass Violettrot
#DB7093 - RGB: 219,112,147 (HSL: 340.37,0.6,0.65)


PapayaWhip
Papaya Sahne
#FFEFD5 - RGB: 255,239,213 (HSL: 37.14,1,0.92)


PeachPuff
Pfirsichhauch
#FFDAB9 - RGB: 255,218,185 (HSL: 28.29,1,0.86)


Peru
#CD853F - RGB: 205,133,63 (HSL: 29.58,0.59,0.53)

Pink
Rosa
#FFC0CB - RGB: 255,192,203 (HSL: 349.52,1,0.88)


Plum
Pflaumenblau
#DDA0DD - RGB: 221,160,221 (HSL: 300,0.47,0.75)


PowderBlue
Pulverblau
#B0E0E6 - RGB: 176,224,230 (HSL: 186.67,0.52,0.8)


Purple
Purpurrot, Lila, HTML4 Farbe
#800080 - RGB: 128,0,128 (HSL: 300,1,0.25), 5=DarkMagenta in TW


Red
Rot, HTML4 Farbe, Websafe
#FF0000 - RGB: 255,0,0 (HSL: 0,1,0.5), 12=Red in TW


RosyBrown
Rosigbraun
#BC8F8F - RGB: 188,143,143 (HSL: 0,0.25,0.65)


RoyalBlue
Königsblau
#4169E1 - RGB: 65,105,225 (HSL: 225,0.73,0.57)


SaddleBrown
Sattelbraun
#8B4513 - RGB: 139,69,19 (HSL: 25,0.76,0.31)


Salmon
Lachsrosa
#FA8072 - RGB: 250,128,114 (HSL: 6.18,0.93,0.71)


SandyBrown
Sandbraun
#F4A460 - RGB: 244,164,96 (HSL: 27.57,0.87,0.67)


SeaGreen
Meergrün
#2E8B57 - RGB: 46,139,87 (HSL: 146.45,0.5,0.36)


SeaShell
Muschelschale
#FFF5EE - RGB: 255,245,238 (HSL: 24.71,1,0.97)


SetOpacity(colour,opacity)
Setzt die Deckkraft (Alphawert) einer Farbe, zB. Konvertierung von (LDColours.)Farbname zu #AARRGGBB.
colour Die zu ändernde Farbe, zB. (LDColours.)Farbname oder #(AA)RRGGBB.
opacity Deckkraft (0 bis 255). 0 ist völlig transparent (#00) und 255 ist völlig deckend (#FF).
returns Die geänderte Farbe als #AARRGGBB HexWert.
example Farbdeckkraft [%] = opacity * 100/255

Sienna
Ockergelb
#A0522D - RGB: 160,82,45 (HSL: 19.3,0.56,0.4)


Silver
Silber, HTML4 Farbe
#C0C0C0 - RGB: 192,192,192 (HSL: 0,0,0.75), 7=Gray in TW


SkyBlue
Himmelblau
#87CEEB - RGB: 135,206,235 (HSL: 197.4,0.71,0.73)


SlateBlue
Schieferblau
#6A5ACD - RGB: 106,90,205 (HSL: 248.35,0.53,0.58)


SlateGray
Schiefergrau
#708090 - RGB: 112,128,144 (HSL: 210,0.13,0.5)


Snow
Schneeweiß
#FFFAFA - RGB: 255,250,250 (HSL: 0,1,0.99)


SpringGreen
Frühlingsgrün
#00FF7F - RGB: 0,255,127 (HSL: 149.88,1,0.5)


SteelBlue
Stahlblau
#4682B4 - RGB: 70,130,180 (HSL: 207.27,0.44,0.49)


Tan
Hellbraun
#D2B48C - RGB: 210,180,140 (HSL: 34.29,0.44,0.69)


Teal
Blaugrün, HTML4 Farbe
#008080 - RGB: 0,128,128 (HSL: 180,1,0.25), 3=DarkCyan in TW


Thistle
Distel
#D8BFD8 - RGB: 216,191,216 (HSL: 300,0.24,0.8)


Tomato
Tomate
#FF6347 - RGB: 255,99,71 (HSL: 9.13,1,0.64)


Transparent
#00FFFFFF - ARGB: 0,255,255,255 (HSL: 0,0,1)

Turquoise
Türkis
#40E0D0 - RGB: 64,224,208 (HSL: 174,0.72,0.56)


Violet
Violett
#EE82EE - RGB: 238,130,238 (HSL: 300,0.76,0.72)


Wheat
Weizen
#F5DEB3 - RGB: 245,222,179 (HSL: 39.09,0.77,0.83)


White
Weiß, HTML4 Farbe
#FFFFFF - RGB: 255,255,255 (HSL: 0,0,1), 15=White in TW


WhiteSmoke
Weißer Rauch
#F5F5F5 - RGB: 245,245,245 (HSL: 0,0,0.96)


Yellow
Gelb, HTML4 Farbe, Websafe
#FFFF00 - RGB: 255,255,0 (HSL: 60,1,0.5), 14=Yellow in TW


YellowGreen
Gelbgrün
#9ACD32 - RGB: 154,205,50 (HSL: 79.74,0.61,0.5)


LDCommPort
Sendet und empfängt Daten über einen seriellen Port.
(Originalcode von Nino Carrillo)


AvailablePorts ClosePort DataReceived
ErrorReceived LastError LastPort
OpenPort RXAll RXByte
RXChar SetDataBits SetEncoding
SetHandshake SetParity SetStopBits
SwapPort TXByte TXString

AvailablePorts()
Listet alle verfügbaren seriellen Ports auf.
returns Ein Array mit den Namen aller verfügbaren seriellen Ports oder "".

ClosePort()
Schliesst den geöffneten seriellen Port.
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

DataReceived
Ereignisaufruf wenn der serielle Port Daten empfängt.

ErrorReceived
Ereignisaufruf wenn der serielle Port einen Fehler empfängt.

LastError
Ermittelt den letzten Fehler, für den ein Fehlerereignis ausgelöst wurde.

LastPort
Ermittelt den letzten Portname, für den ein Ereignis ausgelöst wurde.

OpenPort(portName,baudRate)
Öffnet einen seriellen Port. Setzt 8 Datenbits voraus, keine Parität.
portName Der Identifikationsstring für den zu öffnenden Port als "COM#", zB. "COM3".
baudRate Die ganzzahlige Baud-Rate (zB. 9600).
returns "SUCCESS" bei Erfolg, sonst "NOSERIALPORTS", "PORTNOTFOUND" oder "CONNECTIONFAILED".

RXAll()
Liest alle vorhandenen Bytes aus dem Eingabepuffer des geöffneten Ports.
returns Ein String mit Bytes bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

RXByte()
Liest ein Byte vom geöffneten seriellen Port und gibt dessen Wert als Ganzzahl zurück.
returns Eine Ganzzahl (0 bis 255) bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

RXChar()
Liest ein Byte vom geöffneten seriellen Port und gibt dessen Wert als Unicode Zeichen zurück.
returns Das Unicode Zeichen bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SetDataBits(dataBits)
Setzt Datenbits für den aktuellen Port. 5 bis 8 (Standard).
dataBits Die Datenbits: 5 bis 8 (Standard).
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SetEncoding(encoding)
Setzt die Kodierung für Textumwandlung beim Senden und Empfangen für den aktuellen Port.
encoding Die Kodierung: "Ascii" (Standard), "Unicode", "UTF7", "UTF8", "UTF32" oder "BigEndianUnicode".
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SetHandshake(handshake)
Schaltet die 'Hardware FlowControl' für den aktuellen Port an oder aus.
handshake "H" Hardware FlowControl
"HX" Hard- und Software FlowControl
"X" Software FlowControl
Sonstiges Zeichen zum Entfernen

returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SetParity(parity)
Setzt die Parität für den aktuellen Port.
parity Die Parität: "None" (Standard), "Even", "Mark", "Odd" oder "Space".
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SetStopBits(stopBits)
Setzt Stopbits für den aktuellen Port.
stopBits Die Stopbits: "One" (Standard), "None", "OnePointFive" oder "Two".
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

SwapPort(portName)
Vertauscht den aktuell aktiven Port mit einem zuvor geöffneten Port.
portName Ein bereits geöffneter Port als String.
returns "SUCCESS" bei Erfolg, sonst "PORTNOTFOUND".

TXByte(dataByte)
Sendet ein Byte an den seriellen Port.
dataByte Das zu sendende Byte.
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

TXString(dataString)
Sendet eine Zeichenfolge an den seriellen Port.
dataString Die zu sendende Zeichenfolge.
returns "SUCCESS" bei Erfolg, sonst "NOCONNECTION" oder "FAILED".

LDController
Ermittelt Eingaben von einem oder mehreren Game Controllern am USB-Anschluss (zB. Joystick oder GamePad).
Bei mehr als einem angeschlossenen Gerät, werden diese ab 1 durchnummeriert.

SlimDX (Net 4.0) Laufzeit-Dll muß installiert sein, um dieses Objekt zu verwenden (http://slimdx.org/download.php).


Buttons Count Position
POV Rotation Sliders

Buttons(controller)
Ermittelt den 'Gedrückt' Status für Controller Buttons.
controller Eine Controller Nummer am USB-Anschluss (zB. Joystick oder GamePad) indexiert ab 1.
returns Ein Array von Buttonstatus ("True" oder "False").

Count
Ermittelt die Anzahl angeschlossener USB Controller.

Position(controller)
Ermittelt die Position für einen Joystick Controller.
controller Eine Controller Nummer am USB-Anschluss (zB. Joystick oder GamePad) indexiert ab 1.
returns Ein Array von (X,Y,Z) Positionswerten (-100 bis 100).

POV(controller)
Ermittelt die POV (PointOfView) für Controller.
controller Eine Controller Nummer am USB-Anschluss (zB. Joystick oder GamePad) indexiert ab 1.
returns Ein Array von (X,Y,Z) POV Werten [Grad].

Rotation(controller)
Ermittelt die Rotation für einen Joystick Controller.
controller Eine Controller Nummer am USB-Anschluss (zB. Joystick oder GamePad) indexiert ab 1.
returns Ein Array von (X,Y,Z) Rotationswerten (-100 bis 100).

Sliders(controller)
Ermittelt die Schieberposition für Controller Slider.
controller Eine Controller Nummer am USB-Anschluss (zB. Joystick oder GamePad) indexiert ab 1.
returns Ein Array von Sliderpositionen (0 bis 100).

LDControls
Steuerelemente für das GraphicsWindow (Intern: Control#).
example other-samples\DragDrop.sb, ListBox.sb, MediaPlayer.sb, RadioButtons.sb, RichTextBox.sb, RightClickMenu.sb, TreeView.sb

AddBrowser AddCheckBox AddComboBox
AddContextMenu AddDataView AddDocumentViewer
AddListBox AddListView AddMediaPlayer
AddMenu AddPasswordBox AddProgressBar
AddRadioButton AddRichTextBox AddSlider
AddTreeView AllowDrop BrowserHistory
BrowserNavigate BrowserPageLoaded BrowserSetURL
CheckBoxChanged CheckBoxGetState CheckBoxState
ComboBoxContent ComboBoxGetSelected ComboBoxItemChanged
ComboBoxSelect ContextMenuClicked DataViewAllowSort
DataViewAllowUserEntry DataViewButtonClicked DataViewCellValueChanged
DataViewClear DataViewColAlignment DataViewColumnReadOnly
DataViewColumnSort DataViewColumnVisible DataViewColumnWidths
DataViewDeleteRow DataViewGetFocus DataViewGetRow
DataViewGetSelected DataViewGetValue DataViewReadFromCSV
DataViewRowColours DataViewRowCount DataViewSaveAsCSV
DataViewSelectionChanged DataViewSetColumnButton DataViewSetColumnCheckBox
DataViewSetColumnComboBox DataViewSetFocus DataViewSetRow
DataViewSetValue DocumentViewerLoadXPS FileDropped
LastBrowser LastBrowserPage LastCheckBox
LastCheckBoxState LastComboBox LastComboBoxIndex
LastContextControl LastContextItem LastDataBaseTable
LastDataView LastDataViewButtonClicked LastDataViewCellValueChanged
LastDropFiles LastDropShape LastListBox
LastListBoxIndex LastListView LastListViewRow
LastMediaPlayer LastMenuControl LastMenuItem
LastPassword LastPasswordBox LastRadioButton
LastRadioButtonGroup LastRichTextBox LastSlider
LastSliderValue LastTreeView LastTreeViewIndex
ListBoxContent ListBoxGetSelected ListBoxItemChanged
ListBoxSelect ListBoxSelectionMode ListViewClear
ListViewColAlignment ListViewDeleteRow ListViewEdit
ListViewGetRow ListViewRowCount ListViewSelectionChanged
ListViewSetRow MediaPlayerEnded MediaPlayerLoad
MediaPlayerOpened MediaPlayerPause MediaPlayerPlay
MediaPlayerPlayTime MediaPlayerPosition MediaPlayerSeek
MediaPlayerSpeed MediaPlayerStop MediaPlayerStretch
MediaPlayerVolume MenuBackground MenuChecked
MenuClicked PasswordEntered ProgressBarValue
RadioButtonClicked RadioButtonGet RadioButtonSet
RichTextBoxCaseSensitive RichTextBoxClear RichTextBoxDefault
RichTextBoxFontBackground RichTextBoxFontBold RichTextBoxFontFamily
RichTextBoxFontForeground RichTextBoxFontItalic RichTextBoxFontSize
RichTextBoxFontUnderline RichTextBoxGetText RichTextBoxIndentToTab
RichTextBoxLoad RichTextBoxMargins RichTextBoxReadOnly
RichTextBoxSave RichTextBoxSelection RichTextBoxSetText
RichTextBoxTextAlignment RichTextBoxTextTyped RichTextBoxWord
SetButtonStyle SetCursorPosition SetCursorToEnd
SetSpellCheck SliderChanged SliderGetValue
SliderMaximum SliderValue TextBoxReadOnly
TextBoxTab TreeViewContent TreeViewEdit
TreeViewExpand TreeViewGetData TreeViewGetSelected
TreeViewItemChanged TreeViewSelect

AddBrowser(width,height,url)
Fügt ein WebBrowser Steuerelement im GraphicsWindow hinzu. AllowDrop ist voraktiviert (Intern: Control#).
Anzeige (lokaler) Webseiten (htm, mht, xht), Dokumente (pdf, xps), Text- (sb, txt, utf8, xml usw.; ini zuvor umbenennen) Media- (swf, flv), Bilddateien (bmp, gif, ico, svg usw.) oder Ordner (C:\Temp, cab, zip, ftp).
'BrowserPageLoaded' Ereignis wird ausgelöst, außer bei Ordner ("file:///Ordner" oder "ftp://").

width Die Breite des Browserelementes.
height Die Höhe des Browserelementes.
url Die im Browser zu ladende Webadresse oder lokaler Pfad (zB. "http://smallbasic.com", "litdev.co.uk", "file:///C:\Pfad\[Datei.ext]", "ftp://ftp.microsoft.com/").
returns Der Name des Browser Steuerelementes.

AddCheckBox(title)
Fügt ein CheckBox Steuerelement im GraphicsWindow hinzu (Intern: Control#). B: 17 (Text ""), H: 15.
title Der Titel rechts neben der CheckBox oder "".
returns Der Name der CheckBox Shape.

AddComboBox(list,width,height)
Fügt ein ComboBox Steuerelement im GraphicsWindow hinzu (Intern: Control#).
Akzeptiert (nach Auswahl) Pfeiltasten, 'Pos1' und 'Ende' zum Durchscrollen der Optionen.
Linksbündige Anzeige aller Einträge (Text wie Zahl).

list Ein Array mit den ComboBox Daten.
Der Arrayindex ist die Reihe/Knotennummer und Arraywert ist der Anzeigetext im aktuellen Knoten:
liste[1] = "Option 1"
liste[2] = "Option 2"
liste[3] = "Option 3"
liste[4] = "Option 4"

width Die Breite der ComboBox (mind. 20, Buttonstandardhöhe bei Standard-FontSize 12: 20).
height Die DropDown Höhe der ComboBox (Standard: 0).
returns Der Name der ComboBox Shape.

AddContextMenu(shapeName,items,images)
Fügt einem Steuerelement oder Shape (welches Kontextmenüs unterstützt) ein Rechtsklick Kontextmenü hinzu (s.a. LDDialogs.AddRightClickMenu).
shapeName Der Name der Shape/Steuerelement.
items Ein Array von Auswahltexten für jeden Kontextmenüpunkt.
images Optionaler Array von Bildsymbolen, jeder oder alle können "" sein (Standardgröße 32x32 Pxl).
Dies können Rückgabenamen von ImageList.LoadImage, lokale oder Netzwerk- Bilddateien sein.


AddDataView(width,height,headings)
Fügt ein DataView Steuerelement zum GraphicsWindow hinzu (Intern: Control#).
Alle Zeilen und Spalten sind ab 1 indexiert. Daten setzen durch Doppelklick in Zelle, 'DataViewSetRow' oder 'DataViewSetValue'.
Zellenfarbe wählbar mit 'LDShapes.PenColour'.
Spaltenbreite automat. nach längster Zelle (incl. Titel).
Liegt immer über allen anderen Objekten im GraphicsWindow (Z-Index).
Rechtsklick Kontextmenü:
C̲opy Selected Rows
D̲elete Selected Rows
S̲elect All Strg A
C̲opy Strg C
P̲aste Strg V

width Die Breite der DataView (Scrollleiste wird ev. angezeigt).
height Die Höhe der DataView (Zeilenhöhe ca. 20). Ev. größer setzen als erwartete Höhe (Toleranz), später erst mit Controls.SetSize skalieren).
headings Die Spaltentitel der DataView als Array.
returns Der Name der DataView Shape.
example other-samples\DataView.sb

AddDocumentViewer(width,height)
Fügt ein DocumentViewer Steuerelement (mit Symbolleiste und Suchfunktion) hinzu (Intern: Control#).
Damit können Xps Dokumente (MS Version von Pdf) angezeigt werden.
AllowDrop ist voraktiviert.

width Die Breite des DocumentViewers.
height Die Höhe des DocumentViewers.
returns Der Name der DocumentViewer Shape.

AddListBox(list,width,height)
Fügt ein ListBox Steuerelement im GraphicsWindow hinzu (Intern: Control#).
Akzeptiert (nach Auswahl) Pfeiltasten 'Up' und 'Down', 'Pos1' und 'Ende' zum Durchscrollen der Zeilen.

list Ein Array mit den ListBox Daten.
Der Arrayindex ist die Reihe/Knotennummer und Arraywert ist der Anzeigetext im aktuellen Knoten:
liste[1] = "Option 1"
liste[2] = "Option 2"
liste[3] = "Option 3"
liste[4] = "Option 4"

Alternativ auch ein LDArray oder eine LDList.

width Die Breite der ListBox.
height Die Höhe der ListBox.
returns Der Name der ListBox Shape.

AddListView(width,height,headings)
Fügt ein ListView Steuerelement im GraphicsWindow hinzu (Intern: Control#, s.a. LDDataBase.AddListView).
width Die Breite der ListView.
height Die Höhe der ListView.
headings Ein Array mit den Spaltentiteln für die ListView.
returns Der Name der ListView Shape.

AddMediaPlayer(width,height)
Fügt ein MediaPlayer Steuerelement (Abspielen von Musik, Videos usw.) im GraphicsWindow hinzu. AllowDrop ist voraktiviert (Intern: Control#).
width Die Breite des MediaPlayers (Standard: 0).
height Die Höhe des MediaPlayers (Standard: 0).
returns Der Name der MediaPlayer Shape.
example other-samples\MediaPlayer.sb

AddMenu(width,height,menuList,iconList,checkList)
Fügt ein Menüleiste Steuerelement im GraphicsWindow hinzu (Intern: Control#).
Farbgebung durch LDShapes.BrushColour bzw. MenuBackground für Untermenüs.

width Die Breite der Menüleiste.
height Die Höhe der Menüleiste (22 bei Standard Schrifteigenschaften).
menuList Ein Array mit den Menüpunkten. Index ist der Anzeigename im Menü und Wert ist der Anzeigename der übergeordneten Ebene.
Der Anzeigename der obersten Ebene sollte "Main" sein. Alle Namen dürfen nur einmalig vergeben werden, da diese beim Klick-Ereignis zurückgegeben werden.
Trennung ist "-", "--", "---" usw. Diese muß einmalig sein und kann nicht ausgewählt werden.
menuList["Datei"] = "Main"
menuList["Öffnen"] = "Datei"
menuList["-"] = "Datei"
menuList["Ende"] = "Datei"
menuList["Hilfe"] = "Main"
menuList["Hilfe zeigen"] = "Hilfe"

iconList Optionaler Array von Symbolbildern (Url oder ImageList) bzw. "" für ohne:
iconList["Datei"] = dir+"\Symbol.png"

checkList Optionaler Array für auswählbare Punkte oder "" für keine (Haken, nicht exclusiv).
Der Wert ist der anfängliche Auswahlstatus ("True", "False" oder "" für ohne Statusanzeige):
checkList["Hilfe zeigen"] = "True"

returns Der Name der Menüleiste Shape.

AddPasswordBox(width,height,length)
Fügt ein PasswordBox Steuerelement hinzu (Intern: Control#).
TextBox ohne Anzeige eingegebener Zeichen. 'PasswordEntered' Ereignis wird erst nach Drücken der Eingabetaste ausgelöst.

width Die Breite der PasswordBox.
height Die Höhe der PasswordBox.
length Die maximale Zeichenanzahl für das einzugebene Passwort.
returns Der Name der PasswordBox Shape.

AddProgressBar(width,height,orientation)
Fügt ein Fortschrittsanzeige Steuerelement (Werte 0-100 [%]) hinzu (Intern: Control#).
width Die Breite der ProgressBar.
height Die Höhe der ProgressBar.
orientation Horizontal oder vertikal? "H" (Standard) oder "V".
returns Der Name der ProgressBar Shape.

AddRadioButton(title,group)
Fügt ein RadioButton Steuerelement im GraphicsWindow hinzu. Standard: BxH = 16x15 ohne Text (Intern: Control#).
Je Gruppe kann nur ein RadioButton aktiv gesetzt sein (XOR exklusiv).

title Der Titel rechts neben dem RadioButton oder "".
group Der Gruppenname für den RadioButton in "".
returns Der Name der RadioButton Shape.

AddRichTextBox(width,height)
Fügt eine RichTextBox im GraphicsWindow hinzu. AllowDrop ist voraktiviert. Anzeige von rtf und Textdateien (Intern: Control#).
Bei Bedarf rechte/untere Scrollleiste (Breite: 18).

width Die Breite der RichTextBox.
height Die Höhe der RichTextBox.
returns Der Name der RichTextBox Shape.
example other-samples\RichTextBox.sb

AddSlider(width,height,orientation)
Fügt ein Schieberegler Steuerelement (Standard: 0 - 100 bzw. SliderMaximum) hinzu (Intern: Control#).
Erlaubt Cursortasten Left|Down, Right|Up (um -/+0.1%), sowie PageUp/Next (um -/+1%), Home/End (zu 0/100%).

width Die Breite des Sliders ("V" Optimalbreite 22).
height Die Höhe des Sliders ("H" Optimalhöhe 22).
orientation Horizontal oder vertikal? "H" (Standard) oder "V".
returns Der Name der Slider Shape.

AddTreeView(tree,width,height)
Fügt ein Baumansicht Steuerelement im GraphicsWindow hinzu (Intern: Control#).
Akzeptiert (nach Auswahl) Pfeiltasten, 'Pos1' und 'Ende' zum Durchscrollen der Knoten.

tree Ein 2D Array mit den TreeView Daten:
Der erste Index ist die Reihe/Knotennummer.
Der zweite Index ist der Index des Elternknoten des aktuellen Knoten (0 für oberste Ebene).
Der Arraywert ist der angezeigte Text im betreffenden Knoten:
baum[1][0] = "Ebene 1"
baum[2][1] = "Ebene 1 1"
baum[3][1] = "Ebene 1 2"
baum[4][0] = "Ebene 2"

width Die Breite der TreeView.
height Die Höhe der TreeView.
returns Der Name der TreeView Shape.

AllowDrop(shapeName)
Setzt eine Shape um darauf 'Ziehen&Ablegen' (Drag&Drop) zu erlauben.
Folgende UI-Elemente werden unterstützt, um (* ohne) FileDropped Ereignis darauf abgelegte Datei(en)/Ordner zu verarbeiten:
+ Datei-/Orderpfad auf TextBox bzw. mehrere Datei-/Ordnerpfade (als Array) auf MultiLineTextBox oder Textshape.
+ Bilddatei auf Bildshape oder "Background" für GW-Hintergrund (Bildansicht).
* Zu öffnende Datei auf RichTextBox (voraktiviert, Textansicht).
* Anzuzeigendes Xps Dokument in DocumentViewer (voraktiviert).
* Mediendateien für MediaPlayer (wenn gültiges Medium bereits geladen, voraktiviert).
* Anzuzeigendes Dokument oder Url in Browser (voraktiviert).

shapeName Der Name der Shape für Dateiablage (LD3DView Shape NICHT).
"Background" (automat. DrawResizedImage(bild,0,0,gw,gh) ohne FileDropped Ereignis).


BrowserHistory(shapeName)
Ermittelt alle zuvor geladenen Adressen im Browserverlauf als Array.
Jede Adresse ist nur einmalig gelistet in der Reihenfolge des Erstbesuchs aber spiegelt nicht die konkrete Adressreihenfolge.

shapeName Der Name des Browser Steuerelementes.
returns Ein Array mit den URLs/Pfaden des Verlaufs.

BrowserNavigate(shapeName,direction)
Navigiert im Inhaltsverlauf eines Browsers um eine Adresse vor (F) oder zurück (B) in der Besuchsreihenfolge. 'BrowserPageLoaded' Ereignis wird immer ausgelöst.
shapeName Der Name des Browser Steuerelementes.
direction "B" oder "F" für Rück-/Vorwärts in 'BrowserHistory'.

BrowserPageLoaded
Ereignisaufruf beim Laden einer Browserseite.

BrowserSetURL(shapeName,url)
Setzt den Inhalt/Adresse für ein WebBrowser Steuerelement. 'BrowserPageLoaded' Ereignis wird immer ausgelöst.
shapeName Der Name des Browser Steuerelementes.
url Die im Browser zu ladende Webadresse oder lokaler Pfad (zB. "http://smallbasic.com", "litdev.co.uk", "file:///C:\Pfad\[Datei.ext]", "ftp://ftp.microsoft.com/").

CheckBoxChanged
Ereignisaufruf bei Anklicken einer Checkbox (an-/abhaken).

CheckBoxGetState(shapeName)
Ermittelt den Auswahlstatus einer CheckBox.
shapeName Der Name der CheckBox Form.
returns Der Status der CheckBox ("True" oder "False").

CheckBoxState(shapeName,state)
Setzt den Auswahlstatus für eine CheckBox. Bei einer Statusänderung wird auch 'CheckBoxChanged' Event ausgelöst.
shapeName Der Name der CheckBox Form.
state Der CheckBox Auswahlstatus ("True" oder "False").

ComboBoxContent(shapeName,list)
Ersetzt/Aktualisiert die Liste in einer ComboBox.
shapeName Der Name der ComboBox Shape.
list Ein Array mit den ComboBox Daten.
Der Arrayindex ist die Reihe/Knotennummer und Arraywert ist der Anzeigetext am aktuellen Knoten:
liste[1] = "Option 1"
liste[2] = "Option 2"
liste[3] = "Option 3"
liste[4] = "Option 4"


ComboBoxGetSelected(shapeName)
Ermittelt den aktuell gewählten Knoten in einer ComboBox.
shapeName Der Name der ComboBox.
returns Der gewählte Knoten in der ComboBox (Arrayindex, Standard: 1).

ComboBoxItemChanged
Ereignisaufruf bei Auswahländerung in einer ComboBox oder Anklicken des gewählten Elementes.

ComboBoxSelect(shapeName,node)
Setzt einen Knoten in einer ComboBox als Auswahl.
shapeName Der Name der ComboBox.
node Der auszuwählende Knoten (Arrayindex, Standard: 1).

ContextMenuClicked
Ereignisaufruf bei Auswahl eines Rechtsklick-Kontextmenupunktes in einer Form oder Steuerelement .

DataViewAllowSort(shapeName,allow)
Erlaubt Spaltensortierung in einer DataView bei Mausklick auf einen Spaltentitel.
shapeName Der Name der DataView.
allow Sortierung erlauben? "True" (Standard) oder "False".
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewAllowUserEntry(shapeName,allow)
Setzt die Benutzereingabe von Daten in der untersten Zeile einer DataView.
Bei "False" wird diese Zeile auch ausgeblendet.

shapeName Der Name der DataView.
allow Benutzereingabe von Daten zulassen? "True" (Standard) oder "False".
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewButtonClicked
Ereignisaufruf bei Anklicken eines DataView Button.

DataViewCellValueChanged
Ereignisaufruf bei Änderung eines Zellenwertes in einer DataView, nachdem dieser übernommen wurde (zB. Auswahl außerhalb der Zelle).

DataViewClear(shapeName)
Löscht alle Zeilen in einer DataView.
shapeName Der Name der DataView.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewColAlignment(shapeName,col,alignment)
Setzt die Anzeigeausrichtung für eine gesamte Spalte in einer DataView.
shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
alignment Die Ausrichtung:
"Left" linksbündig (Standard)
"Center" zentriert
"Right" rechtsbündig

returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewColumnReadOnly(shapeName,col,readOnly)
Setzt Schreibschutz für eine Spalte in einer DataView.
shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
readOnly Schreibschutz setzen? "True" oder "False" (Standard).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewColumnSort(shapeName,col,ascending)
Sortiert die Einträge einer DataView nach einer bestimmten Spalte.
shapeName Der Name der DataView.
col Die Spaltennummer nach der sortiert wird (ab 1).
ascending Sortierrichtung? Aufsteigend ("True") oder absteigend ("False", Standard).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewColumnVisible(shapeName,col,visible)
Setzt die Sichtbarkeit für eine Spalte in einer DataView (nicht für linke Indexspalte).
Verwendung um zB. die ID Spalte einer Datenbank zu verbergen.

shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
visible Spalte anzeigen? "True" (Standard) oder "False".
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewColumnWidths(shapeName,widths)
Setzt die Spaltenbreiten in einer DataView (Linke Indexspalte: 60 Pxl Breite).
shapeName Der Name der DataView.
widths Ein Array mit den einzelnen Spaltenbreiten [Pxl] ("" zur Auto-Anpasssung).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewDeleteRow(shapeName,row)
Löscht eine gesamte Datenzeile aus einem DataView Steuerelement.
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewGetFocus(shapeName)
Ermittelt die aktuell fokusierte Zelle in einer DataView.
shapeName Der Name der DataView.
returns Ein 1D Array mit aktuell fokusierter Zeilen- und Spaltennummer ("1=Zeile#;2=Spalte#;"), sonst "".

DataViewGetRow(shapeName,row)
Ermittelt eine gesamte Datenzeile in einem DataView Steuerelement.
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
returns Ein Array mit einzelnen Zellenwerten (einer pro Spalte) bei Erfolg, sonst "".

DataViewGetSelected(shapeName)
Ermittelt eine Liste aller ausgewählten Zellen in einer DataView.
shapeName Der Name der DataView.
returns Die aktuell gewählten Zeilen und Spalten als 2D Array:
zellen[1][1] = zeile# bzw.
zellen[1][2] = spalte# 'Zelle1


DataViewGetValue(shapeName,row,col)
Ermittelt den Wert in einer angegebenen Zelle einer DataView.
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
col Die Spaltennummer (ab 1).
returns Der Zellenwert oder "".

DataViewReadFromCSV(shapeName,fileName,append)
Fügt Daten aus einer CSV (comma separated values) Textdatei in ein DataView Steuerelement ein.
shapeName Der Name der DataView.
fileName Der volle Pfad der CSV Datei.
append Daten am Ende der DataView anfügen? "True" oder "False".
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewRowColours(shapeName,row,background,foreground)
Setzt Hinter- und Vordergrundfarbe für eine Datenzeile in einer DataView.
Die entsprechenden Zeilen müssen bereits definiert/gesetzt sein.

shapeName Der Name der DataView.
row Die Zeilennummer oder 0 (alle Zeilen abwechselnd).
background Die Hintergrundfarbe.
foreground Die Text-/Vordergrundfarbe (PenColour).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewRowCount(shapeName)
Ermittelt die Zeilenanzahl in einem DataView Steuerelement.
shapeName Der Name der DataView.
returns Die Anzahl der Zeilen.

DataViewSaveAsCSV(shapeName,fileName,append)
Speichert die Gesamtdaten einer DataView in eine CSV (comma separated values) Textdatei.
shapeName Der Name der DataView.
fileName Der volle Pfad der CSV Datei.
append Daten am Ende der CSV Datei anfügen? "True" oder "False".
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSelectionChanged
Ereignisaufruf bei Auswahländerung in einer DataView.
Wird nicht ausgelöst für DataView(SetColumn) Button Klicks, dafür 'DataViewButtonClicked' verwenden.
Wird nicht ausgelöst für DataView(SetColumn) CheckBox oder -ComboBox Klicks, dafür 'DataViewCellValueChanged' verwenden.


DataViewSetColumnButton(shapeName,col)
Ändert ein Spaltenelement einer DataView zu Button(s). Für Ereignis s. DataViewButtonClicked.
Dies sollte gesetzt werden bevor Daten hinzugefügt werden, nach Erstellung der DataView.
Ist die DataView an die Datenbank gebunden, dann nach dem Setzen von LDDataBase.EditTable setzen.
Die Daten in diesen Zellen werden zu den Buttontiteln.

shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSetColumnCheckBox(shapeName,col)
Ändert ein Spaltenelement einer DataView zu CheckBox(en). Für Ereignis s. DataViewCellValueChanged.
Dies sollte gesetzt werden bevor Daten hinzugefügt werden, nach Erstellung der DataView.
Ist die DataView an die Datenbank gebunden, dann nach dem Setzen von LDDataBase.EditTable setzen.
Die Daten für diese Zellen sollten "True" oder "False" beinhalten.

shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSetColumnComboBox(shapeName,col,data)
Ändert eine Spalte in einer DataView zu ComboBox(en) mit wählbaren Werten. Für Ereignis s. DataViewCellValueChanged.
Sollte gesetzt werden bevor Daten eingetragen werden, nach Erstellung der DataView.
Ist die DataView an die Datenbank gebunden, dann nach dem Setzen von LDDataBase.EditTable setzen.
Die zu ermittelnden/setzenden Zellendaten sind die unter 'data' Parameter gesetzten Arraywerte.

shapeName Der Name der DataView.
col Die Spaltennummer (ab 1).
data Die gewählten Daten für die ComboBox(en) als Array.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSetFocus(shapeName,row,col)
Setzt den Fokus auf eine angegebene Zelle in einer DataView.
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
col Die Spaltennummer (ab 1).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSetRow(shapeName,row,values)
Setzt eine Datenzeile in einem DataView Steuerelement (hinzu).
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
Ist diese Zeilennummer höher als die aktuelle Zeilenanzahl, wird eine neue Zeile angefügt, sonst werden vorhandene Zeilendaten überschrieben.

values Ein Array mit einzelnen Zellenwerten (einer pro Spalte).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DataViewSetValue(shapeName,row,col,value)
Setzt den Wert in einer angegebenen Zelle einer DataView.
shapeName Der Name der DataView.
row Die Zeilennummer (ab 1).
col Die Spaltennummer (ab 1).
value Der zu setzende Wert.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

DocumentViewerLoadXPS(shapeName,fileName)
Lädt eine Xps Datei zur Ansicht in einen DocumentViewer.
shapeName Der Name der DocumentViewer Shape.
fileName Der volle Pfad der zu ladenden und anzuzeigenden Xps Datei.

FileDropped
Ereignisaufruf wenn Datei(en) oder Ordner auf ein Steuerelement oder Bildshape (per AllowDrop) gezogen&abgelegt wurde(n).

LastBrowser
Ermittelt den Name der letzten Browser Shape, worin eine Seite geladen wurde.

LastBrowserPage
Ermittelt die letzte geladene Browserseite (Url oder file:///C:/lokale/Datei.ext), nachdem die Seite vollständig geladen ist.

LastCheckBox
Ermittelt den Name der zuletzt geklickten CheckBox (An- oder Abwahl).

LastCheckBoxState
Ermittelt den Auswahlstatus ("True" oder "False") der zuletzt geklickten CheckBox.

LastComboBox
Ermittelt den Name der letzten ComboBox mit Auswahländerung.

LastComboBoxIndex
Ermittelt den gewählten Index (Knotennummer) für die letzte ComboBox mit Auswahländerung.

LastContextControl
Ermittelt das Steuerelement/Shape mit dem letzten gewählten Rechtsklick-Kontextmenüpunkt.

LastContextItem
Ermittelt den Arrayindex der Kontextauswahl im letzten Steuerelement/Shape mit gewähltem Rechtsklick-Kontextmenüpunkt.

LastDataBaseTable
Ermittelt den Name der letzten Datenbank Tabelle, für welche Auswahländerung in einer DataView stattfand.

LastDataView
Ermittelt den Name der letzen DataView mit Auswahländerung.

LastDataViewButtonClicked
Ermittelt Zeile, Spalte und Wert des zuletzt geklickten DataView Button als 3-elementigen Array.

LastDataViewCellValueChanged
Ermittelt Zeile, Spalte und Wert der letzten Zelle einer DataView, deren Wert geändert wurde, als 3-elementigen Array.

LastDropFiles
Ermittelt die Pfad(en) der zuletzt 'gezogen&abgelegten' Datei(en) als Array.

LastDropShape
Ermittelt den Name der Shape, worauf zuletzt eine Datei 'gezogen&abgelegt' wurde (zB. Background, Image#, usw.).

LastListBox
Ermittelt den Name der letzten ListBox mit Auswahländerung.

LastListBoxIndex
Ermittelt den gewählten Index (Knotennummer) für die letzte ListBox mit Auswahländerung.

LastListView
Ermittelt den Name der letzten ListView mit Auswahländerung.

LastListViewRow
Ermittelt die zuletzt gewählte Zeilennummer in einer ListView.

LastMediaPlayer
Ermittelt den Name des letzten MediaPlayer, für den ein Ereignis stattfand.

LastMenuControl
Ermittelt den Name des letzten Menü Steuerelementes mit Auswahländerung.

LastMenuItem
Ermittelt den Name des zuletzt gewählten Menüpunktes in einem Menü Steuerelement.

LastPassword
Ermittelt das zuletzt in eine PasswordBox eingegebene Passwort.

LastPasswordBox
Ermittelt den Name der letzten PasswordBox mit Eingabeereignis (Eingabetaste gedrückt).

LastRadioButton
Ermittelt den Name für den letzten gewählten RadioButton.

LastRadioButtonGroup
Ermittelt den Gruppenname für den zuletzt gewählten RadioButton.

LastRichTextBox
Ermittelt den Name der RichTextBox, in der zuletzt Text geschrieben/eingefügt/geändert wurde.

LastSlider
Ermittelt den Name des letzten Sliders mit Auswahländerung.

LastSliderValue
Ermittelt den Wert des zuletzt aktiven Sliders (Std: 0-100 bzw. 0-SliderMaximum, 13 Dezimalen).

LastTreeView
Ermittelt den Name der letzten TreeView mit Auswahländerung.

LastTreeViewIndex
Ermittelt den Index (Knotennummer) in der letzten TreeView mit Auswahländerung.

ListBoxContent(shapeName,list)
Ersetzt/Aktualisiert eine ListBox Liste.
shapeName Der Name der ListBox Shape.
list Ein Array mit den ListBox Daten.
Der Arrayindex ist die Reihe/Knotennummer und Arraywert ist der Anzeigetext am aktuellen Knoten:
liste[1] = "Option 1"
liste[2] = "Option 2"
liste[3] = "Option 3"
liste[4] = "Option 4"

Alternativ auch ein LDArray oder eine LDList.


ListBoxGetSelected(shapeName)
Ermittelt den gewählten Knoten in einer ListBox (Arrayindex).
shapeName Der Name der ListBox.
returns Die ausgewählte Knotennummer(n) in der ListBox.
Bei Mehrfachauswahl (s. ListBoxSelectionMode) ein Array mit Knotennummern oder "" für keine Auswahl.


ListBoxItemChanged
Ereignisaufruf bei Auswahländerung in einer ListBox oder Anklicken des gewählten Elementes.

ListBoxSelect(shapeName,node)
Wählt einen oder mehrere Knoten in einer ListBox.
shapeName Der Name der ListBox.
node Die auszuwählende Knotennummer(n) gemäß Arrayindex.
Bei Mehrfachauswahl ein Array mit Knotennummern (s. ListBoxSelectionMode).


ListBoxSelectionMode(shapeName,mode)
Setzt den Auswahlmodus für eine ListBox.
shapeName Der Name der ListBox.
mode Ein Modus von:
"Single" Einzelauswahl (Standard)
"Multiple" Mehrfachauswahl mit [Strg] Taste
"Extended" Erweiterte Auswahl mit [Strg]+[Umschalt] Tasten


ListViewClear(shapeName)
Entfernt alle Zeilen aus einem ListView Steuerelement.
shapeName Der Name der ListView.

ListViewColAlignment(shapeName,col,alignment)
Setzt die Anzeigeausrichtung für eine Spalte in einer ListView.
shapeName Der Name der ListView.
col Die Spaltennummer (ab 1).
alignment Die Ausrichtung:
"Left" linksbündig (Standard)
"Center" zentriert
"Right" rechtsbündig


ListViewDeleteRow(shapeName,row)
Löscht eine Datenzeile aus einem ListView Steuerelement.
shapeName Der Name der ListView.
row Die Zeilennummer (ab 1).
Ist diese Zeilennummer höher als die aktuelle Zeilenanzahl, wird keine Aktion durchgeführt.


ListViewEdit(shapeName,editable)
Setzt den 'Bearbeiten' Status für die Zellen in einer ListView.
shapeName Der Name der ListView.
editable "True" (TextBoxen zur Bearbeitung) oder "False" (nicht bearbeitbare Textblöcke, Standard).

ListViewGetRow(shapeName,row)
Ermittelt eine Datenzeile in einem ListView Steuerelement.
shapeName Der Name der ListView.
row Die Zeilennummer (ab 1).
returns Ein Array mit den Werten (ein Wert pro Spalte) bei Erfolg, sonst "".

ListViewRowCount(shapeName)
Ermittelt die Spaltenanzahl in einem ListView Steuerelement.
shapeName Der Name der ListView.
returns Die Anzahl der Spalten in der ListView.

ListViewSelectionChanged
Ereignisaufruf bei Auswahländerung in einer ListView.

ListViewSetRow(shapeName,row,values)
Fügt eine Datenzeile in einem ListView Steuerelement hinzu.
shapeName Der Name der ListView.
row Die Zeilennummer (ab 1).
Ist diese Zeilennummer höher als die aktuelle Zeilenanzahl, wird eine neue Zeile hinzugefügt. Ansonst werden die Zeilendaten überschrieben.

values Ein Array mit den Werten (ein Wert pro Spalte).

MediaPlayerEnded
Ereignisaufruf wenn ein MediaPlayer das Abspielen des aktuellen Mediums beendet.

MediaPlayerLoad(shapeName,media)
Lädt ein Medium in ein MediaPlayer Steuerelement.
shapeName Der Name des MediaPlayers.
media Das zu ladende Medium, zB. eine Bild-, Audio- oder Videodatei (bmp, (anim)gif, ico, jp, png; au, flac, m4a, mid, mp3, ogg, wav, wma; avi, mp4, mpg, wmv usw.)

MediaPlayerOpened
Ereignisaufruf wenn ein MediaPlayer (ein) neues Medien(um) öffnet.

MediaPlayerPause(shapeName)
Pausiert das Abspielen in einem MediaPlayer (für aktuell geladenes Medium).
shapeName Der Name des MediaPlayers.

MediaPlayerPlay(shapeName)
Startet das Abspielen/Anzeige in einem MediaPlayer (für aktuell geladenes Medium).
shapeName Der Name des MediaPlayers.

MediaPlayerPlayTime(shapeName)
Ermittelt die Gesamtspieldauer (für aktuell geladenes Medium) in einem MediaPlayer.
shapeName Der Name des MediaPlayers.
returns Die Gesamtspieldauer des Mediums [ms].

MediaPlayerPosition(shapeName)
Ermittelt die aktuelle Laufzeit (für aktuell geladenes Medium) in einem MediaPlayer.
shapeName Der Name des MediaPlayers.
returns Die aktuelle Laufzeit des Mediums [ms].

MediaPlayerSeek(shapeName,seek)
Setzt die Abspielposition eines Mediums in einem MediaPlayer (für aktuell geladenes Medium).
shapeName Der Name des MediaPlayers.
seek Die neue Abspielposition [ms].

MediaPlayerSpeed(shapeName,speed)
Setzt die Wiedergabegeschwindigkeit für einen MediaPlayer.
shapeName Der Name des MediaPlayers.
speed Die Abspielgeschwindigkeit (0 bis 100). Standard: 1 (normales Abspielen).

MediaPlayerStop(shapeName)
Stoppt das Abspielen in einem MediaPlayer (für aktuell geladenes Medium).
shapeName Der Name des MediaPlayers.

MediaPlayerStretch(shapeName,stretch)
Setzt die Streckung eines visuellen Mediums - wie die Ansicht einen Bereich ausfüllt.
shapeName Der Name des MediaPlayers.
stretch Die Streckmethode:
"None" - Der Inhalt behält seine Originalgröße.
"Uniform" - Die Inhaltsgröße wird angepasst um in die Zielabmessungen zu passen, wobei das natürliche Ansichtsverhältnis beibehalten wird (Standard).
"Fill" - Die Inhaltsgröße wird angepasst um die Zielabmessungen auszufüllen. Das Ansichtsverhältnis wird nicht beibehalten.
"UniformToFill" - Die Inhaltsgröße wird angepasst um die Zielabmessungen auszufüllen, während das natürliche Ansichtsverhältnis beibehalten wird. Mittels Clipping falls nötig.


MediaPlayerVolume(shapeName,volume)
Setzt die Lautstärke für einen MediaPlayer.
shapeName Der Name des MediaPlayers.
volume Die Lautstärke (0 bis 1, Standard: 0.5).

MenuBackground(shapeName,colour)
Setzt die Hintergrundfarbe für Untermenüs.
Das obere Haupmenü kann separat mit LDShapes.BrushColour gefärbt werden.
Beachte daß Trennungen nicht gefärbt werden und oft ist es besser nur das Hauptmenü zu färben.

shapeName Der Name des Menü Steuerelementes.
colour Die Hintergrundfarbe (#(AA)RRGGB, aber keine Transparenz).

MenuChecked(shapeName,itemName)
Ermittelt den Auswahlstatus eines Menüpunktes.
shapeName Der Name des Menü Steuerelementes.
itemName Der Name des Menüpunktes.
returns "True" oder "False".

MenuClicked
Ereignisaufruf bei Auswahl eines Menüpunktes.

PasswordEntered
Ereignisaufruf bei Eingabe eines Passwortes in eine PasswordBox (nachdem Eingabetaste gedrückt).

ProgressBarValue(shapeName,value)
Setzt den Wert für eine Fortschrittsanzeige (Fortschrittsverlauf).
shapeName Der Name der Fortschrittsanzeige Shape.
value Der Wert für die Fortschrittsanzeige (0 bis 100 [%]).

RadioButtonClicked
Ereignisaufruf bei Auswahländerung eines RadioButton (anwählen).

RadioButtonGet(shapeName)
Ermittelt den Auswahlstatus eines RadioButton.
shapeName Der RadioButton dessen Status ermittelt wird.
returns Der Status des RadioButton ("True" oder "False").

RadioButtonSet(shapeName)
Setzt einen RadioButton als ausgewählt/aktiviert. Bei einer Statusänderung wird auch 'RadioButtonClicked' Event ausgelöst.
shapeName Der zu setzende RadioButton.

RichTextBoxCaseSensitive
Ermittelt oder setzt die Beachtung von Groß-/Kleinschrift bei Wort-/Ausdruckhervorhebung? "True" oder "False" (Standard).
Ist zu setzen bevor 'RichTextBoxWord' aufgerufen wird.


RichTextBoxClear(shapeName)
Entfernt den gesamten Text aus einer RichTextBox.
shapeName Der Name der RichTextBox.

RichTextBoxDefault(shapeName)
Setzt den Standard Schriftstil mittels aktueller RichTextBox Eigenschaften.
Info: Textdekoration (zB. RichTextBoxFontUnderline) ist für diese Option nicht verfügbar.

shapeName Der Name der RichTextBox.

RichTextBoxFontBackground
Ermittelt oder setzt die Schrift Hintergrundfarbe (Standard: "White").
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontBold
Ermittelt oder setzt den Schriftstil Fettdruck? "True" oder "False" (Standard).
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontFamily
Ermittelt oder setzt die Schriftart, zB. "Century Gothic" (Standard: "Segoe UI").
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontForeground
Ermittelt oder setzt die Schrift Vordergrundfarbe (Standard: "Black").
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontItalic
Ermittelt oder setzt den Schriftstil Kursiv? "True" oder "False" (Standard).
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontSize
Ermittelt oder setzt die Schriftgröße Punktehöhe (Standard: 12).
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxFontUnderline
Ermittelt oder setzt den Schriftstil Unterstreichung? "True" oder "False" (Standard).
Vor dem Aufruf von RichTextBoxSelection, RichTextBoxWord oder RichTextBoxDefault setzen.


RichTextBoxGetText(shapeName)
Ermittelt den Text (unformatiert) in einer angegebenen RichTextBox.
shapeName Der Name der RichTextBox.
returns Der Text in der RichTextBox (CrLf wird angefügt, Tab am Zeilenanfang s. RichTextBoxIndentToTab).

RichTextBoxIndentToTab
Ermittelt oder setzt die Umwandlung des ersten Zeileneinzugzeichens zu Tabs? "True" (Standard) oder "False".
Ein eingetippter Tab als erstes Zeichen einer RichTextBox Zeile erstellt einen Einzug, solange diese Eigenschaft nicht auf "True" gesetzt ist, dann jedoch Tabs.


RichTextBoxLoad(shapeName,fileName,append)
Laden von Text (mitsamt Formatierung) aus einer Datei (im rtf Format) in eine RichTextBox.
shapeName Der Name der RichTextBox.
fileName Der Dateipfad zum Laden des Textes (mit Formatierung).
append Anfügen an bestehenden Textinhalt? "True" oder "False" (Standard).

RichTextBoxMargins(left,right,top,bottom)
Setzt Randabstand [Pxl] für Absätze in der RichTextBox.
Für jeden angefügten oder erstellten Text (per RichTextBoxSetText) wird ein neuer Absatz erstellt.

left Linker Rand (Standard: 0).
right Rechter Rand (Standard: 0).
top Oberer Rand (Standard: 0).
bottom Unterer Rand (Standard: 0).

RichTextBoxReadOnly
Ermittelt oder setzt den 'Schreibschutz' Status für die folgende RichTextBox? "True" oder "False" (Standard).
Ist zu setzen bevor 'AddRichTextBox' aufgerufen wird.


RichTextBoxSave(shapeName,fileName)
Speichert den Text aus einer RichTextBox (mitsamt Formatierung) in eine Datei im rtf Format.
shapeName Der Name der RichTextBox.
fileName Der Dateipfad zum Speichern des Textes (mit Formatierung).

RichTextBoxSelection(shapeName)
Setzt den Schriftstil für markierten RichTextBox Text mittels aktueller RichTextBox Eigenschaften.
shapeName Der Name der RichTextBox.

RichTextBoxSetText(shapeName,text,append)
Setzt Text (unformatiert) in eine RichTextBox.
shapeName Der Name der RichTextBox.
text Der zu ladende Text.
append An bestehenden Text anfügen? "True" oder "False" (Standard).
Für jeden angefügten Text wird ein neuer Absatz erstellt. S. RichTextBoxMargins zum Setzen von Rand für den Absatz.


RichTextBoxTextAlignment
Ermittelt oder setzt die Textausrichtung in der RichTextBox:
"Left" linksbündig (Standard)
"Center" zentriert
"Right" rechtsbündig
"Justify" Blocksatz

Ist zu setzen bevor 'AddRichTextBox' aufgerufen wird.


RichTextBoxTextTyped
Ereignisaufruf wenn Text in einer RichTextBox eingegeben oder geändert wurde.
Nicht bei Mausklick, Cursortasten, Pos1/Ende usw. Jedoch bei 'Back'(Space), Ausschneiden/Einfügen.


RichTextBoxWord(shapeName,text,mode)
Setzt den Schriftstil für ein angegebenes Wort/Ausdruck mittels aktueller RichTextBox Eigenschaften.
shapeName Der Name der RichTextBox.
text Der zu ändernde Text (Groß-/Kleinschr. setzen durch RichTextBoxCaseSensitive Parameter).
mode Anwenden für Instanzen von Wort/Ausdruck:
0 Alle Instanzen (Standard)
1 Erste Instanz
2 Letzte Instanz


SetButtonStyle(shapeName,brushUnpressed,brushMouseOver,brushPressed,penUnpressed,penMouseOver,penPressed,radius,shine)
Setzt/Ändert den Ansichtsstil für einen bestehenden Button. Für anwendbare Gradientpinsel (Brush) s. LDShapes.BrushGradient/-BrushImage.
Größenänderung mit Controls.SetSize erst danach anwenden (LDShapes.SetSize funktioniert auch davor).
brush- und pen- Parameter dürfen nicht "" sein. Jeder erstellter Gradientpinsel (Brush) kann nur 1x verwendet werden.

shapeName Der Name des zu ändernden Button.
brushUnpressed Die Hintergrundfarbe für den UNgedrückten Button, bzw. ein Gradientpinsel (Brush), wie LDShapes.BrushColour.
brushMouseOver Die Hintergrundfarbe des Button beim Überfahren mit dem Mauszeiger, bzw. ein Gradientpinsel (Brush).
brushPressed Die Hintergrundfarbe des GEdrückten Button, bzw. ein Gradientpinsel (Brush).
penUnpressed Die Textfarbe auf dem UNgedrückten Button ("Transparent" verbirgt Buttontext, wie LDShapes.PenColour).
penMouseOver Die Textfarbe des Button beim Überfahren mit dem Mauszeiger ("Transparent" verbirgt Buttontext).
penPressed Die Textfarbe auf dem GEdrückten Button ("Transparent" verbirgt Buttontext).
radius Der Eckenradius für den Button (Standard: 3, "" für 0).
shine Leuchteffekt für den Button? "True" oder "False" (Standard).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

SetCursorPosition(shapeName,position)
Setzt die Cursor Einfügemarke hinter die angegebene Position innerhalb einer (MultiLine)TextBox. Nicht für RichTextBox.
shapeName Der Name der (MultiLine)TextBox Shape.
position Die Cursorposition hinter dem entsprechenden Zeichen (0 ist vor dem ersten Zeichen, höhere Werte zB. 1000 zum Setzen des Cursors ans Textende).

SetCursorToEnd(shapeName)
Scrollt die Ansicht in einer MultiLine- oder RichTextBox bis zum Ende des Textinhalts.
Die Cursorposition bleibt dabei unverändert.

shapeName Der Name der TextBox Shape.

SetSpellCheck(shapeName,state)
Setzt die Rechtschreibprüfung für eine (Rich)TextBox an/aus.
shapeName Der Name der (Rich)TextBox Shape.
state "True" oder "False".

SliderChanged
Ereignisaufruf wenn der Wert eines Schiebereglers geändert wurde.
Bei Verschub mit Maus bzw. L-Mausklick (PageUp/Next) um 1%, Cursortasten Left|Down (-), Right|Up (+) um 0.1%, Home/End auf 0/100%.

example 'Trackbar Slider
LDControls.SliderMaximum = 2
slid = LDControls.AddSlider(200,22,"")
LDControls.SliderChanged = SlidChange
LDControls.SliderValue(slid, 1) '-0+

Sub SlidChange
val = 0.1*Math.Round(LDControls.LastSliderValue/0.1)-1
GraphicsWindow.Title = val
EndSub


SliderGetValue(shapeName)
Ermittelt den aktuellen Wert eines Schiebereglers (Position).
shapeName Der Name der Schieberegler Shape.
returns Der Wert für den Schieberegler (Standard: 0, >=0 bis 100 bzw. SliderMaximum).

SliderMaximum
Ermittelt oder setzt den Maximalwert für einen Slider (Standard: 100). Der Minimalwert ist stets 0.
Vor dem Aufruf von AddSlider setzen/ändern. Gilt für alle weiteren neu erstellten LDSlider bis zur erneuten Änderung.


SliderValue(shapeName,value)
Setzt den Wert für einen Schieberegler (Position). Bei Wert-/Positionsänderung wird auch 'SliderChanged' Event ausgelöst.
shapeName Der Name der Schieberegler Shape.
value Der neue Wert für den Schieberegler (Standard: 0, >=0 bis 100 bzw. SliderMaximum).

TextBoxReadOnly(shapeName,readOnly)
Setzt den 'Schreibschutz' Status für eine (MultiLine)TextBox (ReadOnly).
Cursor(steuerung) sowie Ausschneiden/Einfügen (Kontextmenü) deaktiviert.

shapeName Der Name der (MultiLine)TextBox.
readOnly "True" oder "False" (Standard).

TextBoxTab(shapeName,acceptsTab)
Setzt ob eine (Rich)TextBox einen Tab(ulator) akzepiert oder dieser zum nächsten Steuerelement weiterspringt.
shapeName Der Name der (Rich)TextBox.
acceptsTab "True" oder "False" (Standard).

TreeViewContent(shapeName,tree)
Ersetzt/Aktualisiert den Ansichtsbaum in einer TreeView.
shapeName Der Name der TreeView Shape.
tree Ein 2D Array mit den TreeView Daten.

Der erste Index ist die Reihe/Knotennummer. Der zweite Index ist der Index des Elternknoten des aktuellen Knoten (0 für oberste Ebene).
Der Arraywert ist der angezeigte Text im betreffenden Knoten:
baum[1][0] = "Ebene 1"
baum[2][1] = "Ebene 1 1"
baum[3][1] = "Ebene 1 2"
baum[4][0] = "Ebene 2"


TreeViewEdit(shapeName,node,editable)
Setzt den Änderungsstatus für Text in einem TreeView Knoten.
shapeName Der Name der TreeView Shape.
node Der auszuwählende Knoten.
editable Knotentext (in TextBox) bearbeiten? "True" oder "False".

TreeViewExpand(shapeName,node,expand,recursive)
Erweitert/Schliesst Knoten in einem TreeView unterhalb des Eingabeknoten.
shapeName Der TreeView Shapename.
node Knotennummer zum Erweitern/Schließen. 0 erweitert/schliesst rekursiv ALLE Knoten.
expand Erweitern oder Schließen? "True" oder "False"
recursive Rekursives Erweitern/Schließen der Knoten (aller Unterknoten)? "True" oder "False".

TreeViewGetData(shapeName)
Ermittelt die Daten von einem TreeView Baum.
shapeName Der Name der TreeView Shape.
returns Ein 2D Array mit den TreeView Daten.

Der erste Index ist die Reihe/Knotennummer. Der zweite Index ist der Index des Elternknoten des aktuellen Knoten (0 für oberste Ebene).
Der Arraywert ist der angezeigte Text im betreffenden Knoten:
baum[1][0] = "Ebene 1"
baum[2][1] = "Ebene 1 1"
baum[3][1] = "Ebene 1 2"
baum[4][0] = "Ebene 2"


TreeViewGetSelected(shapeName)
Ermittelt den gewählten Knoten in einem TreeView.
shapeName Der TreeView Shapename.
returns Der gewählte Knoten der TreeView.

TreeViewItemChanged
Ereignisaufruf bei Auswahländerung in einer TreeView oder Anklicken des gewählten Elementes.

TreeViewSelect(shapeName,node)
Wählt einen Knoten in einem TreeView.
shapeName Der TreeView Shapename.
node Der auszuwählende Knoten.

LDCursors
Setzt ein Mauszeiger-Symbol im GraphicsWindow (entsprechend aktivem Zeigerstil).
example physics-samples\pool.sb

Arrow ArrowCD CreateCursor
Cross Hand Help
IBeam Invalid None
Pen Scroll SetShapeCursor
SetUserCursor SizeAll SizeNESW
SizeNS SizeNWSE SizeWE
Starting UpArrow Wait

Arrow()
Pfeil (Normale Auswahl, Standard).

ArrowCD()
Pfeil mit CD Cursor.

CreateCursor(imageName,xHotSpot,yHotSpot)
Erstellt einen Cursor, welcher mittels 'SetUserCursor' oder 'SetShapeCursor' gesetzt werden kann (Intern: Cursor#).
Die Größe eines ImageList Bildes kann mit LDImage.Resize angepasst werden.

imageName Der volle Dateipfad zur Bilddatei oder ImageList Name.
xHotSpot Die x-Position des Hotspot Pixels im Cursor ("" für 0).
yHotSpot Die y-Position des Hotspot Pixels im Cursor ("" für 0).
returns Der erstellte Cursor.

Cross()
Kreuz (Präzisionsauswahl).

Hand()
Hand (Verknüpfungsauswahl, Zeigefinger).

Help()
Hilfe (Hilfeauswahl, Pfeil mit Fragezeichen).

IBeam()
Einfügemarke (Textauswahl, I).

Invalid()
Unmöglich/Verboten (Nicht verfügbar, Verbotstafel).

None()
Kein Mauszeiger (s. Mouse.HideCursor).

Pen()
Stift (Handschrift, Füllfeder).

Scroll()
Größe ändern/Verschieben (4Pfeile-Kreuz).

SetShapeCursor(shapeName,cursor)
Setzt den Cursor für eine Shape oder ein Steuerelement, wenn der Mauszeiger darüber steht.
shapeName Der Name der Shape/Steuerelement.
cursor Ein mittels 'CreateCursor' erstellter oder Standard Cursor aus diesem Objekt (zB. "ArrowCD") oder
voller Pfad zu einer *.cur oder *.ani Datei zur Verwendung als Cursor.


SetUserCursor(cursor)
Setzt einen benutzerdefinierten Cursor als Zeiger im GraphicsWindow.
cursor Ein mittels CreateCursor erstellter oder Standard Cursor aus diesem Objekt (zB. "ArrowCD") oder
voller Pfad zu einer *.cur oder *.ani Datei zur Verwendung als Cursor.


SizeAll()
Doppelpfeil Kreuz (Größenänderung, Verschieben).

SizeNESW()
NO-SW Doppelpfeil Cursor (Größenänderung).

SizeNS()
AufAb Doppelpfeil (Größenänderung).

SizeNWSE()
NW-SO Doppelpfeil Cursor (Größenänderung).

SizeWE()
LinksRechts Doppelpfeil (Größenänderung).

Starting()
Start (Hintergrundaktivität, Pfeil mit Sanduhr).

UpArrow()
Pfeil nach oben (Einfügemarke).

Wait()
Warten (Ausgelastet, Sanduhr).

LDDataBase
SQL Datenbank mit ListView Steuerelement.
ConnectSQLite für SQLite Datenbanken (s. http://zetcode.com/db/sqlite für SQLite Befehle).
ConnectMySQL für MySQL Datenbanken (s. http://www.mysql.de für MySQL Downloads und Setup).
ConnectSqlServer für SqlServer Datenbanken (s. http://www.microsoft.com/de-de/server-cloud/products/sql-server-editions/sql-server-express.aspx für SqlServer Downloads und Setup).
ConnectOleDb für Access OleDb Datenbanken.
ConnectOdbc für Odbc Datenbanken.

example other-samples\LDDataBase.sb
http://blogs.msdn.microsoft.com/smallbasic/2014/05/24/small-basic-database-extension
http://blogs.msdn.microsoft.com/smallbasic/2015/10/15/small-basic-featured-program-database-sample


AddListView Command Connection
ConnectMySQL ConnectOdbc ConnectOleDb
ConnectSQLite ConnectSqlServer EditTable
Query SaveTable

AddListView(width,height)
Fügt ein datengebundendes ListView Steuerelement zur Datenbankanzeige im GraphicsWindow hinzu (Intern: ListView#, s.a. LDControls.AddListView).
Dient zur schreibgeschützten Anzeige einer Datenbankabfrage (s. 'LDControls.AddDataView' mit Bearbeitungsfunktion).

width Die Breite der ListView.
height Die Höhe der ListView.
returns Der Name des ListView Steuerelementes.

Command(database,command)
Führt einen SQLite, MySQL, SqlServer, OleDb oder Odbc Befehl (keine Abfrage) an einer Datenbank durch.
Bei Anzeige der Datenbank in einer DataView gehen ungespeicherte Benutzeränderungen verloren, wenn die DataView im Anschluss an diese Operation aktualisiert wird.

database Bezeichnung der bestehenden Datenbank (s. ConnectSQLite, ConnectMySQL, ConnectSqlServer, ConnectOleDb oder ConnectOdbc).
command Der SQL Befehl.
returns Die Anzahl aktualisierter Reihen.

Connection
Übergeht einen SQL Datenbank Verbindungsstring (nur fortgeschrittene Verwendung).
Ist vor der Verbindung zur Datenbank zu setzen, wenn dieser Verbindungsstring anstatt der eingegebenen Verbindungsparameter zu verwenden ist.
Standard: "" (nicht verwendet).


ConnectMySQL(server,user,password,database)
Verbinden zu einer MySQL Datenbank (Intern: DataBase#).
Dies ist vor allen weiteren SQL Methoden aufzurufen.
Der MySQL Dienst muß laufen und die Datenbank (mitsamt Anmeldeinformationen) bereits erstellt sein. Im Zweifel verwende SQLite.

server Der MySQL Server (zB. "localhost" bzw. "127.0.0.1").
user Der MySQL Benutzername.
password Das MySQL Benutzerpasswort oder "".
database Der Name der MySQL Datenbank.
returns Eine Bezeichnung zur Identifizierung der Datenbank.

ConnectOdbc(driver,server,port,user,password,option,database)
Verbinden zu einer Odbc Treiber verbundenen Datenbank (Intern: DataBase#).
Dies ist vor allen weiteren SQL Methoden aufzurufen.
Der Odbc Dienst muß laufen und die Datenbank (mitsamt Anmeldeinformationen) bereits erstellt sein. Im Zweifel verwende SQLite.

driver Der Odbc Treiber (zB. "{MySQL ODBC 3.51 Driver}").
server Der Odbc Server (zB. "localhost").
port Die Odbc Portnummer.
user Der Odbc Benutzername.
password Das Odbc Benutzerpasswort.
option Die Odbc Optionsnummer zur Steuerung der Odbc Verbindung (zB. 0 oder 3).
database Der Name der Odbc Datenbank.
returns Eine Bezeichnung zur Identifizierung der Datenbank.

ConnectOleDb(provider,server,database)
Verbinden zu einer Access OleDb Datenbank (Intern: DataBase#).
Dies ist vor allen weiteren SQL Methoden aufzurufen.
Der Access OleDb Dienst muß laufen und die Datenbank (mitsamt Anmeldeinformationen) bereits erstellt sein. Im Zweifel verwende SQLite.

provider Der OleDb Anbieter (zB. "SQLOLEDB").
server Der OleDb Server (zB. "localhost").
database Der Name der OleDb Datenbank.
returns Eine Bezeichnung zur Identifizierung der Datenbank.

ConnectSQLite(fileName)
Erstellt oder öffnet eine SQLite Datenbank (Intern: DataBase#).
Dies ist vor allen weiteren SQL Methoden aufzurufen.
Wird eine Tabelle erstellt, so muß deren erste Spalte "Id INTEGER PRIMARY KEY" sein.

fileName Der volle Pfad zur SQLite Datenbankdatei (gewöhnlich mit Erweiterung .db).
returns Eine Bezeichnung zur Identifizierung der Datenbank.

ConnectSqlServer(server,database)
Verbinden zu einer SqlServer Datenbank (Intern: DataBase#).
Dies ist vor allen weiteren SQL Methoden aufzurufen.
Der SqlServer Dienst muß laufen und die Datenbank (mitsamt Anmeldeinformationen) bereits erstellt sein. Im Zweifel verwende SQLite.

server Der SqlServer Server (zB. "(local)\SQLEXPRESS").
database Der Name der SqlServer Datenbank.
returns Eine Bezeichnung zur Identifizierung der Datenbank.

EditTable(database,table,dataview)
Anzeige einer Datenbanktabelle zur Bearbeitung in einem 'LDControls' DataView Steuerelement.
Bei Verwendung dieser Methode ist die Datenbank an das DataView Steuerelement gebunden und wird darin gespiegelt.

database Die Bezeichnung der bestehenden Datenbank (s. ConnectSQLite, ConnectMySQL, ConnectSqlServer, ConnectOleDb oder ConnectOdbc).
table Der Tabellenname für die Anzeige und Bearbeitung.
dataview Der Name des DataView Steuerelementes.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

Query(database,query,listview,getRecords)
Führt eine SQLite, MySQL, SqlServer, OleDb oder Odbc Abfrage (keinen Befehl) an einer Datenbank durch.
database Bezeichnung der bestehenden Datenbank (s. ConnectSQLite, ConnectMySQL, ConnectSqlServer, ConnectOleDb oder ConnectOdbc).
query Die SQL Abfrage. zB. "SELECT * FROM myTable;".
listview Eine ListView, um diese mit dem Abfrageergebnis aufzufüllen oder "" für keine.
getRecords Optionale Rückgabe eines Arrays mit den Ergebnissen? "True" oder "False".
Beachte, daß große mehrdimensionale Arrays in SB langsam sind.

returns Optionaler Array mit den Ergebnissen oder "".

SaveTable(database,dataview)
Übernimmt Änderungen in einer 'LDControls' DataView in die Datenbank.
database Die Bezeichnung der bestehenden Datenbank (s. ConnectSQLite, ConnectMySQL, ConnectSqlServer, ConnectOleDb oder ConnectOdbc).
dataview Der Name des DataView Steuerelementes.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

LDDateTime
Zeit- und Datumskonvertierungen.

Datumsformat ist "25.01.2012 22:18:52" (DE) und hängt von lokalen Benutzereinstellungen ab.
Der Zeitteil ist optional.
Format für USA wäre zB. "01/25/2012 22:18:52".

Ein OADatum (OLE Automation Date) zeigt die Anzahl der Tage (incl. Teile angebrochener Tage), die seit 30. Dez 1899 vergangen sind. Somit lassen sich Daten einfach addieren oder subtrahieren.


Add FromOADate GetDay
GetDayName GetHour GetMinute
GetMonth GetMonthName GetSecond
GetYear Now NowOADate
OADate Subtract ToOADate

Add(date,offset)
Ermittelt ein Datum aus einem angegebenen Datum und einem gegebenen Zeitraum in Tagen.
date Ein bestimmtes Datum.
offset Der -/+ Zeitraum in Tagen.
returns Das Zieldatum, resultierend aus vorgegebenem Datum und gegebener Differenz an Tagen.

Datumsformat ist "25.01.2012 22:18:52" (DE), wobei der Zeitteil optional ist.

example LDDateTime.Add("30.November 2011", 50)
Werden dem 30.November 2011 zB. 50 Tage hinzuaddiert, erhält man den 19.Jänner 2012 (zB. als "19.01.12 00:00:00").


FromOADate(OAdate)
Konvertiert ein OADatum zu einem 'gewöhnlichen' Datum.
OAdate Das zu konvertierende OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Das Datum in gewöhnlicher Schreibweise.

Datumsformat ist "25.01.2012 22:18:52" (DE), wobei der Zeitteil optional ist.
Der Datumsteil hängt von lokalen Einstellungen ab, für USA zB. "01/25/2012".


GetDay(OAdate)
Ermittelt die Tageszahl (im Monat) aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Tageszahl im Monat (1 bis 31).

GetDayName(OAdate)
Ermittelt den Wochentagname aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Der Wochentagname (zB. Montag).

GetHour(OAdate)
Ermittelt die Stunde aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Stunde (0 bis 23).

GetMinute(OAdate)
Ermittelt die Minute aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Minute (0 bis 59).

GetMonth(OAdate)
Ermittelt die Monatszahl aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Monatszahl (1 bis 12).

GetMonthName(OAdate)
Ermittelt den Monatsname aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Der Monatsname (zB. Jänner).

GetSecond(OAdate)
Ermittelt die Sekunde aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Sekunde (0 bis 59).

GetYear(OAdate)
Ermittelt die Jahreszahl aus einem OADatum (vergangene und angebrochene Tage seit 30. Dez 1899).
OAdate Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).
returns Die Jahreszahl.

Now()
Ermittelt das aktuelle Datum und Uhrzeit.
returns Das aktuelle Datum und Uhrzeit [TT.MM.JJ hh:mm:ss].

Datumsformat ist "25.01.2012 22:18:52" (DE), für USA zB. "01/25/2012 22:18:52")


NowOADate()
Ermittelt das aktuelle OADatum.
returns Die Anzahl der seit 30. Dez 1899 vergangenen und angebrochenen Tage [ttttt.ffffffffff].

OADate(year,month,day,hour,minute,second)
Ermittelt das OADatum (vergangene und angebrochene Tage seit 30. Dez 1899) aus einzelnen Datums- und Zeitangaben.
year Die Jahreszahl (als JJJJ, zB. 2014).
month Die Monatsnummer (zB. 4 od. 04).
day Die Nummer des Tages (zB. 4 od. 04).
hour Die Stunde (0 bis 23).
minute Die Minute (0 bis 59).
second Die Sekunde (0 bis 59).
returns Das OADatum (Vergangene und angebrochene Tage seit 30. Dez 1899).

Subtract(date1,date2)
Ermittelt die Anzahl der Tage zwischen zwei Kalenderdaten (Der Zeitteil ist optional).
date1 Das erste Kalenderdatum/-zeit (später).
date2 Das zweite Kalenderdatum/-zeit (früher).
returns Die Differenz als ganze und ev. angebrochene Tage (date1-date2). Für pos. Ergebnis, date1>date2 wählen.

ToOADate(date)
Konvertiert ein Datum (gewöhnliche Schreibweise) zu einem OADatum.
date Das zu konvertierende Datum (zB. Clock.Date, "02.8.14", "9.Aug.2014", "02.Februar.14" oder LDDateTime.Now)

Datumsformat ist "25.01.2012 22:18:52" (DE), wobei der Zeitteil optional ist.
Der Datumsteil hängt von lokalen Einstellungen ab, für USA zB. "01/25/2012".

returns Das OADatum als Anzahl vergangener und angebrochener Tage seit 30. Dez 1899.

LDDebug
Hilfsfunktionen zur Fehlersuche (Debugging).
example debug\*.sb

Break Instrument Start

Break(label)
Setzt an dieser Stelle einen Breakpoint, an dem der Programmablauf angehalten wird und Variablen überprüft werden können.
label Die Bezeichnung für den Breakpoint.
Dies sollte eine "" eingeschlossene Zeichenfolge (zB. "MeineMarkierung01") oder eine Indexnummer sein.
Jede Bezeichnung sollte einmalig sein, dh. jeder Breakpoint erhält eine eigene Markierung.
Für Breakpoints innerhalb Ereignis-Subs bestehen einige Einschränkungen.


Instrument(fileName)
Erstellt eine gleichnamige Datei 'NAME_debug.sb' mit automatisch eingesetzten Breakpoints.

Danach diese Datei in SB-IDE laden und zur Fehlersuche starten.
Bei Auftreten eines Problems, kann das Original leicht korrigiert werden. Danach erneut 'LDDebug.Instrument' aufrufen um diese korrigierte Datei weiter zu untersuchen.

fileName Der volle Pfad der zu debuggenden Originaldatei (*.sb).

Start()
Startet eine 'Debugging Sitzung' ('Debug SmallBasic' GUI wird dabei angezeigt).
Normalerweise steht dieser Aufruf in der ersten Programmzeile.
Breakpoints (Zeilen an denen der Programmablauf unterbrochen wird) werden gewöhnlich vor Programmstart manuell eingetragen (LDDebug.Break). Die Methode 'LDDebug.Instrument' setzt diese Breakpoints allerdings auch automatisch ein.


LDDialogs
Diese Klasse bietet verschiedene Methoden für Steuerelemente, Dialoge und Popup-Fenster.
example other-samples\ClockWidget.sb, RichTextBox.sb, RightClickMenu.sb

AddRightClickMenu Calendar Colour
Confirm EndWait Font
GetFolder LastRightClickMenuItem OpenFile
RightClickMenu SaveFile SetStartupPosition
ToolTip Wait

AddRightClickMenu(items,images)
Fügt ein Rechtsklick-Kontextmenü für das GraphicsWindow hinzu (s.a. LDControls.AddContextMenu). GraphicsWindow MUSS initialisiert sein.
items Die Titel der Auswahlpunkte im Kontextmenü als Array.
images Optionaler Array von Bildsymbolen. Jeder oder alle können "" sein. zB. Ergebnis von ImageList.LoadImage, lokale oder Netzwerk-Bilddatei.

Calendar(start)
Popup-Kalender zur Auswahl eines Datums. Doppelklick oder Eingabe-Taste zur Auswahl eines Datums.
start Das zunächst angezeigte Datum (zB. "TT.MM.JJ"). "" für aktuelles (heute).
returns Das gewählte Datum in der Form TT.MM.JJ 00:00:00, das Startdatum bei Abbruch.

Colour()
Anzeige des Dialogfensters zur Farbauswahl (s. LDColours).
returns Die gewählte Farbe als #RRGGBB HexWert oder SB-Farbname (CSS3-Farbname, zB. Red) wenn zutreffend. "" bei Abbruch.
example http://msdn.microsoft.com/library/System.Windows.Media.Colors.aspx
http://i.msdn.microsoft.com/dynimg/IC24340.png


Confirm(text,title)
Zeigt einen Mitteilungsdialog mit Buttons 'Ja', 'Nein' und 'Abbruch' (mit Fragezeichensymbol) und wartet auf Bestätigung. Erlaubt Tastendrücke 'J̲', 'N̲', 'Escape (Cancel)', 'Space/Return (J̲)'. Unabhängig vom GW.
text Der Mitteilungs-/Abfragetext im Dialogfenster.
title Der Titel des Dialogfensters.
returns "Yes", "No" oder "Cancel" für den gedrückten Button. "Cancel" bei Schließen per 'X' Feld.

EndWait()
Schliesst das 'Bitte warten!' Popup-Fenster wieder.

Font(font)
Anzeige des Dialogfensters zur Auswahl einer Schriftart.
font Die vorgewählten Schrifteigenschaften als Array (gleiches Format wie Rückgabearray) oder "".
returns "" bei Abbruch, sonst die gewählten Schrifteigenschaften als Array:
schrift[1] Schriftname
schrift[2] Schriftgröße
schrift[3] Schriftstil Fett? "True" oder "False"
schrift[4] Schriftstil Kursiv? "True" oder "False"


GetFolder(initialFolder)
Dialog zur Auswahl eines Ordners (Verzeichnisses, s. 'LDShell.SelectFolder').
initialFolder Der Startordner oder "" für den zuletzt gewählten Ordner bzw. Arbeitsplatz. Für Ordner unter den Benutzerprofilen ist C:\Documents and Settings\.. statt C:\Users\.. anzugeben (W7).
returns Der volle gewählte Ordnerpfad oder "" bei Abbruch.

LastRightClickMenuItem
Der Index des zuletzt im Rechtsklick-Kontextmenü gewählten Auswahlpunktes.

OpenFile(extension,folder)
Datei-Öffnen Dialog zum Öffnen einer bestehenden Datei (url, lnk nicht).
extension Die Dateierweiterung (ohne Punkt) zum Öffnen zB."sb" oder "*".
Oder Array mit Erweiterungen zB. "1=jpg;2=png;" (Standard: extension[1]).
Nach einem "|" Trennzeichen werden Erweiterungen direkt verwendet. zB. "Bilddateien|*.bmp;*.gif;*.jpg;*.png|Alle Dateien (*.*)|*.*".
"" zeigt nur Ordner und Verknüpfungen (lnk, url).

folder Der Startordner bei Öffnen des Dialogs. "" für aktuellen/letzten Ordner.
Unter Benutzerprofilen öffnet ev. entsprechende Bibliothek, sonst für Direktpfad hier C:\Documents and Settings\.. statt C:\Users\.. angeben (W7).

returns Der volle existierende Dateipfad oder "" bei Abbruch.

RightClickMenu
Ereignisaufruf bei Auswahl eines Punktes im Rechtsklick-Kontextmenü.

SaveFile(extension,folder)
Datei-Speichern Dialog bzw. Erstellen einer neuen Datei. Mit Rückfrage/Bestätigung wenn Datei bereits besteht.
extension Die Dateierweiterung (ohne Punkt) zum Speichern zB."sb" oder "*".
Oder Array mit Erweiterungen zB. "1=jpg;2=png;" (Standard: extension[1]).
Nach einem "|" Trennzeichen werden Erweiterungen direkt verwendet. zB. "Bilddateien|*.bmp;*.gif;*.jpg;*.png|Alle Dateien (*.*)|*.*".
"" zeigt nur Ordner und Verknüpfungen (lnk, url).

folder Der Startordner bei Öffnen des Dialogs, "" für aktuellen/letzten Ordner.
Unter Benutzerprofilen öffnet ev. entsprechende Bibliothek, sonst für Direktpfad hier C:\Documents and Settings\.. statt C:\Users\.. angeben (W7).

returns Der volle gewählte Dateipfad oder "" bei Abbruch.

SetStartupPosition(x,y,mode)
Setzt die Startkoordinaten (linke obere Ecke) für die meisten Dialoge. Ist vor dem Dialogaufruf zu setzen.
x Die x-Koordinate.
y Die y-Koordinate.
mode Der Bezugsmodus:
0 Inaktiv (Standard).
1 Koordinaten relativ zum GraphicsWindow (gemäß GW.MouseX/.MouseY).
2 Koordinaten relativ zum Bildschirm (gemäß Desktop.MouseX/.MouseY).


ToolTip(shapeName,tip)
Setzt einen Tooltip (Infotip Kontexthilfe) für ein gewöhnliches Shape oder Steuerelement.
shapeName Der Name der Shape/Steuerelement.
tip Der im Tooltip anzuzeigende Text (Systemstandard für Farbe und Schrifteigenschaften).

Wait(text,colour)
Zeigt ein rahmenloses 'Bitte warten!' Popup-Fenster mit einer Nachricht (ohne Button). GW wird währenddessen blockiert.
text Die anzuzeigende Nachricht im Popup Fenster.
colour Die Randfarbe des Popup-Fensters, "" für lokale Systemeinstellung.

LDDictionary
Diese Klasse ermöglicht den Zugriff auf einen Online Lexikon-Dienst.
Alternative für das SB Dictionary Objekt (Fehlschlag in SB 1.0).

example http://rr.office.microsoft.com/Research/query.asmx (Research WebService)

GetDefinition GetDefinitionInFrench GetDefinitionInSpanish

GetDefinition(word)
Ermittelt die Definition zu einem Wort in Englisch.
word Das zu definierende Wort.
returns Die Definition(en) zum angegebenen Begriff bei Erfolg, sonst "".

GetDefinitionInFrench(word)
Ermittelt die Definition zu einem Wort in Französisch.
word Das zu definierende Wort.
returns Die Definition(en) zum angegebenen Begriff bei Erfolg, sonst "".

GetDefinitionInSpanish(word)
Ermittelt die Definition zu einem Wort in Spanisch.
word Das zu definierende Wort.
returns Die Definition(en) zum angegebenen Begriff bei Erfolg, sonst "".

LDEffect
Anwenden visueller Effekte für eine beliebige Shape oder Control/Steuerelement.

Bloom Blur Clear
ColourTone DropShaddow Embossed
Magnify Monochrome Pixelate
Ripple Sharpen Swirl

Bloom(shapeName,properties)
Wendet einen Glüheffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
BaseIntensity (Strd: 1)
BaseSaturation (Strd: 1)
BloomIntensity (Strd: 1.25)
BloomSaturation (Strd: 1)
Threshold (Strd: 0.25)


Blur(shapeName,properties)
Wendet einen Verwischungseffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
KernelType (Strd: "Gaussian", "Box")
Radius (Strd: 5)


Clear(shapeName)
Löscht angewendete Effekte von einer Shape.
shapeName Der Name der Shape deren Effekte zu entfernen sind.

ColourTone(shapeName,properties)
Wendet einen Einfärbungseffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Desaturation (Strd: 0.5)
ToneAmount (Strd: 0.5)
LightColor (Strd: "#FFE580")
DarkColor (Strd: "#338000")


DropShaddow(shapeName,properties)
Wendet einen perspektivischen Schlagschatten Effekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
BlurRadius (Strd: 5)
Color (Strd: "Black")
Direction (Strd: 315)
Opacity (Strd: 1)
ShadowDepth (Strd: 5)


Embossed(shapeName,properties)
Wendet einen Prägeeffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Amount (Standard: 3)
Color (Standard: "Gray")
Height (Standard: 0.001)


Magnify(shapeName,properties)
Wendet einen Lupeneffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Amount (Strd: 0.5)
Center (Strd: "X=0.5;Y=0.5;")
InnerRadius (Strd: 0.2)
OuterRadius (Strd: 0.4)


Monochrome(shapeName,properties)
Wendet einen Farbfilter Effekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Color (Standard: "White")


Pixelate(shapeName,properties)
Wendet einen Verpixelungseffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Pixelation (Standard: 0.75)


Ripple(shapeName,properties)
Wendet einen Welleneffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Center (Strd: "X=0.5;Y=0.5;")
Frequency (Strd: 40)
Magnitude (Strd: 0.1)
Phase (Strd: 10)


Sharpen(shapeName,properties)
Wendet einen Bildschärfe Effekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
Amount (Standard: 2)
Height (Standard: 0.0005)


Swirl(shapeName,properties)
Wendet einen Wirbeleffekt für eine Shape an.
shapeName Der Name der Shape.
properties Ein Array optionaler Eigenschaften (indexiert durch Eigenschaftsname) oder "":
AngleFrequency (Strd: 45)
Center (Strd: "X=0.5;Y=0.5;")
TwistAmount (Strd: 10)


LDEmail
Methoden zum Senden von eMails.

Attachment Body From
Password Port Recipient
Send Server Subject
UseSSL

Attachment
Ermittelt oder setzt den Dateipfad für optionalen eMail-Anhang oder "".

Body
Ermittelt oder setzt den Nachrichtentext der eMail.

From
Ermittelt oder setzt die eMail-Adresse des Absenders.

Password
Ermittelt oder setzt das Passwort für das eMail-Senderkonto .

Port
Ermittelt oder setzt die SMTP Portnummer (Standard: 587).

Recipient
Ermittelt oder setzt die eMail-Adresse des Empfängers.

Send()
Versenden einer eMail per SMTP Server.
Voreingestellter SMTP Klient ist "smtp.gmail.com" und voreingestellter Port ist 587. Folgende und auch weitere eMail-Klienten können ebenso funktionieren:
"smtp.live.com" (Hotmail)
"smtp.mail.yahoo.com"

Ein Minimum der "From, Password und Recipient"- Eigenschaften muß zuerst festgelegt werden.
Die "From" und "Password"-Eigenschaften sollten den LogIn-Daten des eMail-Anbieters entsprechen.
Zusätzlich sollten "Subject" (Betreff) und "Body" (Textinhalt der eMail) festgelegt werden.
Die "Attachment" (Anhang)-Eigenschaft kann optional einen Dateipfad oder "" für keinen Anhang enthalten.

Es kann nicht mehr als EINE eMail/min versandt werden.

returns "" bei Erfolg, sonst eine Fehlermeldung.

Server
Ermittelt oder setzt die SMTP Serveradresse (Standard: "smtp.gmail.com").

Subject
Ermittelt oder setzt den 'Betreff' Text (Standard: "Email from SmallBasic").

UseSSL
Ermittelt oder setzt die Verwendung einer sicheren Übertragung? "True" (Standard) oder "False".

LDEncryption
Methoden zur Dateiverschlüsselung (Ver-/Entschlüsseln von Text oder Passwort) und Generieren von Prüfsummen.
example other-samples/LDEncryption.sb

AESDecrypt AESEncrypt MD5Hash
MD5HashFile RSADecrypt RSAEncrypt
RSAPrivateKey RSAPublicKey RSAReset
RSASign RSAVerify SHA512Hash

AESDecrypt(cypher,password)
Entschlüsselt einen AES verschlüsselten Cipher (zuvor verschlüsselt) durch einen Passwortschlüssel.
cypher Der verschlüsselte Text (Cipher).
password Der Passwortschlüssel von der Verschlüsselung.
returns Der unverschlüsselte Originaltext oder "", falls Passwort und Cipher nicht kombinieren.

AESEncrypt(source,password)
Verschlüsselt einen Text mittels AES Verschlüsselung und einem Passwortschlüssel.
Der verschlüsselte Text kann daraufhin in einer Datei gespeichert werden.
Beachte, daß bei Verlust des Passwortes KEINE MÖGLICHKEIT der Entschlüsselung mehr besteht!

source Der zu verschlüsselnde Text.
password Der Passwortschlüssel für die Verschlüsselung oder "".
returns Der verschlüsselte Text (Cipher).

MD5Hash(text)
Erstellt einen 32-stelligen MD5Hash für den angegebenen Text. String-Checksumme (http://de.wikipedia.org/wiki/MD5)
Der Hash kann daraufhin in eine Datei gespeichert werden.
Dieser 32-stellige Hash empfiehlt sich, wo ein allgemeiner oder kürzerer Hash erforderlich ist (Passwort oder Datenintegrität).

text Der Text für den der MD5Hash generiert wird (oft ein Passwort).
returns Der 32-stellige Hex-MD5Hash.

MD5HashFile(fileName)
Erstellt einen MD5Hash für eine angegebene Datei.
Dieser 32-stellige Hash dient zur Integritätsprüfung von Dateidaten (zB. ob ein Dateiinhalt verändert wurde oder nicht).

fileName Der volle Dateipfad zur Ermittlung des Hashwertes.
returns Der 32-stellige Hex-MD5Hash.

RSADecrypt(encrypted)
Entschlüsselt eine RSA Nachricht.
Erfordert, daß ein persönlicher Schlüssel gesetzt ist.
Ist keiner gesetzt, so wird nur für diese Sitzung ein Schlüssel erstellt und verwendet.

encrypted Die verschlüsselte Nachricht.
returns Der unverschlüsselte Originaltext.

RSAEncrypt(unencrypted)
Verschlüsselt eine RSA Nachricht.
Erfordert, daß ein öffentlicher Schlüssel gesetzt ist (Jeder kann mit öffentlichem Schlüssel verschlüsseln).
Ist keiner gesetzt, so wird nur für diese Sitzung ein Schlüssel erstellt und verwendet.

unencrypted Der zu verschlüsselnde Text.
returns Die verschlüsselte Nachricht.

RSAPrivateKey
Ermittelt oder setzt einen persönlichen RSA Schlüssel.

RSAPublicKey
Ermittelt oder setzt einen öffentlichen RSA Schlüssel.

RSAReset()
Ersetzt den persönlichen und öffentlichen Schlüssel (Zufallsprinzip).

RSASign(data)
Signiert eine RSA Nachricht.
Erfordert, daß ein persönlicher Schlüssel gesetzt ist (Nur der Verfasser kann mit persönlichem Schlüssel signieren).
Ist keiner gesetzt, so wird nur für diese Sitzung ein Schlüssel erstellt und verwendet.

data Die zu signierende Nachricht.
returns Die Signierung für die Nachricht.

RSAVerify(data,sign)
Verifiziert eine signierte RSA Nachricht.
Erfordert, daß ein öffentlicher Schlüssel gesetzt ist (Jeder kann mit öffentlichem Schlüssel verifizieren).
Ist keiner gesetzt, so wird nur für diese Sitzung ein Schlüssel erstellt und verwendet.

data Die signierte Nachricht.
sign Die Signierung für die Nachricht.
returns "True" oder "False".

SHA512Hash(password)
Erstellt einen SHA2-512 Hash für eine Texteingabe.
Dieser 128-stellige Hash empfiehlt sich zur sichersten Passwortverschlüsselung.

password Der Text für den der Hash generiert wird (oft ein Passwort).
returns Der 128-stellige Hex-SHA512 Hash.

LDEvents
Zusätzliche Ereignisaufrufe für Maus, GraphicsWindow und Dateisystem.
Für weitere Tastaturereignisse s. LDTextWindow.KeyDown und .KeyUp (mit .LastKey, LowLevel für GW u/o TW dh. auch OHNE Fensterfokus).

example graph_samples\graph-shapes.sb, graph-statistics.sb

Error FileChange FileFilter
FilePath LastError LastFileChanged
LastFileChangeType LastMouseWheelDelta MouseDoubleClick
MouseWheel Resized

Error
Ereignisaufruf bei Auftreten eines Fehlers bei einer LD Methode (LitDev Erweiterung).
Dies ist zusätzlich zu Warnungen im TextWindow, welche mit LDUtilties.ShowErrors, LDUtilties.ShowFileErrors und LDUtilties.ShowNoShapeErrors abgeschaltet werden können.


FileChange
Ereignisaufruf wenn eine Datei erstellt, geändert oder gelöscht wurde.
Das Verzeichnis (s. FilePath) und Dateifilter (s. FileFilter) müssen zuvor festgelegt werden, damit dieses Ereignis registriert werden kann.


FileFilter
Ermittelt oder setzt den Dateifilter für die mit LDEvents.FileChange zu überwachenden Dateitypen (Standard: "*.*").

FilePath
Ermittelt oder setzt das Stammverzeichnis welches von LDEvents.FileChange zu überwachen ist (Standard: "C:").

LastError
Ermittelt den Inhalt der letzten aufgetretenen Fehlermeldung.

LastFileChanged
Ermittelt den vollen Pfad der zuletzt geänderten Datei.

LastFileChangeType
Ermittelt die Art der letzten Änderung ("Created", "Changed" oder "Deleted" falls die letzte Datei erstellt, geändert oder gelöscht wurde).

LastMouseWheelDelta
Ermittelt die letzte Drehrichtung des Mausrades im GraphicsWindow (1/-1 für auf/ab bzw. vor/zurück, je Schritt).
example 'GW/Bild/Shape zoomen:
f = 1 'Faktor
dZ = 1.1 'Zoom delta
w = GraphicsWindow.Width
h = GraphicsWindow.Height
LDEvents.MouseWheel = OnWheel

Sub OnWheel
f = f * Math.Power(dZ, LDEvents.LastMouseWheelDelta)
f = Math.Round(100*f)/100 '2 Dez.
GraphicsWindow.Width = f*w
GraphicsWindow.Height = f*h
EndSub


MouseDoubleClick
Ereignisaufruf wenn ein (nur) Doppelklick im GraphicsWindow erfolgt (sowohl Doppelklick links wie rechts, ZeitDiff gemäß Systemeinstellung 500 ms).

MouseWheel
Ereignisaufruf wenn das Mausrad im GraphicsWindow gedreht wird (nicht bei Klick auf Mausrad, s. 'LastMouseWheelDelta').

Resized
Ereignisaufruf wenn die Größe des GraphicsWindow geändert wird (auch für 'Maximieren' und 'Verkleinern', nicht bei 'Minimieren').
example graph_samples\graph-statistics.sb
other-samples\RichTextBox.sb

LDEvents.Resized = OnResize

Sub OnResize
gw = GraphicsWindow.Width
gh = GraphicsWindow.Height
'zB. mit GW-füllender Shape
LDShapes.ReSize(shp, gw,gh)
LDShapes.Centre(shp, gw/2,gh/2)
EndSub


LDFastArray
Bietet weitere schnellere Wege zum Speichern von Werten in Arrays (inkompatibel zu SB Arrays).
Verarbeitet 1D, 2D, 3D und höher dimensionale Arrays und bietet Methoden zum Lesen und Schreiben von Arrays in Dateien, incl. CSV Format.
Weiters geeignet für verschiedene Dimensionen oder Elementanzahl in unterschiedlichen Reihen (Unterarrays, nicht rechteckige/irrreguläre/'Jagged' Arrays), wie in SB Arrays.
Interne Verwendung von Listen, welche es erlauben, die Anfangsgrößen zu erhöhen, sodaß die Arraydimension oder -größe anfangs nicht gesetzt werden müssen. Unterstützt auch Leerwerte ("").
Ganzzahlige Indexierung ab 1 (Intern: FastArray#, s. LDArray).
Für 1D Arrays ist 'LDList' wegen zusätzlicher Sortiermethoden besser geeignet.
Elemente in Arrays mit Dimension > 3 werden indexiert durch eine 'Komma getrennte Liste' von Indizes oder Index Variablennamen.


Add Collapse Copy
CreateFromIndices CreateFromValues Dimension
Get Get1D Get2D
Get3D Read ReadCSV
Remove Set Set1D
Set2D Set3D Size
Size1 Size2 Size3
ToArray Write WriteCSV

Add()
Erstellt einen neuen FastArray (Intern: FastArray#+1).
Dies ist ein allgemeiner Array zur Verwendung als 1D, 2D, 3D oder höher dimensionaler Array, abhängig von der Datenbesetzung.

returns Der Name des neuen FastArray.

Collapse(arrayName)
Entfernt alle Leereinträge ("") in einem FastArray.
Beachte daß sich Indizes oder ganze Dimensionen ändern können, wenn interne Einträge gelöscht werden.

arrayName Der Name des FastArray.

Copy(arrayName)
Kopiert einen FastArray in einen neuen FastArray (Intern: FastArray#+1).
arrayName Der Name des zu kopierenden FastArray.
returns Der Name des neuen FastArray.

CreateFromIndices(sbArray)
Konvertiert einen SB Array (bis zu 3 Dimensionen) zum entsprechenden FastArray (Intern: FastArray#+1).
Diese Methode erstellt einen FastArray nur aus den Indizes des SB Array.

sbArray Der Name des SB Arrays.
returns Der Name des neuen FastArray bei Erfolg, sonst "".

CreateFromValues(sbArray)
Konvertiert einen SB Array zum entsprechenden FastArray (Intern: FastArray#+1).
Alle Indizes im SB Array werden durch fortlaufende ganzzahlige Indizes (ab 1) ersetzt.

sbArray Der Name des SB Arrays.
returns Der Name des neuen FastArray bei Erfolg, sonst "".

Dimension(arrayName)
Ermittelt die Dimension eines FastArray.
arrayName Der Name des FastArray.
returns Die Dimension des FastArray.

Get(arrayName,indices)
Ermittelt einen Arraywert.
Die Methoden Get1D, Get2D oder Get3D sind etwas schneller für Arrays kleinerer Dimensionen.

arrayName Der Name des FastArray.
indices Eine Komma- (oder Leerzeichen " ") getrennte Liste von Indexwerten (langsamer) oder Index Variablennamen (schneller).
zB. "3,2,6" oder "i j k".
Wenn auf "" gesetzt, dann werden zuvor gesetzte Indexvariablen verwendet.

returns Der ermittelte Arraywert bei Erfolg, sonst "".

Get1D(arrayName,index1)
Ermittelt einen 1D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
returns Der Arraywert bei Erfolg, sonst "".

Get2D(arrayName,index1,index2)
Ermittelt einen 2D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
index2 Der ganzzahlige Index in der 2. Dimension.
returns Der Arraywert bei Erfolg, sonst "".

Get3D(arrayName,index1,index2,index3)
Ermittelt einen 3D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
index2 Der ganzzahlige Index in der 2. Dimension.
index3 Der ganzzahlige Index in der 3. Dimension.
returns Der Arraywert bei Erfolg, sonst "".

Read(fileName,binary)
Erstellt einen neuen FastArray aus den Daten einer angegebenen Datei (Intern: FastArray#+1).
Für eine textbasierte Datei mit anderem Indexierungsformat wie 'Write', wird ein 1D Array mit jeder Zeile erstellt.

fileName Der volle Pfad der zu ladenden Datei.
binary Als Binärdatei laden? "True" oder "False" (Standard, Textdatei).
returns Der Name des neuen FastArray.

ReadCSV(fileName)
Einlesen einer CSV (comma separated values) Datei in einen 2D FastArray (Intern: FastArray#+1).
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.

fileName Der volle Pfad der CSV Datei.
returns Ein 2D FastArray mit den importierten Daten der CSV Datei bei Erfolg, sonst "".

Remove(arrayName)
Löscht einen bestehenden FastArray.
arrayName Der Name des FastArray.

Set(arrayName,indices,value)
Setzt einen Arraywert.
Die Methoden Set1D, Set2D oder Set3D sind etwas schneller für Arrays kleinerer Dimensionen.

arrayName Der Name des FastArray.
indices Eine Komma- (oder Leerzeichen " ") getrennte Liste von Indexwerten (langsamer) oder Index Variablennamen (schneller).
zB. "3,2,6" oder "i j k".
Wenn auf "" gesetzt, dann werden zuvor gesetzte Indexvariablen verwendet.

value Der zu setzende Arraywert.

Set1D(arrayName,index1,value)
Setzt einen 1D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
value Der zu setzende Arraywert.

Set2D(arrayName,index1,index2,value)
Setzt einen 2D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
index2 Der ganzzahlige Index in der 2. Dimension.
value Der zu setzende Arraywert.

Set3D(arrayName,index1,index2,index3,value)
Setzt einen 3D Wert in einem FastArray.
arrayName Der Name des FastArray.
index1 Der ganzzahlige Index in der 1. Dimension.
index2 Der ganzzahlige Index in der 2. Dimension.
index3 Der ganzzahlige Index in der 3. Dimension.
value Der zu setzende Arraywert.

Size(arrayName,indices)
Ermittelt die aktuelle Größe einer Dimension.
Die Methoden Size1, Size2 or Size3 sind etwas schneller für Arrays kleinerer Dimensionen.

arrayName Der Name des FastArray.
indices Eine Komma- (oder Leerzeichen " ") getrennte Liste von Indizes.
zB. "" für erste Dimension oder "3" für zweite Dimension des 3. Elementes in der 1. Dimension.

returns Die Dimensionsgröße.

Size1(arrayName)
Ermittelt die aktuelle Größe der ersten Dimension.
arrayName Der Name des FastArray.
returns Die Dimensionsgröße.

Size2(arrayName,index1)
Ermittelt die aktuelle Größe der zweiten Dimension.
arrayName Der Name des FastArray.
index1 Der erste Index dessen Größe zu ermitteln ist. Kann 1 sein, wenn alle Reihen gleiche Größe haben.
returns Die Dimensionsgröße.

Size3(arrayName,index1,index2)
Ermittelt die aktuelle Größe der dritten Dimension.
arrayName Der Name des FastArray.
index1 Der erste Index dessen Größe zu ermitteln ist. Kann 1 sein, wenn alle Reihen gleiche Größe haben.
index2 Der zweite Index dessen Größe zu ermitteln ist. Kann 1 sein, wenn alle Reihen gleiche Größe haben.
returns Die Dimensionsgröße.

ToArray(arrayName)
Konvertiert einen FastArray zu einem SB Array.
arrayName Der Name des FastArray.
returns Der Name des neuen SB Arrays bei Erfolg, sonst "".

Write(arrayName,fileName,binary)
Speichert einen FastArray in eine Datei.
Für einen textbasierten 1D Array, wird jeder Eintrag nur als Zeile (ohne Indexierung) geschrieben.

arrayName Der Name des FastArray.
fileName Der volle Pfad der zu speichernden Datei.
binary Als Binärdatei speichern? "True" oder "False" (Standard, Textdatei).

WriteCSV(arrayName,fileName)
Speichert einen 2D FastArray in eine CSV (comma separated values) Datei.
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.

arrayName Der Name des 2D FastArray.
fileName Der volle Pfad der CSV Datei.

LDFastShapes
Schnellere Shape Methoden als die Standard SB Shape Operationen.
Vorrangig zur Bewegung einer großen Anzahl von Shapes, die in einem GameLoop (Hauptschleife) aktualisiert werden.
Es werden nur die Haupt-Shapebefehle unterstützt, da es diejenigen sind, die im Allgemeinen oft wiederholt werden.
Die Shape wird zuerst erstellt, dann registriert (ShapeIndex) und der dabei zurückgegebene, ganzzahlige Index wird für die weiteren Methoden verwendet.
Die visuelle Aktualisierung der erfolgten Änderungen erfolgt dann erst nach Aufruf von 'Update', wodurch alle Änderungen gemeinsam stattfinden.
Leistungsverbesserung durch die gemeinsame, ganzzahlige Indexierung und Stapel-Aktualisierung.

example other-samples\LDFastShapes.sb

GetLeft GetOpacity GetTop
HideShape Move Rotate
SetOpacity ShapeIndex ShowShape
Update Zoom

GetLeft(index)
Ermittelt die linke Koordinate (Ankerpunkt) einer angegebenen Shape.
index Der Index der Shape (Rückgabewert von ShapeIndex).
returns Die linke Koordinate der Shape.

GetOpacity(index)
Ermittelt die Deckkraft einer Shape.
index Der Index der Shape (Rückgabewert von ShapeIndex).
returns Der Wert der Deckkraft (0 bis 100 [%]). 0 ist völlig transparent und 100 ist völlig deckend.

GetTop(index)
Ermittelt die obere Koordinate (Ankerpunkt) einer angegebenen Shape.
index Der Index der Shape (Rückgabewert von ShapeIndex).
returns Die obere Koordinate der Shape.

HideShape(index)
Blendet eine bereits hinzugefügte Shape aus.
index Der Index der Shape (Rückgabewert von ShapeIndex).

Move(index,x,y)
Verschiebt eine Shape mit dem angegebenen Name unmittelbar an eine neue Position.
index Der Index der zu verschiebenden Shape (Rückgabewert von ShapeIndex).
x Die x-Koordinate der neuen Position.
y Die y-Koordinate der neuen Position.

Rotate(index,angle)
Dreht die Shape mit dem angegebenen Name optisch in den angegebenen Winkel um ihren Mittel-/Schwerpunkt.
index Der Index der Shape (Rückgabewert von ShapeIndex).
angle Der Winkel [Grad] in den die Shape gedreht wird (+/- für im/gegen Uhrzeigersinn, 0 für Originalposition 12h).

SetOpacity(index,level)
Setzt die Deckkraft mit welcher eine Shape angezeigt wird.
index Der Index der Shape (Rückgabewert von ShapeIndex).
level Der Wert der Deckkraft (0 bis 100 [%]). 0 ist völlig transparent und 100 ist völlig deckend.

ShapeIndex(shapeName)
Registriert eine Shape zur Verwendung mit diesem Objekt.
Dieser Befehl ist potentiell langsam und sollte daher VOR den zeitkritischen visuellen Updates erfolgen.
zB. Erstelle und registriere alle Shapes vor Bewegungssimulationen.

shapeName Der Name der erstellten Shape.
returns Der Index (#) zur Weiterverwendung für andere Methoden dieses Objekts, oder -1 bei Fehler.
Der Index ist eine Ganzzahl beginnend ab 1, und um 1 erhöht für jede weitere registrierte Shape.


ShowShape(index)
Zeigt eine zuvor ausgeblendete Shape wieder an.
index Der Index der Shape (Rückgabewert von ShapeIndex).

Update()
Aktualisiert alle durch dieses Objekt gesetzten Shape-Eigenschaften, die seit letztem 'Update' verändert wurden.
Die Shapes werden solange nicht visuell aktualisiert, bis diese Methode aufgerufen wurde.


Zoom(index,scaleX,scaleY)
Vergrößert oder verkleinert eine Shape um die angegebenen Zoomwerte.
index Der Index der Shape (Rückgabewert von ShapeIndex).
scaleX Der Zoomfaktor in x-Richtung (<1 verkleinert, >1 vergrößert).
scaleY Der Zoomfaktor in y-Richtung (<1 verkleinert, >1 vergrößert).

LDFigures
Einige weitere Shapes wie Sprechblasen, Bögen und Pfeile (Intern: Figure#).

AddArc AddBlockArrow AddCallout
AddLineArrow AddRegularPolygon

AddArc(width,height,startAngle,endAngle,thickness)
Fügt eine Bogen Shape hinzu (Intern: Figure#+1).
width Die Breite der Shape.
height Die Höhe der Shape.
startAngle Der Startwinkel [Grad].
endAngle Der Endwinkel [Grad].
thickness Die Strichdicke des Bogens [Pxl].
returns Der Name der Bogen Shape.

AddBlockArrow(width,height,thickness,arrowAngle,direction)
Fügt eine Blockpfeil Shape hinzu (Intern: Figure#+1).
width Die Breite der Shape.
height Die Höhe der Shape.
thickness Die relative Dicke des Pfeilschaftes (zB. 0.25).
arrowAngle Der Winkel der Pfeilspitze [Grad].
direction Die Pfeilrichtung ("Up", "Down", "Left" oder "Right").
returns Der Name der Blockpfeil Shape.

AddCallout(width,height,text,style,anchor)
Fügt eine Baloon (Sprechblase/Legende) Shape hinzu (Intern: Figure#+1).
width Die Breite der Shape.
height Die Höhe der Shape.
text Der Legendetext in der Sprechblase.
style Der Baloonstil ("Cloud", "Oval", "Rectangle" oder "RoundedRectangle").
anchor Die Ankerposition der Hinweisspitze, relativ zur Baloongröße (zB. "X=0;Y=1.25;"). Sind beide <1, zB. "x=0;y=0;", weist die Spitze nach innen und ist verborgen.
returns Der Name der Baloon Shape.

AddLineArrow(width,height,size,bend,startArrow,endArrow,startCorner)
Fügt eine Strichpfeil Shape hinzu (Intern: Figure#+1) mit Eigenschaften GraphicsWindow.PenColor/PenWidth.
width Die Breite der Shape.
height Die Höhe der Shape.
size Die Größe der Pfeilspitze [Pxl].
bend Die Stärke der Pfeilbiegung (zB. 0 ist gerade, 0.5 ist sanft gebogen).
startArrow Der Startpfeiltyp ("None", "Arrow", "Open", "Oval" oder "Stealth").
endArrow Der Endpfeiltyp ("None", "Arrow", "Open", "Oval" oder "Stealth").
startCorner Die Position der Startecke ("BottomLeft", "BottomRight", "TopLeft" oder "TopRight"). Der Pfeil endet in der gegenüberliegenden Ecke.
returns Der Name der Pfeil Shape.

AddRegularPolygon(width,height,corners,radius)
Fügt eine regelmäßige Vieleck Shape hinzu (Intern: Figure#+1).
S. LDShapes.AddPolygon, -AddStar, -AddRegularPolygon.

width Die Breite der Shape.
height Die Höhe der Shape.
corners Die Anzahl der Ecken.
radius Ein Radius (relativ zum Umkreisradius) für Stern Shapes (zB. 1 für Fünfeck, 0.5 für 5 Punkte Stern).
returns Der Name der Vieleck Shape.

LDFile
Diverse Funktionen zur Datei- und Ordnermanipulation.

AccessTime ANSItoUTF8 AppDataFolder
CopyDirectory CreationTime CSVplaceholder
DocumentsFolder Exists GetAllDirectories
GetExtension GetFile GetFolder
Length LoadAllVariables ModifiedTime
MusicFolder PicturesFolder PrintFile
PublicFolder ReadANSI ReadANSIToArray
ReadCSV ReadCSVTransposed ReadToArray
RenameDirectory RenameFile SaveAllVariables
Size TempFolder UserName
WriteCSV

AccessTime(fileName)
Ermittelt den letzten Zugriffszeitpunkt auf eine Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der letzte Zugriffszeitpunkt auf Datei oder Verzeichnis bei Erfolg, sonst "" (zB. Datei existiert nicht).

ANSItoUTF8(fileName,BOM)
Konvertiert eine ANSI kodierte Textdatei zu UTF8 (s.a. ReadANSI).
Sollte auch für andere Kodierungen funktionieren.
UTF8 ist die in SB verwendete Standardkodierung für Textdateien.

fileName Der volle Pfad der zu konvertierenden Datei.
BOM Byte Order Mark (BOM, 'EF BB BF') am Beginn der UTF8 Datei einfügen? "True" oder "False" (Standard). SB erstellt ohne BOM.
returns Der Pfad der konvertierten Datei (OrigName-UTF8.txt) bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

AppDataFolder
Ermittelt den Pfad des Ordners 'Anwendungsdaten' im Benutzerprofil (%APPDATA%, W7: %USERPROFILE%\AppData\Roaming).

CopyDirectory(directoryFrom,directoryTo)
Rekursives Kopieren eines Ordners mit gesamtem Inhalt (incl. Unterordner).
directoryFrom Der volle Pfad des Quellordners.
directoryTo Der volle Pfad des Zielordners.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

CreationTime(fileName)
Ermittelt den Erstellungszeitpunkt einer Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der Erstellungszeitpunkt der Datei bei Erfolg, sonst "" (zB. Datei existiert nicht).

CSVplaceholder
Platzhalter-Zeichen welches beim Lesen von CSV Dateien (s. LDFile.ReadCSV..) anstelle leerer Arraywerte verwendet wird.
Ein SB-Array kann keine leeren Werte ("") speichern.
Standard: Leerstring "", dh. der resultierende Array enthält keine leeren Elemente aus der CSV Datei.


DocumentsFolder
Ermittelt den Ordnerpfad für 'Eigene Dokumente' (W7: %USERPROFILE%\Documents).

Exists(fileName)
Ermittelt ob der angegebene Ordner- oder Dateipfad existiert (Groß-/Kleinschreibung egal, auch für relative Pfade ausgehend vom SB Installationsordner '.').
fileName Der absolute oder relative Ordner- oder Dateipfad (kein %EnvVar% Pfad).
returns "True" oder "False".
example LDFile.Exists("SB.exe") ' "True"
LDFile.Exists(".\lib") ' "True"
LDFile.Exists("\windows\notepad.exe") ' "True"


GetAllDirectories(path)
Ermittelt rekursiv alle Unterordner in einem angegebenen Ordner.
WARNUNG: Keinen vollen Laufwerkscan oä. ausführen, sondern überschaubare Ordnerstruktur wählen.

path Der volle Pfad des Basisordners.
returns Ein Array mit den vollen Pfaden aller Unterordner oder "FAILED".

GetExtension(fileName)
Ermittelt die Dateierweiterung aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad oder -name, zB. Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Die Dateierweiterung (ohne Punkt) oder "" (keine Erweiterung).
example url = http://www.microsoft.com/favicon.ico"
ext = LDFile.GetExtension(url) ' "ico"


GetFile(fileName)
Ermittelt den blanken Dateiname aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad, zB. Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Der reine Dateiname aus einem gegebenen Dateipfad (ohne Ordnerpfad\ und .ext), Ordnername für einen Ordnerpfad.
example fName = LDFile.GetFile(File.GetSettingsFilePath())
dName = LDFile.GetFile(Program.Directory)
wwwName = LDFile.GetFile("http://www.microsoft.com/favicon.ico")


GetFolder(fileName)
Ermittelt den Elternordnerpfad aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad, zB. "Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Der reine (ev. relative) Ordnerteil für den angegebenen Pfad (ohne abschließenden "\").
example url = http://www.microsoft.com/favicon.ico"
wwwPfad = LDFile.GetFolder(url)


Length(fileName)
Ermittelt die Anzahl der Zeilen (incl. Leerzeilen) in einer Textdatei. 0 bei Leerdatei. Abschließendes CrLf wird nicht mitgezählt.
fileName Der volle Pfad der Textdatei.
returns Die Zeilenanzahl in der Datei bei Erfolg, sonst -1 (zB. Datei existiert nicht, mit Fehlermeldung).

LoadAllVariables(fileName)
Stellt die Werte aller Variablen wieder her, wie diese zuvor mit 'SaveAllVariables' gespeichert wurden.
fileName Der volle Dateipfad unter dem die Variablenwerte zuvor gespeichert wurden (auch %EnvVar%).

ModifiedTime(fileName)
Ermittelt den letzten Änderungszeitpunkt einer Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der letzte Änderungszeitpunkt der Datei bei Erfolg, sonst "" (zB. Datei existiert nicht).

MusicFolder
Ermittelt den Ordnerpfad für 'Eigene Musik' (W7: %USERPROFILE%\Music).

PicturesFolder
Ermittelt den Ordnerpfad für 'Eigene Bilder' (W7: %USERPROFILE%\Pictures).

PrintFile(fileName)
Ausdrucken des Inhalts einer Datei.
fileName Der volle Pfad der zu druckenden Datei (Die Dateierweiterung sollte mit einer Anwendung verknüpft sein).

PublicFolder
Ermittelt den Pfad des 'Public' Ordners (W7: 'Öffentlich', XP: 'Gemeinsame Dateien').

ReadANSI(fileName)
Liest eine ANSI kodierte Textdatei ein (mit Zeichencode >127).
Sollte auch für andere Kodierungen incl. UTF8 funktionieren (s.a. ANSItoUTF8).
UTF8 ist die in SB verwendete Standardkodierung für Textdateien.

fileName Der volle Pfad der einzulesenden Datei.
returns Der Textinhalt der ANSI Datei bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

ReadANSIToArray(fileName)
Liest eine ANSI kodierte Textdatei als Array ein (ein Arrayelement pro Dateizeile).
Sollte auch für andere Kodierungen incl. UTF8 funktionieren (s.a. ANSItoUTF8).
Leerzeilen werden als Leerzeichen in den Arraywert übernommen.

fileName Der volle Pfad der einzulesenden Datei.
returns Ein Array (ab 1) mit einem Element pro Dateizeile bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

ReadCSV(fileName)
Ermittelt den Inhalt einer CSV Datei (comma separated values) als Array.
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.

fileName Der volle Pfad der CSV Datei.
returns Ein 2D Array mit den Daten der eingelesenen CSV Datei, zB. arr[zeile][spalte].

ReadCSVTransposed(fileName)
Ermittelt den Inhalt einer CSV Datei (comma separated values) als Array und vertauscht dabei Zeilen- und Spaltenwerte.
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.

fileName Der volle Pfad der CSV Datei.
returns Ein 2D Array mit den transponierten Daten der eingelesenen CSV Datei, zB. arr[spalte][zeile].

ReadToArray(fileName)
Ermittelt den Inhalt einer Textdatei zeilenweise als Array, wobei jede Textzeile einem Arrawert entspricht. "" bei Leerdatei oder wenn Datei nicht existiert.
Leerzeilen werden durch Arraywerte mit einem Leerzeichen (" ") dargestellt.

fileName Der volle Pfad der Textdatei.
returns Die Zeilen der Datei als Array, indexiert durch die Zeilennummer (ab 1).

RenameDirectory(directoryFrom,directoryTo)
Umbenennen oder Verschieben eines existierenden Ordners mit gesamtem Inhalt (incl. Unterordner).
directoryFrom Der volle Pfad des zu verschiebenden/umzubenennenden Quellordners.
directoryTo Der volle Zielordnerpfad (ev. mit neuem Ordnername).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

RenameFile(fileFrom,fileTo)
Umbenennen oder Verschieben einer existierenden Datei.
Bestehende Zieldateien werden nicht überschrieben.

fileFrom Der volle Pfad der zu verschiebenden/umzubenennenden Quelldatei (mit/ohne Erweiterung).
fileTo Der volle Zieldateipfad (ev. mit neuem Dateiname, mit/ohne Erweiterung).
Existiert ein gleichnamiger Ordnerpfad, so kann dieser kein Zieldateipfad mehr sein.

returns "SUCCESS" oder "FAILED" (mit Fehlermeldung).

SaveAllVariables(fileName)
Speichert alle aktuellen Variablen/-werte in eine angegebene Datei (eine Variable/Zeile als "Name Wert" durch Leerzeichen getrennt).
Dies ist der vollständige. aktuelle Programmstatus bis zum Aufruf dieser Methode. Enthält bereits alle Variablennamen, jedoch ev. manche noch OHNE Wert.
Kann nützlich sein, um einen Spielstand zu speichern oder zum Debuggen (s. LoadAllVariables).
Besser nicht innerhalb einer Ereignis Sub verwenden.

fileName Der volle Dateipfad zum Speichern der Variablen und -werte (auch %EnvVar%). Eine bestehende Datei wird überschrieben bzw. neu erstellt.

Size(fileName)
Ermittelt die Größe einer lokalen Datei in Bytes.
fileName Der volle Dateipfad.
returns Die Dateigröße [Byte] bei Erfolg, sonst -1.

TempFolder
Ermittelt den Pfad des TEMP Ordners im Benutzerprofil (%TEMP% bzw. Ordnerpfad von File.GetTemporaryFilePath).

UserName
Ermittelt den aktuellen Benutzername (%USERNAME%).

WriteCSV(fileName,array)
Speichert einen 2D Array in eine CSV Datei (comma separated values).
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.
Felder mit CrLf, " und , in "" einschließen, wobei " -> "" (Escape).

fileName Der volle Pfad der CSV Datei.
array Der zu exportierende 2D Array, zB. arr[zeile][spalte].

LDFocus
Unterstützt Fokuskontrolle für Steuerelemente/Controls (zB. TextBox zur Zeit aktiv für Eingabe).
example 3D-samples\LD3DMazeGame.sb

GetFocus IsFocus SetFocus

GetFocus()
Ermittelt das aktuelle Steuerelement/Control mit Fokus.
returns Der Name des Steuerelementes (gewöhnlich eine TextBox# oder Button#), sonst "False".

IsFocus(shapeName)
Ermittelt ob ein angegebenes Steuerelement/Control fokusiert ist.
shapeName Der Name des Steuerelementes (gewöhnlich eine TextBox oder Button).
returns "True" oder "False".

SetFocus(shapeName)
Setzt den Fokus für ein angegebenes Steuerelement/Control.
shapeName Der Name des Steuerelementes (gewöhnlich eine TextBox oder Button).
returns "True" bei Erfolg, sonst "False".

LDftp
FTP Methoden zur Dateiübertragung.

Delete DoAssync Download
FTPComplete LastFTPFile LastFTPStatus
ListFiles Upload UseBinary

Delete(remoteFile,ftpServerIP,ftpUserID,ftpPassword)
Löscht eine Datei per FTP.
remoteFile Der volle Serverpfad der zu löschenden Remotedatei.
ftpServerIP Die FTPServer Adresse (oder IP).
ftpUserID Die Benutzer ID.
ftpPassword Das Benutzerpasswort.
returns "SUCCESS", "FAILED" oder "PENDING" für ascnchron.

DoAssync
Ermittelt oder setzt ob die FTP Übertragung asynchron durchgeführt wird ("True" oder "False" Standard).
Ein asynchroner FTP Transfer kehrt sofort und vollständig im Hintergrund zurück.
Das 'FTPComplete' Ereignis wird aufgerufen, sobald die Übertragung beendet ist.


Download(localFile,remoteFile,ftpServerIP,ftpUserID,ftpPassword)
Download einer Datei per FTP.
localFile Der volle lokale Pfad der herunterzuladenden Datei.
remoteFile Der volle Serverpfad der herunterzuladenden Remotedatei.
ftpServerIP Die FTPServer Adresse (oder IP).
ftpUserID Die Benutzer ID.
ftpPassword Das Benutzerpasswort.
returns "SUCCESS", "FAILED" oder "PENDING" für ascnchron.

FTPComplete
Ereignisaufruf wenn ein asynchroner FTP Transfer abgeschlossen ist.

LastFTPFile
Die letzte asynchron übertragene FTP Datei.

LastFTPStatus
Der Status der letzten asynchron übertragenen FTP Datei ("SUCCESS" oder "FAILED").

ListFiles(remoteFolder,ftpServerIP,ftpUserID,ftpPassword)
Ermittelt eine Inhaltsauflistung eines Remoteordners per FTP (nur asynchron).
remoteFolder Der volle Serverpfad des aufzulistenden Remoteordners.
ftpServerIP Die FTPServer Adresse (oder IP).
ftpUserID Die Benutzer ID.
ftpPassword Das Benutzerpasswort.
returns Ein Array mit Datei- und Ordnernamen oder "FAILED". Der Arrayindex bezeichnet den Datei-/Ordnername und Arraywerte enthalten zusätzliche Informationen.

Upload(localFile,remoteFile,ftpServerIP,ftpUserID,ftpPassword)
Upload einer Datei per FTP.
localFile Der volle lokale Pfad der raufzuladenden Datei.
remoteFile Der volle Serverpfad der raufzuladenden Remotedatei.
ftpServerIP Die FTPServer Adresse (oder IP).
ftpUserID Die Benutzer ID.
ftpPassword Das Benutzerpasswort.
returns "SUCCESS", "FAILED" oder "PENDING" für ascnchron.

UseBinary
Ermittelt oder setzt ob die FTP Übertragung Binär- (Standard) oder Ascii-Modus verwendet ("True" oder "False").

LDGraph
Objekt zur Erstellung und Anzeige von Graphen.
Hilfe unter LDGraph.Help.

example graph_samples\*.sb

AddGraph AddSeriesHistogram AddSeriesLine
AddSeriesPoints AutoScale AxesColour
AxesResolution BorderColour CreateTrend
DeleteSeries ExportCSV GridColour
GridLinesX GridLinesY Help
InteriorColour RestartEvents ScaleAxisX
ScaleAxisY StopEvents TextColour
TrendCoef TrendPointCount

AddGraph(xpos,ypos,width,height,title,labelX,labelY)
Fügt einen Graph bzw. Diagramm (Intern: Graph#) im GraphicsWindow hinzu. Ev. Fehleranzeige im TW ist mit LDUtilities.ShowErrors deaktivierbar.
xpos Die linke Position des Graph im GW.
ypos Die obere Position des Graph im GW.
width Die Breite des Graph im GW.
height Die Höhe des Graph im GW.
title Der "Titel" über dem Graph.
labelX Die "Bezeichnung" für die x-Achse.
labelY Die "Bezeichnung" für die y-Achse.
returns Der Name des Graph.

AddSeriesHistogram(graphName,seriesLabel,data,colour)
Fügt einem existierenden Graph einen Datensatz als Balkendiagramm (Histogramm) hinzu.
graphName Der Name des Graph.
seriesLabel Die Bezeichnung des Datensatzes.
Ein bereits bestehender Datensatz mit gleicher Bezeichnung wird dabei ersetzt.

data Ein Array mit den X/Y Koordinatenwerten in der Form daten[x] = y.
colour Die Farbe für die Datenserie/Label.
example Histogramm mit zwei Balken (0,1) und (2,3) für [Balkenmitte,Höhe]:
daten[0] = 1
daten[2] = 3


AddSeriesLine(graphName,seriesLabel,data,colour)
Fügt einem existierenden Graph einen neuen Datensatz als Liniengraph hinzu.
graphName Der Name des Graph.
seriesLabel Die Bezeichnung des Datensatzes.
Ein bereits bestehender Datensatz mit gleicher Bezeichnung wird dabei ersetzt.

data Ein Array mit den X/Y Koordinatenwerten in der Form daten[x] = y.
colour Die Farbe für die Datenserie/Label.
example Linie zwischen zwei Punkten (0,1) und (2,3) für [x,y]:
daten[0] = 1
daten[2] = 3


AddSeriesPoints(graphName,seriesLabel,data,colour)
Fügt einem existierenden Graph einen Datensatz als Punkte hinzu.
graphName Der Name des Graph.
seriesLabel Die Bezeichnung des Datensatzes.
Ein bereits bestehender Datensatz mit gleicher Bezeichnung wird dabei ersetzt.

data Ein Array mit den X/Y Koordinatenwerten in der Form daten[x] = y.
colour Die Farbe für die Datenserie/Label.
example Datenserie mit zwei Punkten (0,1) und (2,3) für [x,y]:
daten[0] = 1
daten[2] = 3


AutoScale
Ermittelt oder setzt die automatische Skalierung der Achsen? "True" (Standard) oder "False".
Bei "False" wird die Skalierung aus der vorhergehenden Version verwendet.


AxesColour
Ermittelt oder setzt die Farbe der umgebenden Achsen und Skalierungsmarkierungen (Standard: #FF000000 bzw. Black).

AxesResolution
Ermittelt oder setzt die Dezimalstellen an den Min/Max Achsenendpunkten (Standard: 2 dh. signifikante Werte an den Achsenendpunkten auf zwei Dezimalstellen).

BorderColour
Ermittelt oder setzt die Farbe der Umrandung (Standard: #FFFAEBD7 bzw. AntiqueWhite).

CreateTrend(data,order)
Erstellt eine Tendenzfunktion aus den angegebenen Daten.
data Ein Array mit den X/Y Koordinatenwerten in der Form daten[x] = y.

zB. Eine Gerade mit Punkten (0,1) und (2,3) für [x,y] hätte:
daten[0] = 1
daten[2] = 3

oder allgemein daten[x] = y, als Ausdruck für f(x)=y.

order Der Polynomgrad für die Trendfunktion:
(0 ist eine Waagrechte)
1 linear
2 quadratisch
3 kubisch usw.

returns Ein Datenarray mit Tendenzwerten, die als Graph dargestellt werden.

DeleteSeries(graphName,seriesLabel)
Löscht einen vorhandenen Datensatz von einem bestehenden Graph.
graphName Der Name des Graph.
seriesLabel Die Bezeichnung des zu löschenden Datensatzes.

ExportCSV(data,fileName)
Exportiert eine Datenserie direkt als CSV Datei (keine Graphzeichnung).
data Ein Array mit den X/Y Koordinatenwerten in der Form daten[x] = y.
fileName Dateiname der zu speichernden CSV Datei.

GridColour
Ermittelt oder setzt die Farbe der inneren Gitterlinien (Standard: #FFD3D3D3 bzw. LightGray).

GridLinesX
Ermittelt oder setzt die Anzahl der x-Achsenmarkierungen und Gitterlinien (Standard: 10).

GridLinesY
Ermittelt oder setzt die Anzahl der y-Achsenmarkierungen und Gitterlinien (Standard: 10).

Help()
Diese Methode dient nur zur Anzeige dieser Hilfe.

Daten zu einem Graph können als Linie, Punkte oder Säulen dargestellt werden.

Jeder Datensatz ist ein SB-Array, wobei der Arrayindex den (einmaligen) Wert auf der x-Achse und der Arraywert den y-Wert darstellt (daten[x]=y) zB:
daten[1] = 5
daten[2] = 8
daten[3] = 3

Zuerst wird mit AddGraph ein neuer Graph erstellt. Diesem werden dann Daten mittels AddSeriesLine, AddSeriesHistogram oder AddSeriesPoints hinzugefügt.

Sobald ein Graph dargestellt ist, können die Achsen mit dem Hand-Cursor erfasst und bewegt werden. Die Legende kann ebenfalls verschoben werden.

Mittels linker Maustaste kann der Graph umskaliert werden, ein zu vergrößernder Bereich gewählt oder per Mausrad die Gesamtanzeige vergrößert werden. Ein Doppelklick setzt alle Werte auf die Ausgangsdarstellung zurück.

Rechtsklick zeigt ein Kontextmenü mit weiteren Funktionen, wie Export zu Bild- (bmp, gif, jpg, png, tiff) oder Textdatei (csv, Excel), Anzeige der Cursorkoordinaten, Ausblenden der Legende usw.

Zusätzlich bieten verschiedene Parameter dieser Methode weitere Optionen zu Farbdarstellung und Verhalten des Graphen.


InteriorColour
Ermittelt oder setzt die Farbe des Innenbereiches (Standard: #FFF0F8FF bzw. AliceBlue).

RestartEvents()
Startet alle Linksklick Mausereignisse im Graph (nach 'StopEvents') erneut.

ScaleAxisX(graphName,min,interval,max)
Setzt die Skalierung für die x-Achse.
Dies übergeht alle automatischen Methoden.

graphName Der Name des Graph.
min Der Minimalwert auf der x-Achse.
interval Der regelmäßige Abstand der Gitterlinien.
Bei 0 wird dieser Abstand automatisch aus den angegebenen Daten ermittelt.

max Der Maximalwert auf der x-Achse.
Bei max=min, wird das Maximum aus den angegebenen Daten ermittelt.
Bei max

ScaleAxisY(graphName,min,interval,max)
Setzt die Skalierung für die y-Achse.
Dies übergeht alle automatischen Methoden.

graphName Der Name des Graph.
min Der Minimalwert auf der y-Achse.
interval Der regelmäßige Abstand der Gitterlinien.
Bei 0 wird dieser Abstand automatisch aus den angegebenen Daten ermittelt.

max Der Maximalwert auf der y-Achse.
Bei max=min, wird das Maximum aus den angegebenen Daten ermittelt.
Bei max

StopEvents()
Stoppt alle Linksklick Mausereignisse im Graph (Zoomen, Markieren usw.).

TextColour
Ermittelt oder setzt die Farbe des Textes (Standard: #FF000000 bzw. Black).

TrendCoef()
Ermittelt die Polynomkoeffizienten der Tendenzfunktion für die zuletzt (mittels 'CreateTrend') berechneten Tendenzwerte.
returns Ein Array 'coef' mit den Polynomkoeffizienten für die Trendkurve.
Die Anzahl der Koeffizienten im Array ist um 1 höher als der Grad, welcher zur Erstellung der Tendenz (Grad+1) verwendet wurde, ab 0 (Konstantwert).
y = coef[0] + coef[1]x + coef[2]x^2 ...


TrendPointCount
Ermittelt oder setzt die Anzahl der Punkte, die zur Erstellung der Trendkurve ('CreateTrend') verwendet werden. (Standard: 50).

LDGraphicsWindow
Erweiterte Funktionen für das GraphicsWindow.
example other-samples\ClockWidget.sb, LDScrollBars.sb, LDUnits.sb

Animate BackgroundBrush BackgroundImage
CancelClose Capture Closing
ExitButtonMode ExitOnClose FloodFill
GetPixel Height Icon
MouseX MouseXOffset MouseXScale
MouseY MouseYOffset MouseYScale
PauseUpdates Print Reposition
RepositionedMouseX RepositionedMouseY RepositionPoint
Resize ResumeUpdates ScreenCapture
SetActive SetFontFromFile ShowInTaskbar
State Style TopMost
TransparentGW Width

Animate(scaleX,scaleY,panX,panY,angle,duration)
Skaliert und bewegt alle Shapes und Controls animiert im GraphicsWindow.
Ähnlich der s. 'Reposition' Methode, jedoch in animierter Bewegung (asynchron).
s.a. LDShapes.AnimateRotation /-..Zoom für Einzelshape.

scaleX Der -/+ Skalierungsfaktor in x-Richtung (1 orig, 0 keine Shapes/Controls).
scaleY Der -/+ Skalierungsfaktor in y-Richtung (1 orig, 0 keine Shapes/Controls).
panX Versatz der Ansicht in x-Richtung [Pxl] bei Ansichtsskalierung (0 zentriert im GraphicsWindow).
panY Versatz der Ansicht in y-Richtung [Pxl] bei Ansichtsskalierung (0 zentriert im GraphicsWindow).
angle Der -/+ Winkel um den die Ansicht zusätzlich gedreht wird [Grad].
duration Die Dauer der Animation [ms].

BackgroundBrush(brush)
Setzt einen Farbgradient als Hintergrund für das GraphicsWindow (dynamische Anpassung an Fenstergröße).
brush Ein zuvor erstellter Gradient- oder Bildpinsel (Intern: Brush#, s. LDShapes.BrushGradient bzw. LDShapes.BrushImage).
example LDGraphicsWindow.BackgroundImage("string") außer "" oder Wert (zB. 0) entfernt bestehenden Hintergrundgradient und setzt GW Hintergrundfarbe auf 'Transparent'

BackgroundImage(imageName)
Setzt ein Bild als Hintergrund für das GraphicsWindow (dieses muß bereits initialisiert sein, dynamische Anpassung an Fenstergröße, s.a. TransparentGW).
Der Hintergrund wird automatisch neudimensioniert um die jeweilige Größe des GraphicsWindow auszufüllen (Gleiche Ebene wie GW Hintergrundfarbe, transparente Bereiche als #FF000000 bzw. Black).
Bleibt nach GraphicsWindow.Clear erhalten.

imageName Das als Hintergrund zu ladende Bild (Intern: ImageList#).
Rückgabewert von ImageList.LoadImage, lokale oder Netzwerk Bilddatei. Sonstiger "string" (außer "") oder Wert (zB. 0) entfernt ein bestehendes Hintergrundbild und setzt GW Hintergrundfarbe auf 'Transparent'.

example Zoom-Beispiel s. LDEvents.LastMouseWheelDelta

CancelClose
Ermittelt oder setzt einen Abbruch der nächsten 'Schließen' Aktion für das GraphicsWindow. "True" oder "False" (Standard).
Erfordert daß ExitOnClose auf "False" gesetzt ist. Dies sollte innerhalb eines s. LDGraphicsWindow.Closing Ereignisses gesetzt werden (zB. per LDDialogs.Confirm).
Wird auf "False" zurückgesetzt nachdem ein Schließen verhindert wurde.


Capture(fileName,border)
Speichert den Inhalt des GraphicsWindow als Bilddatei (bmp, gif, j(e)pg, png, tiff oder ico) oder in ImageList (Intern: ImageList#+1).
Das Fenster muß sichtbar sein. Kurzes Abwarten zB. Program.Delay kann vor Aufruf der Methode nötig sein.

fileName Dateiname für das zu speichernde Bild (bmp, gif, jp(e)g, png, tiff oder ico) oder
"" zum Speichern des Bildes in ImageList (Intern: ImageList#+1).

border Fensterrahmen auch Bestandteil des Bildes? "True" oder "False" (Standard).
returns Der ImageList Name (wenn fileName ""), sonst "" (bei Ausgabe in Bilddatei).

Closing
Ereignisaufruf beim Schließen eines GraphicsWindow.
ExitOnClose muß bei Anwendung dieses Ereignisses auf "False" gesetzt sein.
Ist CancelClose auf "True" gesetzt, wird die Schließung abgebrochen.


ExitButtonMode(window,mode)
Setzt den Status des 'Schließen' Feldes ('X') für ein bereits initialisiertes Fenster. Dieses kann dabei ein- oder ausgeblendet sein (wird nicht geöffnet).
Die Einstellung bleibt auch nach Aus- und Einblenden dieses Fensters erhalten, wird jedoch bei Aufruf des Systemmenüs auf "Enabled" zurückgesetzt.

window Der Fenstertitel, zB. Rückgabe von TextWindow.Title oder GraphicsWindow.Title.
mode Der Status? "Enabled" (Standard) oder "Disabled".

ExitOnClose
Ermittelt oder setzt die Beendigung des SB Programms, sobald ein GraphicsWindow geschlossen wird. "True" (Standard) oder "False".
Bei "False" muß das Programm noch anstehende Aufgaben haben um fortzufahren.


FloodFill(x,y,colour)
Füllt den gesamten Bereich der ein angegebenes Pixel umgibt, wobei alle benachbarten, gleichfarbigen Pixel gefärbt werden.
Dies betrifft nur die Ebene für Zeichnungen (Draw../Fill..) im GraphicsWindow.

x Die x-Koordinate des Referenzpixels zum Ausfüllen.
y Die y-Koordinate des Referenzpixels zum Ausfüllen.
colour Die Füllfarbe, zB. (LDColours.)Farbname oder #(AA)RRGGBB.

GetPixel(x,y)
Ermittelt die Farbe eines Pixels an den angegebenen x- und y-Koordinaten im GraphicsWindow.
Diese Methode funktioniert für Hintergrund, Zeichnungen und Shape Ebenen.

x Die x-Koordinate des Pixels.
y Die y-Koordinate des Pixels.
returns Die Pixelfarbe als #RRGGBB (sonst #000000, zB. Koordinaten außerhalb GW).

Height
Ermittelt oder setzt die Höhe des GraphicsWindow (bei Verwendung von LDScrollBars).

Icon
Setzt eine angegebene Bilddatei (zB. ico, png, kein %ENVVAR% Pfad) als Symbol für das GraphicsWindow. Dieses muß bereits initialisiert sein. Fehlermeldung, wenn Symboldatei nicht existiert.
"SB" setzt das SmallBasic Symbol.


MouseX
Ermittelt oder setzt die x-Koordinate für den Mauszeiger im GraphicsWindow.

MouseXOffset
Ermittelt die Konstante bei Umskalierung zwischen GraphicsWindow- und Desktop x-Koordinaten gemäß:
Mouse.X = MouseXOffset + MouseXScale * GraphicsWindow.MouseX.


MouseXScale
Ermittelt den Umskalierungsfaktor zwischen GraphicsWindow- und Desktop x-Koordinaten gemäß:
Mouse.X = MouseXOffset + MouseXScale * GraphicsWindow.MouseX.


MouseY
Ermittelt oder setzt die y-Koordinate für den Mauszeiger im GraphicsWindow.

MouseYOffset
Ermittelt die Konstante bei Umskalierung zwischen GraphicsWindow- und Desktop y-Koordinaten gemäß:
Mouse.Y = MouseYOffset + MouseYScale * GraphicsWindow.MouseY.


MouseYScale
Ermittelt den Umskalierungsfaktor zwischen GraphicsWindow- und Desktop y-Koordinaten gemäß:
Mouse.Y = MouseYOffset + MouseYScale * GraphicsWindow.MouseY.


PauseUpdates()
Pausiert automatische Aktualisierung (Neuzeichnen) im initialisierten GraphicsWindow (s. ResumeUpdates).

Print(border)
Druckt den Inhalt des GraphicsWindow.
Das Fenster muß sichtbar sein. Kurzes Abwarten zB. Program.Delay kann kann vor Aufruf dieser Methode nötig sein.

border Fensterrahmen auch Bestandteil des Bildes? "True" oder "False".

Reposition(scaleX,scaleY,panX,panY,angle)
Skaliert und verschiebt alle Shapes und Controls im GraphicsWindow.
Diese Methode skaliert und verschiebt eigentlich die Ansicht anstatt der Shapes, sodaß deren Positionen und sonstige Eigenschaften unverändert bleiben, scheinen jedoch skaliert im neu positionierten Bereich.
zB. Shapes.GetLeft bleibt unverändert trotz umpositionierter Ansicht und GraphicsWindow.MouseX zeigt die Koordinaten relativ zur umpositionierten Ansicht.
Vorstellbar als neu positionierte Gesamtansicht, so als ob diese eine Shape im GrapicsWindow wäre.
Koordinatentransformation zwischen Ansicht (vX,vY) und GraphicsWindow (gwX,gwY):
gwX = (vX+panX)*scaleX + gw*(1-scaleX)/2
gwY = (vY+panY)*scaleY + gh*(1-scaleY)/2
Alle Zeichnungen bleiben unverändert im originalen GraphicsWindow.

scaleX Der -/+ Skalierungsfaktor in x-Richtung (1 Originalansicht, 0 keine Shapes/Controls).
scaleY Der -/+ Skalierungsfaktor in y-Richtung (1 Originalansicht, 0 keine Shapes/Controls).
panX Versatz der Ansicht in x-Richtung [Pxl] bei Ansichtsskalierung (0 zentriert im GraphicsWindow).
panY Versatz der Ansicht in y-Richtung [Pxl] bei Ansichtsskalierung (0 zentriert im GraphicsWindow).
angle Der -/+ Winkel um den die Ansicht zusätzlich gedreht wird [Grad].

RepositionedMouseX
Ermittelt die x-Koordinate des Mauszeigers im GraphicsWindow bei repositionierter Ansicht (s. Reposition).

RepositionedMouseY
Ermittelt die y-Koordinate des Mauszeigers im GraphicsWindow bei repositionierter Ansicht (s. Reposition).

RepositionPoint(x,y,toGW)
Ermittelt transformierte Koordinaten zwischen GraphicsWindow und umpositionierer Ansicht (s. Reposition).
x Die zu transformierende x-Koordinate.
y Die zu transformierende y-Koordinate.
toGW Transformrichtung von Ansicht zum GraphicsWindow ("True"), bzw. vom GraphicsWindow zur Ansicht ("False", Standard).
returns Ein 2-elementiger Array der transformierten Koordinaten mit Indizes 1 und 2 (für neue x, y).

Resize
Ermittelt oder setzt den Resize Modus für das GraphicsWindow:
0 CanMinimize, "" (Min; wie GW.CanResize="")
1 CanResize (Min+Max, Standard; wie GW.CanResize="True")
2 CanResizeWithGrip (Min+Max+Maus; wie GW.CanResize="")
3 NoResize (wie ->2, nur 'X' Feld; wie GW.CanResize="")


ResumeUpdates()
Setzt pausiertes Neuzeichnen (s. PauseUpdates) des GraphicsWindow wieder fort.

ScreenCapture
Ermittelt oder setzt die Erstellung eines Bildes vom GraphicsWindow für LDGraphicsWindow.Print und -.Capture Methoden. Erstellung nur, wenn deren Rahmen-Option auf "False" (dh. ohne Rahmen) gesetzt ist.
"True" Das aktuell sichtbare GraphicsWindow wird zur Bilderstellung verwendet.
"False" Die Grafiken im GraphicsWindow werden neu zum Bild gerendert (Standard).


SetActive()
Setzt das GraphicsWindow als aktives Fenster mit Fokus.

SetFontFromFile(fontFile)
Setzt die Schriftart im GraphicsWindow mittels einer lokalen .ttf Schriftartdatei.
fontFile Der volle Pfad für die zu setzende .ttf Schriftartdatei.
returns Die Bezeichnung der Schriftart (als file:///Ordnerpfad/#Schriftname) bei Erfolg, sonst "FAILED".

ShowInTaskbar
Ermittelt oder setzt die Anzeige einer Schaltfläche (Symbol) für das GraphicsWindow in der Taskleiste ("True" oder "False").

State
Ermittelt oder setzt den Status des GraphicsWindow:
0 Normal (Standard, Normalgröße)
1 Minimiert (in Taskleiste)
2 Maximiert (nach Style = 0, sonst Taskleiste ausgenommen)

Falls ungeöffnet, wird das GW auch angezeigt.


Style
Ermittelt oder setzt den Stil des (zusätzlichen LDWindows) GraphicsWindow:
0 Ohne (nur Klientbereich ohne Titelleiste, s. TransparentGW)
1 Einzelrand (Standard)
2 3DRand (breiterer Rand)
3 ToolWindow (nur 'X' Feld, ohne Systemmenü/Icon)

Falls ungeöffnet, wird das GW auch angezeigt.


TopMost
Ermittelt oder setzt den 'Zuoberst Status' für das GraphicsWindow (Z-Order, GW muß bereits initialisiert sein).
Das Fenster bleibt stets über anderen Fenstern auch wenn diese fokusiert sind.
"True" oder "False" (Standard).


TransparentGW()
Erstellt ein transparentes GraphicsWindow (Style=0 dh. ohne Titelleiste und Rand, State=0).
Ist vor allen anderen GraphicsWindow-, Controls- oder Shapes- Methoden, die ein Fenster erstellen, aufzurufen.
Für eine Ansicht, erst Inhalt im transparenten GraphicsWindow hinzufügen.
zB. Erstellen eines nicht-Rechteck Fensters mittels transparentem png (für den Rand) per LDShapes.BackgroundImage.
Die Transparenz kann mit BackgroundColor (als #AARRGGBB) angepasst werden, oder Opazität einer füllenden (Bild-)Shape.
Fallweise kann geringere Transparenz als 100% (BackgroundColor #AA >00) erforderlich sein (zB. Erkennen von Mausereignissen im leeren GW).
Trotz CanResize = "True", Fenstergröße nicht per Maus anpassbar.

example other-samples\ClockWidget.sb

Width
Ermittelt oder setzt die Breite des GraphicsWindow (bei Verwendung von LDScrollBars).

LDHID
USB Steuerung für HID Geräte (Human Interface Device).
VID und PID (4-Zeichen HexCodes) für das Gerät sind erforderlich.
Nur HIDs funktionieren unter diesen Methoden.
Sollte die meisten GameController, einfache Robotergeräte und Sensoren abdecken.

example other-samples\LDHID.sb, USB_HID.sb

AddDevice FindDevices GetBits
Input InputLength LastDevice
LastInput Output OutputLength
Removed SetBits

AddDevice(VID,PID,name)
Hinzufügen eines HID angeschlossenen Gerätes mit seiner VID und PID.
Die VID und PID sind 4-Zeichen (Hex)Werte, und zu finden in:
Gerätemanager->Eigenschaften->Details->Hardware-IDs
zB: HID\VID_046D PID_C215 REV_0204 hat VID "046D" und PID "C215".
Jedes Gerät nur einmalig hinzufügen.

VID Die Geräte VID.
PID Die Geräte PID.
name Der Name für das Gerät.
returns "True" bei Erfolg, sonst "False".

FindDevices()
Listet alle gefundenen HID Geräte (Human Interface Device).
returns Ein 2D Array aller gefundenen Geräte.
Die erste Dimension ist das gefundene Gerät, ab 1.
Die zweite Dimension sind "VID", "PID" und "Description" und enthält die HexWerte von VID, PID und eine Gerätebeschreibung.


GetBits(data)
Ermittelt einen 8-elementigen Array aus 1 und 0, die angeben ob ein Bit im Byte gesetzt ist.
data Die Bytenummer (0 bis 255).
returns Ein 8-elementiger Bitarray (kleines Bit zuerst) bei Erfolg, sonst "".

Input
Ereignisaufruf wenn sich die HID Eingabe ändert.

InputLength(name)
Ermittelt die Eingabeberichtlänge für ein HID Gerät.
name Der HID Gerätename.
returns Die Anzahl von Bytes im Eingabedatensatz.

LastDevice
Das letzte HID Gerät welches eine Eingabe hatte.
returns Der letzte Gerätename.

LastInput
Ein Array der letzten HID Eingabedaten.
Dies ist ein Satz von Werten von 0 bis 255 (Bytes).

returns Ein Array von Eingabedaten oder "" für keine.

Output(name,data)
Sendet Daten an das HID Gerät.
Dies muß ein Array von Bytes sein (0 bis 255).
Der Array muß ab 1 indexiert sein und die Größe s. 'OutputLength' haben.

name Der HID Gerätename.
data Die zu sendenden Daten.
returns "True" oder "False" für Datenbeständigkeit.

OutputLength(name)
Ermittelt die Ausgabeberichtlänge für ein HID Gerät.
name Der HID Gerätename.
returns Die Anzahl von Bytes im Ausgabedatensatz.

Removed
Ereignisaufruf wenn das HID Gerät entfernt wird.

SetBits(data)
Setzt ein Byte mittels 8-elementigem Array aus 1 und 0, die angeben ob ein Bit im Byte gesetzt ist.
data Ein 8-elementiger Bitarray aus 1 und 0 (kleines Bit zuerst).
returns Die Bytenummer (0 bis 255) bei Erfolg, sonst -1.

LDImage
Verschiedene zusätzliche Methoden für Bearbeitung und Darstellungen von Bildern in ImageList (Intern: ImageList#).
Standardwert für jeden Effektparameter ist "".

example webcam\motion-detection.sb, webcam.sb

Add AddImages AddText
CloseWorkingImage ColorMatrix Copy
Crop DifferenceImages EffectAccent
EffectBlocks EffectBlue EffectBulge
EffectCartoon EffectCharcoal EffectContrast
EffectCyan EffectDefaults EffectEdge
EffectFishEye EffectFuzzy EffectGamma
EffectGray EffectGreen EffectHue
EffectInverse EffectJagged EffectLightness
EffectMagenta EffectNoiseRemoval EffectOilPaint
EffectPixelate EffectPosterise EffectRed
EffectReflect EffectRotate EffectSaturation
EffectSepia EffectSketch EffectSnow
EffectSolarise EffectSwirl EffectYellow
GetEffects GetImagePixels GetPixel
GetWorkingImagePixel GetWorkingImagePixelARGB HeightMap2NormalMap
Histogram LoadSVG MakeTransparent
MetaData Multiply NewImage
NormalMap OpenWorkingImage Remove
ReplaceColour Resize Rotate
Save SaveAs SetImagePixels
SetPixel SetWorkingImagePixel SplitImage
Statistics To32bitARGB UseFastPixelMethods

Add(image,red,green,blue)
Addiert Farbwerte in einem ImageList Bild mit einem -/+ Wert (<0 dunkler, >0 heller).
Ein Bild hat Pixel mit Werten für Rot, Grün und Blau im Bereich von 0 bis 255.

image Der Name des zu ändernden Bildes.
red +/- Additionswert für Rotanteil.
green +/- Additionswert für Grünanteil.
blue +/- Additionswert für Blauanteil.

AddImages(image1,image2)
Kombiniert 2 ImageList Bilder durch Addition der einzelnen Pixelfarbwerte (Intern: ImageList#+1).
Ein Bild hat Pixel mit Werten für Rot, Grün und Blau im Bereich von 0 bis 255.
Beide Bilder müssen die gleichen Abmessungen haben, sonst keine Verarbeitung.

image1 Der Name des ersten ImageList Bildes.
image2 Der Name des zweiten ImageList Bildes.
returns Der Name des neuen ImageList Bildes bei Erfolg, sonst "".
Sind beide ImageList Bilder invers zueinander, ist das Ergebnisbild völlig weiß.


AddText(imageName,text,x,y,colour)
Fügt Text in ein existierendes ImageList Bild ein (aktuelle GraphicsWindow.Font.. Eigenschaften).
imageName Der Name des bestehenden ImageList Bildes.
text Der einzufügende Text.
x Die -/0/+ linke Textposition im Bild [Pxl] (Standard: 0).
y Die -/0/+ obere Textposition im Bild [Pxl] (Standard: 0).
colour Die Textfarbe (Standard: Transparent).
example 'TextBild
GraphicsWindow.FontSize = 30
img = LDImage.NewImage(100,100, "Transparent")
LDImage.AddText(img, "Rot", 0,23, "Red")
LDImage.SaveAs(img, Program.Directory +"\TextBild.png")


CloseWorkingImage(image)
Schließt und setzt das temporäre Arbeitsbild zum Ausgangsbild zurück.
image Das zuvor mit 'OpenWorkingImage' geöffnete Arbeitsbild.

ColorMatrix(image,matrix)
ColorMatrix Transformation für ein ImageList Bild. ImageList# bleibt unverändert, bei geänderter Bildansicht.
Format für ColorMatrix ist unterschiedlich und inkompatibel zum LDMatrix Format.
Kann für alle Arten von Farbtransformationen verwendet werden, zB:
http://msdn.microsoft.com/library/a7xw19wh.aspx
http://docs.rainmeter.net/tips/colormatrix-guide
http://softwarebydefault.com/2013/03/03/colomatrix-image-filters

image Der Name des zu ändernden ImageList Bildes (Für Transparenzänderung im 32b ARGB Format).
matrix Eine 5x5 Matrix im R,G,B,A,W Farbraum als 2D Array.
zB. 'Sepia':
cm[1]="1=0.393;2=0.349;3=0.272;4=0;5=0"
cm[2]="1=0.769;2=0.686;3=0.534;4=0;5=0"
cm[3]="1=0.189;2=0.168;3=0.131;4=0;5=0"
cm[4]="1=0;2=0;3=0;4=1;5=0"
cm[5]="1=0;2=0;3=0;4=0;5=1"

example 'Polaroid
cm[1]="1=1.438;2=-0.062;3=-0.062;4=0;5=0"
cm[2]="1=-0.122;2=1.378;3=-0.122;4=0;5=0"
cm[3]="1=-0.016;2=-0.016;3=1.483;4=0;5=0"
cm[4]=LDText.Split("0 0 0 1 0", " ")
cm[5]=LDText.Split("-0.03,0.05,-0.02,0,1",",")
'Schwarz/Weiß
cm[1]="1=1.5;2=1.5;3=1.5;4=0;5=0"
cm[2]="1=1.5;2=1.5;3=1.5;4=0;5=0"
cm[3]="1=1.5;2=1.5;3=1.5;4=0;5=0"
cm[4]="1=0;2=0;3=0;4=1;5=0"
cm[5]="1=-1;2=-1;3=-1;4=0;5=1"


Copy(image)
Kopiert ein ImageList Bild unter neue ImageList# (Intern: ImageList#+1).
image Der Name des zu kopierenden ImageList Bildes (Ein Dateipfad erstellt einen neuen LEEREN ImageList#+1 Eintrag).
returns Der Name des neuen ImageList Bildes bei Erfolg, sonst "".

Crop(image,x,y,width,height)
Beschneidet ein ImageList Bild. Der Ausschnittsbereich muß völlig innerhalb des Bildes und GW liegen. ImageList# bleibt unverändert, bei geändertem Bildausschnitt.
image Das zu beschneidende ImageList Bild.
x Die linke Position (ab 0) für den Ankerpunkt des Bildausschnittes [Pxl].
y Die obere Position (ab 0) für den Ankerpunkt des Bildausschnittes [Pxl].
width Die Breite des Bildausschnittes [Pxl].
height Die Höhe des Bildausschnittes [Pxl].

DifferenceImages(image1,image2)
Differenziert 2 ImageList Bilder durch Subtraktion der einzelnen Pixelfarbwerte (Intern: ImageList#+1).
Ein Bild hat Pixel mit Werten für Rot, Grün und Blau im Bereich von 0 bis 255.
Beide Bilder müssen gleiche Abmessungen haben, sonst keine Verarbeitung.

image1 Der Name des ersten ImageList Bildes.
image2 Der Name des zweiten ImageList Bildes.
returns Der Name des neuen ImageList Bildes bei Erfolg, sonst "".
Sind beide ImageList Bilder gleich, ist das Ergebnisbild völlig schwarz. Helle Bereiche bei größeren Farbunterschieden.


EffectAccent(image,hue,range)
Fügt einen Farbtonakzent Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
hue Der Farbton für den Farbakzent (0 bis 360, Standard: 0 dh. Rot).
range Der hervorzuhebende Farbtonbereich (>0, Standard: 40).

EffectBlocks(image,size)
Fügt einen Unschärfeeffekt (Verpixelung) ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
size Größenverhältnis (>0, Standard: 5).
Das Bild wird um diesen Faktor verkleinert und wieder auf Originalgröße gesetzt (geringere Auflösung, Verwischung).


EffectBlue(image)
Konvertierung zu Blau ([R,G,B]x[0,0,1]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectBulge(image,factor)
Fügt einen Wölbungseffekt ein (ähnlich FishEye/Fischauge). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
factor Der Ausbuchtungsfaktor, kann <1 sein für Einengungseffekt (Standard: 2).

EffectCartoon(image,radius,levels,inverse)
Fügt einen Cartooneffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
radius Der Pixelradius für den Cartooneffekt (ungerade Ganzzahl, Standard: 7).
levels Die Anzahl der Intensitätsgrade (1 bis 255, Standard: 10).
inverse Der Schwellenwert für SW-Invertierung (1 bis 254, Standard: 40).

EffectCharcoal(image)
Fügt einen Kohleskizze Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectContrast(image,contrast)
Fügt höheren Kontrast ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
contrast Kontrastfaktor (>0, Standard: 2), <1 reduziert Kontrast.

EffectCyan(image)
Konvertierung zu Cyan (EffectGray * [0,G,B]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectDefaults
Ermittelt oder setzt einen Array mit Standardwerten für Effektparameter (s. 'GetEffects' für Effektnamen und -nummern).

EffectEdge(image)
Fügt einen Prewitt Kanteneffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectFishEye(image,factor)
Fügt einen Fischauge Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
factor Der Weitwinkel Faktor, sollte >1 sein (Standard: 2).

EffectFuzzy(image,size)
Fügt einen Unschärfe-Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
size Der Pixelbereich für Unschärfe (>0, Standard: 4).

EffectGamma(image,gamma)
Fügt einen Gamma Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
gamma Der Gammafaktor, Werte <1 erhellen und >1 verdunkeln (Standard: 2).

EffectGray(image)
Konvertierung zu Schwarz/Weiß (Grayscale, gewichtet). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectGreen(image)
Konvertierung zu Grün ([R,G,B]x[0,1,0]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectHue(image,hue)
Ändern des HSL Farbtons H. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
hue Der Farbtonwert (0 bis 360, Standard: 180).

EffectInverse(image)
Konvertierung zu Invers (Negativ, 255-[R,G,B]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectJagged(image,size)
Fügt einen Zackeneffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
size Der Pixelbereich für den Zackeneffekt (>0, Standard: 4).

EffectLightness(image,lightness)
Ändern der HSL Farbhelligkeit L. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
lightness Der Helligkeitsfaktor (>0, Standard: 2).

EffectMagenta(image)
Konvertierung zu Magenta (EffectGray * [R,0,B]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectNoiseRemoval(image)
Fügt einen Bildgeräusch Reduktionseffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectOilPaint(image,radius,levels)
Fügt einen Ölfarbe Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
radius Der Pixelradius für den Ölfarbe Effekt (ungerade Ganzzahl, Standard: 7).
levels Anzahl der Intensitätsgrade (1 bis 255, Standard: 20).

EffectPixelate(image,size)
Fügt einen Verpixelungseffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
size Vergröberungsfaktor [Pxl] oder "" (Standard: 16).

EffectPosterise(image,level)
Fügt einen Postereffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
level Der Effektgrad (2 bis 255, Standard: 50), 1-Originalbild, 256-völlig schwarz.

EffectRed(image)
Konvertierung zu Rot ([R,G,B]x[1,0,0]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectReflect(image,flip)
Fügt einen Reflexionseffekt ein (Spiegelung an y- oder x-Bildachse). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
flip 0 spiegelt horizontal in x-Richtung (Standard)
1 spiegelt vertikal in y-Richtung.


EffectRotate(image,rotation)
Rotationseffekte in 90 Grad Schritten. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
rotation Die Drehung um Grad:
0 +90 (Standard, "")
1 180
2 270 (-90)


EffectSaturation(image,saturation)
Ändern der HSL Farbsättigung S. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
saturation Der Sättigungsfaktor (>0, Standard: 2).

EffectSepia(image,threshold)
Fügt einen Sepiaeffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
threshold Der Sepia Schwellenwert (1-grau bis 255-gelb, Standard: 30).

EffectSketch(image)
Fügt einen Stiftskizze Effekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

EffectSnow(image,level)
Fügt einen Schneeeffekt ein (4% weiße Pixel). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
level Verhältniswert '1/level' zufällig gesetzte 'Schnee' Pixel (>0, Standard: 25 - also jedes 25. Pixel).

EffectSolarise(image,power)
Fügt einen Solarisierungseffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
power Die Stärke/Potenz der Solarisierung (>0, Standard: 2 dh. quadratisch).

EffectSwirl(image,factor)
Fügt einen Wirbeleffekt ein. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.
factor Der Verwirbelungsfaktor (Standard: 1).

EffectYellow(image)
Konvertierung zu Gelb (EffectGray * [R,G,0]). ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu ändernden ImageList Bildes.

GetEffects()
Ermittelt alle verfügbaren LDImage- und LDWebCam Effekte als Array (s. EffectDefaults für Standardwerte).
returns Ein Array mit den Effektnamen, indexiert durch die Effektnummer.

GetImagePixels(image)
Ermittelt einen 2D Array mit allen Pixelfarbwerten in einem ImageList Bild (s. SetImagePixels).
image Der Name des ImageList Bildes.
returns Ein 2D Array aller Pixelfarben (#AARRGGBB) des Bildes, indexiert durch [x][y] mit x,y von 1 bis Bildbreite/-höhe.

GetPixel(image,x,y)
Ermittelt die Farbe eines Pixels in einem ImageList Bild. Transparenz in ImageList ist #D3D3D3 - 'LightGray' (#D4D0C8 ??).
image Der Name des ImageList Bildes (vorzugsweise von bmp, png).
x Die x-Koordinate des Pixels (1 bis Bildbreite).
y Die y-Koordinate des Pixels (1 bis Bildhöhe).
returns Die Pixelfarbe als #AARRGGBB bei Erfolg, sonst "".

GetWorkingImagePixel(image,x,y)
Ermittelt die Hex Farbe eines Pixels in einem temporären Arbeitsbild.
image Das zuvor mit 'OpenWorkingImage' geöffnete Arbeitsbild.
x Die x-Koordinate des Pixels (1 bis Bildbreite).
y Die y-Koordinate des Pixels (1 bis Bildhöhe).
returns Die Pixelfarbe als #AARRGGBB bei Erfolg, sonst "".

GetWorkingImagePixelARGB(image,x,y)
Ermittelt die Farbkomponenten eines Pixels in einem temporären Arbeitsbild.
image Das zuvor mit 'OpenWorkingImage' geöffnete Arbeitsbild.
x Die x-Koordinate des Pixels (1 bis Bildbreite).
y Die y-Koordinate des Pixels (1 bis Bildhöhe).
returns Die Pixelfarbe als Array der A,R,G,B Komponenten, indexiert durch "A", "R", "G", "B". "" bei Mißerfolg.

HeightMap2NormalMap(image,scale)
Erstellt ein neues ImageList Bild einer Normalenkarte aus einer Höhenkarte (Intern: ImageList#+1).
Die Höhe wird bestimmt durch die Helligkeit eines Pixels (höher = heller).

image Die Höhenkarte als ImageList Bild.
scale Der Skalierungsfaktor für die Erhöhung (Standard: 1).
returns Der Name für das neue ImageList Bild der resultierenden Normalenkarte.
example https://en.wikipedia.org/wiki/Heightmap

Histogram(image)
Ermittelt eine Statistik der Pixelfarbwerte in einem ImageList Bild.
image Der Name des ImageList Bildes.
returns Ein 2D Array mit Farbstatistik (indexiert durch 1,2,3 für R,G,B) mit Unterindizes 0 bis 255 und Werten für die Pixelanzahl.
example hist = LDImage.Histogram(img)
rotHist = hist[1] ' 256-elementiger Array "cR(0-255)=nPxl;"


LoadSVG(fileName)
Laden einer lokalen SVG Bilddatei (Skalierbare Vektorgrafik) als neues ImageList Bild (Intern: ImageList#+1).
fileName Der volle Dateipfad der zu ladenden SVG Datei.
returns Der Name des neuen ImageList Bildes bei Erfolg, sonst "" bzw. Fehlermeldung.

MakeTransparent(image,colour)
Setzt alle Pixel einer angegebenen Farbe in einem ImageList Bild zu 'Transparent' (32b ARGB).
image Der Name des ImageList Bildes.
colour Die als 'Transparent' zu setzende Farbe.

MetaData(imageFile)
Ermittelt verfügbare Metadaten (Exif, Thumbnail usw.) zu einer Bilddatei als Array.
imageFile Der volle Pfad der Bilddatei (kein ImageList Bild).
returns Ein Array mit den Werten der Metadaten, indexiert durch deren Hex ID (0 bis "A302", Werte mit a-f in "") gemäß:
http://msdn.microsoft.com/library/system.drawing.imaging.propertyitem.id.aspx (ID Liste).

example meta = LDImage.MetaData(picPfad)
imageWidth = meta[100] 'Breite
imageHeight = meta[101] 'Höhe
bpSample = meta[102] 'Bits/Farbkanal
dateTaken = meta[132] 'Aufnahmedatum


Multiply(image,red,green,blue)
Multipiziert die Farbwerte in einem ImageList Bild mit einem Faktor (<1 dunkler, >1 heller).
Ein Bild hat Pixel mit Werten für Rot, Grün und Blau im Bereich von 0 bis 255.

image Der Name des zu ändernden Bildes.
red Der Faktor für den Rotanteil.
green Der Faktor für den Grünanteil.
blue Der Faktor für den Blauanteil.
example A. Sepia Effekt:
LDImage.EffectGray(img)
LDImage.Multiply(img, 1,0.95,0.82)
B. Farbfilter:
'LDImage.EffectGray(img)
c = LDColours.FARBE
cR = LDColours.GetRed(c)/255
cG = LDColours.GetGreen(c)/255
cB = LDColours.GetBlue(c)/255
LDImage.Multiply(img, cR,cG,cB)


NewImage(width,height,colour)
Erstellt ein neues einfärbiges 32bitARGB Bild in ImageList (Intern: ImageList#+1). Das GraphicsWindow muß dabei angezeigt sein.
width Die Breite des neuen Bildes [Pxl] (>=1).
height Die Höhe des neuen Bildes [Pxl] (>=1).
colour Die Einheitsfarbe des neuen Bildes als #(AA)RRGGBB (Standard: "#00000000") oder (LDColours.)Farbname.
returns Der Name des neu erstellten ImageList Bildes bei Erfolg, sonst "".

NormalMap(shapeName,sourceX,sourceY,sourceZ,texture,ambient,intensity)
Bearbeitet ein Bild (oder bearbeitetes Bild bei gesetzter Textur) zur Anzeige eines Graustufen Schatteneffektes, basierend auf dem Abbild einer Normalenkarte.
shapeName Eine Bildshape (Shapes.AddImage) mit dem Bild der Normalenkarte.
Die R,G,B Farbkomponenten definieren die Normalvektoren auf ein 3D Abbild.

sourceX Die x-Position der Lichtquelle relativ zum Abbild.
sourceY Die y-Position der Lichtquelle relativ zum Abbild.
sourceZ Die z-Position der Lichtquelle relativ zum Abbild. Dies ist die Höhe über dem Bild.
texture Ein optionales ImageList Bild mit Textur (Farbe) zur Bearbeitung (oder ""). Selbe Abmessungen wie die Normalenkarte.
Diese Textur kann in weiteren Aufrufen geändert werden.

ambient Optionale Intensität für Umgebungslicht bei gesetzter Textur (Standard: 0.3).
intensity Optionale Lichtstärke bei gesetzter Textur (Standard: 2).
example http://en.wikipedia.org/wiki/Normal_mapping

OpenWorkingImage(image)
Öffnet ein temporäres Arbeitsbild zur schnellen Pixelmanipulation.
Nach Bearbeitung sollte dieses temporäre Arbeitsbild mit 'CloseWorkingImage' zum Ausgangsbild zurückgesetzt werden.

image Das zu öffnende ImageList Bild zum Verwenden als temporäres Arbeitsbild.

Remove(image)
Entfernt ein ImageList Bild. Indexnummern (ImageList#) bleiben unverändert. Nur Bild wird aus ImageList# entfernt, sodaß dieser Eintrag dann leer ist.
image Der Name des aus ImageList zu entfernenden Bildes (Intern: ImageList#).

ReplaceColour(image,colourFrom,colourTo,tolerance)
Ersetzt alle Pixel einer angegebenen Farbe (bzw. -bereich) in einem ImageList Bild durch eine andere Farbe (24b RGB).
image Der Name des ImageList Bildes.
colourFrom Die zu ersetzende Farbe.
colourTo Die anzuwendende Ersatzfarbe ('Transparent' gibt 'White').
tolerance Die Toleranz für die zu ersetzende Farbe (Standard: 0 -exakt, bis 255 -alles).
Alle ARGB Pixelwerte innerhalb dieser Toleranz werden ersetzt.


Resize(image,width,height)
Setzt eine neue Größe für ein gesamtes ImageList Bild (Thumbnail Bild). ImageList# bleibt unverändert, bei geänderter Bildgröße.
image Der Name des zu ändernden Bildes.
width Die neue Breite [Pxl].
height Die neue Höhe [Pxl].
example Für gleichbleibendes Verhältnis width/height = Const beibehalten.

Rotate(image,angle)
Drehen eines ImageList Bildes. ImageList# bleibt unverändert, bei geänderter Bildansicht.
image Der Name des zu drehenden ImageList Bildes.
angle Der Rotationswinkel [Grad] des Bildes im Uhrzeigersinn.

Save(image,fileName)
Speichert ein ImageList Bild als jpg Bilddatei.
image Der Name des zu speichernden ImageList Bildes.
fileName Der volle Dateipfad zum Speichern des Bildes (im jpeg-Format, unabhängig von Erweiterung).

SaveAs(image,fileName)
Speichert ein ImageList Bild als verschiedene Dateiformate (bestimmt durch Dateierweiterung).
image Der Name des zu speichernden ImageList Bildes.
fileName Der volle Dateipfad zum Speichern des Bildes. Eine bestehende Datei wird überschrieben.
Erlaubte Dateityp Erweiterungen sind bmp, gif, jp(e)g, png, tiff oder ico (speichert als png Typ).


SetImagePixels(pixels)
Erstellt ein neues ImageList Bild aus einem 2D Array mit #(AA)RRGGBB Pixelfarbwerten (Intern: ImageList#+1), s. GetImagePixels für Pixelarray.
pixels Ein 2D Array mit Pixelfarben für das Bild, indexiert durch [x][y] mit x,y von 1 bis Bildbreite/-höhe.
returns Der Name des neu erstellten ImageList Bildes vom Pixelarray.
example 'runder Bildrahmen (Passepartout), Radius r:
For x = 1 To 2*r
For y = 1 To 2*r
If (x-r)*(x-r)+(y-r)*(y-r) pxl[x][y] = "Transparent" 'innen
Else
pxl[x][y] = "Peru" 'Rahmen
EndIf
EndFor
EndFor
img = LDImage.SetImagePixels(pxl)


SetPixel(image,x,y,colour)
Setzt die Farbe eines Pixels in einem ImageList Bild.
image Der Name des ImageList Bildes (vorzugsweise von bmp, png).
x Die x-Koordinate des Pixels (1 bis Bildbreite).
y Die y-Koordinate des Pixels (1 bis Bildhöhe).
colour Die zu setzende Farbe, zB. (LDColours.)Farbname oder #(AA)RRGGBB.

SetWorkingImagePixel(image,x,y,colour)
Setzt die Farbe eines Pixels in einem temporären Arbeitsbild.
image Das zuvor mit 'OpenWorkingImage' geöffnete Arbeitsbild.
x Die x-Koordinate des Pixels (1 bis Bildbreite).
y Die y-Koordinate des Pixels (1 bis Bildhöhe).
colour Die zu setzende Pixelfarbe als #(AA)RRGGBB.

SplitImage(imageName,countX,countY)
Ermittelt zerteilte Einzelbilder von einem angegebenen (ImageList) Gesamtbild als Array (Intern: ImageList#+1, .., #+x*y).
imageName Der Name des zu ladenden ImageList Bildes oder voller Pfad der Bilddatei (lokal oder Netzwerk).
countX Die Anzahl der Teilbilder in x-Richtung (Spalten).
countY Die Anzahl der Teilbilder in y-Richtung (Zeilen).
returns Ein 2D Array[x][y] mit resultierenden ImageList# Bildern, wobei die Indizes (1-countX) die Spalten und deren Innerarrays (1-countY) die Zeilen darstellen.

Statistics(image)
Ermittelt Minimum, Maximum, Mittelwert und Standardabweichung für Pixelfarben in einem ImageList Bild.
image Der Name des ImageList Bildes.
returns Ein 2D Array mit Statistikwerten (indexiert durch "Min", "Max", "Mean", "STD") mit Unterindizes 1,2,3 für R,G,B und Werten 0 bis 255.
example stat = LDImage.Statistics(img)
min = stat["Min"] ' "1=cR;2=cG;3=cB;"


To32bitARGB(image)
Konvertiert ein ImageList Bild zum Format ARGB (Alphakanal mit 32bit/Pxl) wenn erforderlich (Überprüfung).
image Der Name des zu ändernden ImageList Bildes (zB. geladenes Jpg Bild).
returns "SUCCESS" bei Erfolg, sonst "FAILED".
example img = ImageList.LoadImage(jpgBild)
LDImage.To32bitARGB(img) 'mit Alphakanal


UseFastPixelMethods
Ermittelt oder setzt die Verwendung einer schnellen Methode zur Pixelmanipulation? "True" (Standard) oder "False".
Diese (LockBits) Methode kann hiermit auch deaktiviert werden.


LDInline
Einbinden von C#, VB oder JScript Code zum Ausführen während der Programmlaufzeit.
Werden mehrere Namespaces oder Klassen verwendet, sollten alle Methoden-, Eigenschaften- oder Ereignisnamen eindeutig verwendet werden.
Alternativ kann ein vollqualifizierter 'Namespace.Typ.Name' verwendet werden.
Kann zum Kompilieren von Extensions und auch gemeinsam mit weiteren, extern kompilierten .NET Dlls verwendet werden.
Methode, Eigenschaft, Ereignis, Klasse und Referenzen können übernommen werden (nur 'public static').

Die Assemblies der aktuellen Anwendung werden automatisch referenziert.
In Abhängigkeit von verwendeten .NET Methoden können zusätzliche Assemblies erforderlich sein, die nach vollem Dll Pfad zu referenzieren sind.
Assembly Dlls sind meist an folgenden oder ähnlichen Orten zu finden:
C:\Windows\Microsoft.NET\Framework\v?.?*\ (zB. v3.5 oder v4.0.30319)
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\
Für Ausgabe im TextWindow sollte dieses bereits vor Aufruf dieser Methoden angezeigt werden (sonst ev. keine Ausgabe).

example other-samples\LDInline.sb, LDInline-Reflection.sb (incl. code1.cs/code1.vb)

Call Event Get
GetAssemblies GetEvents GetMethodParameters
GetMethods GetProperties GetReferences
GetTypes IncludeCS IncludeJScript
IncludeVB LoadDLL Set

Call(method,args)
Aufruf einer zuvor inkludierten Methode. Binary zuvor geladen per LoadDLL bzw. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im 'SB\lib' Ordner liegen.

method Der Name der Methode in "".
args Die Argumente für die Methode. "" für ohne, ein Einzelwert oder ein Array (für mehrere Werte).
returns Das Rückgabeergebnis(se) des Aufrufs oder "" bei Erfolg, sonst "FAILED".

Event(Event,callBack)
Setzt die aufzurufende Subroutine für ein zuvor inkludiertes Ereignis. Binary zuvor geladen per LoadDLL bzw. virtuell kompilierte Source per IncludeCS/-VB.
Bei Verwendung externer Dlls müssen diese im SB\lib Ordner vorhanden sein.

Event Der Ereignisname in "".
callBack Die aufzurufende SB Event-Sub.

Get(property)
Ermittelt den Wert einer zuvor inkludierten Eigenschaft. Binary zuvor geladen per LoadDLL bzw. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im SB\lib Ordner vorhanden sein.

property Der Name der Eigenschaft in "".
returns Der Wert der Eigenschaft oder "FAILED".

GetAssemblies(fullName)
Ermittelt alle verwendeten Inline Assemblies als Array (Reflektion).
Dies sind die referenzierten Assemblies welche aktuell auch verwendet werden.

fullName Den voll angegebenen Name (mit Version, Kultur und PublicKeyToken) ermitteln? "True" oder "False" (nur Basisname).
returns Ein Array mit den Assemblynamen und Dll Pfaden.

GetEvents()
Ermittelt alle geladenen Inline Ereignisse als Array (Reflektion).
returns Ein Array mit den Ereignisnamen und Handler-Typ.

GetMethodParameters(method)
Ermittelt alle Parameter (Argumente) einer geladenen Inline Methode als Array (Reflektion).
method Der Name der Methode in "".
returns Ein Array mit den Parameternamen und Typ.

GetMethods(fullName)
Ermittelt alle geladenen Inline Methoden als Array (Reflektion).
fullName Den voll angegebenen Name (mit Version, Kultur und PublicKeyToken) ermitteln? "True" oder "False" (nur Basisname).
returns Ein Array mit den Methodenamen und Rückgabetyp.

GetProperties()
Ermittelt alle geladenen Inline Eigenschaften als Array (Reflektion).
returns Ein Array mit den Namen der Eigenschaften und Typ.

GetReferences(fullName)
Ermittelt alle hinzugefügten Inline Referenzen als Array (Reflektion, nur nach IncludeCS/-VB via Quellcode).
Dies sind die hinzugefügten Referenzen, diese können verwendet werden oder auch nicht.

fullName Den voll angegebenen Name (mit Version, Kultur und PublicKeyToken) ermitteln? "True" oder "False" ( nur Basisname).
returns Ein Array mit den angegebenen Referenznamen und Dll Pfaden.

GetTypes()
Ermittelt alle geladenen Inline Klassentypen als Array (Reflektion).
returns Ein Array mit den Klassentypen und Namespace.

IncludeCS(source,assemblies,dllName)
Inkludiert und kompiliert eine C# Klasse(n). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.

source Der C# Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll ist nicht erforderlich).
dllName Optionaler Pfad zur Erstellung einer Dll (+ .xml). "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

IncludeJScript(source,assemblies,dllName)
Inkludiert und kompiliert ein JScript Modul(e) (public class NAME). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.

source Der JScript Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll ist nicht erforderlich).
dllName Optionaler Pfad zur Erstellung einer Dll. "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

IncludeVB(source,assemblies,dllName)
Inkludiert und kompiliert ein VB Modul(e). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.

source Der VB Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll ist nicht erforderlich).
dllName Optionaler Pfad zur Erstellung einer Dll (+ .xml). "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

LoadDLL(dllName)
Verwenden einer zuvor kompilierten und gespeicherten Dll (Aufruf direkt vom Quell- oder 'SB\lib' Ordner). Obsolet für virtuell im Arbeitsspeicher erstellte Dll (s. Include.. Methoden).
dllName Der Pfad zur Dll Datei.
example Zum Laden einer Assembly.exe, diese erst zu Assembly.dll umbenennen.

Set(property,value)
Setzt den Wert einer zuvor inkludierten Eigenschaft. Binary zuvor geladen per LoadDLL bzw. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im SB\lib Ordner vorhanden sein.

property Der Name der Eigenschaft in "".
value Der Wert der Eigenschaft.

LDIOWarrior
Zugriff auf IO-Warrior Geräte (http://www.codemercs.com/io-warrior/?L=0).
example other-samples\LDIOWarrior.sb

Detatch GetName GetPID
GetReportSize GetSerialNumber GetSpecialReportSize
GetVersion GetVID Initialise
LastError LCDWrite Read
Timeout Write

Detatch()
Auswerfen/Abtrennen aller IO-Warrior Geräte.

GetName(id)
Ermittelt den Gerätename.
id Die Gerätenummmer (ab 1).
returns Der Gerätename oder "".

GetPID(id)
Ermittelt die PID des Gerätes.
id Die Gerätenummmer (ab 1).
returns Die Geräte-PID (Hex) oder 0.

GetReportSize(id)
Ermittelt die Berichtgröße.
Anzahl von Bytes beim Lesen/Schreiben.
Dies ist die Berichtgröße für Kanal 0.

id Die Gerätenummmer (ab 1).
returns Die Berichtgröße oder 0.

GetSerialNumber(id)
Ermittelt die Seriennummer des Gerätes.
id Die Gerätenummmer (ab 1).
returns Die Geräte-Seriennummer oder "".

GetSpecialReportSize(id)
Ermittelt die spezielle Berichtgröße.
Anzahl von Bytes beim speziellen Lesen/Schreiben.
Dies ist die Berichtgröße für Kanal 1.

id Die Gerätenummmer (ab 1).
returns Die spezielle Berichtgröße oder 0.

GetVersion(id)
Ermittelt die Firmware Version des Gerätes.
id Die Gerätenummmer (ab 1).
returns Die Gerätefirmware Version oder 0.

GetVID()
Ermittelt die VID (ist allen IOWarrior Typen gemeinsam) des Gerätes.
returns Die Geräte-VID (Hex) oder 0.

Initialise()
Initialisierung für IO-Warrior Geräte.
returns Die Anzahl der gefundenen Geräte.

LastError()
Ermittelt den letzten System Fehlercode.
"" für keinen Fehler (ev. nur zweckmäßig zur detailierten Fehleranalyse untergeordneter Systemaufrufe).

returns Die letzte Fehlernummer.

LCDWrite(id,text)
Schreibt Text an die LCD (nicht getestet).
id Die Gerätenummmer (ab 1).
text Der zu schreibende Text.

Read(id,channel,blocking,count)
Lesen vom IO-Warrior Gerät.
id Die Gerätenummmer (ab 1).
channel Der Lesekanal (ab 0).
blocking "True" (Rückgabe nach einer Statusänderung) oder "False" (Rückgabe mit aktuellem Status).
count Die Anzahl zu lesender Bytes. Wenn null, wird Berichtgröße 'ReportSize' verwendet für Kanal 0 bzw. 'SpecialReportSize' für Kanal 1.
s. GetReportSize und GetSpecialReportSize

returns Die ausgelesenen Bytes (0 bis 255) als Array.

Timeout
Die Timeout-Dauer für Lesen und Schreiben in ms (Standard: 1000).

Write(id,channel,data)
Schreiben von Bytes in das IO-Warrior Gerät.
id Die Gerätenummmer (ab 1).
channel Der Schreibkanal (ab 0).
data Ein Array der zu sendenden Bytes (0 bis 255).
Die Arraygröße sollte betragen 'ReportSize' für Kanal 0 bzw. 'SpecialReportSize' für Kanal 1.
s. GetReportSize und GetSpecialReportSize

returns Die Anzahl erfolgreich geschriebener Bytes.

LDList
Bietet Möglichkeiten zum Speichern von Werten (Zahl, String, Var) wie in einem 1D Array, der sich selbst neuordnet, sobald Elemente hinzugefügt oder entfernt werden.
Eine Liste ist ein effizienter Arrayspeicher (weit schneller als SB Arrays), kann durch Ganzzahlen indexiert werden und bietet diverse weitere Methoden.
Die Indexierung wird automatisch aktualisiert (ab 1) sobald sich die Liste ändert. Listenname vordefiniert zB. Liste = "" oder in "" (Intern: List#).

example other-samples\LDFastShapes.sb
http://social.technet.microsoft.com/wiki/contents/articles/24946.small-basic-list-extension.aspx


Add Append Clear
Contains Copy Count
CreateFromIndices CreateFromValues Distinct
Except Find FindIndices
GetAt IndexOf InsertAt
Intersect Print Read
Remove RemoveAt Reverse
SetAt SortByNumber SortByText
SubList ToArray Union
Write

Add(listName,value)
Fügt einen Wert am Ende einer angegebenen Liste hinzu.
listName Der Name der Liste.
value Der anzufügende Wert.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Append(listName1,listName2)
Fügt am Ende der ersten Liste eine zweite Liste hinzu.
listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste zum Anfügen an listName1.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Clear(listName)
Entfernt alle Werte von einer angegebenen Liste.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Contains(listName,value)
Ermittelt ob ein angegebener Wert in einer Liste enthalten ist.
listName Der Name der Liste.
value Der gesuchte Wert.
returns "True" oder "False".

Copy(listName)
Kopiert eine Liste (Intern: List#+1).
listName Der Name der Liste.
returns Eine Kopie der Liste.

Count(listName)
Ermittelt die Anzahl der Elemente in der angegebenen Liste.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

CreateFromIndices(sbArray)
Kopiert alle Indizes eines SB Array in eine neue Liste (Intern: List#+1).
sbArray Der Name des SB Array.
returns Der Name der erstellten Liste bei Erfolg, sonst "".

CreateFromValues(sbArray)
Kopiert alle Werte eines SB Array in eine neue Liste (Intern: List#+1).
Die Arrayindizes werden in der Liste ignoriert.

sbArray Der Name des SB Array.
returns Der Name der erstellten Liste bei Erfolg, sonst "".

Distinct(listName)
Ermittelt eine Teilliste von einmaligen Werten in einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName Der Name der Liste.
returns Die Teil-/Unterliste.

Except(listName1,listName2)
Ermittelt eine Teilliste nicht-gemeinsamer (unterschiedlicher) Werte zweier angegebener Listen (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Die Liste der Ausnahmen.

Find(listName,match,exact)
Ermittelt eine Teilliste gefundener Texttreffer in einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (Groß-/Kleinschreibung ignoriert) "True", oder der Suchtext ist überhaupt in der Liste enthalten "False".
returns Die Teil-/Unterliste.

FindIndices(listName,match,exact)
Ermittelt eine Teilliste mit den Indizes gefundener Texttreffer in einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (Groß-/Kleinschreibung ignoriert) "True", oder der Suchtext ist überhaupt in der Liste enthalten "False".
returns Die Teilliste mit den Indizes der Trefferfunde in der Liste.

GetAt(listName,index)
Ermittelt den Wert am angegebenen Index (ab 1) in einer Liste.
listName Der Name der Liste.
index Der zu ermittelnde Wertindex.
returns Der Listenwert.

IndexOf(listName,value)
Ermittelt den Index (ab 1) des ersten Auftretens eines Wertes in der angegebenen Liste.
listName Der Name der Liste.
value Der Wert dessen Index gesucht ist (0 falls kein Fund).
returns Der Index des Wertes oder 0.

InsertAt(listName,index,value)
Fügt einen Wert am angegebenen Index (ab 1) in eine Liste ein.
listName Der Name der Liste.
index Der Index an dem eingefügt wird.
value Der einzufügende Wert.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Intersect(listName1,listName2)
Ermittelt eine Teilliste von gemeinsamen Werten zweier angegebener Listen (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Die Liste der gemeinsamen Übereinstimmungen.

Print(listName)
Zeilenweise Ausgabe einer Liste im TextWindow (List# | 1 : Wert1 | 2 : Wert2 | usw.).
Vorangestelltes 'TextWindow.WriteLine' gibt am Ende auch die Anzahl der Listenelemente aus.

listName Der Name der Liste.
returns Die Anzahl der Listenelemente bei Erfolg, sonst -1.

Read(filePath)
Liest eine Liste aus einer Datei ein (Intern: List#+1).
filePath Der volle Dateipfad zum Einlesen der Liste.
returns Die Liste bei Erfolg, sonst "".

Remove(listName,match,exact)
Entfernt alle Vorkommen eines gefundenen Texttreffers in einer angegebenen Liste.
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (Groß-/Kleinschreibung ignoriert) "True", oder der Suchtext ist überhaupt in der Liste enthalten "False".
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

RemoveAt(listName,index)
Entfernt einen Wert am angegebenen Index (ab 1) von einer Liste.
listName Der Name der Liste.
index Der zu entfernende Wertindex.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Reverse(listName)
Kehrt die Reihenfolge der Werte (Indizes) in einer angegebenen Liste um.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SetAt(listName,index,value)
Setzt (ersetzt) den Wert am angegebenen Index (ab 1) in einer Liste.
listName Der Name der Liste.
index Der zu setzende Index für den Wert.
value Der zu setzende Wert.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SortByNumber(listName)
Sortiert eine angegebene Liste wobei deren Elemente als Zahlen behandelt werden (numerische Sortierung).
Alle Werte müssen Zahlen sein.

listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SortByText(listName)
Sortiert eine angegebene Liste wobei deren Elemente als Textstrings behandelt werden (lexikalische Sortierung).
Bei der Sortierung wird Groß-/Kleinschreibung ignoriert.

listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SubList(listName,start,length)
Ermittelt eine Teilliste einer angegebenen Liste (Intern: List#+1).
listName Der Name der Liste.
start Der erste Index in der Teilliste.
length Die Länge der Teilliste.
returns Die Teil-/Unterliste.

ToArray(listName)
Konvertiert eine Liste zu einem SB Array.
Für große Listen nicht empfehlenswert.

listName Der Name der Liste.
returns Der Name des SB Array.

Union(listName1,listName2)
Ermittelt eine Teilliste kombinierter Werte (doppelte einzeln gezählt) zweier angegebener Listen (Intern: List#+1).
Beim Textvergleich wird Groß-/Kleinschreibung ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Die Verbund-Liste.

Write(listName,filePath,append)
Speichert eine Liste in eine Datei mit einem Listenwert pro Zeile.
listName Der Name der Liste.
filePath Der volle Dateipfad zum Speichern der Liste.
append Am Ende einer existierenden Datei anhängen ("True") oder neue Datei erstellen ("False").
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

LDLogic
Logikoperationen und lexikalischer Stringvergleich.
Zur Berechnung eines Ausdrucks unter Verwendung dieser Operationen, benutze 'LDMath.Evaluate3'.

example eingabe = 3.1
res = LDLogic.Switch(LDMath.Evaluate3(eingabe+"<5"),"OK","Neueingabe nötig") ' "OK"


And CaseSensitive EQ
GE GT LE
LT NE Not
Or Switch XOr

And(value1,value2)
Logische 'And' (&, Und) Verknüpfung zweier Boolwerte:
And("True","True") = "True"
And("True","False") = "False"
And("False","True") = "False"
And("False","False") = "False"

value1 Die erste Bedingung ("True" oder "False").
value2 Die zweite Bedingung ("True" oder "False").
returns "True" oder "False".
example Not A And Not B = A NOr B

CaseSensitive
Ermittelt oder setzt die Beachtung von Groß-/Kleinschreibung bei Stringvergleich. "True" (Standard) oder "False".
Für Methoden EQ, GE, GT, LE, LT, NE.


EQ(value1,value2)
Der 'EQual' (gleich, =) Operator.
Prüft ob Wert1 gleich Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".
example LDLogic.EQ("Text", "Texte") ' "False"

GE(value1,value2)
Der 'Greater than/Equal' (größer/gleich, >=) Operator.
Prüft ob Wert1 größer oder gleich Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".

GT(value1,value2)
Der 'Greater Than' (größer als, >) Operator.
Prüft ob Wert1 größer als Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".

LE(value1,value2)
Der 'Less than/Equal' (kleiner/gleich, <=) Operator.
Prüft ob Wert1 kleiner oder gleich Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".

LT(value1,value2)
Der 'Less Than' (kleiner als, <) Operator.
Prüft ob Wert1 kleiner als Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".

NE(value1,value2)
Der 'Not Equal' (ungleich, <>) Operator.
Prüft ob Wert1 ungleich Wert2 ist.
Auch zum lexikalischen Stringvergleich (s. CaseSensitive).

value1 Der erste Wert.
value2 Der zweite Wert.
returns "True" oder "False".
example LDLogic.NE("text", "TexT") ' "True"

Not(value)
Logische Umkehrung eines Boolwertes, 'Not' (~, Nicht) Operator:
Not("True") = "False"
Not("False") = "True"

value Die umzukehrende Bedingung ("True" oder "False").
returns "True" oder "False".

Or(value1,value2)
Logische 'Or' (|, Oder) Verknüpfung zweier Boolwerte:
Or("True","True") = "True"
Or("True","False") = "True"
Or("False","True") = "True"
Or("False","False") = "False"

value1 Die erste Bedingung ("True" oder "False").
value2 Die zweite Bedingung ("True" oder "False").
returns "True" oder "False".
example Not A Or Not B = A NAnd B

Switch(condition,value1,value2)
Führt eine Kurzanweisung mit logischer Bedingung aus. (s. Ternary-, ?: Operator, http://msdn.microsoft.com/library/ty67wk28.aspx)
condition Eine Bedingung oder Variable welche "True" oder "False" ergibt, bzw. LDMath.Evaluate3(condition) für Stringausdruck oder Vergleich.
value1 Der Rückgabewert wenn die Bedingung "True" ergibt.
value2 Der Rückgabewert wenn die Bedingung "False" ergibt.
returns value1 bei wahrem Ergebnis, sonst value2.
example eingabe = 3.1
res = LDLogic.Switch(LDMath.Evaluate3(eingabe+"<5"),"OK","Ungültige Eingabe") ' "OK"

LDLogic.Switch(Text.IsSubText("abc","b"), "Ja","Nein") ' "Ja"
LDLogic.Switch(Array.IsArray("1=a"), 1,0) ' 1


XOr(value1,value2)
Logische 'XOr' (^, eXclusiv Oder) Verknüpfung zweier Boolwerte:
XOr("True","True") = "False"
XOr("True","False") = "True"
XOr("False","True") = "True"
XOr("False","False") = "False"

value1 Die erste Bedingung ("True" oder "False").
value2 Die zweite Bedingung ("True" oder "False").
returns "True" oder "False" (value1 != value2).
example A XOr B = (A Or B) And Not(A And B) bzw.
= (A Or B) And (Not A Or Not B) bzw.
= (A And Not B) Or (Not A And B)


LDMath
Trigonometrische Funktionen im Gradmaß, weitere verschiedene mathematische Funktionen und Berechnungen.
example other-samples\LDUnits.sb

ArcCos ArcSin ArcTan
Base2Decimal Convert2Cartesian Convert2Radial
Cos Cosh Decimal2Base
E Evaluate Evaluate2
Evaluate3 Exp FixDecimal
FixSigFig MaxNumber MinNumber
RandomNumberSeed Rotate Sin
Sinh Tan Tanh
Truncate

ArcCos(cos)
Ermittelt den ArcusCosinus Winkel im Gradmaß [180, 0].
cos Der Cosinuswert des Winkels (-1 bis 1).
returns Der Winkel [Grad].

ArcSin(sin)
Ermittelt den ArcusSinus Winkel im Gradmaß [-90, 90].
sin Der Sinuswert des Winkels (-1 bis 1).
returns Der Winkel [Grad].

ArcTan(tan)
Ermittelt den ArcusTangens Winkel im Gradmaß ]-90, 90[.
tan Der Tangenswert des Winkels.
returns Der Winkel [Grad].
example ArcCot(x) = ArcTan(1/x)

Base2Decimal(number,base)
Konvertiert den Zahlenwert einer angegebenen Basis (zB. 2, 8, 16 usw.) zu einer dekadischen Ganzzahl (Basis 10).
Max. Wert: Int32 (2^31-1 = 2147483647 = #7FFFFFFF).

number Der zu konvertierende Zahlenwert der anderen Basis (>= 0).
base Die Basis von der konvertiert wird (zB. 2 binär, 8 oktal, 16 hex oder andere bis 36, >= 2).
returns Der Zahlenwert als dekadische Ganzzahl bei Erfolg, sonst "FAILED".
example LDMath.Base2Decimal(11110,2) '30
LDMath.Base2Decimal(36,8) '30
LDMath.Base2Decimal("1E",16) '30
LDMath.Base2Decimal("u",36) '30


Convert2Cartesian(x1,y1,dist,angle)
Ermittelt die Koordinaten für Punkt 2. Ausgehend von Punkt 1, mit Abstand und Winkel zu Punkt 2 (Polar -> Kartesisch), gemäß:
x2 = x1 + r*cos(φ)
y2 = y1 + r*sin(φ)

x1 Die x-Koordinate von Punkt 1 (Pol).
y1 Die y-Koordinate von Punkt 1 (Pol).
dist Der Abstand r zwischen Punkt 1 und Punkt 2.
angle Der +/- Winkel φ [Grad] zu Punkt 2 (im Uhrzeigersinn, 0° = 3h).
returns Ein 2-elementiger Array mit den x/y-Koordinaten für Punkt 2 "1=x2;2=y2;".

Convert2Radial(x1,y1,x2,y2)
Ermittelt den Abstand und Winkel zwischen zwei Punkten (Kartesisch -> Polar) als Array.
x1 Die x-Koordinate von Punkt 1.
y1 Die y-Koordinate von Punkt 1.
x2 Die x-Koordinate von Punkt 2.
y2 Die y-Koordinate von Punkt 2.
returns Ein 2-elementiger Array mit Abstand r und Winkel φ [Grad] (im Uhrzeigersinn, 0° = 3h) von Punkt 1 zu Punkt 2.
Der Winkel wird im Bereich >0 bis 360 ausgegeben.


Cos(angle)
Ermittelt den Cosinus für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Cosinuswert des Winkels [-1,1] (x im Einheitskreis).

Cosh(angle)
Ermittelt den hyperbolischen Cosinus für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Cosinuswert (>=1, (e^x + e^-x)/2).

Decimal2Base(number,base)
Konvertiert eine dekadische Ganzzahl (Basis 10) zum Zahlenwert einer anderen Basis (zB. 2, 8, 16 usw.).
Max. Wert: Int32 (2^31-1 = 2147483647 = #7FFFFFFF).

number Die zu konvertierende dekadische Ganzzahl (>= 0).
base Die Basis zu der konvertiert wird (zB. 2 binär, 8 oktal, 16 hex oder andere bis 36, >= 2).
returns Der Zahlenwert zur gewünschen Basis bei Erfolg, sonst "FAILED".
example LDMath.Decimal2Base(30,2) '11110 bin
LDMath.Decimal2Base(30,8) '36 okt
LDMath.Decimal2Base(30,16) '1e hex
LDMath.Decimal2Base(30,36) 'u


E
Ermittelt die Basis e des natürlichen Logarithmus (~2.718282 = (1+(1/x))^x für x->∞, ln(e) = 1, Eulersche Zahl, 14 DezStellen).

Evaluate(expression)
Evaluiert einen math. (boolschen) Stringausdruck zu einem Boolwert oder Zahlenergebnis (falls möglich). Für Ausgabe im TextWindow muß dieses vor Aufruf bereits angezeigt sein (sonst ev. keine Ausgabe).
Verwendet den JScript 'eval' Befehl, was komplexere JScript Manipulationen ermöglicht. s LDInline(.IncludeJScript). Keine Variablenverarbeitung.

expression Der zu berechnende Stringausdruck zB. "(9/6) + 3", "(9/6) == 3", "2.1 > 1.5", "1E6 + 6/4" oder "Date()".
returns Das evaluierte Ergebnis bei Erfolg (zB. 4.5, false, true, 1000001.5), sonst Fehlermeldung (zB. Infinity).
example s. 'JScript Language Reference' jscript5.chm bzw. script56.chm (Windows Script 5.6 Documentation)

Evaluate2(expression)
Evaluiert einen math. Stringausdruck zu einem Zahlenergebnis (falls möglich).
Alternative zu 'Evaluate' und kompatibel für direkte TextWindow Ausgabe. Keine Variablenverarbeitung.

expression Der zu berechnende Stringausdruck zB. "1E6 + 6/4".
returns Das evaluierte Zahlenergebnis bei Erfolg (zB. 1000001.5), sonst Fehlermeldung (zB. 'Expression of type 'Double' expected').

Evaluate3(expression)
Evaluiert einen logischen Stringausdruck zu einem Boolwert "True" oder "False" (falls möglich).
Alternative zu 'Evaluate' und kompatibel für direkte TextWindow Ausgabe.

expression Der zu ermittelnde Logikausdruck zB. "21.3 > 16" (gibt "True").
returns Der ermittelte Boolwert ("True" oder "False").
example s.a. LDLogic.Switch

Exp(value)
Ermittelt das Exponential einer Zahl 'value' (e^value), s. LDMath.E.
value Der Exponent durch den die Basis e potenziert wird.
returns e^value

FixDecimal(number,digits)
Rundet eine Zahl auf eine feste Anzahl von Dezimalstellen. Weitere erforderliche Dezimalnullen werden falls nötig angefügt.
number Die zu rundende Zahl.
digits Die Anzahl an Dezimalstellen.
returns Die gerundete Zahl.
example FixDecimal(-12.3456, 3) '-12.346
FixDecimal(-12.3456, 5) '-12.34560


FixSigFig(number,digits)
Rundet eine Zahl auf eine feste Anzahl von Gesamtziffern (1 bis 9).
number Die zu rundende Zahl.
digits Die Anzahl der Ziffern (<> 0).
returns Die gerundete Zahl.
example FixSigFig(-1234567, 5) '-1234600
FixSigFig(12.3456, 4) '12.35


MaxNumber
Ermittelt die größte Zahl, die SmallBasic verarbeiten kann (79228162514264337593543950335 ~ 7.9..E28, Decimal.MaxValue).

MinNumber
Ermittelt die kleinste Zahl, die SmallBasic verarbeiten kann (-79228162514264337593543950335 ~ -7.9..E28, Decimal.MinValue).

RandomNumberSeed
Setzt den Startpunkt für Zufallszahlen. Dies sollte eine Ganzzahl sein und vor Aufruf von 'Math.GetRandomNumber' gesetzt werden.
Eine Zufallszahlensequenz wird durch diesen Startpunkt initialisiert und kann für Testzwecke verwendet werden, wenn eine wiederholbare Abfolge von Zufallszahlen erforderlich ist.


Rotate(x1,y1,x2,y2,angle)
Drehung von Punkt 2 im Uhrzeigersinn um Punkt 1.
x1 Die x-Koordinate von Punkt 1.
y1 Die y-Koordinate von Punkt 1.
x2 Die x-Koordinate von Punkt 2.
y2 Die y-Koordinate von Punkt 2.
angle Der Drehwinkel [Grad] um den Punkt 2 im Uhrzeigersinn um Punkt 1 gedreht wird.
returns Ein 2-elementiger Array mit den neuen x/y-Koordinaten des gedrehten Punktes 2.

Sin(angle)
Ermittelt den Sinus für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Sinuswert des Winkels [-1,1] (y im Einheitskreis).

Sinh(angle)
Ermittelt den hyperbolischen Sinus für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Sinuswert (e^x - e^-x)/2.

Tan(angle)
Ermittelt den Tangens für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Tangenswert des Winkels (Steigung y/x im Einheitskreis).
example Cot(w) = 1/Tan(w)

Tanh(angle)
Ermittelt den hyperbolischen Tangens für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Tangenswert, ]-1,1[, sinh(x)/cosh(x).

Truncate(value)
Ermittelt den ganzzahligen Teil einer Zahl (Stellen vor dem Dezimalzeichen). Abrundung auf Ganzzahl in Richtung Null.
value Die Zahl (zB. -5.4 oder .123).
returns Der ganzzahlige Teil der Zahl (mit Vorzeichen, ohne Dezimalteil).
example LDMath.Truncate(32.23) '32
LDMath.Truncate(-32.23) '-32
LDMath.Truncate(-0.5) '0


LDMathX
Erweiterte mathematische Methoden (Schnelle Fourier-Transformation, Komplexdaten).

FFTComplex FFTForward FFTImaginary
FFTInverse FFTReal

FFTComplex(real,imaginary)
Erstellt einen Array mit Komplexdaten von zwei Arrays mit Real- und Imaginärteilen.
real Ein Array mit Realteilen.
imaginary Ein Array mit Imaginärteilen.
returns Ein Array komplexer Daten (reale Amplitude und imaginäre Phase), "MISMATCH" oder "FAILED".
Für jedes Komplexpaar (Re+Im*i) bestimmt der Index den Realteil und der Wert den Imaginärteil (arrC = "Re=Im;..;").


FFTForward(real)
Ermittelt die Komplexdaten für eine FFT (Fast Fourier Transformation) als Array.
real Ein Array mit Realwerten deren FFT zu berechnen ist.
returns Ein Array komplexer Daten (reale Amplitude und imaginäre Phase) bei Erfolg, sonst "FAILED".
Für jedes Komplexpaar (Re+Im*i) bestimmt der Index den Realteil und der Wert den Imaginärteil (arrC = "Re=Im;..;").

example http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation

FFTImaginary(complex)
Ermittelt Imaginärteil(e) für einen Array mit Komplexdaten.
complex Ein Array komplexer Daten (reale Amplitude und imaginäre Phase).
Für jedes Komplexpaar (Re+Im*i) bestimmt der Index den Realteil und der Wert den Imaginärteil (arrC = "Re=Im;..;").

returns Ein Array mit Imaginärteil(en) der Komplexdaten bei Erfolg, sonst "FAILED".

FFTInverse(complex)
Ermittelt die Umkehrung einer FFT (Fast Fourier Transformation) als Array.
complex Ein Array komplexer Daten (reale Amplitude und imaginäre Phase).
Für jedes Komplexpaar (Re+Im*i) bestimmt der Index den Realteil und der Wert den Imaginärteil (arrC = "Re=Im;..;").

returns Ein Array inverser FFT Werte bei Erfolg, sonst "FAILED".
example http://de.wikipedia.org/wiki/IFFT

FFTReal(complex)
Ermittelt Realteil(e) für einen Array mit Komplexdaten.
complex Ein Array komplexer Daten (reale Amplitude und imaginäre Phase).
Für jedes Komplexpaar (Re+Im*i) bestimmt der Index den Realteil und der Wert den Imaginärteil (arrC = "Re=Im;..;").

returns Ein Array mit Realteil(en) der Komplexdaten bei Erfolg, sonst "FAILED".

LDMatrix
Eine 2D Matrix-Struktur zB. zur Lösung linearer Gleichungssysteme (Intern: Matrix#).
Zeilen und Spalten sind ab 1 indexiert. Bei einem Fehler wird "FAILED" zurückgegeben.
Format für LDMatrix ist unterschiedlich und inkompatibel zum LDImage.ColorMatrix Format (2D Array).

example other-samples\LDMatrix.sb

Add Copy CopyNew
CopyToSBArray Create Delete
GetValue Inverse Multiply
SetValue Transpose View

Add(matrix1,matrix2,result)
Addiert zwei Matrizen. Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich sein.
Alternativ, wenn die zweite Matrix eine skalare Zahl (Skalar) ist wird dieser zu JEDEM Element der ersten Matrix hinzuaddiert.

matrix1 Die erste Matrix.
matrix2 Die zweite Matrix (oder skalare Zahl).
result Der Name der Ergebnismatrix.
returns "" bei Erfolg, sonst "FAILED".

Copy(matrix1,matrix2)
Kopiert eine Matrix in eine bestehende Matrix.
Die Dimensionen beider Matrizen müssen gleich sein.

matrix1 Die zu kopierende Matrix (Quellmatrix).
matrix2 Die Matrix in welche zu kopieren ist (Zielmatrix).
returns "" bei Erfolg, sonst "FAILED".

CopyNew(matrix)
Kopiert eine bestehende Matrix in eine neue Matrix (Intern: Matrix#+1).
matrix Die zu kopierende Matrix (Quellmatrix).
returns Der Name der neuen Matrixkopie bei Erfolg, sonst "FAILED".

CopyToSBArray(matrix)
Kopiert eine LDMatrix in einen neuen 2D SB-Array.
Die Umkehrung (SB-Array zu LDMatrix) ist nicht möglich, da SB-Arrays nicht zwangsläufig mit fortlaufenden Ganzzahlen indexiert werden.

matrix Der Name der Matrix.
returns Der Name des 2D SB-Array bei Erfolg, sonst "FAILED".

Create(rows,cols)
Erstellt eine neue MxN Matrix, gefüllt mit 0-Werten (Intern: Matrix#+1).
Zeilen- und Spaltenanzahl der Matrix können mit M=rows und N=cols entsprechend dimensioniert werden.

rows Die Anzahl der Zeilen M.
cols Die Anzahl der Spalten N.
returns Der Name der neuen Matrix bei Erfolg, sonst "FAILED".

Delete(matrix)
Löscht eine existierende Matrix (nicht generell erforderlich, kann aber bei Verwendung vieler Matrizen Speicherplatz freigeben).
matrix Der Name der zu löschenden Matrix.
returns "" bei Erfolg, sonst "FAILED".

GetValue(matrix,row,col)
Ermittelt den Wert eines Elementes in einer bestehenden Matrix.
matrix Der Name der Matrix.
row Die Zeile (ab 1) für den zu ermittelnden Wert.
col Die Spalte (ab 1) für den zu ermittelnden Wert.
returns Der ermittelte Wert bei Erfolg, sonst "FAILED".

Inverse(matrix,inverse)
Ermittelt die 'Inverse Matrix' (Gaußsches Eliminationsverfahren). M * M^-1 = M^-1 * M = I.
Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich und beide quadratisch sein (Determinante <>0).
Eine singuläre Matrix gibt den Wert "SINGULAR" zurück und die Inverse Matrix wird fehlerhaft sein.

matrix Matrix deren Inverse zu berechnen ist (bleibt unverändert).
inverse Der Name der inversen Matrix.
returns "" bei Erfolg, sonst "FAILED" oder "SINGULAR".
example LDMatrix.Inverse(m,e) 'Einheitsmatrix E, für m=e

Multiply(matrix1,matrix2,result)
Multipliziert zwei Matrizen. Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich sein.
Die Anzahl der Zeilen und Spalten der Ergebnismatrix müssen der Zeilenanzahl der ersten und der Spaltenanzahl der zweiten Matrix entsprechen.
Alternativ, wenn die zweite Matrix eine skalare Zahl (Skalar) ist, wird dieser mit JEDEM Element der ersten Matrix multipliziert. Dazu müssen die Dimensionen der ersten und der Ergebnismatrix gleich sein.

matrix1 Die erste Matrix.
matrix2 Die zweite Matrix (oder skalare Zahl).
result Der Name der Ergebnismatrix.
returns "" bei Erfolg, sonst "FAILED".

SetValue(matrix,row,col,value)
Setzt den Wert für ein Element in einer bestehenden Matrix.
matrix Der Name der Matrix.
row Die Zeile (ab 1) für den zu setzenden Wert.
col Die Spalte (ab 1) für den zu setzenden Wert.
value Der zu setzende Wert.
returns "" bei Erfolg, sonst "FAILED".

Transpose(matrix,transpose)
Ermittelt die 'Transponierte Matrix' (an Hauptdiagonale gespiegelt).
Die Anzahl der Zeilen und Spalten der beiden Matrizen müssen kreuzweise gleich sein, dh. die erste Matrix muß soviele Spalten haben wie die zweite Matrix Zeilen hat und umgekehrt.

matrix Die zu transponierende Matrix.
transpose Der Name der transponierten Ergebnismatrix.
returns "" bei Erfolg, sonst "FAILED".

View(matrix,modal)
Zeigt eine LDMatrix in einem eigenen Viewer-Fenster an (zB. Debugging, wählbare Ziffernanzeige).
matrix Der Name der anzuzeigenden Matrix.
modal Anzeige der Matrix hält Programmablauf an bis der Viewer geschlossen wird? "True" oder "False".

LDMusic
Erweitert die SB Sound.PlayMusic Methode und bietet verschiedene weitere Instrumente.
Zusätzlich kann Musik über mehrere Kanäle zugleich abgespielt werden.

example other-samples\LDMusic.sb

Channel EndNote Instrument
InstrumentName PlayMusic PlayMusic2
PlayNote Reset Velocity

Channel
Ermittelt oder setzt den MIDI Kanal (1 bis 16, Standard: 1) bei Verwendung in PlayMusic, Instrument und Velocity.

EndNote(value)
Stoppt das Abspielen einer Note.
value Die zu stoppende Note (von PlayNote zurückgegebener Wert).

Instrument
Ermittelt oder setzt das aktuelle Musikinstrument (1 bis 128):
1 Acoustic_Grand_Piano (Standard)
2 Bright_Acoustic_Piano
3 Electric_Grand_Piano
4 Honky_Tonk_Piano
5 Electric_Piano_1
6 Electric_Piano_2
7 Harpsichord
8 Clavi
9 Celesta
10 Glockenspiel
11 Music_Box
12 Vibraphone
13 Marimba
14 Xylophone
15 Tubular_Bells
16 Dulcimer
17 Drawbar_Organ
18 Percussive_Organ
19 Rock_Organ
20 Church_Organ
21 Reed_Organ
22 Accordion
23 Harmonica
24 Tango_Accordion
25 Acoustic_Guitar_nylon
26 Acoustic_Guitar_steel
27 Electric_Guitar_jazz
28 Electric_Guitar_clean
29 Electric_Guitar_muted
30 Overdriven_Guitar
31 Distortion_Guitar
32 Guitar_harmonics
33 Acoustic_Bass
34 Electric_Bass_finger
35 Electric_Bass_pick
36 Fretless_Bass
37 Slap_Bass_1
38 Slap_Bass_2
39 Synth_Bass_1
40 Synth_Bass_2
41 Violin
42 Viola
43 Cello
44 Contrabass
45 Tremolo_Strings
46 Pizzicato_Strings
47 Orchestral_Harp
48 Timpani
49 String_Ensemble_1
50 String_Ensemble_2
51 SynthStrings_1
52 SynthStrings_2
53 Choir_Aahs
54 Voice_Oohs
55 Synth_Voice
56 Orchestra_Hit
57 Trumpet
58 Trombone
59 Tuba
60 Muted_Trumpet
61 French_Horn
62 Brass_Section
63 SynthBrass_1
64 SynthBrass_2
65 Soprano_Sax
66 Alto_Sax
67 Tenor_Sax
68 Baritone_Sax
69 Oboe
70 English_Horn
71 Bassoon
72 Clarinet
73 Piccolo
74 Flute
75 Recorder
76 Pan_Flute
77 Blown_Bottle
78 Shakuhachi
79 Whistle
80 Ocarina
81 Lead_1_square
82 Lead_2_sawtooth
83 Lead_3_calliope
84 Lead_4_chiff
85 Lead_5_charang
86 Lead_6_voice
87 Lead_7_fifths
88 Lead_8_bass_lead
89 Pad_1_new_age
90 Pad_2_warm
91 Pad_3_polysynth
92 Pad_4_choir
93 Pad_5_bowed
94 Pad_6_metallic
95 Pad_7_halo
96 Pad_8_sweep
97 FX_1_rain
98 FX_2_soundtrack
99 FX_3_crystal
100 FX_4_atmosphere
101 FX_5_brightness
102 FX_6_goblins
103 FX_7_echoes
104 FX_8_sci_fi
105 Sitar
106 Banjo
107 Shamisen
108 Koto
109 Kalimba
110 Bag_Pipe
111 Fiddle
112 Shanai
113 Tinkle_Bell
114 Agogo
115 Steel_Drums
116 Woodblock
117 Taiko_Drum
118 Melodic_Tom
119 Synth_Drum
120 Reverse_Cymbal
121 Guitar_Fret_Noise
122 Breath_Noise
123 Seashore
124 Bird_Tweet
125 Telephone_Ring
126 Helicopter
127 Applause
128 Gunshot

example other-samples\LDMusic.sb

InstrumentName(instrument)
Ermittelt den Name eines Instruments aus seiner Nummer (Standard: 1 = Acoustic_Grand_Piano).
instrument Die Nummer des Instruments (s. LDMusic.Instrument).
returns Der Name des Instruments.
example LDMusic.InstrumentName(8) ' "Clavi"
LDMusic.Clavi '8


PlayMusic(notes)
Abspielen von Musiknoten. Standardlänge: L4 bzw. 400 ms.
notes Ein String abzuspielender Noten im Format der von QBasic unterstützten Music Markup Language (MML).
Oktave: O0-O8, Noten: A-G, Halbton: +(#) auf / - ab, Notenlänge (L)1,2,4 od. 8tel, Pause: R(P)1-8 wie Notenlänge.

example LDMusic.Instrument = LDMusic.Xylophone
LDMusic.PlayMusic("O5 C8 C8 G8 G8 A8 A8 G4 F8 F8 E8 E8 D8 D8 C2")


PlayMusic2(notes,instrument,velocity,volume,pan,channel)
Abspielen von Musiknoten mit angegebenem Instrument und MDI Kanal, sowie Setzen von Lautstärke, Balance und Anschlaggeschwindigkeit.
notes Ein String abzuspielender Noten im Format der von QBasic unterstützten Music Markup Language (MML).
Oktave: O0-O8, Noten: A-G, Halbton: +(#) auf / - ab, Notenlänge (L)1,2,4 od. 8tel, Pause: R(P)1-8 wie Notenlänge.

instrument Die Nummer des Instruments (s. LDMusic.Instrument).
velocity Die Geschwindigkeit der Tastenanschläge (1 bis 128, Standard: 100).
volume Die Lautstärke (0 bis 100, Standard: 50).
pan Die linke (-100) bis rechte (100) Stereo Balance (Standard: 0).
channel Der MIDI Kanal (1 bis 16, Standard: 1).
example notes = "O5 C8 C8 G8 G8 A8 A8 G4 F8 F8 E8 E8 D8 D8 C2"
LDMusic.PlayMusic2(notes, 1, 100,"","",1)


PlayNote(octave,note,channel)
Spielt eine einzelne Note (erlaubt Mehrkanal Instrumente, s. PlayMusic).
octave Die Oktave (0 bis 8, Standard: 4).
note Die Note ("A","F#","B-" usw.).
channel Der MIDI-Kanal (1 bis 16, Standard: 1).
returns Der Wert der abgespielten Note.

Reset()
Stoppt sämtliche Musik auf allen Kanälen.

Velocity
Ermittelt oder setzt die Geschwindigkeit der Tastenanschläge (1 bis 128, Standard: 100).
Dies ist die Anschlagstärke für eine Taste.


LDNetwork
Netzwerk- oder Web-Methoden (s. LDUtilities.NetworkURL und php Dateien unter http://litdev.co.uk).
example 3D-samples\LD3DMazeGame.sb

DownloadFile GetGameData HighScore
LAN Ping SetGameData

DownloadFile(localFile,remoteFile)
Download einer Webdatei ähnlich 'Network.DownloadFile', jedoch mit Angabe des Speicherpfades und bessere Verarbeitung großer Dateien.
localFile Der lokale Dateipfad zum Speichern der heruntergeladenen Datei (Änderungsdatum wird auf aktuelle Zeit gesetzt).
remoteFile Die Adresse der Netzwerkdatei.
returns Die Dateigröße [Byte] bei Erfolg, sonst -1.

GetGameData(game)
Ermitteln/Download von (zuvor gespeicherten) Daten für ein Spiel.
game Der Name des Spiels (Für jedes Spiel bzw. Version ist ein eindeutiger Name erforderlich).
returns Die ermittelten gespeicherten Daten bei Erfolg, sonst "".
example 'Test ob unter "myGame" bereits Daten vorliegen:
dat = LDNetwork.GetGameData("myGame")
TextWindow.WriteLine(dat)


HighScore(game,user,score)
Upload eines potentiellen HighScores in das Netz.
Zwischen Groß-/Kleinschrift wird unterschieden und der Punktestand sollte eine Ganzzahl sein.

game Der Name des Spiels (Für jedes Spiel bzw. Version ist ein eindeutiger Name erforderlich).
user Der Benutzername.
score Der Punktestand.
returns Ein Array mit dem aktuellen HighScore-Benutzername und dessen Punktestand.

LAN(timeout)
Ermittelt eine Liste von Geräten und deren Adressen mit Verbindung zum lokalen Netzwerkbereich (LAN, Heimnetzwerk, 192.168.1.xx).
timeout Die Auszeit [ms] (zB. 1000).
returns Ein Array mit IP Adressen und Gerätenamen mit Pingzeit, indexiert durch die IP Adresse.

Ping(IP,timeout)
Sendet einen Ping an eine IP Adresse und gibt die Umlaufzeit zurück.
IP Die anzupingende IP Adresse (oder Url).
timeout Die Auszeit [ms] (zB. 1000).
returns Die Umlaufzeit bei Erfolg [ms] bei Erfolg, sonst -1.

SetGameData(game,data)
Setzten/Upload von Daten für ein Spiel.
game Der Name des Spiels (Für jedes Spiel bzw. Version ist ein eindeutiger Name erforderlich).
data Die zu speichernden Daten, kann auch ein Array sein.
returns Die gespeicherten Daten bei Erfolg, sonst "".

LDPhysics
Physik Erweiterung (verwendet Box2D-Engine).
Hilfe unter LDPhysics.Help.

example physics-samples\*.sb

AddChain AddExplosion AddFixedAnchor
AddFixedShape AddInactiveShape AddMovingAnchor
AddMovingShape AddRope AttachShapes
AttachShapesWithJoint AttachShapesWithRotation BoxShape
BrakeTire ChainColour DetachJoint
DetachShapes DisconnectShape DoTimestep
FollowShapeX FollowShapeY GetAllShapesAt
GetAngle GetCollisions GetContacts
GetInertia GetMass GetPan
GetPosition GetRotation GetShapeAt
GetTireInformation GetTireProperties GetVelocity
GroupShapes Help LoadImagesAsCircles
MaxPolygonVertices MaxProxies MoveTire
PanView PositionIterations RayCast
ReadJson RemoveChain RemoveFrozen
RemoveRope RemoveShape Reset
RopeColour Scaling SetAABB
SetAngle SetBoundaries SetBullet
SetDamping SetForce SetGravity
SetGroup SetImpulse SetJointMotor
SetPosition SetRotation SetShapeGravity
SetTire SetTireProperties SetTorque
SetVelocity TimeStep TimestepControl
ToggleMoving ToggleRotation ToggleSensor
TurnTire UngroupShapes UnsetBullet
VelocityIterations VelocityThreshold WakeAll
WriteJson

AddChain(shape1,shape2)
Fügt eine Kette zwischen zwei existierenden Shapes hinzu (Intern: Chain#).
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.
returns Der Name der Kette.

AddExplosion(posX,posY,power,damping,colour)
Zeigt eine Explosion von 50 Partikeln a 20kg, die verteilt über 500 ms auseinander streben.
posX Die x-Koordinate der Explosion.
posY Die y-Koordinate der Explosion.
power Die Explosionskraft (Anfangsgeschwindigkeit der Partikel).
damping Die Dämpfung für den Impuls. Je kleiner der Wert, umso größer der Streubereich (Standard: 10).
colour Optionale Farbe der Explosionsteilchen ("" für ohne).

AddFixedAnchor(posX,posY)
Fügt ein kleines, unsichtbares Shape hinzu, welches als Ankerpunkt (zB. für eine Kette) benutzt werden kann (Intern: Ellipse#).
posX Die x-Koordinate des Ankerpunktes.
posY Die y-Koordinate des Ankerpunktes.
returns Der Name des Ankerpunktes.

AddFixedShape(shapeName,friction,restitution)
Fügt der Physics Engine ein existierendes SB-Shape als feste Shape (undynamisch) mit Reaktionen auf andere Shapes hinzu (zB. Reibung, Kollision, Rückstoss).
shapeName Der Name der Shape.
friction Reibungswert (gewöhnlich 0.0 bis 1.0).
restitution Rückfederung/Abprallwert (gewöhnlich 0.0 bis 1.0).

AddInactiveShape(shapeName)
Fügt der Physics Engine ein existierendes SB-Shape als inaktive Shape (undynamisch und ohne Interaktion mit anderen) hinzu, welche sich nur mit der PanView-Methode bewegt.
shapeName Der Name der Shape.

AddMovingAnchor(posX,posY)
Fügt ein kleines, unsichtbares und hoch verdichtetes Shape hinzu, welche als beweglicher Ankerpunkt benutzt werden kann (Intern: Ellipse#).
posX Die x-Koordinate des Ankerpunktes.
posY Die y-Koordinate des Ankerpunktes.
returns Der Name des Ankerpunktes.

AddMovingShape(shapeName,friction,restitution,density)
Fügt der Physics Engine ein existierendes SB-Shape als bewegliche Shape (dynamisch) hinzu.
shapeName Der Name der Shape.
friction Reibungswert (gewöhnlich 0.0 bis 1.0).
restitution Rückfederung/Abprallwert (gewöhnlich 0.0 bis 1.0).
Ein negativer Wert fügt die Shape mit sehr kleinen Abmessungen hinzu, die es erlauben, ein inaktives Bild anzufügen und es innerhalb einer unregelmäßigen Verbundshape (die das Gesamtbild umfasst) zu gruppieren.

density Die Dichte der Shape (Standard: 1).

AddRope(shape1,shape2)
Fügt ein Seil zwischen zwei existierenden Shapes hinzu (Intern: Rope#).
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.
returns Der Name des Seils.

AttachShapes(shape1,shape2)
Verbindet zwei Shapes, sodaß diese sich zusammen als Einheit bewegen.
Die Shapes werden durch ein Abstandsgelenk (Joint) verbunden und können beim Angriff etwas wackeln.

shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.

AttachShapesWithJoint(shape1,shape2,type,collide,parameters)
Verbindet zwei Shapes zur gemeinsamen Bewegung in einem von mehreren Verkettungstypen (Intern: Joint#).
Kann erweitert werden und erfordert Nachschlagen in der Box2D Anleitung.
Oft ist es besser, Shaperotation für die Verkettung zu unterbinden, um sich wie beabsichtigt zu verhalten.
Mehrfachverkettungen können ebenfalls auf Shapes angewandt werden.
Diese Methoden verwenden die anfänglichen Shapepositionen, diese also zuerst setzen.

shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.
type Einer der folgenden Verkettungstypen:
"Distance" - Behält einen fixen Abstand zwischen den Shapes.
"Gear" - Verknüpft Prismatic oder Revolute Verkettungen (zuvor erstellt) zweier Shapes.
"Line" - Bewegt die Shapes entlang einer anfänglichen Verbindungslinie zwischen den Shapes.
"Mouse" - Bewegt die Shape mit dem Mauszeiger (beide Shapenamen sollten gleich lauten).
"Prismatic_H" - Bewegt die Shapes senkrecht entlang einer Linie zwischen den zwei Shapes.
"Prismatic_V" - Bewegt die Shapes waagrecht entlang einer Linie zwischen den zwei Shapes.
"Pulley" - Ein Zugsystem, eine Shape bewegt sich rauf so wie die andere runter - positioniere die Shapes anfänglich an den Extrempunkten der Zugbewegung.
"Revolute" - Die Shapes können umeinander rotieren.

collide Interaktion verbundener Shapes miteinander? "True" oder "False" (Standard).
parameters Optionale Parameter (Standard: ""), bzw. mehrere Parameter als Array.
"Distance" - Dämpfungsverhältnis (Standard: 0)
"Gear" - Übersetzungsverhältnis, erste Verkettung, zweite Verkettung (Standard: 1, Autoerkennen von Verkettungen)
"Line" - x-Richtung, y-Richtung, Untere Übersetzung, Obere Übersetzung (Standard: Linie verbindet Shapes, unbegrenzt)
"Mouse" - Max. Beschleunigung, Dämpfungsverhältnis (Standard: 10000, 0.7)
"Prismatic_H" - x-Richtung, y-Richtung, Untere Übersetzung, Obere Übersetzung (Standard: 1,0, unbegrenzt)
"Prismatic_V" - x-Richtung, y-Richtung, Untere Übersetzung, Obere Übersetzung (Standard: 0,1, unbegrenzt)
"Pulley" - Zugverhältnis (Flaschenzug, Standard: 1)
"Revolute" - Unterer Winkel, Oberer Winkel (Standard: unbegrenzt)

returns Der Name der Verkettung.

AttachShapesWithRotation(shape1,shape2)
Verbindet zwei Shapes, sodaß diese sich zusammen als Einheit bewegen, erlaubt aber den Shapes einander zu umkreisen oder zu rotieren.
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.

BoxShape(shapeName,x1,y1,x2,y2)
Setzt eine Shape auf Verharren innerhalb einer Box/Rahmen in der Ansicht.
Ist ähnlich wie 'PanView', außer daß die Ansicht automatisch nachschwenkt, um die angegebene Shape visuell innerhalb eines Bereichs im GraphicsWindow zu halten.
Es kann nur eine Shape im Rahmen gehalten werden. Zum Zurücksetzen der gehaltenen Shape, shapeName auf "" setzen.

shapeName Der Name der zu haltenden Shape oder "".
x1 Die linke x-Koordinate der Box.
y1 Die obere y-Koordinate der Box.
x2 Die rechte x-Koordinate der Box.
y2 Die untere y-Koordinate der Box.

BrakeTire(shapeName)
Anwenden einer Bremse für eine Reifenshape.
shapeName Die zu bremsende Reifenshape.

ChainColour
Ermittelt oder setzt die Farbe für Ketten.

DetachJoint(jointName)
Trennt zwei Shapes welche zuvor mittels Verkettung verbunden waren.
jointName Der Name der Verkettung (Intern: Joint#).

DetachShapes(shape1,shape2)
Trennt zwei zuvor verbundene Shapes.
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.

DisconnectShape(shapeName)
Entfernt eine Shape aus der Physics Engine ohne die Shape aus der Shapes-Liste zu löschen.
shapeName Der Name der Shape.

DoTimestep()
Übergibt kurz an die Physics Engine um Bewegungen und Positionen aller Shapes neu zu berechnen.

FollowShapeX(shapeName)
Setzt eine Shape auf stationäres Verharren an der x-Position in der Ansicht.
Ist ähnlich wie 'PanView', außer daß die Ansicht automatisch nachschwenkt, um die angegebene Shape visuell an einer konstanten x-Position zu halten.
Es kann nur eine Shape in x-Richtung verfolgt werden. Zum Zurücksetzen der verfolgenden Shape, shapeName auf "" setzen.

shapeName Der Name der zu verfolgenden Shape oder "".

FollowShapeY(shapeName)
Setzt eine Shape auf stationäres Verharren an der y-Position in der Ansicht.
Ist ähnlich wie 'PanView', außer daß die Ansicht automatisch nachschwenkt, um die angegebene Shape visuell an einer konstanten y-Position zu halten.
Es kann nur eine Shape in y-Richtung verfolgt werden. Zum Zurücksetzen der verfolgenden Shape, shapeName auf "" setzen.

shapeName Der Name der zu verfolgenden Shape oder "".

GetAllShapesAt(posX,posY)
Ermittelt alle PhysicsEngine Shapes (falls vorhanden) an der angegebenen Position als Array.
Wenn 'Pan/Nachschwenken' aktiviert ist, gelten die PhysicsEngine Koordinaten für diese Methode.

posX Die x-Koordinate der Position.
posY Die y-Koordinate der Position.
returns Ein Array mit den Namen aller Shapes an dieser Position oder "".

GetAngle(shapeName)
Ermittelt den Rotationswinkel für eine Shape.
shapeName Der Name der Shape.
returns Der Rotationswinkel [Grad].

GetCollisions(shapeName)
Ermittelt alle Shapes die während des letzten DoTimestep mit der angegebenen Shape kollidiert sind.
shapeName Die auf Kollisionen zu prüfende Shape.
returns Ein Array mit den Namen aller Shapes die mit der angegebenen kollidiert sind (kann leer "" sein oder "Wall" für statisches Hindernis, Physics Engine Rahmen).

GetContacts(posX,posY,distance)
Ermittelt eine Liste von Shapes, die innerhalb einer Entfernung von einem angegebenen Kontaktpunkt kollidieren.
posX Die x-Koordinate des zu überprüfenden Kontaktpunktes.
posY Die y-Koordinate des zu überprüfenden Kontaktpunktes.
distance Die Maximalentfernung der Kollision vom Kontaktpunkt.
returns Ein Array von Kontakten, wobei jeder Kontakt als Array zweier Shapenamen darstellt ist.

GetInertia(shapeName)
Ermittelt das Trägheitsmoment einer Shape.
shapeName Der Name der Shape.
returns Das Trägheitsmoment der Shape.

GetMass(shapeName)
Ermittelt die Masse einer Shape.
shapeName Der Name der Shape.
returns Die Masse der Shape.

GetPan()
Ermittelt den aktuellen 'Pan' Versatz (s. PanView, FollowShapeX(Y) und BoxShape).
Weltkoordinaten = Bildschirmkoordinaten + Pan Versatz.

returns Ein 2-elementiger Array mit den aktuellen Pan Versatzwerten.

GetPosition(shapeName)
Ermittelt den Mittelpunkt einer Shape.
shapeName Der Name der Shape.
returns Ein Array mit 2 Elementen für die x- und y-Koordinaten des Mittelpunktes.

GetRotation(shapeName)
Ermittelt die Rotationsgeschwindigkeit einer Shape.
shapeName Der Name der Shape.
returns Die Rotationsgeschwindigkeit [Grad/sec].

GetShapeAt(posX,posY)
Ermittelt eine Shape (falls vorhanden) an der angegebenen Position.
Die Koordinaten für diese Methode sind die Bildschirm Koordinaten wenn 'Pan/Nachschwenken' aktiviert ist.

posX Die x-Koordinate.
posY Die y-Koordinate.
returns Der Name der Shape oder "" wenn sich dort keine befindet.

GetTireInformation(shapeName)
Ermittelt Reifeninformationen wie:
"Skid" (übersteigt dieser Wert die Größe der "AntiSkid" Eigenschaft, rutscht der Reifen weg)
"Crash" (der Wert ist die Aufprallgeschwindigkeit)

shapeName Der Name der Reifenshape.
returns Ein Array mit den Informationen, indexiert durch den Name der Information zB. "Skid".

GetTireProperties(shapeName)
Ermittelt Reifeneigenschaften wie:
"AntiSkid" (höherer Wert reduziert Schleudern/Abdriften)
"Drag" (höherer Wert erhöht Vor-/Rückwärtszug)
"Brake" (höherer Wert erhöht die Bremskraft)
"Straighten" (höherer Wert korrigiert Geradeauslenkung/Spurtreue schneller)
"BrakeStraighten" (höherer Wert korrigiert Geradeauslenkung beim Bremsen schneller)

shapeName Der Name der Reifenshape.
returns Ein Array mit den Eigenschaften, indexiert durch den Name der Eigenschaft zB. "AntiSkid".

GetVelocity(shapeName)
Ermittelt die lineare Geschwindigkeit einer Shape.
shapeName Der Name der Shape.
returns Ein Array mit 2 Elementen welche die Geschwindigkeit der Shape (in x- und y-Richtung) angeben.

GroupShapes(shape1,shape2)
Verbindet zwei Shapes fest miteinander, sodaß diese sich gemeinsam bewegen. Shape1 wird derart zu shape2 hinzugefügt, sodaß sich beide wie eine einzige Shape verhalten.
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.

Help()
Diese Methode zeigt lediglich diese Hilfe an.

Die LD-Erweiterung verwendet Box2D (http://box2d.org) als Engine und stellt eine Verbindung zwischen Box2D und SB her.

Nur Shapes die mit der Physics Engine verbunden wurden, werden dabei berücksichtigt. So können gleichzeitig auch normale Shapes verwendet werden (zB. für Hintergrund). Wurde eine Shape an die Engine gekoppelt, ist es am Besten mit dieser nur noch über 'LDShapes...' -Methoden zu interagieren. Alle Positionen sind in SB-GraphicsWindow Koordinaten [Pxl] angegeben und beziehen sich auf den Mittelpunkt der Shape.

Bild- und Textshapes werden wie Rechtecke behandelt und Ellipsen wie Kreise; es werden auch Dreiecke und konvexe Polygone unterstützt, aber keine Linien. Bilder können ebenfalls wie Kreise behandelt werden indem man die Eigenschaft LoadImagesAsCircles auf "True" setzt.

Problematisch kann die Verwendung kleiner, sehr schnell bewegter Objekte werden. Diese können manchmal scheinbar durch andere, kleine Objekte hindurchfliegen ohne anzustoßen (s. auch SetBullet).

Auch wenn Shapes sehr unterschiedliche Größen oder Masse haben, besonders wenn sehr große Shapes miteinander verbunden wurden, kann es Probleme geben. Es kann dann nötig sein, die Dichte (Density) dieser Objekte anzupassen (Verankern -Anchors- sind eine Möglichkeit dieses etwas zu automatisieren), ansonsten ist 1 (Standard) ein guter Wert für Dichte. Vermeide, zu viele Shapes miteinander zu verbinden.

Es wäre möglich, die Stabilität einiger 'schwieriger' Modelle mittels 'Timestep'-Einstellungen zu erhöhen, die voreingestellten Werte sind für die meisten Fälle jedoch ausreichend.

Die Methoden der Physics Engine dürfen nicht direkt aus einer SB Sub aufgerufen werden. Daher sollte man dort nur Variablen verwenden, die in der Hauptschleife des Programmes die notwendigen Aufrufe an die Physics Engine auslösen.

Dieser Erweiterung liegen Beispielprogramme und ein 'Getting Started Guide' bei. Diese bieten einen guten Einstieg um die neuen Möglichkeiten kennenzulernen.

Fehlermeldungen und Probleme bitte im SB Forum (http://social.msdn.microsoft.com/Forums/en-US/smallbasic/threads). Zuvor den Programmcode möglichst vereinfachen und kürzen um das Problem möglichst zu isolieren.


LoadImagesAsCircles
Ermittelt oder setzt das Laden einer Bildshape als Kreisform? "True" oder "False" (Standard).

MaxPolygonVertices
Ermittelt oder setzt die maximale Anzahl der Eckpunkte für konvexe Polygone in der Physics Engine (Standard: 8).

MaxProxies
Ermittelt oder setzt die maximale Anzahl für Objekt-'Proxies' in der Physics Engine (Standard: 1024).

MoveTire(shapeName,force)
Bewegt eine Reifenshape durch Anwenden einer vor- oder rückwärts gerichteten Kraft.
shapeName Die zu bewegende Reifenshape.
force Die anzuwendende Kraft (rückwärts < 0 < vorwärts).

PanView(panHorizontal,panVertical)
Schwenkt die Kameraansicht, incl. Fensterbegrenzungen.
panHorizontal Schwenkt die Kamera horizontal (neg. Werte für 'nach links').
panVertical Schwenkt die Kamera vertikal (neg. Werte für 'hoch').

PositionIterations
Ermittelt oder setzt die Positionsiterationen der Physics Engine (Standard: 2).

RayCast(shapeName,angle,distance)
Erstellt einen unsichtbaren 'Leitstrahl' zum Erkennen der Annäherung weiterer Shapes.
shapeName Der Name der Shape, als Ausgangspunkt für den Leitstrahl.
angle Der zu überprüfende Winkel oder ein Array von Winkeln [Grad].
distance Die maximale Entfernung zur Überprüfung.
returns Ein Array der Ergebnisse, indexiert durch Shapenamen ("Wall" für ein statisches Hindernis) und einem Wert entsprechend deren Entfernung (Reihenfolge der Shapes nach Distanz sortiert, näheste zuerst).
Bei Angabe eines Arrays mit Winkeln, nur die näheste Shape/Winkel, wobei der Wert den Winkel anstatt der Entfernung angibt.


ReadJson(fileName,scale,reverseY,stationary,offsetX,offsetY)
Liest ein json Script (R.U.B.E kompatibel) ein und erstellt daraus ein LDPhysics Modell.
S. http://www.iforce2d.net/rube für weitere Details.

fileName Der volle Pfad der einzulesenden json Datei.
scale Die Skalierung für alle Shapes (Standard: 1, keine Skalierung).
reverseY y-Richtung umkehren, von oben nach unten? ("True" oder "False").
stationary Setzt anfangs alle Shapes ruhend, (s. Set)JointMotor'en sind weiterhin aktiv ("True" oder "False").
offsetX Versatz entlang der x-Koordinate für alle Shapes.
offsetY Versatz entlang der y-Koordinate für alle Shapes, zB. hilfreich wenn 'reverseY' gesetzt wurde.
returns Ein Stringarray mit den verwendeten LDPhysics Befehlen zum Erstellen des Modells.

RemoveChain(shapeName)
Entfernt eine Kette.
shapeName Der Name der Kette.

RemoveFrozen()
Entfernt alle angehaltenen Shapes (außerhalb AABB befindlich = 'aus dem Rahmen gefallen').

RemoveRope(shapeName)
Entfernt ein Seil.
shapeName Der Name des Seils.

RemoveShape(shapeName)
Entfernt eine Shape.
shapeName Der Name der Shape.

Reset()
Zurücksetzen (löscht alle Verbindungen zwischen Shapes und der Physics Engine).

RopeColour
Ermittelt oder setzt die für Seile verwendete Farbe.

Scaling
Ermittelt oder setzt die Skalierung [Pixel/m] der Physics Engine (Standard: 10). Es ist nicht ratsam diese zu ändern.

SetAABB(minX,maxX,minY,maxY)
Die AABB (axis-aligned bounding box) - der Rahmen des Physics Universums. Ein Reset Aufruf muß unbedingt erfolgen nachdem diese Grenzen geändert wurden.
minX Linke Koordinate des Universums (Standard: -100).
maxX Rechte Koordinate des Universums (Standard: 200).
minY Obere Koordinate des Universums (Standard: -100).
maxY Untere Koordinate des Universums (Standard: 200).

SetAngle(shapeName,angle)
Setzt den Rotationswinkel für eine Shape zurück.
shapeName Der Name der Shape.
angle Der Rotationswinkel [Grad].

SetBoundaries(left,right,top,bottom)
Setzt feste Begrenzungen für die Fläche (Werte außerhalb des GraphicsWindow entfernen die Begrenzung).
left Der x-Wert der linken Begrenzung.
right Der x-Wert der rechten Begrenzung.
top Der y-Wert der oberen Begrenzung.
bottom Der y-Wert der unteren Begrenzung.

SetBullet(shapeName)
Setzt eine Shape als 'Projektil' (Bullet). Dies verhindert das Hindurchfliegen bei kleinen, schnell bewegten Shapes.
shapeName Der Name der Shape.

SetDamping(shapeName,linear,angular)
Setzt den Dämpfungsfaktor für eine Shape (Standard: 0).
shapeName Der Name der Shape.
linear Linearer Dämpfungsfaktor.
angular Schräger/winkliger Dämpfungsfaktor.

SetForce(shapeName,forceX,forceY)
Setzt eine Kraft, die einer Shape zugeordnet wird (F = m*a).
shapeName Der Name der Shape.
forceX Die x-Komponente der Kraft.
forceY Die y-Komponente der Kraft.

SetGravity(gravX,gravY)
Setzt die allgemeine Richtung und Größe der Gravitation (Standard: 0,100).
gravX Die x-Komponente der Gravitation.
gravY Die y-Komponente der Gravitation.

SetGroup(shapeName,group,mask)
Setzt eine Auswahl von Shapes welche mit anderen Shapes interagieren (kollidieren).
shapeName Der Name der zu verwaltenden Shape.
group Die Gruppe, der die aktuelle Shape angehört. Ganzzahl zwischen 0 und 15 (Standard: 0).
mask Ein Array von Gruppen welche mit dieser Shape kollidieren (Standard: alle Gruppen 0,1,2,..,14,15).
Standardmäßig werden alle Shapes als Gruppe 0 erstellt und interagieren mit allen Gruppen 0 bis 15.

example Interaktion einer Shape mit Gruppen 0,1 und 4:
mask="1=0;2=1;3=4;".


SetImpulse(shapeName,impulseX,impulseY)
Setzt den Impuls für eine Shape (zB. Anschieben eines Wagens, geradeaus).
shapeName Der Name der anzustossenden Shape.
impulseX Die x-Komponente des Impulses.
impulseY Die y-Komponente des Impulses.

SetJointMotor(jointName,speed,maxForce)
Setzt einen Motor für gewählte Verkettungen (Line, Prismatic_H, Prismatic_V und Revolute).
jointName Der Name der Verkettung.
speed Die gewünschte Motorgeschwindigkeit.
maxForce Die maximale Motorkraft (Achsendrehmoment). 0 stellt den Motor ab.

SetPosition(shapeName,posX,posY,angle)
Setzt die Position einer Shape zurück.
shapeName Der Name der Shape.
posX Die x-Koordinate des Shape Mittelpunktes.
posY Die y-Koordinate des Shape Mittelpunktes.
angle Der Rotationswinkel [Grad].

SetRotation(shapeName,rotation)
Setzt die Rotationsgeschwindigkeit für eine Shape.
shapeName Der Name der Shape.
rotation Die Rotationsgeschwindigkeit [Grad/sec].

SetShapeGravity(shapeName,gravX,gravY)
Setzt Richtung und Größe der Gravitation für eine angegebene Einzelshape (Standard: 0,100).
shapeName Der Name der zu modifizierenden Shape.
gravX Die x-Komponente der Gravitation.
gravY Die y-Komponente der Gravitation.

SetTire(shapeName)
Setzt und behandelt ein Objekt als 'fahrbaren' Reifen für ein Top-Down Spiel.
Gewöhnlich wird die Gravitation vernachlässigt (auf 0 gesetzt) und die Shape sollte bereits zur Engine hinzugefügt sein.
Das Objekt sollte zu Beginn in der Anzeige auf- und vorwärts gerichtet positioniert sein.

shapeName Die als Reifen zu setzende Shape.

SetTireProperties(shapeName,properties)
Setzt Reifeneigenschaften wie:
"AntiSkid" (höherer Wert reduziert Schleudern/Abdriften)
"Drag" (höherer Wert erhöht Vor-/Rückwärtszug)
"Brake" (höherer Wert erhöht die Bremskraft)
"Straighten" (höherer Wert korrigiert Geradeauslenkung/Spurtreue schneller)
"BrakeStraighten" (höherer Wert korrigiert Geradeauslenkung beim Bremsen schneller)

shapeName Der Name der Reifenshape.
properties Ein Array mit einer oder mehreren zu setzenden Eigenschaften.
Der Index ist eine der Eigenschaften (exakte Schreibweise) und der Wert ist der Wert der Eigenschaft.


SetTorque(shapeName,torque)
Setzt ein Drehmoment für eine Shape (zB. Antrieb eines Rades, Rotation).
shapeName Der Name der Shape.
torque Der Wert des anzubringenden Drehmomentes.

SetVelocity(shapeName,velX,velY)
Setzt die lineare Bewegungsgeschwindigkeit für eine Shape.
shapeName Der Name der Shape.
velX Die x-Komponente der Geschwindigkeit.
velY Die y-Komponente der Geschwindigkeit.

TimeStep
Ermittelt oder setzt das Intervall für die zeitliche Schrittweite in der Physics Engine (Standard: 0.025).

TimestepControl(timestep,velocityIterations,positionIterations)
Anpassen der voreingestellten Timestep-Steuerparameter.
timestep Die zeitliche Schrittweite (Standard: 0.025).
velocityIterations Geschwindigkeitsiteration (Standard: 6).
positionIterations Positionsiteration (Standard: 2).

ToggleMoving(shapeName)
Umschalten einer bewegten Shape zum Stillstand und umgekehrt.
Diese Methode setzt eine Rotation ebenfalls an/aus in Übereinstimmung ob bewegt oder statisch.

shapeName Der Name der Shape.

ToggleRotation(shapeName)
Umschalten einer rotierenden Shape zum Stillstand und umgekehrt.
Diese Methode ändert die Rotationseigenschaft für fixe und bewegte Shapes.

shapeName Der Name der Shape.

ToggleSensor(shapeName)
Umschalten einer Shape zum Verhalten als Sensor und umgekehrt.
Eine Sensor Shape interagiert nicht mit anderen Shapes, liefert jedoch weiter Kollisionsdaten.

shapeName Der Name der Shape.

TurnTire(shapeName,torque)
Drehen einer Reifenshape, Links- bzw. Rechtslenkung.
shapeName Die zu drehende Reifenshape.
torque Das Drehmoment/anzuwendende Drehkraft (Drehung nach links < 0 < rechts).

UngroupShapes(shape1,shape2)
Aufheben einer Gruppierung zweier Shapes.
shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.

UnsetBullet(shapeName)
Aufheben des 'Bullet-Status' einer Shape. Diese wird dann wieder als normale Shape behandelt.
shapeName Der Name der Shape.

VelocityIterations
Ermittelt oder setzt die Geschwindigkeitsiteration der Physics Engine (Standard: 6).

VelocityThreshold
Ermittelt oder setzt den Schwellenwert der Physics Engine für unelastische Kollisionen 'klebende Wände' (Standard: 1).

WakeAll()
Erweckt alle ruhenden Shapes. Shapes ruhen aufgrund nicht einwirkender Kräfte oder Kontakte und erwachen automatisch bei einem Kontakt oder einwirkender Kraft, sodaß diese Aktion nur selten nötig ist.

WriteJson(fileName)
Erstellt ein json Script vom aktuellen LDPhysics Modell (R.U.B.E kompatibel).
S. http://www.iforce2d.net/rube für weitere Details.

fileName Der volle Pfad der zu erstellenden json Datei.

LDProcess
Steuern externer Anwendungen und Prozesse.
example debug\Instrument.sb

GetProcesses Start Stop

GetProcesses()
Ermittelt alle aktuell laufenden Prozesse am System als Array ("procID=procName;..;").
returns Ein Array mit den Namen aller Systemprozesse (ohne .exe Erweiterung), indexiert durch die ID des Prozesses und alphabetisch geordnet nach Prozessname.

Start(application,arguments)
Startet eine externe Anwendung, Datei oder Url.
application Der volle Pfad der (shell) zu startenden Anwendung, Datei, Ordner, Verknüpfung.lnk/.url oder Url-Adresse. zB. "C:\Program Files\Microsoft\Small Basic\SB.exe" (kein %VAR% Pfad).
arguments Argumente (in "") zur Übergabe an die Anwendung oder "" falls ohne.
returns Die ID des gestarteten Prozesses:
-1 bei Mißerfolg
-2 wenn an einen bestehenden Prozess angefügt


Stop(ID)
Stoppt einen externen Prozess.
ID Die ID des zu stoppenden Prozesses.
returns "True" bei Erfolg, sonst "False".

LDQueue
Dieses Objekt bietet eine Möglichkeit zum Zwischenspeichern von Werten (Zahl, String, Var).
Ähnlich einem Stack ('zuletzt rein-zuerst raus'), gilt hier 'zuerst rein-zuerst raus', wie in einer Warteschlange (Gleichbleibende Reihenfolge).
Am Ende der Schlange kann ein Wert angefügt ('Enqueue') werden und am Beginn kann der erste Wert wieder entfernt ('Dequeue') werden.
Enqueue und Dequeue der Werte nur hintereinander, einer nach dem anderen. Queuename vordefiniert zB. QName = "" oder in "".

example client-server\LDClient.sb, LDServer.sb

Dequeue Enqueue GetCount

Dequeue(queueName)
Ermittelt (und entfernt) den Wert am Beginn des angegebenen Queue.
queueName Der Name des Queue.
returns Der Wert des vorne vom Queue entnommenen Elementes.

Enqueue(queueName,value)
Fügt einen Wert am Ende des angegebenen Queue hinzu.
queueName Der Name des Queue.
value Der hinten anzufügende Wert.

GetCount(queueName)
Ermittelt die Anzahl der Elemente im angegebenen Queue.
queueName Der Name des Queue.
returns Die Anzahl Elemente im angegebenen Queue oder 0.

LDRegex
RegEx (Regular expression, reguläre Ausdrücke) zur Textmanipulation.
example http://msdn.microsoft.com/library/hs600312.aspx (Regular expressions quick reference.pdf)
http://www.regular-expressions.info/refquick.html (../quickstart.html, /tutorial.html)
http://regexlib.com/CheatSheet.aspx


Match Replace

Match(input,pattern,caseSensitive)
Durchführen einer RegEx-Suche.
http://msdn.microsoft.com/library/system.text.regularexpressions.regex.aspx
http://msdn.microsoft.com/library/vstudio/b49yw9s8.aspx

input Der Eingabestring der nach Übereinstimmungen durchsucht wird (bleibt unverändert).
pattern Das RegEx Suchmuster als String:
(. alle, ? 0-1, * 0+, + 1+, \ Escape, [a-c] a bis c, \d Ziffer, \w Buchst, \s Whitespace, \t Tab, ^ Beginn, $ Ende, (Gruppe) usw.)

caseSensitive Bei RegEx-Übereinstimmung Groß-/Kleinschr. unterscheiden? "True" oder "False" (Standard).
returns Ein Array von Suchtreffern, indexiert durch deren Anfangsposition (ab 1) im String ("startPos1=fund1;..;") oder "".
example A. Zeilenanzahl im String:
lf = Text.GetCharacter(10) ' "\n"
arr = LDRegex.Match(str, lf,"")
nLine = Array.GetItemCount(arr)
B. arr = Match(str, "^[^\.]*$","")
'arr = "" (str mit ".")
'arr[1] = str (ohne ".")
C. IsMatch?:
If LDRegex.Match(str, muster,"") <> "" Then
isMatch = "True"
EndIf


Replace(input,pattern,replacement,caseSensitive)
Durchführen einer RegEx-Suche mit Ersetzen.
http://msdn.microsoft.com/library/system.text.regularexpressions.regex.aspx
http://msdn.microsoft.com/library/az24scfc.aspx

input Der Eingabestring in dem bei Übereinstimmung ersetzt wird (bleibt unverändert).
pattern Ein String mit dem RegEx Suchmuster:
(. alle, ? 0-1, * 0+, + 1+, \ Escape, [a-c] a bis c, \d Ziffer, \w Buchst, \s Whitespace, \t Tab, ^ Beginn, $ Ende, (Gruppe) usw.)

replacement Ein String mit dem RegEx Ersatzmuster.
caseSensitive Bei RegEx-Ersetzten Groß-/Kleinschr. unterscheiden? "True" oder "False" (Standard).
returns Die geänderte Version des Eingabestrings nach RegEx-Ersatz.
example A. " aus String entfernen:
qu = Text.GetCharacter(34)
ohneQu = LDRegex.Replace(str, qu,"","")
B. Doppelleerzeilen entfernen:
LDRegex.Replace(str, DoCrLf,crlf,"")
C. Strip html/xml Tags:
LDRegex.Replace(html,"","","") 'od.
LDRegex.Replace(html,"<.*?>"," ","") 'und
LDRegex.Replace(html," ","","")
D. Nur num. Arraywerte:
LDRegex.Replace(arr,"(;|)\d\=|;"," ","")
E. Mehrere Leerzeilen durch einzelne ersetzen:
str = File.ReadContents(fIn)
out = LDRegex.Replace(str, "(\r\n){2,}",crlf+crlf,"")
File.WriteContents(fNeu ,out)
F. Endende spc/tab entfernen:
LDRegex.Replace(line,"[ \t]+$","","")
G. Nicht-Ascii Zeichen (<32, >126) entfernen:
LDRegex.Replace(str,"[^ -~]*","","")


LDResources
Speichern und Laden von Programmressourcen in/aus einer gleichnamigen Binärdatei.
Diese Ressourcen werden in einer einzelnen Datei gespeichert, als aktueller Programmname mit Erweiterung .sbres und befindet sich im selben Verzeichnis wie das Programm.
Ressourcen beinhalten alle ImageList Bilder, mit 'Sound.Play' abzuspielende Sounds, sowie optional weitere Dateien, Strings oder Variablen.

example other-samples\LDResources.sb

AddFile AddText CleanTemp
ExtractFile Files Images
Load Save Sounds
Texts

AddFile(fileName)
Fügt eine beliebige Datei zum Speichern in die Ressource hinzu.
fileName Der volle Pfad der hinzuzufügenden Datei.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

AddText(text)
Fügt Text (auch als Variable bzw. Array) zum Speichern in der Ressource hinzu.
text Der Text oder eine SB Variable zum Hinzufügen in die Ressource.

CleanTemp()
Löscht verwendete, temporäre Sound Dateien (LDResources.Sounds) aus dem %TEMP% Ordner.

ExtractFile(fileName)
Entpackt eine gespeicherte Ressourcedatei in den aktuellen Programmordner (Program.Directory).
fileName Der Dateiname wie von 'LDResources.Files' zurückgegeben.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

Files
Ermittelt eine Liste aller geladenen Dateinamen (mittels 'ExtractFile' extrahierbar) als Array.

Images
Ermittelt eine Liste aller geladenen 'ImageList#' Bilder (vorgeladen zur Weiterverwendung in ImageList) als Array.

Load()
Lädt alle zuvor gespeicherten Ressourcen aus einer gleichnamigen .sbres Datei.
ImageList# Bilder und Sounds werden automatisch geladen und sind bereit zur Verwendung.
Sound Dateien werden im %TEMP% Ordner erstellt, sobald sie von 'Sound.Play' benötigt werden.

returns "SUCCESS" bei Erfolg, sonst "FAILED".

Save()
Speichert alle verwendeten Ressourcen in eine gleichnamige .sbres Datei.
Dies betrifft alle benötigten ImageList Bilder, abzuspielende Sounds (Sound.Play), sowie hinzugefügte Dateien oder Text/Variablen.

returns "SUCCESS" bei Erfolg, sonst "FAILED".

Sounds
Ermittelt eine Liste aller geladenen Sound Dateien (vorgeladen zur Weiterverwendung mit 'Sound.Play') als Array. Diese werden im %TEMP% Ordner erstellt, sofern 'LDResources.CleanTemp' nicht aufgerufen wird.

Texts
Ermittelt eine Liste aller geladenen Texte/Variablen als Array.

LDScrollBars
Scrollleisten für das GraphicsWindow. Kann zum Bildlauf im Spiel verwendet werden.

Warnung: Die Größe des GraphicsWindow nicht per GraphicsWindow.Width oder -Height ändern, NACHDEM ScrollBars hinzugefügt wurden.
In diesem Fall LDGraphicsWindow.Width und -Height verwenden.
Für ausgedehnte Scrollbereiche s. Rasterize (Eigenschaft).

example other-samples\LDScrollBars.sb

Add HorizontalScroll KeyScroll
Modify MouseScroll PanningRatio
Rasterize ScrollBarChanged VerticalScroll
Visibility

Add(width,height)
Fügt ScrollBar(s) im GraphicsWindow hinzu (GraphicsWindow muß initialisiert sein, bzw. wird aktiviert).
Eingabebreite und -höhe sind jene, auf die gescrollt werden kann.
0 verhindert das Einblenden einer ScrollBar.
GraphicsWindow.Width/Height übernehmen die angegebenen Werte, daher künfig LDGraphicsWindow.Width/Height verwenden.

width Die Breite des scrollbaren Bereichs (sinnvoll ab GW.Width).
height Die Höhe des scrollbaren Bereichs (sinnvoll ab GW.Height).

HorizontalScroll
Ermittelt oder setzt die horizontale Position der ScrollBar. Bei Positionsänderung wird 'ScrollBarChanged' Event ausgelöst.

KeyScroll
Ermittelt oder setzt die Verschiebbarkeit der ScrollBar mittels Pfeiltasten. "True" (Standard) oder "False".

Modify(action)
Setzt eine ScrollBar auf eine definierte Position. Bei Positionsänderung wird 'ScrollBarChanged' Event ausgelöst.
action Mögliche Aktionen:
"PageDown", "PageUp"
"PageLeft", "PageRight"
"ScrollToTop", "ScrollToBottom"
"ScrollToLeftEnd", "ScrollToRightEnd"
"ScrollToHome", "ScrollToEnd"


MouseScroll
Ermittelt oder setzt die Verschiebbarkeit der ScrollBar mittels Mausrad. "True" (Standard) oder "False".
Horizontaler Bildlauf per Mausrad bei gedrückter Umschalttaste (Shift).


PanningRatio
Ermittelt oder setzt das Bildlaufverhältnis bei Verschiebung der ScrollBar (Standard: 1).

Rasterize
Ermittelt oder setzt die Rasterung für gezeichnete (GW.Draw/GW.Fill) Objekte. "True" (Standard) oder "False".

Für über 100 gezeichnete Objekte (keine Shapes) rastert SB diese aus Gründen der Systemleistung zu einem Bitmap Bild.
Für sehr große scrollbare Bereiche kommt es zu Platzmangel im Arbeitsspeicher und kann daher hier deaktiviert werden.
Wenn deaktiviert, nicht mehr als 100 gezeichnete Objekte verwenden.
Ist zu setzen bevor LDScrollBars.Add aufgerufen wird.


ScrollBarChanged
Ereignisaufruf bei Erkennen einer Bildlauf Operation.

VerticalScroll
Ermittelt oder setzt die vertikale Position der ScrollBar. Bei Positionsänderung wird 'ScrollBarChanged' Event ausgelöst.

Visibility
Ermittelt oder setzt die Sichtbarkeit der ScrollBar. "True" (Standard) oder "False".

LDSearch
Methoden zur Onlinesuche mit 'Bing'.
Enthält Web-, Bild-, Video-, News- und Rechtschreibungs- Suchvorschläge.


Count GetImage GetNews
GetProof GetSpelling GetVideo
GetWeb Language

Count
Ermittelt oder setzt die maximale Anzahl der erhaltenen Suchergebnisse (Standard: 50).

GetImage(search)
Ausführen einer Bing Websuche nach Bildern.
search Der Suchtext.
returns Ein Array der Suchergebnisse als "url=Beschreibung;..;".

GetNews(search)
Ausführen einer Bing Websuche nach News.
search Der Suchtext.
returns Ein Array der Suchergebnisse als "url=Beschreibung;..;".

GetProof(text,mode)
Ausführen einer Text Rechtschreibprüfung (Nachweis) für längeren Text mit detailierten Infos wie in Word.
text Der zu überprüfende Text.
mode Der Modus:
"Proof" längerer Text (Standard)
"Spell" Kurz- oder Einzelwort Prüfung

returns Ein Array mit Schreibweise und weiteren Vorschlägen bei Erfolg, sonst "" (keine Treffer).

GetSpelling(search)
Ausführen einer Bing Websuche nach Rechtschreibung oder alternative Suchvorschläge.
search Der Suchtext.
returns Ein Array (ab 1) mit Rechtschreibung bzw. alternativen Vorschlägen bei Erfolg, sonst "" (keine Treffer).

GetVideo(search)
Ausführen einer Bing Websuche nach Videos.
search Der Suchtext.
returns Ein Array der Suchergebnisse als "url=Beschreibung;..;".

GetWeb(search)
Ausführen einer Bing Suche nach Webseiten.
search Der Suchtext.
returns Ein Array der Suchergebnisse als "url=Beschreibung;..;".

Language
Ermittelt oder setzt die verwendete Sprache (Standard: aktuelle Kultur, de-DE).
Optionen:
es-AR,en-AU,de-AT,nl-BE,fr-BE,pt-BR,en-CA,fr-CA,es-CL,da-DK,fi-FI,fr-FR,de-DE,zh-HK,en-IN,en-ID,en-IE,it-IT,ja-JP,ko-KR,en-MY,es-MX,nl-NL,en-NZ,no-NO,zh-CN,pl-PL,pt-PT,en-PH,ru-RU,ar-SA,en-ZA,es-ES,sv-SE,fr-CH,de-CH,zh-TW,tr-TR,en-GB,en-US,es-US

example http://msdn.microsoft.com/library/ee825488.aspx (Kulturnamen, Codes, ISO Werte)

LDServer
Server- und Klient Kommunikation zwischen Computern.
Für Server und Klient sind separate Programme erforderlich. Diese Klasse ist für den Server (s.a. LDClient).

example client-server\*.sb

AutoMessages ClientConnected ClientDisconnected
ClientMessage Close CloseDelay
Disconnect GetClients IP
LastClient LastClientConnected LastClientDisconnected
LastClientMessage Port SendMessage
Start Stop

AutoMessages
Bei 'auto' Modus Verbindungsnachrichten im TextWindow anzeigen? "True" (Standard) oder "False".

ClientConnected
Ereignisaufruf wenn ein Klient eine Verbindung herstellt.

ClientDisconnected
Ereignisaufruf wenn ein Klient getrennt wird.

ClientMessage
Ereignisaufruf wenn ein Klient eine Nachricht an den Server sendet.

Close(clientName)
Trennt und schliesst (beendet) einen Klient.
clientName Der Klientname, gewöhnlich Client1, Client2 usw.
Eine Liste aktueller Klienten kann mittels 'GetClients' Methode erhalten oder vom 'ClientConnected' Ereignis gefunden werden.

returns "SUCCESS", "NOT_CONNECTED", "NO_CLIENT" oder "FAILED".

CloseDelay
Eine Verzögerung [ms] (Standard: 100) bei Trennung, um das Senden einer Nachricht zu erlauben, bevor die Verbindung getrennt wird (Stop, Disconnect und Close).
Diese Verzögerung sollte auch für die Klienten (LDClient.CloseDelay) gesetzt werden.


Disconnect(clientName)
Trennt einen Klient ab.
clientName Der Klientname, gewöhnlich Client1, Client2 usw.
Eine Liste aktueller Klienten kann mittels 'GetClients' Methode erhalten oder vom 'ClientConnected' Ereignis gefunden werden.

returns "SUCCESS", "NOT_CONNECTED", "NO_CLIENT" oder "FAILED".

GetClients()
Ermittelt eine Liste aktuell verbundener Klienten.
returns Ein Array mit aktuellen Klientnamen oder "" für keiner.

IP
Die IP Adresse des Servers (bezieht sich standardmäßig auf die aktuelle LAN IP).
Zur Verwendung über das Internet wird eine eigene Web IP benötigt.


LastClient
Der Name des letzten Klienten.

LastClientConnected
Der Name des zuletzt verbundenen Klienten.

LastClientDisconnected
Der Name des zuletzt getrennten Klienten.

LastClientMessage
Die letzte Klient Nachricht.

Port
Der zu verwendende Windows Port (Standard: 100).

SendMessage(clientName,message)
Sendet eine Nachricht an einen Klient.
clientName Der Klientname, gewöhnlich Client1, Client2 usw.
Eine Liste aktueller Klienten kann mittels 'GetClients' Methode erhalten oder vom 'ClientConnected' Ereignis gefunden werden.

message Die Nachricht. Kann eine beliebige Variable (auch Array) sein.
returns "SUCCESS", "NOT_CONNECTED", "NO_CLIENT" oder "FAILED".

Start(auto)
Startet den Server.
auto Automatiche Nachrichtenübergabe? "True" oder "False".
Bei (empfohlener) Verwendung werden alle Klientdaten via Server an alle anderen Klienten übergeben,
und es ist keine weitere Verarbeitung von Senden- und Empfangen Ereignissen erforderlich.
Die Daten werden in Arrays (indexiert durch Klientname) aktualisiert, die von den 'LDClient.Update..' Methoden zurückgegeben werden.
Die 'auto' Option sollte für Server und alle Klienten gleich sein.

returns Die aktuellen Verbindungsparameter als IP:Port (zB. "192.168.1.60:100") oder "FAILED".
Dies ist der zu verwendende Parameter für eine Verbindung vom Klient (LDClient.Connect).


Stop()
Stoppt den aktuellen Server und schliesst alle Klienten.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

LDSettings
Speichern und Abrufen von Benutzereinstellungen für Programme in einer .settings Datei.
example other-samples\ClockWidget.sb

FilePath GetValue SetValue

FilePath
Ermittelt oder setzt den vollen Dateipfad der Einstellungsdatei (Binärdatei, Standard: ProgDirPfad\ProgName.settings, für File.GetSettingsFilePath immer).

GetValue(name)
Ermittelt den Wert einer namentlich angegebenen Einstellung.
name Der Name der Einstellung in "".
returns Der ermittelte Wert der Einstellung bei Erfolg, sonst "".

SetValue(name,value)
Setzt den Wert für eine namentlich angegebene Einstellung.
Eine nicht bestehende Einstellungsdatei wird neu erstelllt.

name Der Name der Einstellung in "".
value Der zu setzende Wert für die Einstellung.

LDShapes
Erweiterte Funktionen und Methoden für Shapes (Interne Namensverarbeitung erstellter Objekte).
example animated\*.sb
other-samples\BrushGradients.sb, ShapeEvents.sb

'Alle Eigenschaften zu 'shp':
props = LDShapes.GetProperties(shp)
idcs = Array.GetAllIndices(props)
For n = 1 To Array.GetItemCount(idcs)
TextWindow.WriteLine(idcs[n] +"="+ props[idcs[n]])
EndFor

'Einzeleigenschaft zB. "Name":
name = LDShapes.GetProperty(shp, "Name")

'Eigenschaft setzen zB. "Width":
LDShapes.SetProperty(shp, "Width",100)


AddAnimatedGif AddAnimatedImage AddPolygon
AddRegularPolygon AddStar AnimateOpacity
AnimateRotation AnimateZoom AnimationCount
AnimationInterval AnimationPause AnimationResume
AnimationSet BrushColour BrushEllipse
BrushGradient BrushImage BrushPolygon
BrushRectangle BrushRoundedRectangle BrushShape
BrushText Centre FastMove
Font GetAllShapes GetAllShapesAt
GetColour GetLeft GetOpacity
GetProperties GetProperty GetTop
Height LastEventShape LastEventType
Move MoveLine MovePolygon
MoveTriangle Overlap OverlapBox
OverlapCircle OverlapDetail PenColour
PenStyle PenWidth RasteriseTurtleLines
RemoveTurtleLines ResetTurtle ReSize
RotateAbout SetImage SetProperty
SetShapeEvent SetSize SetTurtleImage
ShapeEvent Skew Width
ZIndex ZoomAll

AddAnimatedGif(imageName,repeat)
Fügt eine Shape mit animiertem Gif (AnimatedGif) im GraphicsWindow hinzu (asynchron, Intern: Image#).
Nicht zu viele davon einsetzen, da sonst die Computerleistung sehr schnell abnimmt.
Statische Gif (AnimationCount = 0) wird zwar geladen, aber nicht angezeigt.

imageName Die zu ladende animierte gif Datei als lokaler Dateipfad oder Url (KEIN ImageList Bild).
repeat Animation endlos wiederholen? "True" oder "False".
returns Der Name der animierten gif Bildshape.

AddAnimatedImage(imageName,repeat,countX,countY)
Fügt eine Shape mit Bilderanimation (AnimatedImage, aus mehreren Einzelbildern) zum GraphicsWindow hinzu (asynchron, Intern: Image#). Für Hintergrundtransparenz Png bevorzugen.
Nicht zu viele davon einsetzen, da sonst Computerleistung sehr schnell abnimmt.

imageName Die zu ladende Bilddatei (Bilderstreifen) als lokaler Dateipfad, Url oder ImageList Name.
repeat Animation endlos wiederholen? "True" oder "False".
countX Die Anzahl der Einzelbilder in x-Richtung (horizontal).
countY Die Anzahl der Einzelbilder in y-Richtung (vertikal).
returns Der Name der animierten Bildshape.

AddPolygon(points)
Erstellt eine gefüllte Vieleck Shape (Intern: Polygon#).
points Ein Array mit den Koordinaten der Ecken des i-Polygons in der Form punkte[i][1] = x, punkte[i][2] = y, usw.

Die Mindestanzahl der Eckpunkte beträgt 3 (s. AddRegularPolygon bzw. LDFigures.AddRegularPolygon).

returns Der Name der Polygon Shape.
example Gleichschenkeliges Dreieck:
pkt[0]["X"] = 0
pkt[0]["Y"] = 0
pkt[1]["X"] = 80
pkt[1]["Y"] = 0
pkt[2]["X"] = 40
pkt[2]["Y"] = 70
LDShapes.AddPolygon(pkt)


AddRegularPolygon(numPoint,radius)
Erstellt eine gefüllte, regelmäßige Vieleck Shape (Intern: Polygon#). Erster Punkt auf (radius;0), Ankerpunkt auf (0;0).
S. AddPolygon, LDFigures.AddRegularPolygon.

numPoint Die Anzahl der Vieleck-Seiten bzw. -Ecken (ab 3).
radius Der -/+ Abstand vom Zentrum zu den Ecken (Bei neg. Werten um 180/numPoint [Grad] verdreht).
returns Der Name der regelmäßigen Vieleck Shape.

AddStar(numPoint,innerRadius,outerRadius)
Erstellt eine gefüllte, regelmäßige Stern Shape (Intern: Polygon#).
Spaßeffekte können mit neg. Abständen erzielt werden (s. LDFigures.AddRegularPolygon).

numPoint Die Anzahl der Sternpunkte (ab 3).
innerRadius Der -/+ Abstand vom Zentrum zu innereren Punkten.
outerRadius Der -/+ Abstand vom Zentrum zu äußeren Punkten.
returns Der Name der regelmäßigen Stern Shape.
example LDShapes.AddStar(4, -50,100)

AnimateOpacity(shapeName,interval,count)
Setzt eine Shape zur Animation seiner Transparenz bzw. Blinken (aus- und einblenden, asynchron).
shapeName Der Name der Shape/Steuerelement, welche zum Blinken animiert wird.
interval Das Intervall [ms] für einen vollständigen Blinkzyklus (0 stoppt das Blinken, zum Grundzustand).
count Die Anzahl der Blinkzyklen (<=0 für ständiges Blinken, zB. 1.5 endet mit gegenteiligem Grundzustand).

AnimateRotation(shapeName,interval,count)
Setzt eine Shape auf animierte Rotation um ihren Mittelpunkt (asynchron).
shapeName Der Name der drehenden Shape/Steuerelement.
interval Die Dauer [ms] für eine volle 360 Grad Drehung (0 stoppt die Rotation, <0 für Rotation im Gegenuhrzeigersinn).
interval = 60000/umin [ms] bzw.
umin = 60000/interval [1/min]
loopDelay = interval/360 [ms/°]

count Die Anzahl der Umdrehungen (0 für ständige Rotation, zB. 0.5 für Halbdrehung).

AnimateZoom(shapeName,interval,count,scaleX,scaleY)
Setzt eine Shape auf animierte Größenänderung (größer/kleiner, wie Shapes.Zoom auch für Textshapes, asynchron) um ihren Mittelpunkt.
shapeName Der Name der zu zoomenden Shape/Steuerelement.
interval Die Dauer [ms] für einen kompletten Zoomzyklus (0 stoppt das Zoomen).
count Die Anzahl von Zoom-Zyklen (0 für ständiges Zoomen, zB. 0.5 für Halbzyklus dh. nur in eine Richtung).
scaleX Der +/- Zoomfaktor in x-Richtung (1 Originalansicht).
scaleY Der +/- Zoomfaktor in y-Richtung (1 Originalansicht).

AnimationCount(shapeName)
Ermittelt die Anzahl der Einzelbilder in einer animierten Bildshape (zB. AnimatedGif).
shapeName Der Name der animierten Bildshape.
returns Die Gesamtzahl der Einzelbilder in der Animation, sonst 0 (zB. statische Gif).

AnimationInterval
Ermittelt oder setzt das Intervall in dem eine Shape-Animation abgespielt wird [ms] (Standard: 100).
0 stoppt alle laufenden Animationen, um zB. AnimationSet zu erlauben, ein ausgewähltes Einzelbild zu setzen.
Dieser interne Taktgeber betrifft alle animierten Bilder, die nicht pausiert wurden oder noch keinen vollen Zyklus durchlaufen haben (für nicht-endlos wiederholende Animationen).


AnimationPause(shapeName)
Pausiert eine Bilderanimation.
Pausierte Animationen können mittels AnimationSet trotzdem bestimmte Einzelbilder zeigen.

shapeName Der Name der animierten Bildshape.

AnimationResume(shapeName)
Setzt eine zuvor pausierte Bilderanimation wieder fort.
shapeName Der Name der animierten Bildshape.

AnimationSet(shapeName,image)
Setzt das aktuell anzuzeigende Bild aus einer animierten Bildshape.
shapeName Der Name der animierten Bildshape.
image Das anzuzeigende Einzelbild (beginnend mit 1).

BrushColour(shapeName,colour)
Setzt die Pinselfarbe für ein bestehendes Shape/Steuerelement (zB. Hintergrundfarbe für Button, TextBox, Textshape).
Für (LD)Controls.- oder Geometrieshapes (Ellipse usw.). Für Bildshapes s. LDShapes.SetImage.

shapeName Der Name der Shape/Steuerelement.
colour Die neue Pinselfarbe, "Transparent" für Transparenz (auch für Hintergrundbild aus ImageList), s. 'Shapes.SetOpacity'.
example "

BrushEllipse(brush,x,y,width,height)
Zeichnet eine Ellipse gefüllt mit einem Farbgradient. GraphicsWindow muß bereits initialisiert sein.
brush Ein zuvor erstellter Gradient- oder Bildpinsel (LDShapes.BrushGradient, LDShapes.BrushImage).
x Die x-Koordinate der Ellipse.
y Die y-Koordinate der Ellipse.
width Die Breite der Ellipse.
height Die Höhe der Ellipse.

BrushGradient(colours,orientation)
Erstellt einen linearen oder radialen Pinselfarbe Gradient (Intern: Brush#).
colours Ein Array mit (mind. 2) anzuwendenden Gradientfarben für den GW-/Shapehintergrund.
orientation Die Orientierung für den Farbübergang:
"H" Horizontal (li -> re)
"V" Vertikal (ob -> unt)
"DU" Diagonal rauf (liU -> reO)
"DD" Diagonal runter ("a","Z",0 usw., liO -> reU)
"R" Radial (Standard, oder "", inn -> auß)

returns Der Name für den Gradientpinsel.
example brush = LDShapes.BrushGradient("1=Blue;2=#80FF0000;", "")

BrushImage(imageName)
Erstellt einen Pinsel aus einem Bild (Intern: Brush#).
Diese Pinsel sollten auch überall dort funktionieren, wo BrushGradient verwendet werden kann.

imageName Das als Pinsel zu ladende Bild.
Rückgabewert von ImageList.LoadImage, lokale oder Netzwerk- Bilddatei.
"" erstellt Leerpinsel mit Farbe #6A5ACD (106,90,205)

returns Der Name des Bildpinsel.

BrushPolygon(brush,points)
Zeichnet ein i-Polygon gefüllt mit einem Farbgradient. GraphicsWindow muß bereits initialisiert sein.
brush Ein zuvor erstellter Gradient- oder Bildpinsel (LDShapes.BrushGradient, LDShapes.BrushImage).
points Ein Array mit Koordinaten für die i-Polygonecken in der Form punkte[i][1] = x, punkte[i][2] = y.
Die Anzahl der Punkte muß 3 oder mehr betragen.

example s. LDShapes.AddPolygon(points)

BrushRectangle(brush,x,y,width,height)
Zeichnet ein Rechteck gefüllt mit einem Farbgradient. GraphicsWindow muß bereits initialisiert sein.
brush Ein zuvor erstellter Gradient- oder Bildpinsel (LDShapes.BrushGradient, LDShapes.BrushImage).
x Die x-Koordinate des Rechtecks.
y Die y-Koordinate des Rechtecks.
width Die Breite des Rechtecks.
height Die Höhe des Rechtecks.

BrushRoundedRectangle(brush,x,y,width,height,radius)
Zeichnet ein abgerundetes Rechteck gefüllt mit einem Farbgradient. GraphicsWindow muß bereits initialisiert sein.
brush Ein zuvor erstellter Gradient- oder Bildpinsel (LDShapes.BrushGradient, LDShapes.BrushImage).
x Die x-Koordinate des Rechtecks.
y The y-Koordinate des Rechtecks.
width Die Breite des Rechtecks.
height Die Höhe des Rechtecks.
radius Der Radius der gerundeten Ecken.

BrushShape(shapeName,brush)
Setzt den Hintergrund für ein bestehendes Shape/Control als Farbgradient.
shapeName Der Name der Shape/Steuerelement.
brush Ein zuvor erstellter Gradient- oder Bildpinsel (LDShapes.BrushGradient, LDShapes.BrushImage).
example slider = LDControls.AddSlider(200,22,"H")
brush = LDShapes.BrushGradient("1=Red;2=Blue;","H")
LDShapes.BrushShape(slider,brush)


BrushText(text,background,foreground)
Erstellt einen Textpinsel (Intern: Brush#).
Diese Pinsel sollten auch überall dort funktionieren, wo BrushGradient verwendet werden kann.

text Der als Pinsel (Brush) zu verwendende Text. Die aktuelle GraphicsWindow.Font.. wird verwendet.
background Die Hintergrundfarbe (BrushColor).
foreground Die Vordergrund-/Textfarbe (PenColor).
returns Der Name des Textpinsel.

Centre(shapeName,x,y)
Zentriert eine Shape (deren Mittelpunkt) an einem angegebenen Punkt. Auch für vergrößerte (gezoomte) Shapes.
shapeName Der Name der Shape/Steuerelement.
x Die x-Koordinate des neuen Shape Mittelpunktes.
y Die y-Koordinate des neuen Shape Mittelpunktes.

FastMove(shapeName,x,y)
Verschiebt eine Shape an eine neue Position.
Diese Methode ist für maximale Geschwindigkeit optimiert.

shapeName Der Name der zu verschiebenden Shape.
x Die x-Koordinate der neuen Position.
y Die y-Koordinate der neuen Position.

Font(shapeName,family,size,bold,italic)
Setzt einen neuen Schriftstil für eine bestehende Shape/Control (Textshape, Button, TextBox usw.).
shapeName Der Name der Shape/Steuerelement.
family Der Name der neuen Schriftart (erforderlich, zB. GraphicsWindow.FontName, s. LDUtilities.FontList für verfügbare Schriftarten).
size Die neue Schriftgröße (erforderlich).
bold Die neue Schrift als Fettdruck? "True" oder "False" (Standard).
italic Die neue Schrift kursiv? "True" oder "False" (Standard).

GetAllShapes()
Ermittelt die (internen) Name# aller aktuell erstellten Shapes/Controls als Array (zB. "1=Button#;2=Text#;3=Control#;4=..;").
Bzgl. Anzahl erstellter Elemente eines Types s. LDUtilities.GetNextMapIndex.

returns Ein Array mit Name# aller vorhandenen Shapes/Controls, indexiert ab 1 in Reihenfolge ihrer Erstellung.

GetAllShapesAt(x,y)
Ermittelt alle (Bild-, Geometrie-, Text-) Shapes# (nicht Controls) an einer bestimmten Position im GraphicsWindow als Array.
Dies kann zB. die Position des Mauszeigers sein. Nicht für verborgene Shape (Shapes.HideShape).

x Die x-Koordinate der Position.
y Die y-Koordinate der Position.
returns Ein Array mit den (internen) Namen# aller Shapes an dieser Position oder "False" falls dort keine Shape liegt.
Die ermittelten Namen# sind nach Z-Index sortiert, erst die im Vordergrund, dann die im Hintergrund befindlichen.


GetColour(shapeName)
Ermittelt BrushColor, Opacity und PenColor einer Shape (s. LDShapes.GetOpacity).
shapeName Der Name der Shape/Steuerelement.
returns Ein 3-elementiger Array mit:
1=BrushColor (Hintergrundfarbe, Pinselfarbe) als #AARRGGBB;
2=ShapeOpacity (Deckkraft) von 0 bis 100 [%] (0 transparent, 100 deckend);
3=PenColor (Vordergrundfarbe, Stiftfarbe) als #AARRGGBB;

example LDShapes.GetColour("Button#") 'gibt zB:
1=System.Windows.Media.LinearGradientBrush;
2=100;
3=#FF6A5ACD; (SlateBlue)


GetLeft(shapeName)
Ermittelt die linke Position des Ankerpunktes einer Shape (funktioniert auch für Dreiecke, Polygone und Linien). Unbeeinflußt von Shapes.Zoom, -Rotate oder LDShapes.ReSize.
Funktioniert auch für Shapes während einer Animation.

shapeName Der Name der Shape/Steuerelement.
returns Die x-Koordinate der linken (oberen) Ecke der Shape.

GetOpacity(shapeName)
Ermittelt die Deckkraft einer Shape (s. LDShapes.GetColour).
shapeName Der Name der Shape/Steuerelement.
returns Der Wert der Deckkraft (0 bis 100 [%]). 0 ist völlig transparent und 100 ist völlig deckend.

GetProperties(shapeName)
Ermittelt alle verfügbaren Eigenschaften einer Shape/Control als Array. Dies sind NET UIElement Eigenschaften.
shapeName Der Name der Shape/Steuerelement.
returns Ein Array aller verfügbaren Eigenschaften und deren Werte (zB: Fill, Height, IsMouseOver, IsVisible, Name, Opacity, Stroke, Width, usw.) bei Erfolg, sonst Fehlermeldung.
example http://msdn.microsoft.com/library/system.type.getproperties.aspx
'Alle Eigenschaften zu 'shp':
props = LDShapes.GetProperties(shp)
idcs = Array.GetAllIndices(props)
For n = 1 To Array.GetItemCount(idcs)
TextWindow.WriteLine(idcs[n] +"="+ props[idcs[n]])
EndFor


GetProperty(shapeName,property)
Ermittelt eine spezielle Eigenschaft einer Shape/Control. Dies ist eine NET UIElement Eigenschaft.
shapeName Der Name der Shape/Steuerelement.
property Der (buchstabengetreue) Name der zu ermittelnden Eigenschaft (zB: Fill, Height, IsMouseOver, IsVisible, Name, Opacity, Stroke, Width, usw.).
returns Der Wert der Eigenschaft bei Erfolg, sonst Fehlermeldung.
example 'Markierungsfarbe in TB
LDShapes.GetProperty(tb, "SelectionBrush") 'Standard #FF3399FF
http://msdn.microsoft.com/library/system.type.getproperty.aspx


GetTop(shapeName)
Ermittelt die obere Position des Ankerpunktes einer Shape (funktioniert auch für Dreiecke, Polygone und Linien). Unbeeinflußt von Shapes.Zoom, -Rotate oder LDShapes.ReSize.
Funktioniert auch für Shapes während einer Animation.

shapeName Der Name der Shape/Steuerelement.
returns Die y-Koordinate der oberen (linken) Ecke der Shape.

Height(shapeName)
Ermittelt die tatsächlich sichtbare Höhe einer Shape (umgebende Rechteckhöhe bei Erstellung, angenommene PenWidth = 0).
shapeName Der Name der Shape/Steuerelement.
returns Die sichtbare Höhe der Shape.

LastEventShape
Ermittelt den Name der letzten Shape, für die ein (ShapeEvent) Ereignis aufgetreten ist (s. SetShapeEvent).

LastEventType
Ermittelt den letzten Shape-Ereignistyp, der in einem (ShapeEvent) Ereignis aufgetreten ist (s. SetShapeEvent). Mögliche Ereignisse:
"MouseDown", "MouseUp"
"MouseEnter", "MouseLeave"
"GotFocus", "LostFocus"

example "MouseDown" und "MouseUp" Ereignisse nicht für Control's (Steuerelemente) linke Maustaste. Jedoch für rechte/mittlere Maustaste auf Slider/Button.

Move(shapeName,x,y)
Verschiebt ein Dreieck oder Polygon an dessen linker, oberer Position (Ankerpunkt).
Diese Methode funktioniert auch für Linien- (Shapes.AddLine) und Bildshapes (Shapes.AddImage).

shapeName Der Name der Shape (Dreieck-, Polygon-, Linien- oder Bildshape).
x Die neue (linke) x-Koordinate der Shape.
y Die neue (obere) y-Koordinate der Shape.

MoveLine(shapeName,x1,y1,x2,y2)
Verschiebt ein Linien-Shape (Intern: Line#). Die Länge der Linie wird je nach Zielkoordinaten ev. verändert.
shapeName Der Name der Shape (eine Linie, erstellt mit Shapes.AddLine).
x1 Die x-Koordinate für Zielpunkt 1 der Linie.
y1 Die y-Koordinate für Zielpunkt 1 der Linie.
x2 Die x-Koordinate für Zielpunkt 2 der Linie.
y2 Die y-Koordinate für Zielpunkt 2 der Linie.

MovePolygon(shapeName,points)
Verschiebt ein gefülltes Vieleck-Shape (Intern: Polygon#).
shapeName Der Name der Shape (ein Polygon, erstellt mit LDShapes.AddPolygon).
points Ein Array mit den neuen Eck-Koordinaten des i-Polygons in der Form punkte[i][1] = x, punkte[i][2] = y, usw.

Die Mindestanzahl der Eckpunkte beträgt 3 und kann für jeden Aufruf geändert werden.


MoveTriangle(shapeName,x1,y1,x2,y2,x3,y3)
Verschiebt ein Dreieck-Shape (Intern: Triangle#). Die Seitenlänge(n), Form, Fläche werden je nach Zielkoordinaten ev. verändert
shapeName Der Name der Shape (ein Dreieck, erstellt mit Shapes.AddTriangle).
x1 Die x-Koordinate für Zielpunkt 1 des Dreieckes.
y1 Die y-Koordinate für Zielpunkt 1 des Dreieckes.
x2 Die x-Koordinate für Zielpunkt 2 des Dreieckes.
y2 Die y-Koordinate für Zielpunkt 2 des Dreieckes.
x3 Die x-Koordinate für Zielpunkt 3 des Dreieckes.
y3 Die y-Koordinate für Zielpunkt 3 des Dreieckes.

Overlap(shape1,shape2)
Ermittelt ob sich die Ränder zweier Shapes beliebiger Form überschneiden (Kollisionserkennung).
shape1 darf nicht rotiert oder skaliert (gezoomt) sein.
Für weitere Überschneidungsarten s. 'OverlapDetail'.

shape1 Der Name der ersten Shape (unskaliert, nicht gedreht).
shape2 Der Name der zweiten Shape.
returns "True" wenn sich beide Shapes überlappen (gemeinsame Pixel besitzen), sonst "False".

OverlapBox(shape1,shape2)
Ermittelt ob sich die Ränder zweier eckiger Shapes überschneiden (Kollisionserkennung).
Für weitere Überschneidungsarten s. 'OverlapDetail'.

shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.
returns "True" wenn sich beide Shapes überlappen (gemeinsame Pixel besitzen), sonst "False".

OverlapCircle(shape1,shape2)
Ermittelt ob sich die Ränder zweier runder Shapes überschneiden (Kollisionserkennung).
Für weitere Überschneidungsarten s. 'OverlapDetail'.

shape1 Der Name der ersten Shape.
shape2 Der Name der zweiten Shape.
returns "True" wenn sich beide Shapes überlappen (gemeinsame Pixel besitzen), sonst "False".

OverlapDetail
Ermittelt, nach Aufruf einer 'Overlap..' Methode, zusätzliche Details zu Überschneidungen.

Mögliche Ergebnisse:
"Empty" keine Überlappung
"FullyContains" shape1 gänzlich innerhalb von shape2
"Intersects" partielle Überlappung
"FullyInside" shape2 gänzlich innerhalb von shape1


PenColour(shapeName,colour)
Setzt die Stiftfarbe für ein bestehendes Shape/Control (zB. Textfarbe in Button, TextBox oder Textshape, Turtle-Spur "_turtleLine#").
shapeName Der Name der Shape/Steuerelement.
colour Die neue Stiftfarbe (zB. "Transparent" verbirgt Buttontext).

PenStyle(shapeName,dash,space)
Setzt den Zeichenstil des Stiftes für ein bestehendes Geometrieshape (gestrichelt, gepunktet usw. als Vielfaches von PenWidth, +/-).
shapeName Der Name der Shape.
dash Die einzelne Strichlänge oder 0 (keine Linie).
space Die Länge der Unterbrechungen oder 0 (durchgezogen).

PenWidth(shapeName,width)
Setzt die Strichbreite des Stiftes für ein bestehendes Geometrieshape.
shapeName Der Name der Shape/Steuerelement.
width Die neue Strichbreite.

RasteriseTurtleLines()
Rastern aller Turtlespur Linien.
Ist die Anzahl von Turtlespuren erhöht, kann die Programmleistung durch der Menge vorhandener Linenshapes (Spuren) abnehmen.
Hiermit werden die Turtlespuren von Linienshapes zu Hintergrundzeichnungen konvertiert.


RemoveTurtleLines()
Entfernt alle Turtle-Spur Linien.

ResetTurtle()
Setzt die Turtle nach Aufruf von GW.Clear oder Turtle.Hide an ihre letzte Position zurück und blendet diese stets ein.

ReSize(shapeName,width,height)
Setzt optisch eine neue Breite und Höhe für ein bestehendes Shape/Control (uneingeschränkte Zoom-Möglichkeit, s. Shapes.Zoom, nicht für Text-Shapes).
Die Größenänderung erfolgt um den Mittelpunk der Shape nur optisch, dh. dieser und die tatsächlichen Abmessungen der Form bleiben erhalten.
s.a. SetSize, bzw. Controls.SetSize.

shapeName Der Name der Shape/Steuerelement.
width Die neue Breite der Shape.
height Die neue Höhe der Shape.

RotateAbout(shapeName,x,y,angle)
Rotiert eine Shape optisch um einen angegebenen Punkt (Ankerpunkt bleibt unverändert).
shapeName Der Name der Shape.
x Die x-Koordinate des Pols um den die Shape gedreht wird.
y Die y-Koordinate des Pols um den die Shape gedreht wird.
angle Der Winkel [Grad] um den die Shape gedreht wird (+/- für im/gegen Uhrzeigersinn).

SetImage(shapeName,imageName)
Setzt oder ändert ein Bild auf einem Button oder Bildshape (Intern: ImageList#+1). Bildgröße von ImageList/Dateipfad wird automatisch an Größe der Bildshape angepasst bzw. Buttongröße wird an Bildgröße angepasst (Buttonbreite/-höhe = Bildbreite/-höhe + 4).
ImageList Bild kann danach aus ImageList entfernt werden (LDImage.Remove). Entfernen des Bildes durch Ersetzen oder "none".

shapeName Der Name des Button oder Bildshape.
imageName Das einzusetzende Bild als ImageList Name, Dateipfad oder Url. Sonstiger "string" oder Wert (außer "") entfernt Bild/Titel und setzt Buttongröße auf 4x4 bzw. Bildshape auf 0x0 Pxl.
example Eine Leershape von Shapes.AddImage("") wird nicht akzeptiert.

SetProperty(shapeName,property,value)
Setzt den Wert einer Eigenschaft für eine Shape/Control. Dies ist eine NET UIElement Eigenschaft. Fehlermeldung bei Mißerfolg.
shapeName Der Name der Shape/Steuerelement.
property Der (buchstabengetreue) Name der zu setzenden Eigenschaft (zB: Fill, Height, IsMouseOver, IsVisible, Name, Opacity, Stroke, Width, usw.).
value Der zu setzende Eigenschaftswert.
example 'Markierungsfarbe in TB
LDShapes.SetProperty(tb, "SelectionBrush", "#FFRRGGBB")
http://msdn.microsoft.com/library/system.reflection.propertyinfo.setvalue.aspx


SetShapeEvent(shapeName)
Registriert eine bereits erstellte Shape/Control zum Erkennen von Mausereignissen (per ShapeEvent) wie:
MouseDown, MouseUp,
MouseEnter, MouseLeave
(für Maus- Unten/Oben, Ein-/Austritt) und
GotFocus und LostFocus.

shapeName Der Name der Shape/Steuerelement (für Controls kein MouseDown/-Up).

SetSize(shapeName,width,height)
Setzt die Größe einer bestehenden Shape, als ob sie in dieser Größe neu erstellt wurde (auch für Text-Shapes).
Die Position (l.o. Ankerpunkt) bleibt unverändert (ähnlich Controls.SetSize), s.a. ReSize.

shapeName Der Name der Shape/Steuerelement.
width Die neue Breite der Shape.
height Die neue Höhe der Shape.

SetTurtleImage(imageName,size)
Setzt ein alternatives Turtle-Bild anstatt der orig. Schildkröte und zeigt dieses auch sofort an (Turtle.Show ist unnötig).
imageName Das zu ladende Alternativbild für die Turtle.
Zurückgegebener Wert von ImageList.LoadImage, lokale oder Netzwerk-Bilddatei (bmp, gif, ico, jpg, png).

size Die Abmessungen/Skalierung (size=B=H) für das neue Turtle-Bild mit oder ohne "" (Standard Turtle ist 16x16 Pxl).
"" zeigt kein Turtle-Bild. Unquadratische Originalbilder werden verzerrt dargestellt.
Das neue Turtle-Bild wird am Mittelpunkt zentriert.


ShapeEvent
Ereignisaufruf wenn ein Shape-Ereignis für eine (SetShapeEvent-) registrierte Shape/Control erkannt wird. Die Shape/Control muß bereits erstellt und (mittels SetShapeEvent) dafür registriert sein.

Skew(shapeName,angleX,angleY)
Abschrägen einer Shape um die angegebenen Winkel um den Shapemittelpunkt (2D Neigung, Scherung).
shapeName Der Name der abzuschrägenden Shape.
angleX Der -/+ Scherwinkel [Grad] in x-Richtung (Neigungswinkel ab y-Achse im/gegen Uhrzeigersinn, Standard: 0).
angleY Der -/+ Scherwinkel [Grad] in y-Richtung (Neigungswinkel ab x-Achse im/gegen Uhrzeigersinn, Standard: 0).

Width(shapeName)
Ermittelt die tatsächlich sichtbare Breite einer Shape (umgebende Rechteckbreite bei Erstellung, angenommene PenWidth = 0).
shapeName Der Name der Shape/Steuerelement.
returns Die sichtbare Breite der Shape.

ZIndex(shapeName,z_index)
Setzt den Z-Index (Schichtposition) für eine Shape/Control (<0 im Hintergrund, >0 im Vordergrund, Standard: 0).
shapeName Der Name der Shape/Steuerelement.
z_index Der Z-Index (0, pos. oder neg. Ganzzahl).
example http://msdn.microsoft.com/library/windows/apps/system.windows.controls.canvas.setzindex.aspx

ZoomAll(scaleX,scaleY)
Vergrößert oder verkleinert alle Shapes im GraphicsWindow optisch mittels der angegebenen Zoomwerte.
Die Größenänderungen erfolgen im Mittelpunkt jeder Shape nur optisch, dh. dieser, der Ankerpunkt und die tatsächlichen Abmessungen der Basisshape bleiben erhalten.
Alle längenbezogenen Werte/Vektoren (zB. in LDPhysics) werden proportional mitskaliert.

scaleX Der -/+ Zoomfaktor in x-Richtung (1 Originalansicht).
scaleY Der -/+ Zoomfaktor in y-Richtung (1 Originalansicht).

LDShell
Funktionen für erweiterte Dateiinfos, lnk/url Verknüpfungen und Shell Anwendungen. (Code und Methoden von Pappa Lapub).

AllDetails ApplyVerbOn CascadeWindows
DateTimeSettings DTIconsHide DTIconsOn
DTIconsShow DTIconsToggle ExploreFolder
GetAllDetailNamesFor GetAllDetailsFor GetAllVerbsFor
GetDetail GetSetting GetSystemInfo
LinkCreate LinkGetProperty LinkSetProperty
Name OpenFolder RestoreWindows
RunBox SelectFolder ShellLink
ShellLinkGet ShellLinkSet ShowDesktop
ShowFileProperties SpecialFolderConstants SpecialFolderList
SpecialFolderPaths SpecialFolders StartSettings
Switch3D TileAllHoriz TileAllVert
ToggleDesktop Version

AllDetails
Ermittelt alle verfügbaren erweiterten Eigenschaften als Array ("idx=Eigenschaftname;", wobei -1=Infotip, 0=Name, .. bis 286=Gesamtbitrate bei Win7).

ApplyVerbOn(path,verb)
Wendet das angegebene Verb (Kontextmenüeintrag) für die angegebene Datei oder Ordner an.
Liste verfügbarer Verben (für Datei/-typ oder Ordner) unter s. 'GetAllVerbsFor'.

path Der volle Datei- oder Ordnerpfad.
verb Das anzuwendende Verb (Groß-/Kleinschreibung bzw. '&' egal).
returns "SUCCESS" bei Erfolg, sonst "FAILED".
example 'Textdatei bearbeiten (Systemstandard):
LDShell.ApplyVerbOn(txtPfad, "Bearbeiten")


CascadeWindows()
Ordnet alle offenen Fenster in Kaskade unterteilt am Desktop an (Zurücksetzen mit RestoreWindows).

DateTimeSettings()
Zeigt den Dialog 'Datum- und Uhrzeiteinstellungen' an.

DTIconsHide()
Blendet alle Desktopsymbole aus.

DTIconsOn
Ermittelt oder setzt die aktuelle Anzeige der Desktopsymbole ("True" oder "False").

DTIconsShow()
Zeigt alle ausgeblendeten Desktopsymbole wieder an.

DTIconsToggle()
Schaltet die Anzeige aller Desktopsymbole automatisch um (Ein/Aus).

ExploreFolder(path)
Startet Explorer mit dem angegebenen Ordnerpfad (bzw. Elternordner für existierenden Dateipfad) in der Baumansicht. Neuer Tab in QTTabBar.
path Der im Explorer zu startende Ordner- bzw. Dateipfad (öffnet Elternordner). Der Ordner muß existieren.

GetAllDetailNamesFor(path,step1)
Ermittelt die Namen aller verfügbaren erweiterten Eigenschaften für angegebene Datei oder Ordner als Array (bis max. 316, ohne -1=Infotip).
path Der volle Datei- oder Ordnerpfad.
step1 Indizes in 1-Schritten? "True" oder "False" (Standard, tatsächlicher Eigenschaftenindex).
returns Die Namen aller verfügbaren erweiterten Eigenschaften als Array ("idx=Eigenschaftname;...", ohne Infotip) bei Erfolg, sonst "FAILED".

GetAllDetailsFor(path)
Ermittelt alle verfügbaren erweiterten Eigenschaften für angegebene Datei oder Ordner als Array (bis max. 316, ohne -1=Infotip).
path Der volle Datei- oder Ordnerpfad.
returns Alle verfügbaren erweiterten Eigenschaften als Array ("Eigenschaftname=Wert;...", ohne Infotip) bei Erfolg, sonst "FAILED".

GetAllVerbsFor(path)
Ermittelt alle verfügbaren Verben (Kontextmenüeinträge) für angegebene Datei/-typ oder Ordner als Array.
Anwendung eines Verbs für Datei/Ordner unter s. 'ApplyVerbOn'.

path Der volle Datei- oder Ordnerpfad.
returns Alle verfügbaren Verben als Array ("idx=Verb;...", ohne '&') bei Erfolg, sonst "FAILED".

GetDetail(path,infoType)
Ermittelt den Wert einer erweiterten Eigenschaft zu einem angegebenen Datei- oder Ordnerpfad.
path Der volle Datei- oder Ordnerpfad.
infoType Die Indexnummer oder Name der Eigenschaft (zB. -1="Infotip"|"", 0="Name", 1="Größe", usw.)
Indexnummern und Namen aller verfügbaren Eigenschaften unter s. 'AllDetails'.

returns Der Wert der Eigenschaft wenn vorhanden, sonst "". "FAILED" bei Mißerfolg (zB. fehlender Pfad).
Infotip Zeilen getrennt durch lf, endend mit crlf.

example iTip = GetDetail(pfad, "")
name = GetDetail(pfad, 0)
size = GetDetail(pfad, "gRÖsse")


GetSetting(value)
Ermittelt Werte für globale Shell Einstellungen (s. Ordneroptionen-Ansicht, CheckedStatus).
value Eine ganzzahlige Konstante für den zu ermittelnden Wert (zB. 1, 2, 4, "8", "32" usw.).
returns "True" oder "False" bei Erfolg, sonst "FAILED".
example http://msdn.microsoft.com/library/windows/desktop/gg537739.aspx
ShowAllObjects = SBShell.GetSetting(1)
ShowExtensions = SBShell.GetSetting(2)
ShowInfoTip = SBShell.GetSetting(8192)
ShowSuperHidden = SBShell.GetSetting(262144)


GetSystemInfo(info)
Ermittelt eine angegebene Systeminformation.
info Der Name des zu ermittelnden Wertes. Optionen:
"DirectoryServiceAvailable", "DoubleClickTime", "ProcessorLevel", "ProcessorSpeed", "ProcessorArchitecture", "PhysicalMemoryInstalled", "IsOS_DomainMember"
(Nur XP: "IsOS_Professional", "IsOS_Personal").

returns Der ermittelte Wert bei Erfolg, sonst "" oder "FAILED".

LinkCreate(shortcut,target)
Erstellt eine neue lnk/url Verknüpfung (Shell32). Weitere Bearbeitung mittels 'LinkSetProperty'.
shortcut Der volle Pfad der neuen lnk/url Verknüpfung.
target Der volle Pfad für Zieldatei/-ordner bzw. url Adresse.
returns Der volle Dateipfad der erstellten Verknüpfung bei Erfolg, sonst "FAILED".

LinkGetProperty(shortcut,property)
Ermittelt Eigenschaften einer lnk/url Verknüpfung, wie Zielpfad, Argumente usw. (* für url, Shell32).
shortcut Der volle Pfad der lnk/url Verknüpfung.
property Die zu ermittelnde Eigenschaft (Schreibweise egal, * für url):
"Target" Zielpfad *
"Args" Argumente
"Folder" Startordner
"Desc" Kommentar *
"Icon" Symbolpfad,# (Strd: ,0)*
"Hotkey" Tastencode (Strd: 0) *
"Style" Stil (1 normal, 3 max, 7 min) *

returns Der Wert der Eigenschaft oder "" bei Erfolg, sonst "FAILED".

LinkSetProperty(shortcut,target,args,folder,desc,icoPath,icoIdx,hotkey,style)
Setzt Eigenschaften für eine bestehende lnk/url Verknüpfung, wie Zielpfad, Argumente usw. (* für url, Shell32).
shortcut * Der volle Pfad der bestehenden lnk/url Verknüpfung.
target * Voller Pfad für Zieldatei/-ordner bzw. url Adresse.
args Startparameter bei Aufruf oder "" (bei url).
folder Voller Pfad des Startordners oder "" (bei url).
desc * Kommentar/Beschreibung oder "".
icoPath * Voller Pfad der Symboldatei oder "".
icoIdx * Iconindex# in der Symboldatei (Strd: 0, für .ico).
hotkey * Tastencode zum Aufruf (Strd: 0).
style * Fensterstil bei Aufruf (Strd: 1 normal, 3 max, 7 min).
returns Der volle Dateipfad der geänderten Verknüpfung bei Erfolg, sonst "FAILED".

Name
Ermittelt den Name der ausführenden Assembly für diese Extension.

OpenFolder(path)
Öffnet den angegebenen Ordnerpfad (bzw. Elternordner für existierenden Dateipfad) im Explorer. Neuer Tab in QTTabBar.
path Der im Explorer zu öffnende Ordner- bzw. Dateipfad (öffnet Elternordner). Der Ordner muß existieren.

RestoreWindows()
Stellt alle minimierten Fenster in der Taskleiste (nach ShowDesktop, TileAll.., CascadeWindows) wieder her.

RunBox()
Zeigt den 'Ausführen' Dialog an.

SelectFolder(title,initDir)
Zeigt einen Dialog zur Auswahl eines Ordners (unabhängig vom GW, s. 'LDDialogs.GetFolder').
title Der im Dialog anzuzeigende Titel.
initDir Der Startordner bei Öffnen des Dialogs oder "" für zuletzt gewählten Ordner (Standard: Arbeitsplatz).
returns Der volle Ordnerpfad bei Auswahl oder "" bei Abbruch, sonst "FAILED".

ShellLink(shortcut,target)
Erstellt eine neue lnk/url Verknüpfung (IWshRuntimeLibrary). Weitere Bearbeitung mittels 'ShellLinkSet'.
shortcut Der volle Pfad der neuen lnk/url Verknüpfung.
target Der volle Pfad für Zieldatei/-ordner bzw. url Adresse.
returns Der volle Dateipfad der erstellten Verknüpfung bei Erfolg, sonst "FAILED".

ShellLinkGet(shortcut,property)
Ermittelt Eigenschaften einer lnk/url Verknüpfung, wie Zielpfad, Argumente usw. (* für url, IWshRuntimeLibrary).
shortcut Der volle Pfad der lnk/url Verknüpfung.
property Die zu ermittelnde Eigenschaft (Schreibweise egal, * für url):
"Target" Zielpfad *
"Args" Argumente
"Folder" Startordner
"Desc" Kommentar *
"Icon" Symbolpfad,# (Strd: ,0)*
"Hotkey" Tastenkomb. (Strd: "") *
"Style" Stil (1 normal, 3 max, 7 min) *

returns Der Wert der Eigenschaft oder "" bei Erfolg, sonst "FAILED".

ShellLinkSet(shortcut,target,args,folder,desc,icon,hotkey,style)
Setzt Eigenschaften für eine bestehende lnk/url Verknüpfung, wie Zielpfad, Argumente usw. (* für url, IWshRuntimeLibrary).
shortcut * Der volle Pfad der bestehenden lnk/url Verknüpfung.
target * Voller Pfad für Zieldatei/-ordner bzw. url Adresse.
args Startparameter bei Aufruf oder "" (bei url).
folder Voller Pfad des Startordners oder "" (bei url).
desc * Kommentar/Beschreibung oder "".
icon * Voller Pfad(,#) der Symboldatei oder "". '#' ist Index in der Symboldatei (Strd: 0, für .ico).
hotkey * Tastenkomb. zum Aufruf (Strd: "").
style * Fensterstil bei Aufruf (Strd: 1 normal, 3 max, 7 min).
returns Der volle Dateipfad der geänderten Verknüpfung bei Erfolg, sonst "FAILED".

ShowDesktop()
Minimiert alle offenen Fenster in die Taskleiste und zeigt den Desktop an (Zurücksetzen mit RestoreWindows).

ShowFileProperties(filePath)
Zeigt den Shell Eigenschaftendialog für angegebene Datei oder Ordner an (GW ist dafür erforderlich, nicht von TW/Console oder nach GW.Hide/GW.Show).
Erfordert Aufruf als STAThread oder mittels Ereignis Sub.

filePath Der volle Datei- oder Ordnerpfad.

SpecialFolderConstants
Ermittelt eine Liste aller CSIDL Nummern mit den entsprechenden speziellen System-/Shellordnernamen als Array ("csidl=Ordnername;").

SpecialFolderList(csidl)
Ermittelt alle Objekte in einem speziellen System-/Shellordner (oberste Ebene).
csidl Die CSIDL Nummer des Systemordners (0 bis 47, Konstanten und Namen möglicher Ordner unter s. 'SpecialFolderConstants').
returns Die Namen der Objekte im Systemordner als Array (nur oberste Ebene) bei Erfolg, sonst "FAILED".
example 'zB. csidl .. Ordner:
3 Systemsteuerung
5 Eigene Dokumente
8 Zuletzt verwendet
9 SendTo
10 Papierkorb
16 Desktopordner
17 Computer
20 Fonts
32 Temp Inet Files
...
http://msdn.microsoft.com/library/bb774096.aspx


SpecialFolderPaths
Ermittelt eine Liste aller speziellen System-/Shellordnernamen mit den entsprechenden Ordnerpfaden als Array ("Ordnername=Pfad;").

SpecialFolders
Ermittelt eine Auflistung aller speziellen Systemodner als Array ("Ordnername=Pfad;"). Für Shellordner s. 'SpecialFolderPaths'.

StartSettings()
Zeigt den Dialog 'Startmenü-/Taskleiste Eingenschaften' an.

Switch3D()
Ordnet alle offenen Fenster in einem 3D Stapel zum Durchwählen (mit Pfeiltasten, Auswahl mit Eingabe Taste).

TileAllHoriz()
Ordnet alle offenen Fenster waagrecht unterteilt am Desktop an (Zurücksetzen mit RestoreWindows).

TileAllVert()
Ordnet alle offenen Fenster senkrecht unterteilt am Desktop an (Zurücksetzen mit RestoreWindows).

ToggleDesktop()
Schaltet die Anzeige des (fensterlosen) Desktop an und aus (s. ShowDesktop/RestoreWindows).

Version
Ermittelt die aktuelle Dateiversion dieser Extension (sonst 0.0.0.0).

LDSort
Sortieren von SB Arrays (numerische oder Stringarrays).
Strings sind mit/ohne Beachtung von Groß-/Kleinschreibung sortierbar, s. 'CaseSensitive'.

example other-samples\ListBox.sb

ByIndex ByValue ByValueWithIndex
CaseSensitive

ByIndex(array)
Sortiert einen Array beliebiger Dimension nach aufsteigenden Indizes.
Der Eingabearray bleibt unverändert.

array Der zu sortierende Array.
returns Der sortierte Array.

ByValue(array)
Sortiert einen 1D Array nach aufsteigenden Arraywerten (Alle Indizes werden neu durchnummeriert ab 1, s. 'LDStatistics.SetArray').
Der Eingabearray bleibt unverändert.

array Der zu sortierende 1D Array.
returns Der sortierte Array.

ByValueWithIndex(array)
Sortiert einen 1D Array nach Arraywerten (Indizes bleiben unverändert aber sortiert).
array Der zu sortierende 1D Array.
returns Der sortierte Array.

CaseSensitive
Ermittelt oder setzt die Beachtung von Groß-/Kleinschreibung bei Stringvergleich. "True" (Standard) oder "False".

LDSound
Soundaufnahme von einem erforderlichen (ev. internen) Mikrofon in eine angegebene wav Datei. Diese wird mit LDSound.Stop gespeichert.
SystemSounds können ebenfalls abgespielt werden, wenn diese passend gesetzt sind (s.a. SB Sound Objekt, mmsys.cpl,2, %WinDir%\Media).

example other-samples\LDSound.sb

Asterisk Beep Exclamation
Hand MusicPlayTime Pause
Question Resume Start
Stop Tone

Asterisk()
Spielt den 'Asterisk (Sternchen)' Systemsound ab.

Beep()
Spielt den 'Beep (Standardton Warnsignal)' Systemsound ab.

Exclamation()
Spielt den 'Exclamation (Hinweis)' Systemsound ab.

Hand()
Spielt den 'Hand (Kritischer Abbruch)' Systemsound ab.

MusicPlayTime(fileName)
Ermittelt die Länge (Gesamtabspieldauer [sec]) einer Audiodatei (mp3, wav, wma bzw. flac, m4a, ogg). Ev. Videodatei (avi, mp4).
fileName Der volle Pfad der Audiodatei zB. "C:\Users\Public\Music\song.mp3".
returns Die Länge der Audiodatei [sec] bei Erfolg, sonst 0 (und Fehlermeldung).
example s = LDSound.MusicPlayTime(audio) '[sec]
mmss = Math.Floor(s/60) +":"+ Math.Remainder(s,60) '[mm:ss]


Pause()
Pausiert die aktuelle Soundaufnahme.

Question()
Spielt den 'Question (Frage)' Systemsound ab.

Resume()
Setzt die Aufnahme einer pausierten Soundaufnahme fort.

Start()
Startet die Soundaufnahme.

Stop(wavFile)
Stoppt und speichert die aktuelle Soundaufnahme in eine angegebene wav Datei.
wavFile Voller Pfad der wav Datei zum Speichern der Audioaufnahme.
Dateierweiterung wird zu .wav gesetzt, falls anders angegeben.

returns "SUCCESS" bei erfolgreichem Speichern, sonst "FAILED".

Tone(frequency,duration)
Spielt einen BeepSound mit angegebener Frequenz und Dauer über den internen Lautsprecher ab.
Verwendet den Motherboard Lautsprecher (nicht Soundkarte) und mag von geringer Qualität oder gar nicht verfügbar sein.

frequency Die Tonfrequenz des Beeps (37 bis 32767 [Hz]).
duration Die Tondauer [ms].
example Kammerton 'a' hat 440 Hz. Halbtonschritt Fakt. = 2^(1/12) = 1.059463, Ganztonschritt Fakt. = 2^(1/6) = 1.1222462, Oktave Fakt. = 2.
http://de.wikipedia.org/wiki/Frequenzen_der_gleichstufigen_Stimmung


LDSpeech
Die LDSpeech-Klasse erlaubt die Sprachausgabe von Text oder gesprochene Worte zu erkennen.
example other-samples\SpeechRecognition.sb

LastSpoken LastSpokenConfidence Listen
Speak Speed Vocabulary
Voice Voices Volume

LastSpoken
Ermittelt den Text der zuletzt gesprochen und vom System erkannt wurde.

LastSpokenConfidence
Ermittelt das Vertrauen in die Korrektheit der zuletzt erkannten Spracheingabe (0 bis 1).

Listen
Ereignisaufruf wenn Text gesprochen und vom Computer erkannt wird.
Ein gutes Mikrofon, einige Übung und ein prägnantes Vokabular werden für brauchbare Ergebnisse benötigt.


Speak(text)
Spricht einen angegebenen Text.
text Der auszusprechende Text.

Speed
Ermittelt oder setzt die Geschwindigkeit der Sprachausgabe (-10 bis 10).

Vocabulary(dictionary)
Erstellt ein Vokabular an Wörtern und Sätzen zur Verwendung für die Spracherkennung.
Falls dieses nicht erstellt wurde, wird eine sehr große Sprachbibliothek verwendet und die daraus resultierenden Ergebnisse sind nicht optimal (unbrauchbar!).
Deutlich gesprochene Sätze werden besser erkannt als einzelne Worte.

dictionary Ein Array von Wörtern oder Sätzen die erkannt werden sollen.
Ist dieser leer, wird das voreingestellte (englische) Sprachvokabular benutzt.

example other-samples\SpeechRecognition.sb

Voice
Ermittelt oder setzt die aktuell verwendete Sprechstimme.

Voices()
Ermittelt die Namen der verfügbaren installierten Sprechstimmen als Array.
returns Ein Array mit den Namen aller verfügbaren Stimmen (alphabetisch sortiert, ab 1).

Volume
Ermittelt oder setzt die Lautstärke der Sprachausgabe (0 bis 100 [%]).

LDStatistics
Ermittelt statistische Werte für einen numerischen 1D Array (wird zuerst sortiert).
Zuerst mit 'SetArray' einen numerischen 1D Array definieren.

example graph_samples\graph-statistics.sb

Count Differentiate DistBinomial
DistNormal DistTriangular DistUniform
Frequency GeometricMean HarmonicMean
Integrate InterpolateX InterpolateY
Max Mean Median
Min Mode PDev
SDev SetArray Sum
Sum2

Count
Ermittelt die Anzahl der Punkte.

Differentiate(array)
Ermittelt die numerischen Differentialwerte (Tangententrapezregel) für einen 1D Array.
Die Elementanzahl im Ausgabearray ist um 1 verringert (Intervall Mittelpunkte).

array Der abzuleitende Array (arr[x]=y).
returns Die einzelnen Intervallsteigungen des Eingabearrays als 1D Array.
example http://de.wikipedia.org/wiki/Numerische_Differentiation

DistBinomial(n,p)
Ermittelt die binomische Verteilung als Array (Indizes von 0 bis n).
Etwa die Wahrscheinlichkeit k-mal Kopf in 20 (n) Münzwürfen zu erhalten, mit einer Wahrscheinlichkeit von 0.5 (p) für jeden Wurf, Kopf zu erhalten.

n Die Anzahl der Versuche.
p Die Erfolgswahrscheinlichkeit für jeden Versuch.
returns Ein 1D Array mit Binomialverteilung, Wahrscheinlichkeit von k Erfolgen (arr[k]=y).

DistNormal(distMean,distSTD,size)
Ermittelt die Normal- oder Gauß-Verteilung als Array.
distMean Die mittlere Verteilung.
distSTD Die Standardabweichung der Verteilung.
size Die Anzahl der Punkte.
returns Ein 1D Array mit Normalverteilung (arr[x]=y).

DistTriangular(rangeMin,rangeMax,size)
Ermittelt die (trianguläre) Dreiecksverteilung als Array.
rangeMin Der untere Grenzwert.
rangeMax Der obere Grenzwert.
size Die Anzahl der Punkte.
returns Ein 1D Array mit (triangulärer) Dreiecksverteilung (arr[x]=y).

DistUniform(rangeMin,rangeMax,size)
Ermittelt die einheitliche (stetige) Gleichverteilung als Array.
rangeMin Der untere Grenzwert.
rangeMax Der obere Grenzwert.
size Die Anzahl der Punkte.
returns Ein 1D Array mit stetiger Gleichverteilung (arr[x]=y).

Frequency(array,bins,normalised)
Ermittelt die Häufigkeitsverteilung in den Daten eines Arrays.
array Der Array dessen Häufigkeitsverteilung zu berechnen ist.
bins Die Anzahl der Werte die die Daten umfassen.
normalised Normierte Häufigkeitsverteilung mit einer Gesamtsumme 1? "True" oder "False".
returns Die Häufigkeitsverteilung als Array (arr[bin]=Häufigkeit).

GeometricMean
Ermittelt das geometrische Mittel aller Punkte (wenn alle Werte >0, sonst 0).
example http://de.wikipedia.org/wiki/Mittelwert

HarmonicMean
Ermittelt das harmonische Mittel aller Punkte (wenn alle Werte >0, sonst 0).
example http://de.wikipedia.org/wiki/Mittelwert

Integrate(array)
Ermittelt die numerische Integration (Sehnentrapezregel) über einen 1D Array.
array Der aufzusummierende Array (arr[x]=y).
returns Die aufsummierten Einzelintegrale über den Eingabearray (ab unterem Grenzwert) als 1D Array.
example http://de.wikipedia.org/wiki/Numerische_Integration

InterpolateX(array,y)
Interpoliert einen 1D Array um den Wert von x(y) zu finden.
Die y-Werte sollten monoton mit x ansteigen.

array Der zu interpolierende Array (arr[x]=y).
y Der y-Wert (oder Array mit y-Werten).
returns Der interpolierte x-Wert (oder Array von x-Werten).

InterpolateY(array,x)
Interpoliert einen 1D Array um den Wert von y(x) zu finden.
Die x-Werte sollten monoton ansteigen.

array Der zu interpolierende Array (arr[x]=y).
x Der x-Wert (oder Array mit x-Werten).
returns Der interpolierte y-Wert (oder Array von y-Werten).

Max
Ermittelt den Maximalwert aller Punkte.

Mean
Ermittelt das arithmetische Mittel aller Punkte (Sum / Count).
example http://de.wikipedia.org/wiki/Mittelwert

Median
Ermittelt den mittenliegenden Zentralwert aller Punkte.

Min
Ermittelt den Minimalwert aller Punkte.

Mode
Ermittelt den Modalwert (häufigster Wert der Stichprobenergebnisse) aller Punkte.

PDev
Ermittelt die Abweichung von der Grundgesamtheit aller Punkte.

SDev
Ermittelt die Standardabweichung aller Punkte.

SetArray(array)
Setzt einen numerischen 1D Array als LDStatistics-Objekt (Sortiert zuvor nach aufsteigenden Arraywerten, s. 'LDSort.ByValue').
Diese Methode muß vor allen anderen aus dieser Klasse aufgerufen werden.

array Der zu setzende und sortierende Array.
returns Ein 1D Array mit sortierten Daten (aufsteigende Arraywerte, fortlaufende Indizes ab 1).

Sum
Ermittelt die Summe aller Punktewerte.

Sum2
Ermittelt die Summe der Quadrate aller Punktewerte.

LDStopwatch
Genaue System Stoppuhren (Intern: Stopwatch#).

Add DelayUpTo ElapsedMilliseconds
ElapsedTicks Frequency Reset
Restart Start Stop

Add()
Erstellt eine neue Stoppuhr (Intern: Stopwatch#+1).
returns Der Name der Stoppuhr.

DelayUpTo(delay)
Verzögerung bis zu einem maximalen Intervall seit dem letzten Aufruf.
Sinnvoll in einer Hauptschleife um eine gleichmäßige Abspielgeschwindigkeit beizubehalten (frameRate, fps).

delay Die maximale Verzögerung [ms].

ElapsedMilliseconds(stopwatch)
Ermittelt die abgelaufene Gesamtzeit [ms] für die angegebene Stoppuhr.
stopwatch Der Name der Stoppuhr.
returns Die Anzahl abgelaufener Millisekunden bei Erfolg, sonst -1.

ElapsedTicks(stopwatch)
Ermittelt die abgelaufene Zeit [TimerTicks] für sehr kurze Intervalle.
stopwatch Der Name der Stoppuhr.
returns Die Anzahl abgelaufener Ticks bei Erfolg, sonst -1.

Frequency
Ermittelt die Frequenz des Stoppuhr Zeitgebers [Ticks/sec].
Dies repräsentiert die genaueste Zeitauflösung, welche die Hardware mit ElapsedTicks messen kann.

example hz = LDStopwatch.Frequency
TextWindow.WriteLine(hz +" Hz ("+ hz/"1e6" +" MHz)")
TextWindow.WriteLine("1e9"/hz +" ns/Tick")


Reset(stopwatch)
Stoppt die angegebene Stoppuhr und setzt die abgelaufene Zeit auf 0 zurück.
stopwatch Der Name der Stoppuhr.

Restart(stopwatch)
Stoppt die angegebene Stoppuhr, setzt die abgelaufene Zeit auf 0 zurück und startet diese Stoppuhr erneut.
stopwatch Der Name der Stoppuhr.

Start(stopwatch)
Startet oder setzt eine pausierte Stoppuhr wieder fort.
stopwatch Der Name der Stoppuhr.

Stop(stopwatch)
Stoppt oder pausiert die angegebene Stoppuhr.
stopwatch Der Name der Stoppuhr.

LDText
Methoden zur String-/Textmanipulation.
example other-samples\LDxml.sb

Compare FindAll GetHeight
GetWidth Replace Split
Trim

Compare(text1,text2)
Lexikalischer Vergleich zweier Textstrings (rel. Position in deren Sortierreihenfolge) oder SB Arrays. Der Vergleich ist unabhängig von Groß-/Kleinschreibung und Kultur.
text1 Der erste Vergleichsstring.
text2 Der zweite Vergleichsstring.
returns Eine Ganzzahl, wobei:
<0 text1 ist kleiner als text2
=0 beide Strings sind gleichwertig
>0 text1 ist größer als text2

example LDText.Compare("ABCD", "abd") '-1
LDText.Compare("ABCD", " abd") '1
LDText.Compare("Aß", "ass") '0
LDText.Compare(arr1, arr2)


FindAll(text,find)
Ermittelt alle Vorkommen eines Untertextes im Basistext.
text Der zu durchsuchende Basistext.
find Der zu suchende Teiltext (buchstabengetreu).
returns Ein Array mit den Startpositionen für jeden gefundenen Subtext (0 bei keinem Treffer).

GetHeight(text)
Ermittelt die Höhe [Pxl] in der ein Text im GraphicsWindow bei aktuell gesetzter Schrift angezeigt wird. Gesamthöhe aller Zeilen bei mehrzeiligem Text (incl. endendem CrLf).
Das GraphicsWindow muß für diese Methode geöffnet sein.

text Der Text dessen Höhe zu ermitteln ist.
returns Die Texthöhe [Pxl].

GetWidth(text)
Ermittelt die Breite [Pxl] in der ein Text im GraphicsWindow bei aktuell gesetzter Schrift angezeigt wird. Breite der längsten Zeile bei mehrzeiligem Text.
Das GraphicsWindow muß für diese Methode geöffnet sein.

text Der Text dessen Breite zu ermitteln ist.
returns Die Textbreite [Pxl].

Replace(text,find,replace)
Sucht und ersetzt alle Vorkommen einer Zeichenfolge in einem Text durch einen Ersatzstring.
text Der zu durchsuchende Text (bleibt unverändert).
find Die zu suchende und ersetzende Zeichenfolge (buchstabengetreu).
replace Der Ersatzstring, wodurch alle Vorkommen der Zeichenfolge ersetzt werden oder "".
returns Die geänderte Kopie des Textes.

Split(text,separator)
Zerteilt einen Text an einem/mehreren angegebenen Trennzeichen zu Teilstrings als Array.
Mehrere aufeinanderfolgende Trennzeichen im Text werden als einzelnes behandelt (zB. " " entspricht " ").

text Die aufzuteilende Zeichenfolge.
separator Das Trennzeichen als String (zB. " " oder ";") oder Array mit Strings von Trennzeichen ("" für Gesamttext nach Arrayindex 1).
returns Ein Array mit den aufgetrennten Textteilen, numerische Indizes ab 1.
example A. Split an ":
'qu = Text.GetCharacter(34)
Split(text, """") 'oder qu
B. Split zu Zeilen:
Split(text, crlf)
C. Array splitten:
arr = "name=wert;..;"
Split(arr,";")
D. Split an (mehreren) " ":
Split("a b c", " ")


Trim(text)
Ermittelt einen String in dem alle führenden und endenden 'White Space' (Leerzeichen) entfernt sind.
text Die zu beschneidende Zeichenfolge (bleibt unverändert).
returns Eine beschnittene Kopie des Eingabestrings.

LDTextWindow
Funktionen für das TextWindow.
Enthält untergeordnete Tastatur Ereignisse. S. LDGraphicsWindow.ExitButtonMode für Status des 'Schließen' Feldes ('X').

example client-server\LDServer(Auto).sb

Capture Encoding Hide
KeyDown KeyUp LastKey
Print Read ReadNumber
SendKey SetColour SetColours
Show

Capture(fileName,border)
Speichert den Inhalt des TextWindow als Bilddatei (bmp, gif, jp(e)g, png, tiff oder ico) oder in ImageList (Intern: ImageList#+1).
Das Fenster muß sichtbar sein. Kurzes Abwarten zB. Program.Delay kann vor Aufruf der Methode nötig sein.

fileName Der volle Pfad für die zu speichernde Bilddatei (bmp, gif, jp(e)g, png, tiff oder ico) oder
"" zum Speichern des Bildes in ImageList (Intern: ImageList#+1).

border Fensterrahmen auch Bestandteil des Bildes? "True" oder "False" (Standard).
returns Der ImageList Name (wenn fileName ""), sonst "" (bei Ausgabe in Bilddatei).

Encoding
Ermittelt oder setzt eine erweiterte Zeichencodierung (Zeichensatz) für das TextWindow. Gültige Werte:
"" Standard
Westeuropäisch (Win)
"ASCII" US-ASCII
"Unicode" Unicode UTF-16
"UTF7" Unicode UTF-7
"UTF8" Unicode UTF-8

example 'Westeuropäisch (Windows)
TextWindow.WriteLine(LDTextWindow.Encoding)
http://msdn.microsoft.com/library/system.text.encoding.aspx


Hide()
Blendet das TextWindow aus, wobei ein Textinhalt erhalten bleibt (SB 1.0 Fix).
Ersatz für die SB Standardmethode, die fehlschlagen kann (Beide Methoden nicht vermischen).


KeyDown
Ereignisaufruf (LowLevel) bei Drücken einer Taste.
Ist UNabhängig vom Fensterfokus, dh. global und nicht nur innerhalb des TW/GW.
Funktioniert für TW und/oder GW ohne daß das Fenster aktiviert ist oder der Mauszeiger im Fenster steht.
Für weitere Mausereignisse s. LDEvents.


KeyUp
Ereignisaufruf (LowLevel) bei Loslassen einer Taste.
Ist UNabhängig vom Fensterfokus, dh. global und nicht nur innerhalb des TW/GW.
Funktioniert für TW und/oder GW ohne daß das Fenster aktiviert ist oder der Mauszeiger im Fenster steht.
Für weitere Mausereignisse s. LDEvents.


LastKey
Ermittelt die zuletzt gedrückte oder losgelassene Taste (Tastencode, Standard: None).
s. GraphicsWindow.LastKey


Print(border)
Druckt den Inhalt des TextWindow.
Das Fenster muß sichtbar sein. Kurzes Abwarten zB. Program.Delay kann kann vor Aufruf dieser Methode nötig sein.

border Fensterrahmen auch Bestandteil des Bildes? "True" oder "False".

Read(delay)
Liest eine Eingabe vom TextWindow nach wählbarer max. Verzögerung.
Sendet nach Ablauf der Verzögerung ein Return (ENTER) an das TextWindow.
Nach Drücken der Eingabetaste vor Ablauf der Verzögerung, wird keine weitere Aktion durchgeführt.

delay Die max. Wartezeit [ms] vor Abbruch des Read Befehls.
returns Der vom TextWindow ausgelesene Text.

ReadNumber(delay)
Liest eine Zahleneingabe vom TextWindow nach wählbarer max. Verzögerung.
Sendet nach Ablauf der Verzögerung ein Return (ENTER) an das TextWindow.
Nach Drücken der Eingabetaste vor Ablauf der Verzögerung, wird keine weitere Aktion durchgeführt.

delay Die max. Wartezeit [ms] vor Abbruch des ReadNumber Befehls.
returns Die vom TextWindow ausgelesene Zahl.

SendKey(window,key)
Sendet einen einzelnen Tastendruck an ein GW oder TW Fenster. Ist gleichbedeutend mit einem Tastendruck im Fenster.
window Der Fenstertitel zB. TextWindow.Title oder GraphicsWindow.Title.
key Der einzelne zu sendende Tastencode zB. "Return" (s. Rückgabestring von GraphicsWindow.LastKey).
Groß-/Kleinschreibung egal. Buchstabentasten ("A" bis "Z") werden als Kleinbuchstaben gesendet.


SetColour(index,colour)
Ersetzt eine Standardfarbe für das TextWindow.
16 verfügbare Farben mit Standardindex 0 bis 15:
0=Black 8=DarkGray
1=DarkBlue 9=Blue
2=DarkGreen 10=Green
3=DarkCyan 11=Cyan
4=DarkRed 12=Red
5=DarkMagenta 13=Magenta
6=DarkYellow 14=Yellow
7=Gray 15=White.

Weiterhin können auch TextWindow.BackgroundColor und -.ForegroundColor für neue Farben verwendet werden (mit Originalfarbname).
Alternativ können diese Farben mit LDTextWindow.SetColours als Indizes gesetzt werden.
Die Farben müssen vor ihrer Anwendung mit einer der Methoden gesetzt werden.

index Der Standard Farbindex der zu ersetzenden Farbe (0 bis 15).
colour Eine beliebige Farbe zum Ersetzen der Standardfarbe als #(AA)RRGGBB oder (LDColours.)Farbname.

SetColours(fgIndex,bgIndex)
Setzt den aktuellen Index für Vorder- und Hintergrundfarbe im TextWindow.
fgIndex Der Index für die Vordergrundfarbe (0 bis 15).
bgIndex Der Index für die Hintergrundfarbe (0 bis 15).
example LDTextWindow.SetColour(0, "Pink") 'Black zu Pink
LDTextWindow.SetColours(0, 9) 'Pink auf Blue


Show()
Zeigt das TextWindow und setzt es als aktives Fenster mit Fokus, wobei ein Textinhalt erhalten bleibt (SB 1.0 Fix).
Ersatz für die SB Standardmethode, die fehlschlagen kann (Beide Methoden nicht vermischen).


LDTimer
Zusätzliche Timer (Intern: Timer#).

Add AddTick Interval
LastTimer Pause Resume
Tick

Add()
Erstellt einen neuen Timer (Intern: Timer#+1). Alle hiermit erstellten Timer rufen die Ereignis Sub auf, die mittels 'Tick' definiert wurde.
returns Der Name des neuen Timer.

AddTick(tick)
Erstellt einen neuen Timer (Intern: Timer#+1). Dieser Timer löst nur seine eigene Ereignis Sub aus.
tick Die aufzurufende Ereignis Sub für diesen Timer.
returns Der Name des neuen Timer.

Interval(timer,interval)
Startet oder setzt einen pausierten Timer fort (mit angegebenem Intervall).
timer Der Name des Timer.
interval Setzt das Intervall [ms] für den Takt, in dessen Abständen der Timer das Tick-Ereignis auslöst (10 bis 100000000 = 10^8).

LastTimer
Ermittelt den letzten Timer (erstellt mit 'Add'), der ein Tick-Ereigis ausgelöst hat.

Pause(timer)
Pausiert einen Timer. Tick-Ereignisse werden nicht mehr ausgelöst.
timer Der Name des Timer.

Resume(timer)
Setzt einen pausierten Timer wieder fort. Tick-Ereignisse werden wieder ausgelöst.
timer Der Name des Timer.

Tick
Ereignisaufruf wenn ein Timer (erstellt mit 'Add') abgelaufen ist.

LDTranslate
Methoden für Sprachen und Übersetzungen (Online mit 'MS Translator', http://www.microsoft.com/translator).

Languages Translate

Languages()
Ermittelt alle Sprachcodes der verfügbaren Sprachen als Array (gesamt 47, Online).
Die Arrayindizes zeigen den erforderlichen Sprachcode für die 'Translate' Methode.

returns Ein 1D Array mit den verfügbaren Sprachkürzel und -namen (als "Code=Sprache;..").

Translate(input,languageFrom,languageTo)
Übersetzt einen angegebenen Text von einer Sprache in eine andere (Online).
input Der zu übersetzende Text.
languageFrom Das Kürzel für die Ausgangssprache (zB. "en" für Englisch).
languageTo Das Kürzel für die Zielsprache (zB. "de" für Deutsch).
returns Der übersetzte Text bei Erfolg, sonst Fehlermeldung oder "".

LDUnits
Allgemeines, editierbares System zur Einheitenumrechnung.
Alle Einheiten und Dimensionen unterscheiden zwischen Groß-/Kleinschreibung.
Eine Basiseinheit besteht aus unabhängiger Einzeldimension und Name.
Eine abgeleitete Einheit besteht aus Beschreibung, Name und Einheitsdefinition (aus Basis- oder abgeleiteten Einheiten), sowie optionalem Additionsterm (Standard: 0).
Eine Einheit wird geparst durch trennende . / + - und *, dann rekursive Auflösung abgeleiteter Einheitenumrechnungen, () Klammerterme zuerst.
Werte (spez. mit Dezimalpunkt '.' oder Minus '-') sollten in () eingeschlossen werden.
Einer Einheit kann eine Vorsilbe/Präfix oder Zahlenwert vorangestellt sein (zB. m für milli 0.001, k für kilo 1000 usw.).
Jeder Einheit kann eine Potenz nachgestellt sein.
Eine typische Einheit wäre "mile/hr", "m/s2", "kg.m/s2", "MJ/day" usw. jede Kombination von Basis-/abgeleiteten Einheiten. Jedes Einheitenpaar mit gleicher Dimension kann konvertiert werden.
Ein Additionswert wird nur für nicht-zusammengesetzte Einheitsumrechnung verwendet (zB. C zu F).
Zur Konflikvermeidung durch unklare Einheitsvorsilben, vollen Vorsilbename verwenden (zB. min kann 60 sec oder 0.001 inch bedeuten, letzeres sollte milliin sein).
Währungsumrechnungen werden täglich aktualisiert.

example other-samples\LDUnits.sb
http://de.wikipedia.org/wiki/Internationales_Einheitensystem


AddBaseUnit AddConstant AddDerivedUnit
Convert Export GetBaseUnits
GetConstants GetDerivedUnits GetDimensions
GetErrors GetPrefixes Import

AddBaseUnit(dimension,name)
Fügt eine Basiseinheit zum Einheitensystem hinzu.
dimension Die Dimension der Basiseinheit (zB. TEMPERATUR).
name Der Einheitenname/Formelzeichen (Achtung vor Konflikt mit existierenden Einheitennamen).

AddConstant(description,name,value)
Fügt eine dimensionslose Konstante zum Einheitensystem hinzu.
description Optionaler Langname oder Beschreibung der Konstanten.
name Der Konstantenname (Achtung vor Konflikt mit existierenden Konstantennamen).
value Der Wert der Konstante.
example http://de.wikipedia.org/wiki/Mathematische_Konstante
http://de.wikipedia.org/wiki/Physikalische_Konstante
http://en.wikipedia.org/wiki/Astronomical_constant


AddDerivedUnit(description,name,units,add)
Fügt eine abgeleitete Einheit zum Einheitensystem hinzu.
description Optionaler Langname oder Beschreibung der abgeleiteten Einheit.
name Der Einheitenname/Formelzeichen (Achtung vor Konflikt mit existierenden Einheitennamen).
units Die Definition der abgeleiteten Einheit.
add Ein optionaler Additionsterm (Standard: 0).

Convert(value,fromUnit,toUnit)
Konvertiert einen Wert von einer Einheit zu einer anderen.
value Der zu konvertierende Wert.
fromUnit Die zu konvertierende Ausgangseinheit (Formelzeichen).
toUnit Die Zieleinheit nach Konvertierung (Formelzeichen).
returns Der konvertierte Wert bei Erfolg, sonst "FAILED" (zB. nicht-existente Einheit oder unvereinbare Dimensionen).

Export()
Speichert das aktuelle Einheitensystem in eine UTF8 Textdatei ('units.txt' in Program.Directory).

GetBaseUnits()
Ermittelt alle aktuellen Basiseinheiten als Array "DIM=Basiseinheit;..;".
returns Ein Array verfügbarer Basiseinheiten, indexiert durch die Dimension der Einheit.
Arraywert ist der Name der Basiseinheit (Formelzeichen).


GetConstants()
Ermittelt alle aktuellen Konstanten als Array "pi=3.14..;e=2.718..;".
returns Ein Array verfügbarer Konstanten, mit dem Konstantenname (und Beschreibung) als Index und deren Wert als Arraywert.

GetDerivedUnits()
Ermittelt alle aktuellen abgeleiteten Einheiten als Array "Einheit=(Konst)Umrechnung (Beschreibung);..;".
returns Ein Array verfügbarer abgeleiteter Einheiten mit dem Name der Einheit als Index.
Arraywert ist die Basis-/abgeleitete Einheit (Formelzeichen), die zur Umrechnung verwendet wird (mit Beschreibung).


GetDimensions(unit)
Ermittelt für eine Einheit alle enthaltenen Dimensionen und deren Potenzen als Array.
unit Die Einheit deren Dimensionen zu ermitteln sind (Groß-/Kleinschr. beachten).
returns Ein Array mit der Dimension als Index und deren Potenz als Arraywert oder "".
example 'Dimensionen für 1 N (Newton = kg*m/sec2):
GetDimensions("N") ' "TIME=-2;LENGTH=1;MASS=1;"


GetErrors()
Ermittelt Fehlermeldungen bei 'Convert' Mißerfolg oder Konflikt mit hinzugefügten Einheiten oder Konstanten als Array.
returns Ein Array mit Fehlermeldungen oder "".

GetPrefixes()
Ermittelt alle aktuellen Präfixe (Vorsilben) als Array "..;centi=0.01;milli=0.001;..;".
returns Ein Array verfügbarer Präfixe mit der Vorsilbe als Index und deren Potenzwert als Arraywert.
example http://de.wikipedia.org/wiki/Vorsätze_für_Maßeinheiten

Import()
Lädt ein gespeichertes Einheitensystem von einer Datei ('units.txt' in Program.Directory).

LDUtilities
Allgemeine Methoden und Funktionen.

CleanTemp ColourList CSVDeliminator
CurrentCulture DPIX DPIY
FixFlickr FontList ForceInvoke
GetCultureInvariantNumber GetCurrentCultureNumber GetNextMapIndex
IsNumber KeyDown NetworkURL
Priority ShowErrors ShowFileErrors
ShowNoShapeErrors ShowPrintPreview UseDispatcher
UseExpression Version

CleanTemp()
Löscht alle SB bezogenen Dateien aus dem %TEMP% Ordner des Benutzers.
Dies betrifft alle dortigen Dateien mit Erweiterungen tmp, pdb und dll.
Möglicherweise verwenden weitere Anwendungen diese ebenfalls. Also bestenfalls nur anwenden, während diese Anwendungen geschlossen sind.

returns Die Anzahl gelöschter Dateien.

ColourList()
Ermittelt alle 141 verfügbaren SB-Farbnamen als Array (alphabetisch, ab 1=Transparent bzw. #00FFFFFF).
returns Ein Array mit Namen der 141 verfügbaren CSS3 Farben (wobei Aqua = Cyan, Fuchsia = Magenta).

CSVDeliminator
Ermittelt oder setzt das EINZELNE Trennzeichen zum Lesen und Schreiben von CSV Dateien (Standard: "," Komma, s. LDFile).

CurrentCulture
Ermittelt oder setzt (für aktuellen Thread) die aktuelle Sprachkultur (zB. "de-DE", "en-US").
example http://msdn.microsoft.com/library/ee825488.aspx (Kulturnamen, Codes, ISO Werte)

DPIX
Ermittelt die x-Auflösung des Anzeigegerätes [X DPI] (Punkte/Zoll bzw. Pkte/2.54cm, zB. 96, 120).

DPIY
Ermittelt die y-Auflösung des Anzeigegerätes [Y DPI] (Punkte/Zoll bzw. Pkte/2.54cm, zB. 96, 120).

FixFlickr()
Korrigiert das Flickr Objekt (Fehlschlag in SB 1.0). Einmaliger Aufruf im Programm vor Verwendung des Flickr Objekts.

FontList()
Ermittelt alle verfügbaren (installierten) Schriftartnamen als Array.
returns Ein Array mit den Namen der verfügbaren Schriftarten in alphabetischer Reihenfolge.

ForceInvoke
Ermittelt oder setzt eine experimentelle Option zum Beschleunigen einiger Interaktionen mit SmallBasicLibrary Objekten:
0 keine Erzwingung (Standard)
1 erzwingt Invoke (seriell)
2 erzwingt BeginInvoke (asynchron)


GetCultureInvariantNumber(input)
Ermittelt eine Zahl, ausgedrückt in kulturUNabhängiger Form.
Eine Zahl muß kulturUNabhängig sein, um für Berechnungen als Zahl behandelt zu werden.
Eine aktuell kulturabhängige Zahl ist die Form, in der sie ein- oder ausgegeben wird.
zB. "3.14" ist kulturUNabhängig, während "3,14" der deutschen Kultur entspricht.

input Eine Zahl, ausgedrückt entsprechend der aktuellen Kultur.
returns Die Zahl, ausgedrückt in kulturUNabhängiger Form bei Erfolg, sonst die Eingabe.

GetCurrentCultureNumber(input)
Ermittelt eine Zahl, ausgedrückt entsprechend der aktuellen Kultur.
Eine Zahl muß kulturUNabhängig sein, um für Berechnungen als Zahl behandelt zu werden.
Eine aktuell kulturabhängige Zahl ist die Form, in der sie ein- oder ausgegeben wird.
zB. "3.14" ist kulturUNabhängig, während "3,14" der deutschen Kultur entspricht.

input Eine kulturUNabhängige Zahl.
returns Die Zahl, ausgedrückt gemäß der aktuellen Kultur bei Erfolg, sonst die Eingabe.

GetNextMapIndex(listName)
Ermittelt die nächste Ganzzahl (#) für ObjName# eines neu erstellten Objekts im GW, bzw. #-1 gibt die Anzahl bereits erstellter Objekt# dieses Typs (müssen nicht mehr alle existieren), zB. Buttons werden durchnummeriert "Button1", "Button2" usw.
Ermittelt den Index der für das nächste hinzugefügte Objekt verwendet wird (zB. 3 wenn der nächste "Button3").

listName Der SB-interne Listenname. Gültige Objekttypen (buchstabengetreu) sind:
"Button" (Controls)
"Control" (LDControls)
"Ellipse" (Shapes)
"Figure" (LDFigures)
"Image" (Shapes, LDShapes.AddAnim.., LDWebCam)
"ImageList"
"Line" (Shapes)
"Polygon" (LDShapes)
"Rectangle" (Shapes)
"Text" (Shapes)
"TextBox" (Controls)
"Triangle" (Shapes)
"View3D" (LD3DView)
("ListView" (LDDataBase), "Brush", "Geometry", "Light" NICHT)

returns Die nächst folgende Indexnummer bei Hinzufügen eines Objekts desselben Typs. 0 bei Fehler.
example Anzahl aktuell erstellter Buttons:
nBtns = LDUtilities.GetNextMapIndex("Button") - 1


IsNumber(input)
Testet ob die Eingabe von SB als eine Zahl behandelt wird. Berücksichtigt auch führendes '-' (Minus). Dezimalpunkt '.' anstatt ',' (Komma).
Dies ist eine kulturUNabhängige Zahl, zB. "3.14", jedoch nicht "3,14" oder "24x".

input Die zu überprüfende Eingabe.
returns "True" oder "False".

KeyDown(key)
Ermittelt ob eine Taste gedrückt wird.
Nützlich für einfache Tastatur-Steuerung zB. bei einem Spiel.

key Taste deren Status abgefragt wird zB. "Space".
returns "True" sobald die Taste gedrückt wird, sonst "False".

NetworkURL
Ermittelt oder setzt die Webadresse zur Verwendung mit LDNetwork, wenn die Methoden .GameData und .HighScore über einen anderen Server (als LitDev Homepage) verarbeitet werden sollen.

Priority
Ermittelt oder setzt eine experimentelle Option zum Beschleunigen einiger Dispatcher (Verteiler) Interaktionen mit SmallBasicLibrary Objekten:
1 bis 10 (Standard: 7, gleiche Priorität wie Rendering)

example http://msdn.microsoft.com/library/system.windows.threading.dispatcherpriority.aspx

ShowErrors
Ermittelt oder setzt die Fehlerausgabe im TextWindow bei Auftreten eines Fehlers. "True" (Standard) oder "False".
(zB. bei LDEmail.Send, LDFile.GetExtension("name_ext"), LDGraph, LDUtilities.Version, LDZip.ZipList, usw.)


ShowFileErrors
Ermittelt oder setzt die Fehlerausgabe im TextWindow bei Auftreten eines 'Datei nicht gefunden' Fehlers. "True" (Standard) oder "False".

ShowNoShapeErrors
Ermittelt oder setzt die Fehlerausgabe im TextWindow 'detected shapeName not found' (nicht existierende Shape zu einer Methode). "True" (Standard) oder "False".

ShowPrintPreview
Ermittelt oder setzt die Anzeige des Druckvorschau Fensters beim Drucken mit LDGraphicsWindow.Print und LDTextWindow.Print. "True" (Standard) oder "False".

UseDispatcher
Ermittelt oder setzt eine experimentelle Option zum Beschleunigen einiger Interaktionen mit SmallBasicLibrary Objekten? "True" (Standard) oder "False".

UseExpression
Ermittelt oder setzt eine experimentelle Option zum Beschleunigen einiger Interaktionen mit SmallBasicLibrary Objekten? "True" (Standard) oder "False".

Version()
Ermittelt die Versionsnummer dieser LitDev-Extension (LitDev.dll) und zeigt ein Fenster mit dieser Information und ChangeLog.
Bei Webzugriff auch Anzeige der aktuellsten Version (ev. kompilierte Exe ausführen, Fehleranzeige im TW ist mit LDUtilities.ShowErrors deaktivierbar).

returns Die aktuelle Versionsnummer.

LDWaveForm
Erstellt PPM (Pulse Position Modulation) Soundsignale zur Steuerung von RC (RemoteControl) Geräten.
S. http://blogs.msdn.microsoft.com/smallbasic/2014/05/10/small-basic-pulse-position-modulation-extension
Weiters Erstellung einfacher Sound Wellenformen, welche gleichzeitig asynchron abgespielt werden können (Intern: WaveForm#).

SlimDX (Net 4.0) Laufzeit-Dll muß installiert sein, um dieses Objekt zu verwenden (http://slimdx.org/download.php).


Amplitude Async Loop
Pan PlayDX7 PlayHarmonics
PlaySineWave PlaySquareWave PlayWave
PlayWavFile Stop Volume

Amplitude
Ermittelt oder setzt die Höhe der Signalamplitude für PlayDX7.
(Min: -2^15=-32768, Max: 2^15-1=32767, Standard: 20262 bzw. 2^14.3, tatsächlich 1.3 V).


Async
Ermittelt oder setzt den Abbruch vor Wiedergabeende (beim asynchronem Abspielen von Sound)? "True" oder "False" (Standard).

Loop
Ermittelt oder setzt kontinuierliches Abspielen in einer Schleife? "True" oder "False" (Standard).
Dieses kann durch Aufruf der 'Stop' Methode während der Wiedergabe beendet werden.


Pan
Ermittelt oder setzt die linke (-100) bis rechte (100) Stereo Balance (Standard: 0).

PlayDX7(channels)
Abspielen von DX7 PPM (Pulse Position Modulation) Sound mit 192 kHz (Intern: WaveForm#+1).
channels Ein Array mit Werten (zwischen 0 und 1) für jeden Kanal (gewöhnlich 8 Kanäle).
returns Der Name der Wellenform bei Erfolg, sonst "".
example http://www.insecure.ws/2010/03/09/control-rc-aircrafts-from-your-computer-for-0/
http://blogs.msdn.microsoft.com/smallbasic/2014/05/10/small-basic-pulse-position-modulation-extension


PlayHarmonics(frequency,duration,harmonics)
Abspielen einer benutzerdefinierten Wellenform als Summe von harmonischen Oberschwingungen/-tönen (Intern: WaveForm#+1).
frequency Die Tonfrequenz [Hz].
duration Die Abspieldauer [ms]. Bei negativem Wert wird die Wellenform |duration| mal wiederholt.
harmonics Harmonische Amplituden.
Ein Array, wobei der Index ein ganzzahliges Harmonische Vielfaches der Basisfrequenz (2,3, usw.) und der Wert die relative Amplitude der Harmonischen angibt.
s. http://www.sengpielaudio.com/Rechner-harmonische.htm

returns Der Name der Wellenform bei Erfolg, sonst "".
example Formen einer Rechteckschwingung (http://de.wikipedia.org/wiki/Rechteckschwingung):
For i = 3 To 21 Step 2
harmonics[i] = 1/i
EndFor
rectWave = LDWaveForm.PlayHarmonics(256,1000, harmonics)


PlaySineWave(frequency,duration)
Abspielen einer Sinus Wellenform (Intern: WaveForm#+1).
frequency Die Tonfrequenz [Hz].
duration Die Abspieldauer [ms]. Bei negativem Wert wird die Wellenform |duration| mal wiederholt.
returns Der Name der Wellenform bei Erfolg, sonst "".

PlaySquareWave(frequency,duration)
Abspielen einer Rechteck Wellenform (Intern: WaveForm#+1).
frequency Die Tonfrequenz [Hz].
duration Die Abspieldauer [ms]. Bei negativem Wert wird die Wellenform |duration| mal wiederholt.
returns Der Name der Wellenform bei Erfolg, sonst "".

PlayWave(frequency,duration,waveform)
Abspielen einer benutzerdefinierten Wellenform (Intern: WaveForm#+1).
frequency Die Tonfrequenz [Hz].
duration Die Abspieldauer [ms]. Bei negativem Wert wird die Wellenform |duration| mal wiederholt.
waveform Die Form der wiederholenden Welle.
Ein Array, wobei der Index die zunehmende relative Zeit (aktueller Wert wird bezüglich Frequenz normalisiert) und der Wert die zugehörige Amplitude (-1 bis 1) darstellt.

returns Der Name der Wellenform bei Erfolg, sonst "".
example Dreieckwelle/Sägezahn: "0=-1;1=1;2=-1;"

PlayWavFile(fileName,duration)
Abspielen einer wav Datei (Intern: WaveForm#+1).
fileName Der volle Pfad der wav Datei.
duration Die Abspieldauer [ms]. Bei negativem Wert wird die Wellenform |duration| mal wiederholt.
returns Der Name der Wellenform bei Erfolg, sonst "".

Stop(waveName)
Stoppt eine laufende Soundwiedergabe.
waveName Der Name der Sound Wellenform.

Volume
Ermittelt oder setzt die Lautstärke beim Abspielen einer WaveForm (0 bis 100, Standard).

LDWebCam
Ermöglicht Zugriff auf eine angeschlossene WebCam.
example webcam\webcam.sb, motion-detection.sb
http://blogs.msdn.microsoft.com/smallbasic/2014/10/25/small-basic-webcam-motion-detection


Effect EffectBlocks EffectBlue
EffectBulge EffectContrast EffectCyan
EffectFishEye EffectFuzzy EffectGamma
EffectGray EffectGreen EffectHue
EffectInverse EffectJagged EffectLightness
EffectMagenta EffectNone EffectOilPaint
EffectParameter EffectPixelate EffectPosterise
EffectRed EffectReflect EffectRotate
EffectSaturation EffectSnow EffectSwirl
EffectYellow End Interval
Pause PreWin8Mode Resume
Snapshot SnapshotToFile SnapshotToImageList
Start

Effect
Ermittelt oder setzt den aktuellen Effekt (s. LDImage.Effect..).
Setzen durch Bestimmung einer Effect.. Eigenschaft (0 bis 20), zB.
LDWebCam.Effect = LDWebCam.EffectGray bzw. 4


EffectBlocks
Fügt einen Klötzcheneffekt ein (12, "GET").

EffectBlue
Konvertierung zu Blau (3, "GET").

EffectBulge
Fügt einen Wölbungseffekt ein (19, ähnlich FishEye/Fischauge, "GET").

EffectContrast
Fügt höheren Kontrast ein (11, "GET").

EffectCyan
Konvertierung zu Cyan (7, "GET").

EffectFishEye
Fügt einen Fischauge Effekt ein (18, "GET").

EffectFuzzy
Fügt einen Unschärfe-Effekt ein (10, "GET").

EffectGamma
Fügt einen Gamma Effekt ein (17, "GET").

EffectGray
Konvertierung zu Schwarz/Weiß (4, Grayscale gewichtet, "GET").

EffectGreen
Konvertierung zu Grün (2, "GET").

EffectHue
Konvertierung des Farbtons (22, "GET").

EffectInverse
Konvertierung zu Invers (5, Negativ 255-[R,G,B], "GET").

EffectJagged
Fügt einen Zackeneffekt ein (14, "GET").

EffectLightness
Konvertierung der Helligkeit (24, "GET").

EffectMagenta
Konvertierung zu Magenta (8, "GET").

EffectNone
Ohne Effekt (0, "GET").

EffectOilPaint
Fügt einen Ölfarbe Effekt ein (25, "GET").

EffectParameter
Ermittelt oder setzt den Effekt Parameter, s. LDImage.Effect.. für Parameterwerte zu den Effekten.

EffectPixelate
Fügt einen Verpixelungseffekt ein (16, "GET").

EffectPosterise
Fügt einen Postereffekt ein (21, "GET").

EffectRed
Konvertierung zu Rot (1, "GET").

EffectReflect
Horizontale Reflexion, Spiegelung an der y-Bildachse (13, "GET").

EffectRotate
Fügt einen Rotationseffekt ein (15, Standard: +90 Grad, "GET").

EffectSaturation
Konvertierung der Sättigung (23, "GET").

EffectSnow
Fügt einen Schneeeffekt ein (9, 4% weiße Pixel, "GET").

EffectSwirl
Fügt einen Wirbeleffekt ein (20, "GET").

EffectYellow
Konvertierung zu Gelb (6, "GET").

End()
Beendet die Darstellung im WebCam-Fenster. Muß aufgerufen werden bevor die Shape entfernt wird.

Interval
Ermittelt oder setzt die Mindestverzögerung der WebCam zwischen den Updates [ms] (Standard: 20).
In der Realität werden diese Zeiten aber selten erreicht, insbesondere wenn Spezialeffekte verwendet werden.


Pause()
Pausiert das Updaten der WebCam.

PreWin8Mode
Ermittelt oder setzt Verwendung der (älteren) Vor-Windows 8 Methode. "True" (zB. XP, Vista, W7) oder "False" (Standard).

Resume()
Setzt zuvor pausiertes Updaten der WebCam fort.

Snapshot()
Erstellt ein Bild vom WebCam-Fenster und speichert es mittels 'Speichern als' Dialog als jpg-Datei.

SnapshotToFile(fileName)
Erstellt ein Bild vom WebCam-Fenster und speichert es unter angegebenem Dateipfad.
fileName Voller Dateipfad zum Speichern des Bildes als jpg-Datei.

SnapshotToImageList()
Erstellt ein Bild vom WebCam-Fenster in ImageList.
returns Der Name des neuen ImageList Bildes.

Start(width,height)
Erstellt eine WebCam Anzeige ('Schirm') als Shape (Intern: Image#).
Bei mehrfachem Aufruf werden mehrere Kopien desselben WebCam Bildes erstellt.
Dieses Objekt läßt sich mit Standard 'Shapes...' Methoden bewegen, zoomen, rotieren usw.
Maximale Auflösung ist gewöhnlich 640x480 Pxl, wobei kleiner = schneller.

width Die Breite der WebCam Shape.
height Die Höhe der WebCam Shape.
returns Der Name der WebCam Shape.

LDWindows
Erstellt zusätzliche GraphicsWindows (Intern: #).

Alle Variablen werden von den Fenstern gemeinsam verwendet (global scope).
GraphicsWindow Ereignisse müssen für jedes Fenster einzeln behandelt werden, jedoch kann die Ereignis-Sub von allen Fenstern gemeinsam verwendet werden.
Alle anderen Ereignisse können einzeln behandelt werden, wie sonst auch.
Alle Befehle oder Methoden gehen an das gerade aktuelle Fenster (festgelegt durch CurrentID).
Das originale GraphicsWindow hat die ID 0.

example other-samples\LDWindows.sb

Activated Active Create
CurrentID LastActivated

Activated
Ereignisaufruf wenn ein Fenster aktiviert wird.
Dieses Ereignis sollte mit Vorsicht verwendet werden. Für die meisten Fälle nicht empfohlen.


Active
Ermittelt oder setzt die ID (#) des derzeit aktiven (im Vordergrund befindlichen) Fensters (Orig. GW hat ID 0).
-1 bedeuted 'kein aktives Fenster'. Kann durch aktivierte 'X-Maus' beeinflusst werden.


Create()
Erstellt ein neues GraphicsWindow (Intern: #+1) und setzt dieses als aktuelles Fenster (s. 'CurrentID').
returns Die ID (#) des erstellten Fensters (Orig. GW hat die ID 0).

CurrentID
Ermittelt oder setzt die ID (#) des gerade aktuellen Fensters (Orig. GW hat ID 0). Jedes neue Fenster erhält neue ID #+1 zugewiesen.

LastActivated
Ermittelt die ID (#) des zuletzt aktiv gewesenen Fensters.

LDxml
Methoden zur Erstellung, Bearbeitung sowie Parser Methoden für Auswertung und Vergleich von Xml Dateien.
example other-samples\LDxml.sb

AddNode Attributes AttributesCount
ChildrenCount FirstChild FirstNode
FromArray LastChild NextSibling
NodeInnerText NodeName NodeType
Open Parent PreviousSibling
RemoveNode Save Switch
ToArray

AddNode(name,attributes,text,location)
Fügt einen neuen Knoten ein.
Der aktuelle Knoten bleibt unverändert und wird nicht als neuer Knoten aktualisiert.

name Der Elementname für den neuen Knoten.
attributes Ein Array mit Attributen (Werte indexiert durch Attributname) für den neuen Knoten oder "".
text Der innere Text für den neuen Knoten oder "".
location Einfügeposition für den neuen Knoten:
"Append" am Ende aller Unterknoten im aktuellen Knoten
"Prepend" am Beginn der Unterknoten im aktuellen Knoten
"Before" vor dem aktuellen Knoten
"After" nach dem aktuellen Knoten

returns "SUCCESS" bei Erfolg, sonst "FAILED".

Attributes
Ermittelt die Attribute für den aktuellen Knoten als Array mit den Attribut-Textwerten (indexiert durch die Attributnamen, zB. "name=T:LitDev.LDxml;..."), sonst "".

AttributesCount
Ermittelt die Anzahl der Attribute für den aktuellen Knoten.

ChildrenCount
Ermittelt die Anzahl der Unterknoten innerhalb des aktuellen Knoten.

FirstChild()
Verschiebt den aktuellen Knoten an den ersten Unterknoten, falls vorhanden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

FirstNode()
Setzt den aktuellen Knoten als ersten Knoten im Xml Dokument.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

FromArray(array)
Erstellt ein neues Xml Dokument von einer Array Definition, als Umkehrung der 'ToArray' Methode (Intern: XMLDoc#+1).
array Ein SB Array im korrekten Format (Arrayformat wie s. 'ToArray').
returns Der Name des neuen Xml Dokuments bei Erfolg, sonst "FAILED".

LastChild()
Verschiebt den aktuellen Knoten an den letzten Unterknoten, falls vorhanden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

NextSibling()
Verschiebt den aktuellen Knoten an den nächst folgenden Nachbarknoten, falls vorhanden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

NodeInnerText
Ermittelt den gesamten inneren Text im aktuellen Knoten und allen Unterknoten, sonst "".

NodeName
Ermittelt den Elementname des aktuellen Knoten (zB. code, doc, example, member, note, param, remarks, returns, summary, usw.), sonst "".

NodeType
Ermittelt den Typ des aktuellen Knoten (Einer vieler Typen, meist jedoch "Element" oder "Text").

Open(fileName)
Öffnet eine bestehende Xml Datei (Intern: XMLDoc#).
Ist vor allen weiteren 'LDxml' Methoden aufzurufen.

fileName Der volle Pfad der zu öffnenden Xml Datei. Bei "" wird ein neues Xml Leerdokument erstellt.
returns Der Name des Xml Dokuments (Intern: XMLDoc#+1) bei Erfolg, sonst "FAILED".

Parent()
Verschiebt den aktuellen Knoten an den Elternknoten, falls vorhanden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

PreviousSibling()
Verschiebt den aktuellen Knoten an den vorhergehenden Nachbarknoten, falls vorhanden.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

RemoveNode()
Entfernt den aktuellen Knoten incl. Unterknoten.
Der aktuelle Knoten wird zurückgesetzt auf den vorhergehenden Nachbarknoten bzw. Elternknoten, wenn kein vorhergehender Nachbarknoten existiert.

returns Der neue aktuelle Knoten ("SIBLING" bzw. "PARENT") bei Erfolg, sonst "FAILED".

Save(fileName)
Speichert das aktuelle Xml Dokument in eine Datei.
fileName Der volle Pfad der zu speichernden Xml Datei.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

Switch(docName)
Umschalten zu einem anderen geladenen Xml Dokument. Der aktuelle Knoten wird für jedes Dokument beibehalten.
docName Der Name des Xml Dokuments (Rückgabewert von 'Open', Intern: XMLDoc#).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

ToArray()
Konvertiert das aktuelle Xml Dokument zu einem SB Array.
Die Struktur und Tiefe des Arrays können dabei ziemlich komplex werden.
Jeder Knoten besitzt optionale Arrays "Attributes" und "Children" oder "Data".
Sind Unterknoten vorhanden, so werden diese erst nach Nummer indexiert (zur Unterscheidug mehrerer gleichnamiger Unterknoten).

returns Ein (mehrdimensionaler) SB Array bei Erfolg, sonst "FAILED".

LDZip
Erweiterungen für zip(x) Archive (bzw. Dateitypen mit PK Header wie apk, jar, nupkg, wmz, xpi, xps, usw. oder Containertypen wie docx, xlsx, usw.).
Fehlermeldung bei Archivdefekt, falschem Dateityp/Pfadangabe oder 0-Byte Datei (deaktivierbar mit LDUtilities.ShowErrors).


Remove UnZip Zip
ZipList

Remove(zipFile,files)
Löscht eine Datei (oder gesamten Ordner mit Inhalt) aus einem bestehenden zip Archiv (apk, jar, nupkg, wmz, xpi, xps, usw. mit PK Header).
Keine Verarbeitung untergeordneter (nested) Archive.

zipFile Der volle Pfad für das zu ändernde zip Archiv.
files Die aus dem Archiv zu löschenden Datei-/Ordnernamen als Array.
Zum Löschen einer Einzeldatei oder -ordner auch als String (Groß-/Kleinschreibung egal).
Angegebene Ordner werden rekursiv aus dem zip Archiv entfernt.

returns "" bei Erfolg, sonst Fehlermeldung.
example LDZip.Remove(arch, "textDatei.TXT")
LDZip.Remove(arch, "1=dATeI.ext;2=Sub Dir\file.txt;")


UnZip(zipFile,directory)
Dekomprimiert und entpackt ein gesamtes zip Archiv rekursiv in den angegebenen Ordner (apk, jar, nupkg, wmz, xpi, xps, usw. mit PK Header).
Keine Verarbeitung untergeordneter (nested) Archive.

zipFile Der volle Pfad für das zu entpackende zip Archiv.
directory Der volle Ordnerpfad in den der Archivinhalt entpackt wird (bestehende Dateien werden still überschrieben). Zielordner wird automatisch erstellt, falls nicht existent.
returns "" bei Erfolg, sonst Fehlermeldung.

Zip(zipFile,files)
Komprimiert Dateien in ein neues oder bestehendes zip Archiv (apk, jar, nupkg, wmz, xpi, xps, usw. mit PK Header).
zipFile Der volle Pfad für das zu erstellende (oder bestehende) zip Archiv.
files Ein Array von Dateien die in das zip Archiv hinzugefügt werden.
Auch eine Einzeldatei oder -ordner kann angegeben werden.
Jeder Ordner wird rekursiv in das zip Archiv gepackt. Fehlermeldung, wenn beim Hinzufügen einer Datei diese bereits im Archivpfad besteht.
Alle Leerzeichen in Datei- oder Ordnernamen werden durch "_" ersetzt.

returns "" bei Erfolg, sonst Fehlermeldung.

ZipList(zipFile)
Ermittelt rekursiv alle Datei-/Ordnerpfade in einem bestehenden zip Archiv (apk, jar, nupkg, wmz, xpi, xps, usw. mit PK Header).
Keine Verarbeitung untergeordneter (nested) Archive.

zipFile Der volle Pfad für das zu durchsuchende zip Archiv.
returns Die enthaltenen Ordner-/Dateipfade als Array ("1=Ordner/Dateiname.ext;2=..;") bei Erfolg, sonst Fehlermeldung (zB. "LDZip.ZipList Cannot read that as a ZipFile").