Variables

Résolu
GenerationNoNNoN Messages postés 10 Date d'inscription dimanche 18 juin 2006 Statut Membre Dernière intervention 23 juin 2006 - 18 juin 2006 à 19:08
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 18 juin 2006 à 21:55
Bonjour à tous, je vous explique mon problème en espérant que vous me comprendrez,
Je chercher a récupérer toutes les variables comme %vvAAA %vvZEETR
(vous l'aurez compris, %vv* )
Les variables sont égales à des nombres, comme %vvAAA 1 / %vvZERGOf 5 / %vvAOZZ 4
Je voudrais que les variables soient classées par ordre croissant dans un fichier texte de mon choix,
ce qui donnerait par exemple un classement dans le fichier texte choisi de forme (en ne conservant que la fin de la variable, c'est a dire en enlevant le %vv) :

ZERGOf 5
AOZZ 4
AAA 1

Si quelqu'un peut me guider ou encore m'aider sa serait vraiment sympa, j'ai beau chercher je ne trouve pas, en espétant que ce soit faisable.
Merci. 

3 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
18 juin 2006 à 19:40
$var(%vv*,0) retournera le nombre total de variable commencant par %vv

$var(%vv*,1) retournera la premiere variable commencant par %vv

Donc tu boucle la dessus en stockant les variable dans une seul variable locale  :

var %a 1 ,%b = $var(%vv*,0)

while (%a <= %b) {

var %stock = %stock $+($($var(%vv*,%a),2),.,$mid($var(%vv*,%a),2,$len($var(%vv*,%a))))

inc %a

}

; la tu obtient pour ton exemple : 1.AAA 4.AOZZ 5.ZERGOf

; suffit de classer numeriquement

var %tristock = $sorttok(%stock,32,nr)

; la tu obtient 5.ZERGOF 4.AOZZ 1.AAA

; ensuite tu ecris ds le fichier en bouclant sur la variable triée

var %a 1

while (%a <= %b) {

tokenize 46 $token(%tristock,%a,32)

write VV.txt $2 $1

inc %a

}


Je n'ai pas essayé mais ca devrait marché :)
3
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
18 juin 2006 à 21:41
seule remarque, si jamais y a bcp de variable dans la partie archivage du file handling serai ptete mieu , ainsi :

var %a 1
while (%a <= %b) {
tokenize 46 $token(%tristock,%a,32)
write VV.txt $2 $1
inc %a
}
devient :
var %a 1 | .fopen artxt VV.txt
while (%a <= %b) {
tokenize 46 $token(%tristock,%a,32)
.fwrite -n artxt $2 $1
inc %a
}
.fclose artxt

ISoKa-qui-cherche-du-poil-sur-les-oeufs
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
18 juin 2006 à 21:55
Si jamais si jamais, le file handling est generalement employé pour
gagner en vitesse d'execution et si la vitesse d'execution aurait ete
le probleme, j'pense qu'il l'aurait precisé ( dans son exemple il n'y a
que 3 variables... ) m'enfin bon c'est vrai que c'est mieux :)
0
Rejoignez-nous