Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Using TEXT - ENDTEXT
Message
 
 
To
06/01/2009 13:17:12
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 8 SP1
Miscellaneous
Thread ID:
01371436
Message ID:
01371455
Views:
23
You can use ; and then you would not need to eliminate carriage returns, e.g.

create cursor myName ;
(field1 ..., ;
field2 ... )


>I need to create a cursor on the fly. The field names are known, but the lengths depend on the length of an equivalent field in a different table. In addition, I need to add a variable number of integer fields. I can do this easily enough by piecing together a string variable
>CLOSE TABLES all
>CLEAR
>USE pop
>
>lcTry1 = "CREATE CURSOR output (F2 C(" + TRANSFORM(LEN(pop.f2)) +;
>             ", CITY C(" + TRANSFORM(LEN(pop.city))
>FOR I = 1 TO 10
>	lcTry1 = lcTry1 + ",QTY" + TRANSFORM(I) + " int"
>ENDFOR
>lcTry1 = lcTry1 + ")"	
>EXESCRIPT(lcTry1)
>
>
>(Almost) every time I see a post like this there is the suggestion to use TEXTMERGE as that makes the code more readable. I've rarely used this in the past and I can use some help getting it done properly. What I've come up with so far is
>CLOSE TABLES all
>CLEAR
>USE pop
>
>TEXT TO lcTry2 NOSHOW TEXTMERGE
>CREATE CURSOR output (
>   F2 C(<<LEN(pop.f2)>>),
>   CITY C(<<LEN(pop.city)>>)
>ENDTEXT
>FOR I = 1 TO 10
>    TEXT TO lcTry2 NOSHOW TEXTMERGE ADDITIVE
>       ,QTY<<I>> int
>    ENDTEXT
>ENDFOR
>
>TEXT TO lcTry2 NOSHOW TEXTMERGE ADDITIVE
>   )
>ENDTEXT
>EXECSCRIPT(CHRTRAN(lcTry2,CHR(13)+CHR(10),""))
>
>I'm looking for some help in
>
>1. Making the code a little cleaner
>2. Some parameter to TEXT which will eliminate the need to strip the CR/LF characters from the result
>
>Thanks to all........Rich
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform