Description |
The String data type is used to hold sequences of characters, like sentences.
String is by default, actually treated as a AnsiString. It can be treated as a ShortString if the $LongStrings compiler directive is set Off (the default is On).
An AnsiChar can hold any number of characters, restricted only by memory.
Version 2 however, forces the string to be a ShortString by defining a FixedSize (up to 255 characters) of the string. This is particularly important when creating many strings, and especially so when storing strings in records (as in example 2).
Strings can be assigned from other strings, from functions that return a string, and with concatenations as in the sample code.
|
|
Notes |
Strings are indexed with 1 for the first character (arrays start with 0 for the first element).
|
|
Related commands |
$LongStrings |
|
Treat string types as AnsiString or ShortString |
AnsiCompareStr |
|
Compare two strings for equality |
AnsiLowerCase |
|
Change upper case characters in a string to lower case |
AnsiPos |
|
Find the position of one string in another |
AnsiString |
|
A data type that holds a string of AnsiChars |
AnsiUpperCase |
|
Change lower case characters in a string to upper case |
Concat |
|
Concatenates one or more strings into one string |
Copy |
|
Create a copy of part of a string or an array |
Delete |
|
Delete a section of characters from a string |
Length |
|
Return the number of elements in an array or string |
Move |
|
Copy bytes of data from a source to a destination |
PString |
|
Pointer to a String value |
SetLength |
|
Changes the size of a string, or the size(s) of an array |
ShortString |
|
Defines a string of up to 255 characters |
WideString |
|
A data type that holds a string of WideChars |
|
|
|
Example code : Assigning to a string and then adding a bit more |
var
myString : String;
begin // Assign a famous sentence to this string
myString := 'Hello World';
// Add to this string
myString := myString + ', how is everyone?';
// Display the final myString value
ShowMessage('myString = '+myString);
end;
|
Show full unit code |
Hello World, how is everyone?
|
|
Example code : Using fixed length strings in a record |
// 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); type // Declare a customer record
TCustomer = Record
firstName : String[15];
lastName : String[30];
end;
var
customer : TCustomer;
begin // Set up the John's customer details
with customer do
begin
firstName := 'John';
lastName := 'Smith';
end;
// Now show the details of our customer
ShowMessage('Customer name = '+customer.firstName+
' '+customer.lastName);
end; end.
|
Hide full unit code |
Customer name = John Smith
|
|