[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?