Char

From Free Pascal wiki
Revision as of 17:29, 11 June 2016 by FPC user (talk | contribs) (add Char() type cast)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) italiano (it) русский (ru)

A char is currently a single character, and a synonym for AnsiChar. However, in the future, char may become a synonym for WideChar. For now, byte and a char are the same thing, except a char can be used as a character, or as part of a string type, and cannot be used in an arithmetic expression, while a byte can only be referred to as a numeric type.

For example:

 var ch: char;
      c: byte; 

 begin
   ch := 'A';  c := 65;  { are the same action, and are legal }
   ch := 65;   c := 'A'; { while they are internally the same values, direct assignment between Chars and Bytes is illegal }
 end.

The use of char or byte as a data type provides better documentation as to the purpose of the use of the particular variable. The char type can be coerced to byte by using the ord function. Byte type values can be coerced to char by using the chr function.

type chars functions follows the ASCII.

The above program corrected to legal use:

 var ch: char;
      c: byte; 

 begin
    ch := 'A';      c := 65;        { are the same action, and are legal }
    ch := chr(65);  c := ord('A');  { now legal }
    ch := Char(49); c := Byte('A'); { also legal and guaranteed to happen at compile time }
 end.

See also


navigation bar: data types
simple data types

boolean byte cardinal char currency double dword extended int8 int16 int32 int64 integer longint real shortint single smallint pointer qword word

complex data types

array class object record set string shortstring