|
#1
|
|||
|
|||
Растолкуйте код
Есть такая функция, которая должна разделять текст на части, но понять код не могу - помагите пожалуйста.
Код:
function Token(S: string; Num: integer; const Delimiter: string = ' '): string; var i: integer; begin S := S + Delimiter; for i := 1 to Num - 1 do Delete(S, 1, Pos(Delimiter, S) + Length(Delimiter) - 1); Result := Trim(Copy(S, 1, Pos(Delimiter, S) - 1)); end; |
#2
|
|||
|
|||
Функция отрезает Num первых слов от начала строки S, где слова разделяются разделителем, указанным в Delimiter, по умолчанию - пробел.
|
#3
|
|||
|
|||
Если не затруднит, можно подробнее, меня интересует, что происходит в этих двух строчках:
Код:
Delete(S, 1, Pos(Delimiter, S) + Length(Delimiter) - 1); Result := Trim(Copy(S, 1, Pos(Delimiter, S) - 1)); |
#4
|
|||
|
|||
Цитата:
Delete() - удаляет из строки S все символы с позиции 1 длиною Pos(Delimiter, S) + Length(Delimiter) - 1 Pos(Delimiter, S) - ущет позицию Delimiter в строке S Length(Delimiter) - длина строки Delimiter Copy() копируем сиволы строки S с позиции 1 и длиною Pos(Delimiter, S) - 1 Trim() возвращет строку с удаленными пробелами вначале и вконце |
#5
|
|||
|
|||
Спасибо вам
|