length(s) bei Umlauten

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Re: length(s) bei Umlauten

Beitragvon kupferstecher » 4. Feb 2019, 21:01 Re: length(s) bei Umlauten

Also ich bin von der Stringverarbeitung in Freepascal eigentlich ziemlich begeistert. In einem Programm habe ich chinesische Sprachunterstützung benötigt, das hat funktioniert, ohne irgendwelche Einstellungen vorzunehmen. Und sogar parallel zur deutschen Anzeigesprache, d.h. mit Umlauten. UTF-8 sei dank. Ich kenn es noch gut, dass in (fremden, kommerziellen) Programmen entweder die deutschen Umlaute kaputt sind, oder die chinesischen Schriftzeichen, je nachdem, welche Sprache/Codepage man unter Windows einstellt. D.h. Programm A ist für die eine Sprache ausgelegt, Programm B für die andere und das Betriebssystem kennt nur eine Einstellung. Mit Unicode ist das kein Thema mehr. Für einen lateinischen Text möchte man auf der anderen Seite keine 4 Byte pro Zeichen verschwenden, daher ist UTF-8 ein guter Kompromiss.

Die dynamischen Strings sind komfortabel und auf der Höhe der Zeit. Die statischen ShortStrings benötigt man aber auch, z.B. für die Rückwärtskompatibilität, oder für die Embedded-Programmierung, wenn keine Speicherverwaltung zur Verfügung steht (sicher noch mehr...). Also sind mindestens zwei verschiedene Stringtypen notwendig.

Die Komplexität kommt also von außen, ich denke es geht halt nicht einfacher wie es im FPC umgesetzt ist. Die Bezeichnungen ShortString und AnsiString sind vielleicht unglücklich gewählt.

Jedoch bin ich heute über ein Problem gestolpert: Das '&' lässt sich bei mir nicht richtig anzeigen, siehe Screenshot. Nur in ShowMessage funktioniert es, in TLabel und TButton wird ein Unterstrich daraus, der unter das nächste Zeichen gesetzt wird.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
kupferstecher
 
Beiträge: 217
Registriert: 17. Nov 2016, 11:52

Beitragvon sstvmaster » 4. Feb 2019, 22:15 Re: length(s) bei Umlauten

kupferstecher hat geschrieben:Jedoch bin ich heute über ein Problem gestolpert: Das '&' lässt sich bei mir nicht richtig anzeigen, siehe Screenshot. Nur in ShowMessage funktioniert es, in TLabel und TButton wird ein Unterstrich daraus, der unter das nächste Zeichen gesetzt wird.


Bei TLabel kannst du entweder die Eigenschaft "ShowAccelChar" auf false setzen oder musst 2x& scheiben bei TButton gibts das ShowAccelChar nicht.

Du kannst ja auf TLabel und TButton Hotkeys setzen.
sstvmaster
 
Beiträge: 199
Registriert: 22. Okt 2016, 22:12
Wohnort: Dresden
OS, Lazarus, FPC: Windows 7 32bit (L 2.0.2 FPC 3.0.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon kupferstecher » 5. Feb 2019, 18:55 Re: length(s) bei Umlauten

sstvmaster hat geschrieben: 2x& scheiben

Funktioniert, Danke!
kupferstecher
 
Beiträge: 217
Registriert: 17. Nov 2016, 11:52

• Themenende •
Vorherige

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 5 Gäste

cron
porpoises-institution
accuracy-worried