Description |
The Copy function has 2 forms. In the first, it creates a new string from part of an existing string. In the second, it creates a new array from part of an existing array.
1.String copy
The first character of a string has index = 1.
Up to Count characters are copied from the StartChar of the Source string to the returned string.
Less than Count characters if the end of the Source string is encountered before Count characters have been copied.
2.Array copy
The first element of an array has index = 0.
Up to Count elements are copied from the StartIndex of the Source array to the returned array.
Less than Count elements if the end of the Source array is encountered before Count elements have been copied.
|
|
Notes |
For string copying, a StartChar less than 1 is treated as 1.
To guarantee copying to the end of the string or array, use the MaxInt constant as the Count value.
When copying multi-dimensional arrays, only the first dimension is copied. The elements of all but the final dimension of an array are all pointers to sub-arrays that make up the whole array. After the copy, the target array elements continue to point to the sub-arrays of the source array. These sub-arrays are thereby shared by both the source and target arrays. You have been warned!
|
|
Related commands |
AnsiReplaceStr |
|
Replaces a part of one string with another |
Concat |
|
Concatenates one or more strings into one string |
Delete |
|
Delete a section of characters from a string |
Insert |
|
Insert a string into another string |
Move |
|
Copy bytes of data from a source to a destination |
StringOfChar |
|
Creates a string with one character repeated many times |
StringReplace |
|
Replace one or more substrings found within a string |
StuffString |
|
Replaces a part of one string with another |
WrapText |
|
Add line feeds into a string to simulate word wrap |
|
|
|
Example code : String copy |
var
Source, Target : string;
begin
Source := '12345678';
Target := Copy(Source, 3, 4);
ShowMessage('Target : '+Target);
end;
|
Show full unit code |
Target : 3456
|
|
Example code : Array copy |
var
i : Integer;
Source, Target : array of Integer;
begin
SetLength(Source, 8);
for i := 1 to 8 do // Build the dynamic source array Source[i-1] := i; // Remember that arrays start at index 0
Target := Copy(Source, 3, 4);
for i := 0 to Length(Target) -1 do // Display the created array
ShowMessage('Target['+IntToStr(i)+'] : '+IntToStr(Target[i]));
end;
|
Show full unit code |
Target[0] : 4
Target[1] : 5
Target[2] : 6
Target[3] : 7
|
|