| Différence entre LIST et DLIST | |
|
|
Auteur | Message |
---|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Différence entre LIST et DLIST Dim 6 Nov 2011 - 13:16 | |
| Quelqu'un peut me dire pourquoi je n'obtiens pas le même résultat ? - Code:
-
DIM A$,B$ A$=chr$(34)+"SetIndent_Level"+chr$(34)+chr$(0) B$="IF VARIABLE(" B$=B$+A$+") = 0"
LIST 60 : HIDE 60 : DLIST 61
ITEM_ADD 60,B$ ITEM_ADD 61,B$ print item_read$(60,1) print item_read$(61,1)
| |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 13:28 | |
| Manifestement c'est le chr$(0) qui met la panique (butée de fin), mais pourquoi dans le List et pas dans le Dlist ? | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 13:36 | |
| Telle est la question...
Je suis obligé (cf réponse de Klaus dans Jeu: "Le guillemet diabolique") d'utiliser chr$(0) si je veux conserver mes guillemets dans la chaine de caractères. Quoique je n'ai toujours pas compris qu'il faille rajouter un chr$(0) après un chr$(34)...(normalement il est implicite) pour moi, chr$(34) est un caractère comme un autre... (au niveau de l'éditeur/interpreteur : je ne parle pas de " mais de la commande chr$(34).)
Klaus va me dire que c'est le chr$(0) qui fait que le contenu du list s'arrête après le guillemet... Soit, mais pourquoi pas dans le DLIST ? Sinon, si il y a une raison logique, comment faire pour concaténer une chaine de caractère ayant un guillemet avec une autre chaine de caractère?...
Dernière édition par Nardo26 le Dim 6 Nov 2011 - 16:19, édité 1 fois | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 14:49 | |
| Je n'ai pas tout suivi, mais si tu fais: - Code:
-
DIM a$ a$ = "ABC" a$ = a$ + CHR$(34) + "DEF" a$ = a$ + "GHI" PRINT a$ ça se passe bien ? | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 15:57 | |
| Dans ton exemple il n'y a qu'un seul guillemet donc pas de problème. Le hic c'est que j'ai fais un petit prog pour lequel j'utilise une LIST pour visualiser et mettre au point. Maintenant que j'ai fini le prog, je pensais remplacer ma LIST par une DLIST. Apparemment le comportement de la DLIST est différent.. Ce qui me gêne et que je n'arrive pas à reproduire le pb pour le forum : Dans le petit exemple que j'ai mis, c'est la LIST qui ne fonctionne pas correctement Dans mon prog : j'ai exactement l'inverse.... EDIT : @JL35 : Au fait, tu es plus ou moins à l'origine de mon pb ! Je suis parti de ton "mise en forme de source Panoramic". J'ai voulu l'adapter pour avoir la récupération / restitution du source à partir du presse papier. Je stocke provisoirement le résultat dans une LIST puis au final je le transfère dans le presse-papier. Tout fonctionne tant que je visualise ma LIST, par contre si je la déclare en DLIST ou que je la HIDE, cela coince sur certaines lignes (et pas toutes !) | |
|
| |
Invité Invité
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 17:00 | |
| |
|
| |
659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 17:26 | |
| Narldo il y a certainement quelque chose que je n'ai pas suivis ou compris car pour moi fin de ligne c'est chr$(10) et non pas chr$(0). | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 17:33 | |
| - Citation :
- @JL35 : Au fait, tu es plus ou moins à l'origine de mon pb !
J'en suis désolé... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 17:33 | |
| | |
|
| |
Invité Invité
| Sujet: Re: Différence entre LIST et DLIST Dim 6 Nov 2011 - 23:23 | |
| Je viens de modifier mon programme. J'y ai inclut les guillemets dans le codage. Je croyais que c'était fait. Mais je ne sais pas si il y a utilité pour les guillemets. Par contre que viens de regarder l'exemple du haut: La variable a$ ne met pas de guillemet dans la variable. Si tu veux des guillemets dans a$, il faut mettre un espace devant le premier, et un espace derrière le deuxième. - Code:
-
DIM A$,B$ A$=" "+chr$(34)+"SetIndent_Level"+chr$(34)+" " B$="IF VARIABLE(" + a$ + ") = 0" ou alors, le faire en une ligne: - Code:
-
B$="IF VARIABLE(" + chr$(34) + "SetIndent_Level" + chr$(34) + ") = 0" Là ça doit marcher. |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Différence entre LIST et DLIST Lun 7 Nov 2011 - 1:09 | |
| Oui ça marche cosmos mais dans mon traitement, je ne souhaite pas avoir d'espace avant ni après... Je pense avoir trouvé une solution : le chr$(0) provoque la fin de chaine donc ce qu'il y a après est perdu. donc je remplace le ch$(0) par un autre caractère... - Code:
-
DIM a$,b$,g$:g$=chr$(34)
a$=g$+"tentative"+g$+chr$(0) b$="ceci est une "+a$+" d'affichage de guillemets"
LIST 60 : HIDE 60 : DLIST 61 ITEM_ADD 60,b$ ITEM_ADD 61,b$ print "b$ -> "+b$ print "LIST -> "+item_read$(60,1) print "DLIST-> "+item_read$(61,1)
print:CLEAR 60:CLEAR 61 print "solution :" ' solution: a$=g$+"usine à gaz"+g$+chr$(255): ' ajout d'un caractère spécial (pour conserver les guillemets dans la chaine) b$="ceci est une "+a$+" pour pouvoir conserver des guillemets"
' maintenant que la concaténation est faite,on vire le caractère spécial b$=left$(b$,instr(b$,chr$(255))-1)+right$(b$,len(b$)-instr(b$,chr$(255))) ITEM_ADD 60,b$ ITEM_ADD 61,b$ print "LIST -> "+item_read$(60,1) print "DLIST-> "+item_read$(61,1) Ce qui est quand même étrange, c'est qu'à première vue, le caractère chr$(0) n'a aucune incidence dans une DLIST... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Différence entre LIST et DLIST Lun 7 Nov 2011 - 20:01 | |
| Seul Jack peut répondre. En Panoramic, les chaînes de caractères sont quelque fois interprétées, et non à d'autres. C'est peut-être lié aux objets Delphi dont Panoramic se sert, mais je n'ai aucune certitude.
Pour ma part, si j'ai besoin de guillemets dans une chaîne, je les remplace par un autre caractère normalement non visible (exempleù chr$(1)), et le je restutue si j'en ai besoin. Lourd, mais fonctionnel tant que j'ai besoin de travailler avec des chaînes complètes sans les imprimer ou afficher. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Différence entre LIST et DLIST Lun 7 Nov 2011 - 21:22 | |
| Oui, tout à fait Klaus, j'en suis arrivé à la même conclusion ! (caractère de substitution) | |
|
| |
Contenu sponsorisé
| Sujet: Re: Différence entre LIST et DLIST | |
| |
|
| |
| Différence entre LIST et DLIST | |
|