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.
Problème avec la commande 'sort'. Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Problème avec la commande 'sort'. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Problème avec la commande 'sort'. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Problème avec la commande 'sort'. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Problème avec la commande 'sort'. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Problème avec la commande 'sort'. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Problème avec la commande 'sort'. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Problème avec la commande 'sort'. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Problème avec la commande 'sort'. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Problème avec la commande 'sort'. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Problème avec la commande 'sort'. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Problème avec la commande 'sort'. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Problème avec la commande 'sort'. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Problème avec la commande 'sort'. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Problème avec la commande 'sort'. 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

 

 Problème avec la commande 'sort'.

Aller en bas 
4 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Problème avec la commande 'sort'. Empty
MessageSujet: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 8:21

Bonjour.

Je viens de découvrir un problème avec la commande 'sort'.
Lorsque j'utilise la commande 'sort_on', le nombre d'enregistrements de la seconde liste créée est inférieur à la 1ère liste !!
Alors qu'il devrait être strictement égal.

Par contre, si je remplace cette commande par 'sort' en fin de code, tout fonctionne parfaitement.

Jack pourrait-il m'éclairer sur ce problème ?

Code:
dim k%, a$, y%

dlist 997
' sort_on 997

dlist 4
file_load 4,"dico_français_anglais.txt"

' manger [sens: se nourrir de] (v) = essen
for k%=1 to count(4)
    a$=item_read$(4,k%)
    if a$="ZZZ" then exit_for
    if mod(k%,1000)=0 then caption 0,"Création du dictionnaire anglais->français, mot n° "+str$(k%)+"/"+str$(count(4))+"."
    y%=instr(a$,"=")
    item_add 997,trim$(right_pos$(a$,y%+1))+" = "+trim$(left$(a$,y%-1))
next k%
item_add 997,"ZZZ"
sort 997
file_save 997,"dico_anglais_français.txt"

message str$(count(4))+":"+str$(count(997))

delete 4
delete 997
message ""
Revenir en haut Aller en bas
JL35




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

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 21:28

Bon, d'accord, ça s'adresse à Jack.
Mais c'est curieux, tu dis qu'il manque un élément dans le second Dlist alors qu'au contraire tu en ajoutes un:
( item_add 997,"ZZZ" ) avant de le trier ?
Il devrait y en avoir un de trop, ou alors il en manque deux...

(entre parenthèses, j'ai fait l'essai du Sort et du Sort_On pour exactement le même résultat).

Autant pour moi, j'ai parlé trop vite, je vois que tu sautes le ZZZ du Dlist d'origine (4) avant de le rajouter dans le Dlist de destination (997) donc ça s'équilibre. Ceci dit chez moi ça marche, avec différents fichiers texte de longueurs variables, ça dépend peut-être chez toi du contenu du fichier traité, un élément perturbateur...

PS effectivement, je fais l'essai avec un fichier dico_francais_anglais.txt (sans doute le même que toi, ou une version plus ancienne),
- avec le SORT: 102400 -> 102400
- avec le SORT_ON: 102400 -> 102386, il en manque donc 14...
Reste à aller à la pêche pour savoir quels sont ceux qui manquent...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 22:23

Utilise Notepad++ avec sa fonction de comparaison de fichiers...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 22:50

On peut aussi faire comme ceci pour trouver la ligne à partir de laquelle ça ne marche plus:
(en fait une recopie du 1er Dlist tel quel dans le second sans aucun traitement avec le Sort_On, et on s'aperçoit qu'il manque des éléments en sortie):
Code:
dim k%,a$,b$,ap$,bp$,c$
dlist 4
dlist 997
sort_on 997

file_load 4,"C:\Textes\dico_français_anglais.txt"
sort 4
print time$+"   4 : "+str$(count(4))
caption 0,"Création du dictionnaire anglais->français, "+str$(count(4))+" éléments."
for k%=1 to count(4)
    a$=item_read$(4,k%)
    if a$="ZZZ" then exit_for
    item_add 997,a$
next k%
item_add 997,"ZZZ"
print time$+" 997 : "+str$(count(997))

FOR k% = 1 TO COUNT(4)
    a$ = ITEM_READ$(4,k%): b$ = ITEM_READ$(997,k%)
    IF a$ <> b$
        c$ = "Ligne: "+str$(k%-1)+chr$(10)+"Dlist  4: "+ap$+chr$(10)+"Dlist 997: "+bp$
        c$=c$+chr$(10)+chr$(10)+"Ligne: "+str$(k%)+chr$(10)+"Dlist  4: "+a$+chr$(10)+"Dlist 997: "+b$
        MESSAGE c$
        EXIT_FOR
    END_IF
    ap$ = a$: bp$ = b$
NEXT k%
END
et j'obtiens à la ligne 7666:
Problème avec la commande 'sort'. Resul10

Et, du coup, je m'aperçois que dans le fichier source certaines lignes consécutives sont identiques (voir l'image ci-dessus) !
est-ce que c'est celles-ci qui ne sont pas prises en compte par le Sort_On ???
J'ai dans mon fichier source:
Code:
art et essai (n as adj) = art-house (ligne 7665)
art et essai (n as adj) = art-house (7666)
art et essai (n as adj) = art-house (7667
Art et essai (n as adj) = art-house (7668)
Art et essai (n as adj) = art-house (7669)


Dernière édition par JL35 le Jeu 10 Mar 2016 - 23:03, édité 1 fois
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 23:02

Citation :
sans aucun traitement avec le Sort_On
Si... tu as un SORT_ON sur l'objet 997.

Mais tu as certainement raison de pointer des doublons qui sautent dans le cas de SORT_ON.

EDIT

Exact ! La preuve:
Code:
dlist 1 : sort_on 1
item_add 1,"test"
item_add 1,"test"
message "count(1)="+str$(count(1))
end

Le doublon est tout simplement ignoré, dans message d'erreur.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 23:05

Je voulais dire 'sans aucun traitement' de la ligne lue (comme fait Pedro qui inverse les deux parties), mais avec le Sort_On, de façon à reconstituer un Dlist identique au Dlist source, pour pouvoir les comparer.

On s'est croisés Klaus, mais c'est sûrement ça, donc les deux traitements sont différents (Sort et Sort_On), si le Sort_On élimine les doublons.
Ce qui est sans doute un avantage, mais il faut le savoir.


Dernière édition par JL35 le Jeu 10 Mar 2016 - 23:08, édité 1 fois
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 23:07

D'accord. Tu as vu le petit code de démo ? Il y a un bug dans la gestion des DLIST. Il faudrait qu'il y ait une erreur trappable d'exécution, ou alors que le doublon se mette à la suite.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyJeu 10 Mar 2016 - 23:14

On peut considérer ça comme un bug (le résultat devrait être de taille identique à l'origine), ou comme un avantage, si on l'utilise en connaissance de cause.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. EmptyVen 11 Mar 2016 - 0:02

Code:

dim i
font_bold 0

dlist 1 : sort_on 1
item_add 1,"test"
item_add 1,"test"
item_add 1,"salut"
item_add 1,"salut"
item_add 1,"test"

list 2 :  sort_on 2
item_add 2,"test"
item_add 2,"test"
item_add 2,"salut"
item_add 2,"salut"
item_add 2,"test"

print_locate 200,10 : print "Les articles de DLIST"
for i = 1 to count(1)
    print_locate 200,10+20*i : print item_read$(1,i)
next i

print_locate 200,100 : print "Les articles de LIST"
for i = 1 to count(2)
    print_locate 200,100+20*i : print item_read$(2,i)
next i

print : print :print "SORT_ON élimine les doublons dans DLIST"
print "et les conserve dans LIST"

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Problème avec la commande 'sort'. Empty
MessageSujet: Re: Problème avec la commande 'sort'.   Problème avec la commande 'sort'. Empty

Revenir en haut Aller en bas
 
Problème avec la commande 'sort'.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» bug combo/list avec SORT + hide/create_hide
» Problème avec la commande RemoveStringBetweenDelimiters.
» Problème avec la commande rnd().
» Bug avec la commande 3d_Text x,a$
» Problème avec la commande 'file_writeln'.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: