120

azerty83 :
pour mkpic : en fait pour moi ct faire une fonction dans le meme esprit mais qui fonctionne pour tous les types de variables
et pour le format des char d'echapement, ben un peu comme en C je pense : \0, \n faut voir si c'est utile, et aussi une sequence RLE (je te laisse choisir le char a mettre apres le \ tongue ) mais je ne pense pas qu'il soit utile de rajouter d'autres sequences...

Plutot que de faire plusieurs cas, je penchais plutot sur un \x qui signifierait : char(mod(ord(x)+128,256)). Ça devrait résoudre le problème de tous les chars inutilisables à la fois, et ça prend peu de place dans Vertel. Certes, c'est une technique peut commune, à voir si elle en rebute certains.
Pour le RLE... Là par contre ça oblige à inclure un cas spécial, mais pourquoi pas smile
andoh_wilfried
: ça me fou les boules d'avoir à utiliser flib juste pour ces 2 trucs!

Tu n'auras plus besoin de ton programme de groupage (glue s'en occupe), mais Vertel ne gere[ra] pas la compression.
Je crois qu'aucune autre librairie ne lui survivra !

grin
Je connais pas toutes les nouvelles fonctionnalités mais je suppose que : -losrqu'on fait un 'e_paus' y a + besoin de sortir de vertel avant d'effectuer un v_test

Non, mais à vrai dire je ne vois pas ce qui t'empechait de le faire avec Vertel 2 confus
-t'as peut-être remis le zoom ?

Non, ça prenait trop de place sad
E-mail : x_men_ouest@yahoo..fr

A toi de voir si tu préfere la version actuelle, que je peux te mailer tout de suite, mais la notice n'est pas à jour (en ce qui concerne les lecture séquencielles et ininterrompues de liste), ou bien attendre un peu que je rajoute la fonction de "make" et que je mette la notice à jour smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

121

je suis déjà impatient de voir alor envoi !mais à propos du 'e_paus' et du 'v-test' j'ai du louper
un passage dans la notice de vertel; car je croyais que 'v_test' s'arrête au plus petit nombre
d'éléments des 2 listes passée en argument.
C'est-à-dire :
{268,269,270}->l
vertel("e_paus","/","e_retr","a","/","v_test","#l","#a","/","e_retr","b")
la recherche devrait s'arrêter au 1er élément puisque dim(a)=1 et dim(l)=3

122

Ahhh oui effectivement. Bon bah maintenant tu peux faire ça, et de deux façons différentes :

- Il y a un mode de lecture "ininterrompe" (la lecture continue même si une liste est terminée avant les autres, son dernier élement est répeté autant de fois qu'il faut)
- Tu peux choisir de retourner une seule valeur avec "retr", de type NUM ou STR, ce qui fait non pas une comparaison liste/liste mais liste/valeur, donc ça colle

Bon je t'envoie l'url en mini message smile

Sinon, la suite s'adresse plutot à azerty, mais si qqun a une idée elle est bienvenue :

Le caractère d'échapement sera surement '/'. Il y a 3 caractères qui posent problème : 0, 2 et 13, ainsi que le caractère d'échapement qui doit s'échaper lui même. Je ne sais pas trop comment les coder : /0, /2, /n et // aurait pu être pas mal, mais alors comment indiquer une séquence de RLE ? Le plus économique ça aurait été en deux octets : /OR avec O = le char (octet) à repeter, et R = le nombre de répetion.
Mais problème : du coup on ne peut pas répeter les caractères 0, 2, 13 et '/'. Le problème n'est pas non plus résolu avec /RO : on ne pourrait pas répeter 47 (ord("/")), 48 (ord("0")), 50 (ord("2")) ou 100 (ord("100")) fois un caractère.
Et je n'ai pas trop envie d'utiliser un second char pour indiquer "RLE", par exemple /rOR, ça prend un octet de plus. Si il n'y a pas d'autre solution c'est pourtant bien ce qu'il faudra faire sad

Wala, avis ? grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

123

j'ai passé en argument des matrices à vertel et ça marche aussi ! c'est vraiment le top !
-Mais pour le tag initerrompu c'est pas vraiment top ! Normalement il vaut mieux utiliser la dimension de la liste la plus longue comme nombre de boucle
ensuite parcourir les autres listes plus petite en boucle ;
-je pense aussi que le "retr" serait bien en argument plutôt qu'en fonction comme ça il searit traité à chaque fois que vertel ramène une liste de résultats; je m'explique :
si tu fais un 'test' ou 'list' avec critères de recherche multiples, on aimerai bien retouner les resultats dans des listes séparés !
exemple : vertel("test",{1,2,3,8,3,5,8,2},{3,8},"","retr",{"a","b"})
comme le retr est traité après le test l'une des list est vide.
Une autre possibilité serait que ta variable interne de retour soit structurée comme une variable du type data ; comme ça on aurait plusieurs listes successives !
exemple :vertel("list",{"main","backup"},1,"","retr",{"a","b"})
c'est le même problème
-Pour le tag sequentielle ; je pense qu'il devrait se trouver au debut de chaque liste d'argument ; comme ça ; on pourrait choisir toutes les listes qui seront simultanément
incrémentés plutot que la dernière uniquement parceque comme tu le sais si on veut que
le sequentiel porte sur l'ordonnée ou l'abscisse si on les change de places pour que l'un d'eux soit le dernier; vertel inversera les x et les y

m'enfin je sais pas si tout ça est vertelement possible!

124

andoh_wilfried :
j'ai passé en argument des matrices à vertel et ça marche aussi ! c'est vraiment le top !
-Mais pour le tag initerrompu c'est pas vraiment top ! Normalement il vaut mieux utiliser la dimension de la liste la plus longue comme nombre de boucle ensuite parcourir les autres listes plus petite en boucle ;

Non il y a beaucoup plus de cas où répeter le dernier argument est plus logique.
-je pense aussi que le "retr" serait bien en argument plutôt qu'en fonction comme ça il searit traité à chaque fois que vertel ramène une liste de résultats; je m'explique :
si tu fais un 'test' ou 'list' avec critères de recherche multiples, on aimerai bien retouner les resultats dans des listes séparés ! exemple : vertel("test",{1,2,3,8,3,5,8,2},{3,8},"","retr",{"a","b"})

Tu peux retourner les valeurs de "retr" une par une dans des variables de type STR ou NUM. Mais impossible de séparer deux listes "retr" : je ne peux pas deviner ou elles commencent et finissent.
-Pour le tag sequentielle ; je pense qu'il devrait se trouver au debut de chaque liste d'argument ; comme ça ; on pourrait choisir toutes les listes qui seront simultanément
incrémentés plutot que la dernière uniquement parceque comme tu le sais si on veut que le sequentiel porte sur l'ordonnée ou l'abscisse si on les change de places pour que l'un d'eux soit le dernier; vertel inversera les x et les y

Une liste séquencielle est relative à celle qui la précede. En clair, avec "l1","->","l2","->","l3" tu as l3 qui "avance" uniquement, puis arrivée à la fin c'est l2 qui avance et l3 qui est remise à zéro, et enfin quand l2 est terminée, l1 avance et remet à zéro l2 et l3. Impossible d'avoir une liste relative à une qui serait après elle-même (avec un index plus grand). Enfin comme tes questions ne sont pas très claires je ne sais pas trop si c'était la réponse que t'attendais.

(tous les [cite] que j'ai sauté, c'est parceque je n'ai absolument rien comprit à la question)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

125

Oui c'est vrai que c'est beaucoup plus claire que dans la notoce; j'ai cru qu'on ne pouvait faire avancer qu'une seule liste à la fois !

126

Hum...
D R (20:58) Vertyos » andoh_wilfried: Pour Vertel 3.00 :

http://http://******
(attention, le fonctionnement des tags "->" et "|" a changé, mais la notice n'a pas été mise à jour, donc ils n'ont pas exactement l'effet décrit à l'interieur).

J'avais pourtant prévenu roll
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

127

a propos dfes caracteres d'echapement, en fait le char apres un \ surait le meme char + 128 ?
hum, ca ne fait que decaler le pb mais bon, ca doit pouvoir le resoudre
mais si tu ajoute le rle, cad une sequence de plus, ca n'a plus d'interet, autant rajouter une 3eme sequence pour \n = char(13)
(pasque c vrai que je trouve ca un peu rebutant grin )
avatar

128

En fait il y a comme caractères possibles après le caractère d'échappement :
- 0,
- 2,
- 13,
- Le caractère d'échappement qui doit s'échapper lui même
- La séquence RLE, mais comment la mettre ? C'est surtout ça le problème.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

129

tu es sur pour le 2 ?
bon c sur que ca serait plus rapide, mais quand meme un peu chiant sad
enfin, plus rapide...
pas vraiment
je trouve ca un peu trop chiant par rapport a ce que cq apporte en simplicite... (si on veut faire la chaine a la main grin )
avatar

130

Hein ? Explique, je comprend rien à ton post... Déjà le 126...
Qu'est-ce que tu veux faire d'autre qu'un caractère d'échapement, déjà ? Et si c'est pas ce systeme là (\0 -> 0, \2 -> 2, \n -> 13, \ -> \, \??? -> RLE (?)), c'est l'autre (\x -> x + 128). Perso je m'en tape. Le problème c'est le RLE, et comme c'est ton idée je pensais que t'aurais des suggestions.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

131

ha, heu pardon...
non, je disais que je nr trouvais pas le systeme \+128 terrible

(\n -> retour chariot hein ? pas 'n' !!!) (triso)

pour le RLE...
alors donc deja la syntaxe serait : \ +TAG_RLE +NB_repetitions +char_a_repeter
avec le char a repeter qui peut utiliser des char d'echapement
ensuite comme le nb de repet est sur un char ca ne pourrait etre que 255 max (mais il me vient une idee que j'exposerais plus tard)

ensuite pour le tag, ca doit suggerer l'idee de repetition, donc je pensais a * (pasque dans les shells * remplace plusieurs chars)


sinon mon idee : comme le char_a_repeter devra supporter les chars d'echapement, pkoi ne pas lui permettre de pouvoir caser aussi une sequence RLE ? triso comme ca on pourrait mettre 65536 fois le char dans la chaune triso
et les args pour le fonction seraient :
-le nom de la var a creer
-sa taille (ca pourrait servir de controle pour verifier que le str fait la meme taille et qu'il n' a pas d'erreur
-la str avec le contenu



et dsl si je ne suis pas clair, je ne suis leve que depuis 2 heures triso
avatar

132

azerty83 :
ha, heu pardon... non, je disais que je nr trouvais pas le systeme \+128 terrible

Jusque là, ok grin (ce systeme avait l'avantage de prendre peu de place ds Vertel, mais pas grave.
(\n -> retour chariot hein ? pas 'n' !!!) (triso)

Oui oui, d'ailleurs j'ai édité.
pour le RLE...
alors donc deja la syntaxe serait : \ +TAG_RLE +NB_repetitions +char_a_repeter
avec le char a repeter qui peut utiliser des char d'echapement ensuite comme le nb de repet est sur un char ca ne pourrait etre que 255 max (mais il me vient une idee que j'exposerais plus tard)

Bon donc ça fait 4 octets pour le RLE, à cause du TAG. Mais bon d'un autre coté il n'y a peut-être pas d'autre solution fiable sad
ensuite pour le tag, ca doit suggerer l'idee de repetition, donc je pensais a * (pasque dans les shells * remplace plusieurs chars)

Si tu veux, là j'ai aucune préference.

sinon mon idee : comme le char_a_repeter devra supporter les chars d'echapement, pkoi ne pas lui permettre de pouvoir caser aussi une sequence RLE ? triso comme ca on pourrait mettre 65536 fois le char dans la chaune triso

Oula... Déjà accepter les chars d'échappement ça va être chiant, accepter le RLE dans le RLE ça risque de devenir un peu casse-gueule. Cette routine va prendre pas mal de place mine de rien sad
et les args pour le fonction seraient :
-le nom de la var a creer
-sa taille (ca pourrait servir de controle pour verifier que le str fait la meme taille et qu'il n' a pas d'erreur -la str avec le contenu

Bah la fonction c'est "make" de toute façon. L'affectation avec une chaine n'est qu'un nouvel argument facultatif smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

133

Pour le caractère n°13, normalement, il s'appelle \r, pas \n.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

134

Ah bon bah \r alors grin
(dommage, \r ça aurait pu signifier "RLE" grin enfin peu importe)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

135

faire accepter des chars d'echap : utiliser une fonction qui fait ca (soit une vraie, soit de l'inline, soit un copie colle grin)
avatar

136

Copie colle beurk grin
Nan v essayer de me débrouiller autrement. Mais la taille va en prendre un coup cette fois. Ça va faire entre 200 et 300 octets pour cette nouvelle option je pense.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

137

ha ?
et quelle est la diff entre \n et \r ?
\n est jsute utilise pour printf\scanf ou alors c pas la meme chose ?
avatar

138

Bah c'est \10 et \13 (line cut et retour chariot je crois), mais je ne me souviens jamais lequel correspond à \n et \r.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

139

pour la taille : oui, possible...
enfin ca va quand meme bien aider
avatar

140

'\n' = LF = char(10)
'\r' = CR = char(13)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

141

ok
je crois que le char 10 passe bien sauf si on veut afficher la string dans une boite de dialogue, c'est ca ?
donc ca ne devrait pas poser de pb
avatar

142

Bon bah je suis en train de faire ça... Donc pr résumer :
\0 -> 0
\2 -> 2
\r -> 13
\*nc -> 'n' fois le char 'c' (et j'essayerais de lui faire accepter les caractères échappés)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

143

Je ne comprends pas pourquoi tu as besoin d'un car d'échappement pour le 0, le 2 et le 13 ? trifus
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

144

Parce que ces caractères ne peuvent pas se trouver dans une chaîne. En tout cas pas le 0. On arrive à y mettre le 2 et le 13 avec quelques efforts, mais en aucun cas le 0.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

145

Le zéro c'est impossible, et les caractères 2 et 13 posent problème quand on les affiche dans l'écran HOME par exemple (essaye de taper char(2) ou char(13), puis selectionne le résultat et copie le dans la ligne de calcul, tu comprendras).

[edit 1] Bon voilà ça marche, et ça accepte les caractères d'échappement dans les séquences RLE. Seule modif : le caractère d'échappement est "\" et non pas "/", sinon en plaçant un caractère d'échappement en début de chaine il était ignoré ("/" est déjà un caractère réservé).

[edit 2] Bon heu par contre... 326 octets pour la fonction sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

146

En asm ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

147

Bah non en C comme le reste de la librairie...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

148

Dommage, si tu essaies d'écrire quelques passages en ASM, tu pourrais gagner pas mal de place smile
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

149

Peut-être. Mais je n'aime pas trop les programmes hybrides, et comme je n'ai pas le niveau en ASM pour faire Vertel, elle restera entièrement en C.

[edit] J'en ai profité pour mettre la notice à jour, à propos du nouveau fonctionnement des tags de lecture séquencielle et ininterrompue. Si quelqun veut la mise à jour, qu'il fasse signe smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

150

Vous comptez compresser quoi avec cette "version" de RLE ??

Pasque tu risque d'obtenir des taux de compression nuls, voir négatifs...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.