$7F dans NSTextView

Je reçois des caractères d'une machine externe. Notamment le Delete ($7F). Dans ce cas je dois effacer le dernier caractère entré et je ne sais pas faire cela. Pour info, je remplis le NSTextView (o_Text) ainsi:
[ [o_Text textStorage] appendAttributedString: [[[NSAttributedString alloc] initWithString:aVoir] autorelease] ] ;

[o_Text scrollRangeToVisible:NSMakeRange([[o_Text string] length], 0)] ;
A part vider totalement le TextView et le re-remplir avec le texte diminué d'un caractère, je ne vois pas comment faire !

Autre méthode?

Réponses

  • CéroceCéroce Membre, Modérateur
    Probablement pas, puisque NSTextView utilise une string non-mutable.
  • NSTextStorage est un NSMutableAttributedString
  • CéroceCéroce Membre, Modérateur
    Alors ça doit être possible...
  • tabliertablier Membre
    avril 2012 modifié #5
    Oui, je vais essayer ça:
    - (void)delete {

    long longr = [ [o_Text textStorage] length] ;

    if (longr>0)

    { [[o_Text textStorage] deleteCharactersInRange:(NSRange){longr-1,1}] ;

    [o_Text scrollRangeToVisible:NSMakeRange([[o_Text string] length], 0)] ;

    } ;

    }
    Le compilateur semble content, mais pour essayer, il faut que j'équipe l'appareil externe d'une interface USB (ou que je simule le fonctionnement du lecteur de ruban perforée). Donc, à  suivre mais pas rapidement!
Connectez-vous ou Inscrivez-vous pour répondre.