Table of Contents

Aufeinanderfolgende String-Literale

Informationen

  • Kategorien: Kernel | Klassenformeln
  • Version: 20.0.0.10113
  • Veröffentlichungsdatum: Freitag, 25. August 2017
  • Entwickler: Fischer
  • Benötigt Datenbankänderung: Nein
  • Betreff: Aufeinanderfolgende String-Literale werden vom Compiler wie ein zusammengesetzter String behandelt

Beschreibung

Bei Klassenformeln werden jetzt aufeinanderfolgende String-Literale vom Compiler zu einem String zusammengesetzt. Dazwischenliegender "white space", d.h. Leerzeichen, Tabs, NewLine, Kommentare usw. werden überlesen. Dadurch kann mehrzeiliger Text jetzt übersichtlicher formatiert werden.

Beipiel: "Text1" /Kommentar/ "Text2" ist äquivlent zu "Text1Text2"

Achtung: Diser Ausdruck ist nicht äquivlent zu "Text1" + "Text2". Der erste Ausdruck wird zur Compilezeit zu einem String zusammengesetzt, der zweite Ausdruck erst zur Laufzeit berechnet.

Dies macht z.B. bei übersetzbarem Text einen wesentlichen Unterschied, da der Text zur Compilezeit übersetzt wird: Bei "«1.1.1»Text1" "Text2" wird der String "«1.1.1»Text1Text2" übersetzt, bei "«1.1.1»Text1" + "Text2" wird der String "«1.1.1»Text1" übersetzt, und zur Laufzeit "Text2" angehängt.

Beispielcode



MessageBox( 
    "«4.1.1»Dies ist ein"
    "mehrzeiliger Text,\n"               // hier sind  Kommentare erlaubt 
    "der vom Compiler automatisch aus "  /* weiterer
       Kommentar */
  
    "den aufeinanderfolgenden Teiltexten "
    "zusammengesetzt wird.\n"
    "Übersetzt wird der zusammengesetzte Text.",
    "OK");


MessageBox( 
    "«4.1.2»Dies sind mehrere Texte,\n"   +            // hier sind  Kommentare erlaubt 
    "«4.1.3»die getrennt übersetzt und zur Laufzeit zusammengesetzt werden\n" +
    "«4.1.4»Übersetzt werden die einzelnen  Texte zur Compilezeit.",
    "OK");