DZ-Jay wrote: > 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: > S := 'AUTH=LOGIN CRAM-MD5 PLAIN'; > > 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));
Yes, you are right, I have to read the list more carefully! I'm actually too tired to say something usefull, it's late... Bye bye --- Arno Garrels [TeamICS] -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be