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
» Compilateur FBPano
par jean_debord Aujourd'hui à 10:54

» demande pour recuperer un text speciale
par pascal10000 Hier à 22:04

» Casse-tête : Echanger les positions des cavaliers
par papydall Hier à 19:51

» KGF_dll - nouvelles versions
par Klaus Hier à 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
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 : 790
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 : 790
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 : 790
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 l'hébergeur d'images servimg
» problème avec mon anti clic droit
» Problème avec mes balises [code]

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: