Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Stripping
Message
De
09/04/2008 12:37:47
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Divers
Thread ID:
01309362
Message ID:
01309420
Vues:
9
I only had to tweak a couple things and it worked great. Thanks!

>>>First, do not use CHRTRAN() use STRTRAN():
>>>
>>>m.ReplaceWith = ''
>>>m.PrefixSearchString = [ MR MRS MS MISS DR PROF SIR MASTER REV REVERAND ETC ]
>>>FOR x = 1 TO GETWORDCOUNT( m.PrefixSearchString )
>>>    m.LookFor = [ ]+ALLTRIM(UPPER(GETWORDNUM(m.PrefixSearchString,x)))+[ ]
>>>    tcName    = STRTRAN([ ]+UPPER(tcName)+[ ],m.LookFor,m.ReplaceWith)
>>>ENDFOR
>>>
>>
>>Ok, that worked. Mostly. The other thing that is happening is that tcName is getting converted to uppercase, which is not what I want. How can I preserve the case and still get a valid replacement?
>
>You can't unfortunately. You should use other approach:
>
>m.ReplaceWith = ''
>m.PrefixSearchString = [ MR MRS MS MISS DR PROF SIR MASTER REV REVERAND ETC ]
>m.lcNewName = []
>FOR x = 1 TO GETWORDCOUNT( m.PrefixSearchString )
>    m.LookFor = ALLTRIM(UPPER(GETWORDNUM(m.PrefixSearchString,x)))+[ ]
>    lnAt      = AT(m.LookFor,UPPER(tcName)+[ ]) # 0
>    DO WHILE lnAt # 0
>       m.lcNewName = LEFT(tcName, lnAt-1) + m.LookFor + SUBSTR(m.tcName, lnAt+LEN(m.LookFor))
>       tcName      = SUBSTR(m.tcName, lnAt+LEN(m.LookFor))
>       lnAt        = AT(m.LookFor,UPPER(tcName)+[ ]) # 0
>   ENDDO
>ENDFOR
>tcName = IIF(EMPTY(m.lcNewName),m.tcName, m.lcNewName)
>
>That is NOT tested at all.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform