Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Extraire une chaine de caractère
Message
From
15/03/2006 13:06:45
 
 
To
15/03/2006 13:03:45
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 8
OS:
Windows XP
Network:
Windows XP
Database:
MySQL
Miscellaneous
Thread ID:
01104608
Message ID:
01104610
Views:
13
>j'ai cette chaine de caractère "/etc/france/variable/" et je voudrais extraire
>etc , france , variable et les mettre dans un listbox
>
>comment est-ce possible

Sur le principle d'un délimiteur, c'est deux fonctions pourront vous être utile:
* Return the number of parameters in a list
* expC1 Parameter list
* expC2 Delimiter (default is the comma)
FUNCTION ParmCnt
PARAMETER tcParms,tcDelimiter
LOCAL lcDelimiter
IF TYPE('tcDelimiter')<>'C'
   lcDelimiter=','
   ELSE
   lcDelimiter=tcDelimiter
ENDIF
RETURN IIF(EMPTY(tcParms),0,OCCURS(lcDelimiter,tcParms)+1)


* Return a parameter value from a list
* expC1 Parameter list
* expN1 Parameter number
* expC2 Delimiter (default is the comma)
FUNCTION GetParm
PARAMETERS tcParms,tnNo,tcDelimiter
LOCAL lcDelimiter,lnBPos,lnEPos
IF TYPE('tcDelimiter')<>'C'
   lcDelimiter=','
   ELSE
   lcDelimiter=tcDelimiter
ENDIF
lnBPos=AT(lcDelimiter,lcDelimiter+tcParms+lcDelimiter,tnNo)
lnEPos=AT(lcDelimiter,lcDelimiter+tcParms+lcDelimiter,tnNo+1)
RETURN SUBSTR(tcParms,lnBPos,lnEPos-lnBPos-1)
En gros, vous pouvez les utiliser comme suit:
LOCAL lcString,lnOccurence,lnCounter,lcParameter
lcString="/etc/france/variable/"
lnOccurence=ParmCnt(lcString,"/")
FOR lnCounter=1 TO lnOccurence
   lcParameter=GetParm(lcString,lnCounter)
NEXT
...à tester
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform