FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Mise à jour PANOMAND
par jean_debord Aujourd'hui à 11:33

» Pourquoi le compilateur stagne
par Jicehel Aujourd'hui à 11:13

» Immortaliser les photos de famille
par jjn4 Hier à 18:29

» Concours de Morpions
par jjn4 Hier à 18:11

» Compilateur FBPano
par jean_debord Hier à 10:12

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Problème avec la commande RemoveStringBetweenDelimiters.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

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

MessageSujet: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 22:18

Bonjour.

Je rencontre un problème avec cette fonction, dans le cas où la sous-chaîne à éliminer se trouve à l'intérieur d'un ensemble de sous-chaînes semblables.

Un exemple de code où la difficulté apparaît

Merci de la suite Klaus.

Code:
dll_on "kgf"

dim a$, b$, temporaire$, res%,parenthese_gauche$,parenthese_droite$

a$="chat (ms (général)) = cat"

parenthese_gauche$="("
parenthese_droite$=")"

temporaire$=string$(len(a$)," ")
res%=dll_call4("RemoveStringBetweenDelimiters",adr(a$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(temporaire$))
b$=trim$(temporaire$)

message b$
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 23:02

Tu ne dis pas ce que tu veux obtenir...La fonction fait exactement ce que tu lui demandes: éliminer tout de la première parenthèse ouvrante jusqu'à la première parenthèse fermante, parenthèses comprises.

Est-ce que tu veux obtenir ceci:
Code:
dll_on "kgf"

dim a$, b$, temporaire$, res%,parenthese_gauche$,parenthese_droite$

a$="chat (ms (général)) = cat"

parenthese_gauche$=" ("
parenthese_droite$=") "

temporaire$=string$(len(a$)," ")
res%=dll_call4("RemoveStringBetweenDelimiters",adr(a$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(temporaire$))
b$=trim$(temporaire$)

message b$
Tu sais que les délimiteurs sont des chaînes pouvant être même assez longues, pas uniquement un seul caractère.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: Problème.   Sam 10 Déc 2016 - 23:13

Bonsoir.

Merci Klaus d'avoir regardé.

Si tu testes le code indiqué, tu verras qu'il reste une parenthèse après traitement.
Le problème se pose chaque fois qu'une sous-chaîne à éliminer se trouve à l'intérieur d'une même sous-chaîne.

Merci de la suite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 23:18

Justement... Ce que j'ai posté ci-dessus, élimine ce problème. Tu as comme résultat:
chat= cat
Ce n'est pas ce que tu veux ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: KGF.   Dim 11 Déc 2016 - 9:50

Bonjour.

Encore merci Klaus, c'est presque ce que je souhaitais.
J'ai dû cependant ajouter un espace devant le signe '=', car j'en ai besoin pour les traitements futurs, comme suit.

Code:
dll_on "kgf"

dim a$, b$, temporaire$, res%,parenthese_gauche$,parenthese_droite$,zz98%

a$="chat (ms(général)) = cat"

parenthese_gauche$=" ("
parenthese_droite$=") "

temporaire$=string$(len(a$)," ")
res%=dll_call4("RemoveStringBetweenDelimiters",adr(a$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(temporaire$))

zz98%=instr(temporaire$,"=")
if zz98%>0
  if mid$(temporaire$,zz98%-1,1)<>" " then temporaire$=left$(temporaire$,zz98%-1)+" "+right_pos$(temporaire$,zz98%)
end_if

b$=trim$(temporaire$)

message b$
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Dim 11 Déc 2016 - 11:55

Alors, télécharge la nouvelle version 7.13 et essaie ceci:
Code:
dll_on "kgf"

dim a$, b$, temporaire$, res%,parenthese_gauche$,parenthese_droite$
dim remplacement$

a$="chat (ms (général)) = cat"

parenthese_gauche$=" ("
parenthese_droite$=") "

temporaire$=string$(len(a$)," ")
res%=dll_call4("RemoveStringBetweenDelimiters",adr(a$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(temporaire$))
b$=trim$(temporaire$)
message "RemoveStringBetweenDelimiters: "+b$

a$="chat (ms (général)) = cat"

parenthese_gauche$=" ("
parenthese_droite$=") "
remplacement$ = " "

temporaire$=string$(len(a$)," ")
res%=dll_call5("ReplaceStringBetweenDelimiters",adr(a$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(remplacement$),adr(temporaire$))
b$=trim$(temporaire$)
message "ReplaceStringBetweenDelimiters: "+b$

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   

Revenir en haut Aller en bas
 
Problème avec la commande RemoveStringBetweenDelimiters.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [/résolu] problème avec java à l'instalation :-/
» Problème avec Java
» problème avec mon anti clic droit
» Problème avec mes balises [code]
» problème avec les avatars des nouveaux membres

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: