Difference between revisions of "ReNamer:Pascal Script:Types"

From den4b Wiki
Jump to navigation Jump to search
m
Line 75: Line 75:
  
 
'''Note:''' [[Unicode]] article highlights the difference between Unicode and Ansi.
 
'''Note:''' [[Unicode]] article highlights the difference between Unicode and Ansi.
 +
 +
== Pointer types ==
 +
 +
{| class="wikitable"
 +
! Type
 +
! Description
 +
|-
 +
| '''PChar'''
 +
| Pointer to a Char value, and can also be used to point to characters within a string
 +
|}
  
 
== Other types ==
 
== Other types ==
Line 116: Line 126:
 
</pre>
 
</pre>
  
| An enumeration is simply a fixed range of named values.
+
| An enumeration is simply a fixed range of named values
 
|-
 
|-
 
|
 
|
Line 145: Line 155:
 
| '''TDateTime'''
 
| '''TDateTime'''
 
| Double
 
| Double
| Holds date and time.
+
| Holds date and time
 
|-
 
|-
 
| '''TStringsArray'''
 
| '''TStringsArray'''
 
| Array of WideString
 
| Array of WideString
| Holds an indexable sequence of WideString.
+
| Holds an indexable sequence of WideString
 
|}
 
|}
 
[[Category:ReNamer]]
 
[[Category:ReNamer]]

Revision as of 00:36, 27 November 2011

{{{iparam}}} This article needs to be expanded!

This page lists and explains all supported types in Pascal Script used within ReNamer.

Integer types

Type Size Range
Byte 1 byte 0 .. 255
ShortInt 1 byte -128 .. 127
Word 2 bytes 0 .. 65535
SmallInt 2 bytes -32768 .. 32767
Cardinal 4 bytes 0 .. 4294967295
Integer 4 bytes -2147483648 .. 2147483647

Floating point types

Type Size Range
Single 4 bytes 1.5 x 10-45 .. 3.4 x 1038
Double 8 bytes 5.0 x 10-324 .. 1.7 x 10308
Extended 10 bytes 3.6 x 10-4951 .. 1.1 x 104932

String types

Type Description
Char Stores a single Ansi character
String Holds a sequence of Ansi characters of any length
WideChar Stores a single Unicode character
WideString Holds a sequence of Unicode characters of any length

Note: Unicode article highlights the difference between Unicode and Ansi.

Pointer types

Type Description
PChar Pointer to a Char value, and can also be used to point to characters within a string

Other types

Type Description
Boolean Provides an enumeration of the logical True and False values
Array Single and multi dimensional indexable sequences of data
Record Provides means of collecting together a set of different data types into one named structure
Variant Provides a flexible general purpose data type

Enumerations and Sets

For example, the Boolean data type is itself an enumeration, with two possible values: True and False. If you try to assign a different value to a Boolean variable, the code will not compile.

Example Description
type
  TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
var
  Day: TDay;
begin
  Day := Mon;
  if Day <> Tue then
    Day := Wed;
end.
An enumeration is simply a fixed range of named values
type
  TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
  TDays = set of TDay;
var
  Days: TDays;
begin
  Days := [Mon, Tue, Wed];
  if Sun in Days then
    Days := Days - [Sun];
end.
Whereas enumerations allow a variable to have one, and only one, value from a fixed number of values, sets allow you to have any combination of the given values

Custom types

Several types are custom defined to simplify the usage of some functions.

Type Declared as Description
TDateTime Double Holds date and time
TStringsArray Array of WideString Holds an indexable sequence of WideString