DelphiFAQ Home Search:
General :: Programming :: Delphi :: Strings
Algorithms for string handling problems, implemented in Delphi but useful for any procedural language.

Articles:

This list is sorted by recent document popularity (not total page views).
New documents will first appear at the bottom.

Featured Article

Casting a (long) String to a PChar

There are three ways to cast a String to a pchar:


  1. typecast as pchar
  2. take the address of the first character:
  3. and typecast the string to a generic pointer.


For a comparison, read the comments in the following code snippet:

var
   s : String; // long
   p : PChar;
 begin
   // Typecast as pchar 
   // Typecasting a string to a PChar returns the address of the first char
   // or if the string was empty it returns the address of a null. 
   // Result p is guaranteed to be non-nil!
   p := PChar(s);
   
   // Take address of the first character
   // this forces a call to UniqueString() to ensure that the pchar returned
   // points to a unique string only referenced by s and not by another string:
   p:=@s[1];
 
 
   // Typecast the string to an untyped pointer
   // The simplest and fastest solution; no hidden function call is generated.
   p := pointer(s);
 end.

Generated 20:01:41 on Oct 22, 2017