nicht druckbare Zeichen

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

nicht druckbare Zeichen

Enrico Schwass
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? Wie wende ich das an. Kann jemand mal 2 Zeilen Code
posten? Ich habe im Netz nichts dazu gefunden.

Danke
Enno

PS: Wird das TextFiles-Package noch gepflegt?


Reply | Threaded
Open this post in threaded view
|

Re: nicht druckbare Zeichen hat sich erledigt

Enrico Schwass
Aehm ... Ja

Hab gerade doch noch was gefunden. Character isSeparator.
Das ist schon beinahe ausreichend. Waere es aber nicht eine gute Idee
auch isNewLine oder isTab mit in die Klassenbibliothek aufzunehmen?


> 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? Wie wende ich das an. Kann jemand mal 2 Zeilen Code
> posten? Ich habe im Netz nichts dazu gefunden.
>
> Danke
> Enno
>
> PS: Wird das TextFiles-Package noch gepflegt?


Reply | Threaded
Open this post in threaded view
|

Re: nicht druckbare Zeichen hat sich erledigt

Boris.Gaertner
> --- Ursprüngliche Nachricht ---
> Von: Enrico Schwass <[hidden email]>
> An: Squeak in Germany / Squeak in
> Deutschland <[hidden email]>
> Betreff: Re: [Squeak-ev] nicht druckbare Zeichen hat sich erledigt
> Datum: Wed, 14 Dec 2005 11:02:20 +0100
>
> Aehm ... Ja
>
> Hab gerade doch noch was gefunden. Character isSeparator.
> Das ist schon beinahe ausreichend. Waere es aber nicht eine gute Idee
> auch isNewLine oder isTab mit in die Klassenbibliothek aufzunehmen?
Zweifellos eine zweckmaessige Idee.
 
>
> > 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.

> > Wie wende ich das an. Kann jemand mal 2 Zeilen Code
> > posten? Ich habe im Netz nichts dazu gefunden.
> >
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

Gruss
Boris

Reply | Threaded
Open this post in threaded view
|

Re: nicht druckbare Zeichen hat sich erledigt

Bert Freudenberg-3
In reply to this post by Enrico Schwass
Naja, "isSeparator" deckt mehrere Zeichen ab. Statt isTab kann man  
gut "= Character tab" verwenden, oder? Ebenso für "Character cr" und  
"Character lf".

- Bert -

Am 14.12.2005 um 11:02 schrieb Enrico Schwass:

> Aehm ... Ja
>
> Hab gerade doch noch was gefunden. Character isSeparator.
> Das ist schon beinahe ausreichend. Waere es aber nicht eine gute Idee
> auch isNewLine oder isTab mit in die Klassenbibliothek aufzunehmen?
>
>
>> 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? Wie wende ich das an. Kann jemand mal 2 Zeilen  
>> Code
>> posten? Ich habe im Netz nichts dazu gefunden.
>>
>> Danke
>> Enno
>>
>> PS: Wird das TextFiles-Package noch gepflegt?



Reply | Threaded
Open this post in threaded view
|

Re: nicht druckbare Zeichen hat sich erledigt

Enrico Schwass
In reply to this post by Boris.Gaertner
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?