[Squeak-ev] nicht druckbare Zeichen hat sich erledigt

Enrico Schwass deckard73 at freenet.de
Don Dez 15 06:05:05 UTC 2005


Moin

> > > Aus anderen Sprachen kennt man Sonderbehandlung der ersten 32 ASCII
> > > Zeichen, wie Newline, Bell, Tab etc ueber "\n", "\t", "\b".
> > > Wenn ich auf Newline, Linefeed oder Carriagereturn testen will kann ich
> > > das mit 10 und 13 loesen. Es gibt aber sicher vordefinierte
> > > "Konstanten", oder? 
> Ja, die gibt es. Sie stehen im pool dictionary  TextConstants.
> Mit  "TextConstants inspect"  kann man sich einen Überblick 
> verschaffen, welche Namen definiert sind.

Ah. Gut zu wissen

> Damit man die symbolischen Namen in einer Methode verwenden kann,
> muss man  TextConstants   in der Klassendefinition als
> pool dictionary angeben:
>  Object subclass: #MyDemoClass
>    instanceVariableNames: ''
>    classVariableNames: ''
>    poolDictionaries: 'TextConstants'
>    category: 'Demo'
> Dann sind Ausdrücke wie
>    character = Tab.
>    string at: 1 put: Space.
> compilierbar.
> Leider ist TextConstants ein bißchen unvollständig,
> aber das kann man ändern. TextConstants ist ein normales
> Dictionary, man kann also z.B. schreiben:
> TextConstants at: #Lf put: Character lf

Das hilft mir weiter.

Danke
Enno

PS: Das man MessageNotUnderstood dictionaryMenu ausloest, wenn man das
Kontextmenu zu einem TextConstants-Symbol im Inspector aufruft ist
gewollt?