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.
double guillemets "" dans un EDIT Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
double guillemets "" dans un EDIT Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
double guillemets "" dans un EDIT Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
double guillemets "" dans un EDIT Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
double guillemets "" dans un EDIT Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
double guillemets "" dans un EDIT Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
double guillemets "" dans un EDIT Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
double guillemets "" dans un EDIT Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
double guillemets "" dans un EDIT Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
double guillemets "" dans un EDIT Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
double guillemets "" dans un EDIT Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
double guillemets "" dans un EDIT Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
double guillemets "" dans un EDIT Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
double guillemets "" dans un EDIT Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
double guillemets "" dans un EDIT 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
Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 double guillemets "" dans un EDIT

Aller en bas 
+2
Klaus
Marc
6 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

double guillemets "" dans un EDIT Empty
MessageSujet: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 0:51

Bonjour à tous !

Dans un EDIT, la saisie de deux guillemets consécutifs retourne un résultat erroné si aucun caractère ne les précède ou ne les suit.

Voici un petit programme de test : un EDIT pour la saisie et, en dessous, un ALPHA pour visualiser le résultat
Code:
DIM a$
LABEL Saisie
EDIT 1
ALPHA 2
TOP 2, 50
ON_CHANGE 1, Saisie
END

Saisie:
    A$=TEXT$(1)
    CAPTION 2, a$
RETURN
Tapez  "" voire une série de guillemets, le résultat sera faux.
Tapez la même chose avec un quelconque caractère avant ou après, même un simple espace, et le résultat sera bon, même pour plusieurs guillemets consécutifs.

C’est un cas très particulier qui n’a peut-être pas de solution...
Revenir en haut Aller en bas
Klaus

Klaus


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

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 1:14

C'est un des multiples cas dans Panoramic où les guillemets posent problème. En effet, suivant mla situation, le guillemets sont "interprétées" par Panoramic ou non, et de ce fait, n'apparaissent pas ou apparaissent. C'est variable selon les situations et difficile à prévoir. Construire par exemple une chaîne de caractères contenant un guillement comme premier caractère, c'est toute une histoire. Encore plus s'il faut travailler ensuite avec cette chaîne. Le résultat sera différent selon que la chaîne en question sera affectée à une variable, écrite dans un fichier, affichée dans une propriété de type "caption" ou affichée dans un champ de données. Seules des tentatives variées peuvent fournir une solution au cas par cas. Je sais, c'est frustrant, mais c'est un problème connu depuis longtemps et a certainement sont origine très profondément dans les entrailles du parser de Panoramic. Pour ma part, je jongle souvent avec des construction utilisant chr$(34) à la place du guillemet, en encore - ce n'est pas une solution miracle.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 2:47

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 9:29

Fait comme ceci:
Code:
A$=TEXT$(1)+chr$(32)
et tout rentrera dans l'ordre. C'est valable pour toutes les {constructions de} chaines qui doivent contenir des chr$(34) (guillemet).
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 10:05


Bonjour tout le monde !

Merci de vos réactions !
Je suis d'accord avec vous tous !

Mais...

La difficulté réside dans le fait que ce soit une saisie "utilisateur" dans un EDIT.

Lors de la lecture de l'EDIT par la fonction TEXT$(), dans certains cas, il n'est pas possible de savoir ce que l'utilisateur a tapé réellement.

Bon dimanche à tous !
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 13:59

Marc37 a écrit:
La difficulté réside dans le fait que ce soit une saisie "utilisateur" dans un EDIT.

une saisie "utilisateur" ,c'est bien là le problème !

Je ne sais pas si c'est un bug ou une situation difficile à corriger comme le dit Klaus, mais c'est tout de même perturbant.

@Marc37
je te propose une solution en contrôlant la saisie de l'utilisateur (Inspirée d'une sub de Papydall) :
Code:
rem SUB IndicateProhibitedCharacters(chaine$):' retourne OK$
      ' Fonction: envoi un message pour signaler un caratère interdit, et retourne le résultat dans OK$.
      ' au retour si OK$<>"" c'est qu'un caratère interdit a été detecté.
      ' Conseil: utilisez cette SUB avec on_change pour controler à chaque appuis sur le clavier.
      ' sont autorisés ' + - * / @ € ( ) . _
' -----------------------------------------------
SUB IndicateProhibitedCharacters(chaine$)
    dim_local i%,Lc$,Lc1$,Lt$,Lasc%,i2%
    if len(chaine$) = 0 then exit_sub
    OK$=""
    for i% = 1 to len(chaine$)
        Lc$ = mid$(chaine$,i%,1) : Lc1$ = Lc$
        Lasc% = asc(Lc$)
        Lt$ = Lt$ + Lc1$
        if Lasc%<32 then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        for i2%=33 to 38
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        if Lasc%=44 then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        for i2%=58 to 63
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        for i2%=91 to 94
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        if Lasc%=96 then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        for i2%=123 to 127
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        for i2%=129 to 175
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        for i2%=177 to 191
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
    next i%
END_SUB

Cette SUB empêche l'utilisateur de saisir des caractères spéciaux sauf ceux indiqués dans les commentaires.

Cette autre SUB empêche la saisie de tous les caratères "spéciaux"
Code:
SUB IndicateAllProhibitedCharacters(chaine$)
    dim_local i%,Lc$,Lc1$,Lt$,Lasc%,i2%
    if len(chaine$) = 0 then exit_sub
    OK$=""
    for i% = 1 to len(chaine$)
        Lc$ = mid$(chaine$,i%,1) : Lc1$ = Lc$
        Lasc% = asc(Lc$)
        Lt$ = Lt$ + Lc1$
        if Lasc%<32 then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        for i2%=33 to 47
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        for i2%=58 to 64
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        for i2%=91 to 94
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
        if Lasc%=96 then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        for i2%=123 to 191
            if Lasc%=i2% then message "Le caractère "+chr$(Lasc%)+" est interdit, pour cette saisie." : OK$="X" : exit_sub
        next i2%
    next i%
END_SUB

A+
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyDim 19 Nov 2017 - 21:24


Merci Jean_Claude, c'est super sympa mais dans mon application, le caractère " ne doit pas être interdit ! C'est un caractère autorisé !

Merci pour tes deux SUB.

Bonne continuation !
Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyLun 20 Nov 2017 - 19:08

Marc tu peut faire aussi comme cela

Code:
DIM a$
a$="
LABEL Saisie
EDIT 1
ALPHA 2
TOP 2, 50
ON_CHANGE 1, Saisie
END

Saisie:
    CAPTION 2, a$ +TEXT$(1)+ a$
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT EmptyMar 21 Nov 2017 - 21:43

Merci Pascal10000 !

Ta solution a le mérite de fonctionner mais ne permet pas de palier totalement le dysfonctionnement.

On ne peut pas obtenir une chaîne de caractère vide : lorsque l'on efface l'édit, on se retrouve avec une chaîne d'une longueur de 2 caractères qui sont deux guillemets.

Quant au passage dans le futur compilateur, je ne sais pas s'il va accepter a$="

Mais c'est quand même beaucoup mieux qu'avant.

Encore merci pour ta solution !

Bonne continuation.
Revenir en haut Aller en bas
Contenu sponsorisé





double guillemets "" dans un EDIT Empty
MessageSujet: Re: double guillemets "" dans un EDIT   double guillemets "" dans un EDIT Empty

Revenir en haut Aller en bas
 
double guillemets "" dans un EDIT
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Combo au lieu d'edit dans input_message()
» Comment terminer une saisie dans un objet par entrée
» Position du curseur dans l'edit
» Un caractères par un caractère dans EDIT
» Clics droit, gauche et double clic dans un même menu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: