Hi!
Well, it looks like VFP can handle long strings, but certain functions do not work with them.
Try following in a command window:
aaa=replicate('abcdabcdabcdabcd',1024)
aaa=replicate('abcdabcdabcdabcd',1023) && with 1024 it already throws an error.
? len(aaa) && displays 16760832
aaa=aaa+aaa
? len(aaa) && displays 33521664 - 32 MB!
? substr(aaa,30000000,10) && displays 'dabcdabcda'
I did not tested greater length because it becomes slooooow on my 64MB RAM machine.
HTH.
>Under Visual FoxPro Documentation - Using Visual FoxPro - Programmer's Guide - Appendix - Visual FoxPro System Capacities. The Maximum # of characters per character string or memory variable is 16 MB. I ran into this particlular issue when attempting to test a supposed problem with ADIR() and > 1GB files (posted by George T. the other day). When I passed a string longer than 16 MB to replicate() to build a file, VFP threw an error.
>
>VFP must store passed expressions as internal variables before continuing and it ran over this limit.
Vlad Grynchyshyn, Project Manager, MCP
vgryn@yahoo.comICQ #10709245
The professional level of programmer could be determined by level of stupidity of his/her bugs
It is not appropriate to say that question is "foolish". There could be only foolish answers. Everybody passed period of time when knows nothing about something.