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
|
|