Delphi Basics
PAnsiChar
Type
A pointer to an AnsiChar value System unit
  type PAnsiChar = ^AnsiChar;
Description
The PAnsiChar type is a pointer to an AnsiChar value.
 
It can also be used to point to characters within an AnsiString, as in the example code.
 
As with other pointers, integer arithmetic, such as Inc and Dec can be performed on a PAnsiChar variable, also shown in the example.
Notes
PAnsiChar is principally used when processing null-terminated (C-like) strings.
Related commands
$ExtendedSyntax Controls some Pascal extension handling
AnsiChar A character type guaranteed to be 8 bits in size
AnsiString A data type that holds a string of AnsiChars
Dec Decrement an ordinal variable
Inc Increment an ordinal variable
PChar A pointer to an Char value
PWideChar Pointer to a WideChar
 
Example code : Display all characters in an AnsiString
// Full Unit code.
// -----------------------------------------------------------
// You must store this code in a unit called Unit1 with a form
// called Form1 that has an OnCreate event called FormCreate.
 
unit Unit1;
 
interface
 
uses
  // The System unit does not need to be defined
  Forms, Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;
 
var
  
Form1: TForm1;
 
implementation
{$R *.dfm} // Include form definitions
 
procedure TForm1.FormCreate(Sender: TObject);

var
  myString  : AnsiString;
  myCharPtr : PAnsiChar;
  i : Integer;

begin
  // Create a string of AnsiChar's
  myString  := 'Hello World';

  // Point to the first character in the string
  i := 1;
  myCharPtr := Addr(myString[i]);

  // Display all characters in the string
  while i <= Length(myString) do
  begin
    ShowMessage(myCharPtr^);
    Inc(i);
    Inc(myCharPtr);
  end;
end;
 
end.
Hide full unit code
   H
   e
   l
   l
   o
  
   W
   o
   r
   l
   d
 
 
© CodeGear 2006 - 2007. All rights reserved.  |  Home Page