Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Reservirtes Wort String und keins Integer

  Alt 27. Mai 2014, 08:15
String ist nicht fett, weil es ein Variablentyp ist, das ist nur ein Zufall. Laut meiner Kenntnis ist String deshalb fett, weil es auch eine Funktion ist, z. B.
Delphi-Quellcode:
ShowMessage(String('Hallo'));
//
Gäbe es die Funktion nicht, wäre String als Variablentyp nicht fett.
String ist keine Funktion.

Sonst müsste jeder CAST fett sein.
Delphi-Quellcode:
ShowMessage(SortString('Hallo'));
ShowMessage(AnsiString('Hallo'));
ShowMessage(FloatToStr(Double(1)));
Reservierte Wörter sivd einfach nur fest und lassen sich nicht für irgendwas Anderes verwenden. Sie sind halt nur für diese eine Funktion reserviert.
Delphi-Quellcode:
type
  Integer = Double;
  string = Integer; // geht nicht

const
  True = False;
  False = 123;

var
  False: Integer;
  Integer: TObject;
  string: IInterface; // geht nicht

Das mag vielleicht historische Gründe haben, aber meiner Meinung Nach sollte String kein reserviertes Wort sein.
Problem: Wenn man das jetzt ändert, dann sind Neue Codes womöglich nicht mehr mit alten Compilern kompatibel.

Genauso gibt es ein Problem, wenn man neue reservierte Wörter und Steuerzeichen einführt, wo dann alte Codes nicht mehr mit neuen Compilern compatibel sein könnten.
Siehe Generics, Attribute, ClassHelper, überladene Operatoren, anonyme Funktionen usw.

An der Liste etwas zu ändern ist halt nicht so einfach.



Witzig sind aber die reservierten Wörter, welche nur in einem bestimmten Kontext "reserviert" sind, wie z.B. Index.
Problem ist da, daß der Code-Highlighter das nicht ganz kappiert und das Wort auch dann fett schreibt, selbst wenn es da gerade nicht reserviert ist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Mai 2014 um 08:24 Uhr)
  Mit Zitat antworten Zitat