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
» Bataille navale SM
double guillemets "" dans un EDIT Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
double guillemets "" dans un EDIT Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
double guillemets "" dans un EDIT Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
double guillemets "" dans un EDIT Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
double guillemets "" dans un EDIT Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
double guillemets "" dans un EDIT Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
double guillemets "" dans un EDIT Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
double guillemets "" dans un EDIT Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
double guillemets "" dans un EDIT Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
double guillemets "" dans un EDIT Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
double guillemets "" dans un EDIT Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
double guillemets "" dans un EDIT Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
double guillemets "" dans un EDIT Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
double guillemets "" dans un EDIT Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
double guillemets "" dans un EDIT Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal

 

 double guillemets "" dans un EDIT

Aller en bas 
+2
Klaus
Marc
6 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2379
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 : 12274
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 : 6996
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 : 2379
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 : 2379
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 : 2379
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: