Carlos & Fabio,
FWIW the VFP based code you've posted averages 1.264 seconds to process this string:
m.lcString = replicate( "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+", 10000 )
Which is 21 times slower than the straight C++ code I posted. It just goes to show that while VFP can do string stuff pretty fast, it's nowhere near as fast as a decent chunk of C++ code.
>>double space, double fast: