Aller au contenu

Problème De Structure Du Code


Invité Lyko
 Share

Messages recommandés

Invité Lyko

jai un bouton qui doit selectionner tout le texte d'un élément NSText.

 

- (IBAction)selectionneTout:(id)sender

{

}

 

et on me dit dans le "Cocoa Browser" que la methode pour tout sélectionner est

 

- (void)selectAll:(id)sender

 

mais je ne sais pas ou placer cette methode dans mon code...enfin je ne sais pas comment lutiliser quoi...

qqn pour m'aider?

et si vs avez le temps...le "void" signifie quoi au juste?

merci bcp votre aide m'est très précieuse!!!

A+

 

Lyko :)

Lien vers le commentaire
Partager sur d’autres sites

Invité ddurandet

"void", c'est pour "rien"

 

En fait, en C, il n'y a pas de différence entre procédure et fonction.

Procédure : se contente de faire du code.

Fonction : retourne une valeur

 

En C, tout est fonction, donc tout doit renvoyer une valeur. Mais si on n'a pas de valeur a renvoyer, il faut tout de même préciser que l'on renvoie quelquechose. Donc on renvoie "rien". On renvoie "void".

 

Dans l'action de ton bouton, il faut que tu es acces au champ. Donc, que ce champ soit lié au code par un outlet.

 

ensuite, ca devrait etre quelquechose comme :

 

- (IBAction)selectionneTout:(id)sender {

[MonChamp selectAll];

}

 

bien que je doute que ce soit la bonne fonction... Peut-etre plus d'info de la part de chezSeb.

Lien vers le commentaire
Partager sur d’autres sites

Invité Lyko

en fait en mettant le code que tu m'indique, ca compile mais avec un warning :

NSText does not respond to 'selectAll'

 

et donc forcément ca ne fontionne pas dans l'application.

<_<

 

...????

 

 

 

Lyko

Lien vers le commentaire
Partager sur d’autres sites

Invité chezseb

Pour commencer, l'objet dans ton interface graphique n'esy pas un NSText mais un NSTextField (tu peux vérifier) et donc le message n'est pas selectAll, mais selectText.

- (void)selectText:(id)sender

Selects the entire contents of the receiver if it's selectable. However, if the receiver isn't in some window's view hierarchy, this method has no effect.

void : indique que la fonction ne renvoie aucune valeur.

(id)sender : c'est l'objet qui envoie le message.

Ton code doit donc être :

- (IBAction)selectionneTout:(id)sender
{
   [tonChampText selectText:sender];
}

Lien vers le commentaire
Partager sur d’autres sites

Invité ddurandet

chezSeb : pourquoi un selectText:sender ?

 

le sender, c'est son bouton ? Pourquoi on le passe en parametre ? Ou alors j'ai pas compris la notion de sender ?

Lien vers le commentaire
Partager sur d’autres sites

Invité chezseb

En fait, le sender n'est pas utilisé par selectText donc tu mettre ce que tu veux :

selectText:sender (repris de la fonction :- (IBAction)selectionneTout:(id)sender)

selectText:self qui fait référence

Lien vers le commentaire
Partager sur d’autres sites

Invité Lyko

arf...le problème est toujours le meme...

et c'est peut etre moi qui ai fait une erreur, mais pr mon champ de texte jai pris l'objet NSTextView du 4è menu de la fenetre Cocoa Data...jen ai donc fait un outlet et a la place de id, pr l'outlet, jai mis NSText.

jai besoin de pouvoir aligner mon texte etc...un editeur de texte quoi...et aparemment y a pas ca dans NSTextField...et l'objet NSText a bien une methode selectAll...

donc ke doije faire???

Lien vers le commentaire
Partager sur d’autres sites

Invité chezseb

Pour l'Outlet, tu dois mettre NSTextView puisque dans ton interface, c'est NSTextView, et comme NSTextView hérite de NSText, ton code peut être :

- (IBAction)selectionneTout:(id)sender
{
  [tonChampText selectAll:sender];
}

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Share

×
×
  • Créer...