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
» Planétarium virtuel.
par Pedro Alvarez Hier à 16:57

» Roues dentées
par jean_debord Hier à 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue à n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» Récapitulatif ludothèque panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondulées
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Problème avec la commande RemoveStringBetweenDelimiters.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

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

MessageSujet: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 20: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 : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 21: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 : 1104
Date d'inscription : 19/01/2014

MessageSujet: Problème.   Sam 10 Déc 2016 - 21: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 : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Sam 10 Déc 2016 - 21: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 : 1104
Date d'inscription : 19/01/2014

MessageSujet: KGF.   Dim 11 Déc 2016 - 7: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 : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Problème avec la commande RemoveStringBetweenDelimiters.   Dim 11 Déc 2016 - 9: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.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [/résolu] problème avec java à l'instalation :-/
» Problème avec Java
» [Résolu] problème avec avira
» Problème avec décodeur Tv
» problème avec Outlook

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: