Das wär zu schön um wahr zu sein - sehr schön kurz und so - nur leider passt es nicht ganz!
Z. B. wird "³" (hochgestellte 3) nicht richtig dargestellt)
Hmm, das ist auch das einzige Zeichen. Alles andere passt in die Codepage 850. Die hochgestellte 3 steht aber in keiner Codepage an der Stelle. Wenn alles andere korrekt dargestellt wird, könntest du dafür eine Ausnahme machen. Oder du bleibst bei der Arraylösung.
Aber wie sieht es mit den diversen anderen Sonderzeichen aus? Vielleicht würden diese mit CharToOem ansonsten alle schon funktionieren.
Also wo man mit solche Bezeichner auf die Schnauze fallen könnte (und ich auch schon bin) war in Verbindung mit "with".
Benenne den Parameter Text einfach mal um. Normalerweise würdest du dann Kompilierfehler an den Verwendungsstellen bekommen. Da Text aber eine Eigenschaft des Formulars ist, funktioniert es einfach nur nicht mehr...
Anderes Problem: Refactoring
Delphi-Quellcode:
procedure TForm185.Test(Text: string);
begin
ShowMessage(Text);
end;
Extrahiere einfach mal die Zeile in der Methode. Was kommt heraus? Richtig, das falsche...
Delphi-Quellcode:
procedure TForm185.Test(Text: string);
begin
ExtractedMethod;
end;
procedure TForm185.ExtractedMethod;
begin
ShowMessage(Text);
end;
Der extrahierte Code kompiliert aber leider aufgrund der Benennung...
Und nun bemerke den Fehler bei einem etwas komplexeren Code sofort...
// EDIT:
OK bei text mag es noch gehen. Bei Caption wird es aber schon kritisch, da auch ein Formular diese Eigenschaft hat.
Ein Formular hat auch die Eigenschaft Text.