| 分類 | 運算符 | 操作 | 操作數 | 結果類型 | 范例 |
|---|---|---|---|---|---|
| 算術運算符 | + | 加 | 整數,實數 | 整數,實數 | X + Y |
| - | 減 | 整數,實數 | 整數,實數 | Result - 1 | |
| * | 乘 | 整數,實數 | 整數,實數 | P * InterestRate | |
| / | 實數除 | 整數,實數 | 實數 | X / 2 | |
| div | 整數除 | 整數 | 整數 | Total div UnitSize | |
| mod | 取模 | 整數 | 整數 | Y mod 6 | |
| +(一元) | 符號等同 | 整數,實數 | 整數,實數 | +7 | |
| -(一元) | 符號相反 | 整數,實數 | 整數,實數 | -X | |
| 布爾運算符 | not | 否定 | 布爾型 | Boolean | not (C in MySet) |
| and | 與 | 布爾型 | Boolean | Done and (Total > 0) | |
| or | 或 | 布爾型 | Boolean | A or B | |
| xor | 異或 | 布爾型 | Boolean | A xor B | |
| 邏輯(按位)運算符 | not | 按位否定 | 整數 | 整數 | not X |
| and | 按位與 | 整數 | 整數 | X and Y | |
| or | 按位或 | 整數 | 整數 | X or Y | |
| xor | 按位異或 | 整數 | 整數 | X xor Y | |
| shl | 按位左移 | 整數 | 整數 | X shl 2 | |
| shr | 按位右移 | 整數 | 整數 | Y shr I | |
| 字符串運算符 | + | 連接 | 字符串、壓縮串、字符 | 字符串 | S + '.' |
| 指針運算符 | + | 指針加 | 字符指針,整數 | 字符指針 | P + I |
| - | 指針減 | 字符指針,整數 | 字符指針,整數 | P - Q | |
| ^ | 指針解除參照 | 指針 | 指針的基類型 | P^ | |
| = | 相等 | 指針 | Boolean | P = Q | |
| <> | 不等 | 指針 | Boolean | P <> Q | |
| 集合運算符 | + | 並集 | 集合 | 集合 | Set1 + Set2 |
| - | 差集 | 集合 | 集合 | S – T | |
| * | 交集 | 集合 | 集合 | S * T | |
| <= | 子集 | 集合 | Boolean | Q <= MySet | |
| >= | 超集 | 集合 | Boolean | S1 >= S2 | |
| = | 相等 | 集合 | Boolean | S2 = MySet | |
| <> | 不等 | 集合 | Boolean | MySet <> S1 | |
| in | 成員 | 序數,集合 | Boolean | A in Set1 | |
| 關系運算符 | = | 相等 | 簡單類型、類、類引用、接口、串、壓縮串 | Boolean | I = Max |
| <> | 不等 | 簡單類型、類、類引用、接口、串、壓縮串 | Boolean | X <> Y | |
| < | 小於 | 簡單類型、串、壓縮串、PChar | Boolean | X < Y | |
| > | 大於 | 簡單類型、串、壓縮串、PChar | Boolean | Len > 0 | |
| <= | 小於或等於 | 簡單類型、串、壓縮串、PChar | Boolean | Cnt <= 1 | |
| >= | 大於或等於 | 簡單類型、串、壓縮串、PChar | Boolean | I >= 1 | |
| 類運算符 | as | 轉換 | 類和類的實例 | ||
| is | 判斷 | ||||
| = | 關系運算符 = 和 <> 也作用於類 | ||||
| <> | |||||
| 地址(@)運算符 | @X | 如果X是一個變量,那么@X返回X的地址。 當編譯指示 {$T-} 有效時,@X是Pointer類型; 而在編譯指示 {$T+} 狀態下時,@X是 ^T 類型,這里的T是X的類型。 | |||
| @F | 如果 F 是一個例程(函數或過程),那么@F返回F 的入口點,@F的類型總是Pointer。 |
||||
| @類中方法 | 當 @ 適用於定義在類中的方法時,方法標識符必需被類的名稱限定。例如: @TMyClass.DoSomething | ||||
| 分類 | 范圍 | 字節 | 備注 | |||
| 簡單類型 | 序數 | 整數 | Integer | -2147483648 .. 2147483647 | 4 | 有符號32位 |
| Cardinal | 0 .. 4294967295 | 4 | 無符號32位 | |||
| Shortint | -128 .. 127 | 1 | 有符號8位 | |||
| Smallint | -32768 .. 32767 | 2 | 有符號16位 | |||
| Longint | -2147483648 .. 2147483647 | 4 | 有符號32位 | |||
| Int64 | -263 .. 263 | 8 | 有符號64位 | |||
| Byte | 0 .. 255 | 1 | 無符號8位 | |||
| Word | 0 .. 65535 | 2 | 無符號16位 | |||
| Longword | 0 .. 4294967295 | 4 | 無符號32位 | |||
| 字符 | AnsiChar(Char) | ANSI字符集 | 8位 | |||
| WideChar | Unicode字符集 | 16位 | ||||
| 布爾 | Boolean | False < True Ord(False) = 0 Ord(True) = 1 Succ(False) = True Pred(True) = False | 1 | |||
| ByteBool | False <> True Ord(False) = 0 Ord(True) <> 0 Succ(False) = True Pred(False) = True | 1 | ||||
| WordBool | 2 | |||||
| LongBool | 4 | |||||
| 枚舉 | ||||||
| 子界 | ||||||
| 實數 | Real | 5.0×10-324 .. 1.7×10308 | 8 | [精度]15..16 | ||
| Real48 | 2.9×10-39 .. 1.7×1038 | 6 | [精度]11..12; 向后兼容 | |||
| Single | 1.5×10-45 .. 3.4×1038 | 4 | [精度]7..8 | |||
| Double | 5.0×10-324 .. 1.7×10308 | 8 | [精度]15..16 | |||
| Extended | 3.6×10-4951 .. 1.1×104932 | 10 | [精度]19..20 | |||
| Comp | -263 + 1 .. 263 - 1 | 8 | [精度]19..20 | |||
| Currency | -922337203685477.5808 .. 922337203685477.5807 | 8 | [精度]19..20 | |||
| 字符串 | ShortString | 255個字符 | 2..256B | 向后兼容 | ||
| AnsiString | 大約 231 個字符 | 4B..2GB | 8位(ANSI)字符 | |||
| WideString | 大約 230 個字符 | 4B..2GB | 多用戶服務和 多語言應用程序; 和com定義的BSTR兼容 | |||
| 其他 | String String[0..255] PChar PAnsiString PWideString | |||||
| 結構類型 | 集合 | Set | 最多256個元素[0..255] | |||
| 數組 | 靜態數組 | |||||
| 動態數組 | ||||||
| 記錄 | Record | |||||
| 文件 | File | |||||
| 類 | Class | |||||
| 類引用 | Class reference | |||||
| 接口 | Interface | |||||
| 指針類型 | 無類型指針 | Pointer | ||||
| 有類型指針 | 預定義類型指針 | PAnsiString PString PByteArray PCurrency PDouble PExtended PSingle PInteger POleVariant PShortString PTextBuf PVarRec PVariant PWideString PWordArray | ||||
| 過程類型 | 程序過程類型 | Procedural | ||||
| 對象過程類型 | Procedural | |||||
| 變體類型 | Variant | |||||
| OleVariant | ||||||
