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
» quel est ce comportement de Panoramic_editor
par Oscaribout Aujourd'hui à 3:02

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Problème avec la commande RemoveStringBetweenDelimiters.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 930
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 : 10576
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 - 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 : 930
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 : 10576
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 - 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 : 930
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 : 10576
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 - 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: