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
WriteLn('myString = '+myString);
end;
|
Show full unit code |
Hello World, how is everyone?
|
|
Example code : Using fixed length strings in a record |
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
WriteLn('Customer name = '+customer.firstName+
' '+customer.lastName);
end;
|
Show full unit code |
Customer name = John Smith
|
|