PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Reorganiser les Ar
Reorganiser les Ar
Débuté par Julien, 15 nov. 2006 20:14 - 4 réponses
Posté le 15 novembre 2006 - 20:14
Bonsoir ,


j'utilises 2 champs de saisie et je vouderais roarganiser par ordre alphanumérique mes produits :


SAISIE1 :

9 PRODUITS
5 PRODUITS
2 PRODUITS
6 PRODUITS
0 PRODUITS
4 PRODUITS
7 PRODUITS
3 PRODUITS
1 PRODUITS



J'aimerai a voir dans SAISIE2 :

0 PRODUITS
1 PRODUITS
2 PRODUITS
3 PRODUITS
4 PRODUITS
5 PRODUITS
6 PRODUITS
7 PRODUITS
8 PRODUITS
9 PRODUITS



ça sera dans l'ordre commençant par 0, 1, 2, 3, 4 , 5, 6, 7, ..etc




En vous remerçiant d'avance .
Posté le 15 novembre 2006 - 21:27
Salut,
2 idées:
1.
tu peux mettre chaque ligne de ton champ dans un tableau de chaine et trier
ton tableau
par contre si la partie numérique d'une ligne peut être >= à 10, tu devra
utiliser une procédure de trie personnalisée

2.Tu peux te créer une structure avec 2 membres (1 chaine et 1 entier)
Tu crées un tableau de cette structure, pour chaque ligne de ton champ de
saise, tu mets la valeur complète dans la chaine et tu extraits la partie
numérique que tu mets dans l'entier. Tu tries ensuite ton tableau sur le
membre de type entier.

Mathieu
Posté le 16 novembre 2006 - 13:09
Salut ,

Merci de ton aide , mais si je dois mettre tout ça en code ça sera coment ?
Posté le 16 novembre 2006 - 18:29
Tu as besoin de 2 champs
1.Saise1 --> contient les lignes en désordre
2.Saise2 --> contiendra les lignes en ordre

Voici le code:
//--------DÉBUT DU CODE------------------------------
structProduit est une structure
strTout est une chaîne
iNb est un entier
FIN
tabstruProduit est un tableau de 0 structProduit
strLigne est une chaîne
iIndice est un entier
iNb est un entier
//On passe tout les produits du champ saisie1
POUR TOUTE CHAINE strLigne DE Saisie1 SEPAREE PAR RC
SI strLigne <> "" ALORS
iIndice = TableauAjoute(tabstruProduit)
iNb++
tabstruProduit[iIndice]:iNb = ExtraitChaîne(strLigne,1," ")
tabstruProduit[iIndice]:strTout = strLigne
FIN
FIN
//Trie sur le nombre de produit
TableauTrie(tabstruProduit,ttMembre,"iNb")

//Réaffichage de la liste de produit
Saisie2 = ""
POUR iIndice = 1 A iNb
SI Saisie2 <> "" ALORS
Saisie2 += RC
FIN
Saisie2 += tabstruProduit[iIndice]:strtout
FIN
//--------FIN DU CODE------------------------------

Mathieu
Posté le 18 novembre 2006 - 17:18
Merci infiniment Mathieu ton code marche trés mieux , excuse moi si je t'ai dérranger !