for, for each, switch, ++/--
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 15.0.0.3311
- Veröffentlichungsdatum: Donnerstag, 1. Dezember 2011
- Entwickler: Fischer
- Benötigt Datenbankänderung: Nein
- Betreff: for, for each, switch, ++/--
Beschreibung
Die Sprache für Automatismen wurde erweitert um folgende Sprachkonstrukte:
[1] for each ( type identifier in expression ) statement
type identifier in expression kann sein:
- array type in array (int, string, double, date, time)
- entity in entitylist
z.B. for each ( $stringvar in $stringarray ) MessageBox ( $stringvar ); z.B. for each ( $entity in $entitylist ) MessageBox ( $entity.$Displayname );
[2] for( init-expression ; cond-expression ; loop-expression ) statement
z.B.: for ( $i = 0; $i < 3; $i++ ) MessageBox ( IntToStr( $i ) );
[3] postfix/prefix increment/decrement operator (++/--)
z.B.: $i = 3; $j = ++$i; // $i wird erst um 1 erhöht und dann $j zugewiesen => Ergebnis: $j = 4; $i = 4 $i = 3; $j = --$i; // $i wird erst um 1 vermindert und dann $j zugewiesen => Ergebnis: $j = 2; $i = 2 $i = 3; $j = $i++; // $i wird erst $j zugewiesen und dann um 1 erhöht => Ergebnis: $j = 3; $i = 4 $i = 3; $j = $i--; // $i wird erst $j zugewiesen und dann um 1 vermindert => Ergebnis: $j = 3; $i = 2
[4] switch ( expression ) { case constant-expression 1: statement [case constant-expression 2: statement] [case constant-expression n: statement] [default : statement] }
siehe Beispiel
Beispielcode
var string $s;
var string $sText;
var int $idx;
var string $arr[2];
$arr[0] = "1.Eintrag";
$arr[1] = "2.Eintrag";
//////////////////////////////////////////
//
// for each ( variable in array )
//
$sText = "";
for each ( $s in $arr )
{
$sText = $sText + $s + "\n";
}
MessageBox( $sText );
//////////////////////////////////////////
//
// for( init-expression ; cond-expression ; loop-expression )
// statement
//
// postfix increment operator (++)
//
$sText = "";
for ( $idx = 0; $idx < GetSize($arr); $idx++ )
{
$sText = $sText + $arr[$idx] + "\n";
}
MessageBox( $sText );
//////////////////////////////////////////
//
// switch
//
switch ( $idx )
{
case 0:
MessageBox( "Index ist 0" );
break;
case 1:
MessageBox( "Index ist genau 1" );
break;
default:
MessageBox( "Index ist größer als 1" );
}