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
» Logiciel de planétarium.
Tri d'un LIST Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Tri d'un LIST Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Tri d'un LIST Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Tri d'un LIST Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Tri d'un LIST Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Tri d'un LIST Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Tri d'un LIST Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Tri d'un LIST Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Tri d'un LIST Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Tri d'un LIST Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Tri d'un LIST Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Tri d'un LIST Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Tri d'un LIST Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Tri d'un LIST Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Tri d'un LIST Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Tri d'un LIST

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7112
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 : 8635
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 : 7112
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 : 8635
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 : 7112
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 : 8635
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 : 7112
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 : 7112
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 : 8635
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
-
» Objet LIST
» SORT sur une LIST
» objet list
» Initialiser la fonction Rnd() ?
» List et Edit

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: