Arno Garrels wrote:
>>If the Index is not zero-based (starts with 1), then it should be 6,
>>otherwise you'd get '=AUTH' or ' AUTH'.  
> But S is _not_ an array, it is a String type.
> At index 0 of a String you have the length. 

Right, so then the Index argument starts at 1 to mark the first 
character.  That means that if you start with:
        S := '250-AUTH=LOGIN CRAM-MD5 PLAIN';

and then do:
        Delete(S, 1, 4);

you are left with:

So now, if you do:
        S := Copy(S, 5, Length(S));

then you get:
        S := '=LOGIN CRAM-MD5 PLAIN';

Because it started copying at the 5th character, no?

This is why St├ęphane mentioned that the Index should be changed to a 6. 
  I think you thought he was talking about the 5 in the third argument of
        if (CompareText(Copy(S, 1, 5), 'AUTH ') = 0) or

Instead of the 5 in the second argument of
        S := Copy(S, 5, Length(S));


To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to