FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» PANORAMIC V 1
Tri d'un LIST Emptypar jjn4 Aujourd'hui à 17:49

» select intégrés [résolu]
Tri d'un LIST Emptypar jjn4 Aujourd'hui à 17:00

» number_mouse_up
Tri d'un LIST Emptypar jjn4 Aujourd'hui à 11:59

» Aide de PANORAMIC
Tri d'un LIST Emptypar jjn4 Aujourd'hui à 11:16

» trop de fichiers en cours
Tri d'un LIST Emptypar lepetitmarocain Aujourd'hui à 10:43

» Je teste PANORAMIC V 1 beta 1
Tri d'un LIST Emptypar papydall Aujourd'hui à 4:17

» bouton dans autre form que 0
Tri d'un LIST Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Tri d'un LIST Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Tri d'un LIST Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Tri d'un LIST Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Tri d'un LIST Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Tri d'un LIST Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Tri d'un LIST Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Tri d'un LIST Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Tri d'un LIST Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-40%
Le deal à ne pas rater :
Tefal Ingenio Emotion – Batterie de cuisine 10 pièces (induction, ...
59.99 € 99.99 €
Voir le deal

 

 Tri d'un LIST

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tri d'un LIST Empty
MessageSujet: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 16:50

Pour trier le contenu d'un LIST: on peut utiliser la commande SORT du Dos.
Code:
DIM ftemp$
LABEL Tri
ftemp$ = "Z:\Tri.txt": ' fichier temporaire
LIST 1
...
END

Tri:
' Tri du LIST 1
FILE_SAVE 1, ftemp$
EXECUTE_WAIT "Cmd.exe /c SORT " + ftemp$ + " /O " + ftemp$
FILE_LOAD 1, ftemp$
FILE_DELETE ftemp$
RETURN
Paramètres principaux de la commande SORT (taper 'HELP SORT' en ligne de commande):
SORT [R] [+n] Path_in /O Path_out
R: (reverse) tri en ordre inverse (Z à A, 9 à 0)
+n: tri à partir du nième caractère de chaque ligne
Path_in: chemin du fichier à trier
Path_out: chemin du fichier résultat (peut être égal à Path_in)
Revenir en haut Aller en bas
Invité
Invité




Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 18:28

est-ce que cela fait la même chose que sort_on N dans Panoramic?
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 18:46

cela peut être une solution pour mon probleme que je voulais poser.
je l'expose

je vais créer un fichier type *csv et je voulais trier les lignes d'après un critère compris entre deux séparateur tel "|"
ceci de facon à optenir un classement.

Si JL35 maitrise bien le DOS peut être peut il m'aider ?....
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 18:57

Je regarde vite fait, mais si ton séparateur n'est pas toujours au même endroit dans la liste, ça ne rentre pas dans la norme du SORT.
Dans ce ca il faudra programmer un peu...
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 19:03

Merci à toi

je peux avoir des lignes de nombre du style

...1|23|3|10...

le tout est de pouvoir trier d'après un des critères ce que "Sort_on N" ne permet pas
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyJeu 27 Mai 2010 - 21:34

Oups ! je n'avais même pas vu qu'il existait déjà une instruction Sort pour ces objets, honte à moi. Donc mon post n'a aucun intérêt puisqu'on peut trier en Panoramic pur.
Mon exemple était l'équivalent de SORT 1 en Panoramic.
Sauf que ça apporte la possibilité de trier en ordre inverse, ou à partir d'un rang fixe donné dans les articles.

@ygeronimi
Par contre, si ce rang est à des emplacements variables, je ne vois pas comment on peut faire, sauf écrire un programme de tri spécial, faisable, mais un peu plus compliqué !
Les fichiers .CSV ce sont des fichiers Excel non ?
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyVen 28 Mai 2010 - 12:30

les *csv sont des fichiers de base de donnée texte avec un separateur tel la virgule ou point virgule.

dans "Sort" la liste est trié dans son ensemble , la ligne est le critère de tri
et j'espérai pouvoir trié une ligne de plusieurs critère.

Tant pis
No
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyVen 28 Mai 2010 - 16:16

Je ne comprends pas très bien ( pas bien réveillé), tu veux dire que si tu as des enregistrements avec des articles de longueurs variables, du genre:
Code:
abc;defg;hi;jklm
bcaf;ed;ijkl;mn
tu veux pouvoir faire le tri soit d'après le 1er article de chaque enregistrement (abc et bcaf), doit d'après le 2ème (defg et ed), soit d'après le 3ème (hi et ijkl), etc. c'est bien ça ?
Dans ce cas je ne vois pas de méthode standard de tri qui puisse faire ça, mais ça doit pouvoir se programmer.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptyVen 28 Mai 2010 - 23:47

Spécialement pour toi ygeronimi, c'est un peu un exercice de style, un petit programme de tri d'un fichier de type csv, qui permet le tri en donnant le rang de l'article à trier dans l'enregistrement (si j'ai bien compris ce que tu cherches).
L'idée est de créer un fichier provisoire dans lequel l'article à trier est mis à un emplacement fixe (on complète ce qui précède par un caractère de remplissage quelconque), de façon à pouvoir bénéficier du SORT à partir d'un caractère donné.
Code:
' Tri d'un fichier type CSV, par rubrique au choix
DIM f$, fm$, fr$, a$, b$, sep$, na, i%, k%, lmg, rmp$
Label Ecrcsv

f$ = "C:\Temp\Test.CSV"
fm$ = "Z:\Manoeuvre"
fr$ = "Z:\Trifait.CSV"

sep$ = ";": ' séparateur d'articles dans les enregistrements
lmg = 50: ' longueur de la partie gauche (non triée)
rmp$ = " ": ' caractère de remplissage quelconque (ici espace)

GOSUB Ecrcsv: ' création du fichier de test

na = 3: ' tri à partir de l'article (colonne) na (depuis 1)

IF na = 1
    ' Tri à partir de 1 (tri normal)
    EXECUTE_WAIT "Cmd.exe /c SORT " + f$ + " /O " + fr$
ELSE
    FILE_OPEN_READ 1, f$: FILE_OPEN_WRITE 2, fm$
    WHILE FILE_EOF(1) <> 1
        FILE_READLN 1, a$: b$ = ""
        FOR i% = 1 TO na-1
            k% = INSTR(a$, sep$)
            IF k% > 0
                b$ = b$ + LEFT$(a$, k%)
                a$ = MID$(a$, k%+1, LEN(a$) - k%)
            END_IF
        NEXT i%
        a$ = b$ + STRING$(lmg-LEN(b$), rmp$) + a$
        FILE_WRITELN 2, a$
    END_WHILE
    FILE_CLOSE 1: FILE_CLOSE 2
    ' Tri à partir de lmg+1
    EXECUTE_WAIT "Cmd.exe /c SORT /+" + STR$(lmg+1) + " " + fm$ + " /O " + fm$
    ' Reconstitution des articles (suppression des caractères ajoutés)
    FILE_OPEN_READ 1, fm$: FILE_OPEN_WRITE 2, fr$
    WHILE FILE_EOF(1) <> 1
        FILE_READLN 1, a$: b$ = LEFT$(a$, lmg): a$ = MID$(a$, lmg+1, LEN(a$) - lmg)
        FOR i% = LEN(b$) TO 1 STEP -1
            IF MID$(b$, i%, 1) <> rmp$ THEN EXIT_FOR
        NEXT i%
        a$ = LEFT$(b$, i%) + a$
        FILE_WRITELN 2, a$
    END_WHILE
    FILE_CLOSE 1: FILE_CLOSE 2
    FILE_DELETE fm$
END_IF
PRINT "Terminé !"
END

Ecrcsv:
' création d'un fichier de type CSV pour tests
DATA "Au;clair de;la lune;mon ami"
DATA "Pierrot;prete-moi;taplume;pour ecrire"
DATA "un mot;ma;chandelle est;morte"
DATA "jenai;plus de;feu ouvre-moi;ta porte"
DATA "pourlamour;dedieu;ceciest un;testdetricsv"
FILE_OPEN_WRITE 1, f$
FOR i% = 1 TO 5: READ a$: FILE_WRITELN 1, a$: NEXT i%
FILE_CLOSE 1
RETURN
Comme d'habitude, les chemins des fichiers (f$, fm$, fr$) sont à adapter.
Et il faut dimensionner la variable lmg en fonction de la longueur des enregistrements (j'ai mis une valeur arbitraire).
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST EmptySam 29 Mai 2010 - 0:15

Je te remercie beaucoup JL35

J'enregistre la page pour mettre en application hors ligne.
Revenir en haut Aller en bas
Contenu sponsorisé





Tri d'un LIST Empty
MessageSujet: Re: Tri d'un LIST   Tri d'un LIST Empty

Revenir en haut Aller en bas
 
Tri d'un LIST
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ordre de tri des LIST...
» List index out of bounds (927)
» Objet LIST
» SORT sur une LIST
» objet list

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: