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
» number_mouse_up
double guillemets "" dans un EDIT Emptypar jjn4 Aujourd'hui à 11:59

» Aide de PANORAMIC
double guillemets "" dans un EDIT Emptypar jjn4 Aujourd'hui à 11:16

» trop de fichiers en cours
double guillemets "" dans un EDIT Emptypar lepetitmarocain Aujourd'hui à 10:43

» Je teste PANORAMIC V 1 beta 1
double guillemets "" dans un EDIT Emptypar papydall Aujourd'hui à 4:17

» select intégrés
double guillemets "" dans un EDIT Emptypar jjn4 Hier à 18:33

» PANORAMIC V 1
double guillemets "" dans un EDIT Emptypar Klaus Hier à 9:53

» bouton dans autre form que 0
double guillemets "" dans un EDIT Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
double guillemets "" dans un EDIT Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
double guillemets "" dans un EDIT Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
double guillemets "" dans un EDIT Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
double guillemets "" dans un EDIT Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
double guillemets "" dans un EDIT Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
double guillemets "" dans un EDIT Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
double guillemets "" dans un EDIT Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
double guillemets "" dans un EDIT 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
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 double guillemets "" dans un EDIT

Aller en bas 
+2
Klaus
Marc
6 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2391
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 : 12293
Age : 74
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 : 7006
Age : 73
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 : 968
Age : 51
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 : 2391
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 : 5948
Age : 69
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 : 2391
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 : 2391
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
-
» Comment terminer une saisie dans un objet par entrée
» Scancode dans un edit
» Un caractères par un caractère dans EDIT
» Position du curseur dans l'edit
» Combo au lieu d'edit dans input_message()

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: