Table of Contents

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" );	
}