Mega Code Archive

 
Categories / Delphi / Functions
 

Copy - create a copy of part of a string or an array system unit

1 function Copy ( Source : string; StartChar, Count : Integer ) : string; 2 function Copy ( Source : array; StartIndex, Count : Integer ) : array; 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