[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# Copy

Copy part of a string.

## Declaration

Source position: system.fpd line 80

`function Copy(`
`S: AStringType;`
`Index: SizeInt;`
`Count: SizeInt`
`):string; function Copy(`
`A: DynArrayType;`
`Index: SizeInt;`
`Count: SizeInt`
`):DynArray;`

## Description

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.

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

Delete |  | Delete elements (characters) from a string or dynamic array.
Insert |  | Insert one string or dynamic array in another.
Pos |  | Search for substring in a string.

## Example

    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.