Copy function
Copy part of a string or dynamic array.
Declaration
function Copy(S: AStringType; Index: SizeInt; Count: SizeInt): stringDescription
Copy returns a string which is a copy if the
Count characters
in
S, starting at position
Index. If
Count is larger than
the length of the string
S, the result is truncated.
If
Index is larger than the length of the string
S, then an
empty string is returned.
Index is 1-based.
For dynamic arrays, Copy returns a new dynamic array of the same type as
the original one, and copies Count elements from the old array,
starting at the position in Index. Both the Index and Count arguments are optional: if none are specified, the whole array is copied.
This is useful to make sure you have a reference count of 1 on the dynamic array (i.e. similar to UniqueString).
Note that the copy is a shallow copy, i.e. sub-arrays are not copied as well.
The Count argument can be omitted.
In that case, the string (or dynamic array) is copied from the position Index till the end of the string or array.
Errors
None.
See also
Example: ex11
Program Example11;
{ Program to demonstrate the Copy function. }
Var S,T : String;
begin
T:='1234567';
S:=Copy (T,1,2); { S:='12' }
S:=Copy (T,4,2); { S:='45' }
S:=Copy (T,4,8); { S:='4567' }
end.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
