> Arno Garrels wrote:
>>> From: Vander Clock Stephane
>>> I think you must replace
>>> S := Copy(S, 5, Length(S));
>>> S := Copy(S, 6, Length(S));
>> I don't know why, length of both strings is 5 not 6.
>> Typically the lines in question of a EHLO response look like
>> 250-AUTH=LOGIN CRAM-MD5 PLAIN
>> 250-AUTH CRAM-MD5 LOGIN PLAIN
> It depends on whether the Index argument (the second argument to Copy)
> is zero-based or not, and for that matter, Delete() also.
> Delete(S, 1, 4);
> if (CompareText(Copy(S, 1, 5), 'AUTH ') = 0) or
> (CompareText(Copy(S, 1, 5), 'AUTH=') = 0) then begin
> S := Copy(S, 5, Length(S));
> 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.
Arno Garrels [TeamICS]
If it is zero-based, then there
> is another problem, since the CompareText calls Copy() with an Index of
> 1, which means that it starts to delete at the second character, not to
> mention the call to Delete() uses an Index of 1 also.
> I cannot confirm right now (I do not have Delphi installed on this
> computer) which it is. Arno, can you verify?
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