System ReallocMem (Delphi)
From RAD Studio XE2 Code Examples
Language:
Description
The following code demostrates the use of ReallocMem function. Three edit boxes and a button are expected on the form.
Code
function FastStrCat(const S1, S2: String): String; var FinalStr: PChar; begin { Allocated enough space in FinalStr to copy the contents of the initial string, including the $00 character. } GetMem(FinalStr, (Length(S1) + 1) * SizeOf(Char)); { Copy the contents of the first string. } MoveChars(S1[1], FinalStr^, Length(S1) + 1); { Now expand the final string, including the $00 character. } ReallocMem(FinalStr, (Length(S1) + Length(S2) + 1) * SizeOf(Char)); { Copy the contents of the second string. } MoveChars(S2[1], FinalStr[Length(S1)], Length(S2) + 1); { Get the result in String. } SetString(Result, FinalStr, Length(S1) + Length(S2)); FreeMem(FinalStr); end; procedure TForm1.Button1Click(Sender: TObject); begin { Concatenate two strings. } Edit3.Text := FastStrCat(Edit1.Text, Edit2.Text); end;
Uses
- System.ReallocMem ( fr | de | ja )
- System.SetString ( fr | de | ja )
- System.MoveChars ( fr | de | ja )