Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
TEXT ... ENDTEXT question
Message
De
04/04/2008 09:55:44
Mike Yearwood
Toronto, Ontario, Canada
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01307554
Message ID:
01308217
Vues:
12
>OK thanks, but I don't have the choice. This gives an error (but the Execscript works fine).
>
>cmsg = ''
>TEXT TO lcDoThis NOSHOW
>     cmsg = 'A' + ;
>     'B'+ 'C'
>ENDTEXT

Certainly you have a choice. Remove the semicolons! :)

lcDoThis = chrtran(m.lcDoThis,';','')

>&lcDoThis
>*Execscript(lcDoThis)
>Messagebox(cmsg)
>
>
>
>>Execscript is slower than &.
>>
>>>>>I want to build a long command line.
>>>>>
>>>>>This works OK:
>>>>>
>>>>>TEXT TO dothis
>>>>>cmsg = 'A' + 'B'+ 'C'
>>>>>ENDTEXT
>>>>>
>>>>>&dothis
>>>>>?cmsg
>>>>>
>>>>>
>>>>>Now trying to build a multi-line command:
>>>>>
>>>>>
>>>>>
>>>>>TEXT TO dothis
>>>>>cmsg = 'A' + ;
>>>>>'B'+ 'C'
>>>>>ENDTEXT
>>>>>
>>>>>&dothis
>>>>>?cmsg
>>>>>
>>>>>
>>>>>This gives an error (with or without the semi-colon). Is there a way to build up a command over more than one line?
>>>>>Cyril
>>>>
>>>>Don't use macro substitution. Use EXECSCRIPT() instead:
>>>>
>>>>TEXT TO lcDoThis NOSHOW
>>>>     cmsg = 'A' + 'B'+ 'C'
>>>>     MessageBox(cmsg)
>>>>ENDTEXT
>>>>EXECSCRIPT(lcDoThis)
>>>>
>>>
>>>Thanks for the EXECSCRIPT() suggestion. This works:
>>>
>>>cmsg = ''
>>>TEXT TO lcDoThis NOSHOW
>>>     cmsg = 'A' + ;
>>>     'B'+ 'C'
>>>ENDTEXT
>>>Execscript(lcDoThis)
>>>Messagebox(cmsg)
>>>
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform