Poster un nouveau sujet Poster une réponse
Longueur
Auteur Message
Samos



Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Sam 01 Sep 2012, 12:45   Citer 

Salut,
Je cherche un moyen afin de connaître la taille d'un d'un caractère en case (Ex: "Output("=7)

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 01 Sep 2012, 14:30   Citer 

Tu veux dire sans compter? laugh.gif

Il faudrait faire, je pense, un programme qui utilise quelques Pxl-Test.

J'en fais un si j'ai le temps. happy.gif

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 01 Sep 2012, 16:23   Citer 

la taille d'un token ?

Non c'est pas possible. C'est un des défauts... Chaque token TI-80/84+ compte pour 1, quelque soit sa longueur.

ça permet que le curseur saute tout le "output" d'un coup et pas juste le haut.

Tu es obligé de compter avec tes yeux, désolé...
J'imagine que tu as rencontré ce problème en manipulant des chaines.

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 01 Sep 2012, 16:36   Citer 

Je pense qu'il est possible de stocker un token dans une chaîne, puis de l'afficher avec Text(. Ensuite on pourrait compter le nombre de caractères avec des Pxl-Test.

Bien que nécessitant un code assez long pour un but aussi simple, cela devrait être réalisable, non?

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Sam 01 Sep 2012, 17:50   Citer 

Si tu stock le token dans une chaîne, utilise dans ce cas la fonction dim afin d'avoir directement la longueur.

Sangohan38

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 01 Sep 2012, 18:17   Citer 

Je pense que c'est la fonction longueur( (ou lenght( en anglais il me semble) qu'il faut utiliser pour les chaînes et non dim(, utilisable pour les listes.

Mais comme l'a expliqué persalteas, un token a une longueur de 1, quelque soit le nombre de caractères.
Donc ça ne doit pas être la solution.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 01 Sep 2012, 18:18   Citer 

Si tu veux le connaître par le biais d'un programme, je ne pense pas que les pixels soient utiles : la plupart des caractères occupent la même place mais pas tous (en particulier les parenthèses).
EDIT: je pensais calculer les caractères à partir de la mesure globale, ce qui n'est pas viable

La fonction longueur() compte le nombre de Tokens dans une chaîne, pas le nombre de caractère d'un Token.

Je crois même que c'est impossible. EDIT : Si, il faut changer de méthode.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 01 Sep 2012, 18:24   Citer 

Je pensais que si on se référait aux espaces entre les caractères (quelque soit leur longueur) on devrait réussir, avec pas mal de For( pour vérifier que l'espace est bien d'un pixel sur toute la hauteur d'un caractère, vu que je ne crois pas qu'il y ait des caractères dans un token qui soient constitués de pixels non "reliés entre eux".

 Adresse email Haut de page Bas de page 
 
Samos



Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Sam 01 Sep 2012, 18:30   Citer 

Mon but était de faire défiler du texte avec un pointeur qui défile en même temps se plaçant au début de chaque token.

Code

Text(1,1,"Mot
For(x,1,30
For(y,1,8
If pxl-test(y,x
(on arrondi à la valeur supérieure divisible par 6)
End
End


Le seul problème c'est que ça va être très long

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 01 Sep 2012, 20:26   Citer 

Je pensais mesurer la largeur puis calculer le nombre de caractères.
Mais détecter les espaces de fin de caractère permettrait de les compter.

Code
ClrDraw
Text(0,1,"MOT
DelVar LFor(X,94,0,-1
0
For(Y,1,5
Ans+pxl-Test(Y,X
End
If Ans and not(L
1->L
If L and not(Ans
L+1->L
End
L

Ce programme est conçu pour ne pas compter les espaces à droite du texte.

Je ne connais pas de caractère qui contienne une colonne vierge, ou tout au moins je n'y pense pas. S'il en existe un alors ce programme est faux.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 01 Sep 2012, 20:47   Citer 

Tu considères que les parenthèses n'ont pas de colonne vierge à la fin?

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 01 Sep 2012, 20:57   Citer 

Si mais je n'avais pas pensé à compter les caractères un par un lorsque j'ai posté mon premier message. (honte à moi ^^')

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 9 requêtes