Delphi的类型转换

Delphi是一种强类型转换的语言。在VC中,赋值符用″=″,例如x=1;到了Delphi赋值符就变成了″:=″,例如x:=1。 从赋值时用符号″:=″而不用″=″,就隐约可见Delphi对类型匹配要求之严,即赋值符右边的类型一定要和左边一致。

用惯了VB或VC的程序员,初用Delphi,稍不留神,就会出现类型不匹配的错误。对初学者而言,类型转换也是学习Delphi的重点和难点,为此本文特对Delphi的类型转换做一总结,以供读者参考。 

一、数的类型转换

把表达式的类型从一种类型转化为另一种类型,结果值是把原始值截断或扩展,符号位保持不变。例如:

数的类型转换

举例

字符转换为整数

Integer('A')

整数转换为字符

Char(48)

整数转换为1个字节的逻辑型

Boolean(0)

整数转换为2个字节的逻辑型

WordBool(0)

整数转换为4个字节的逻辑型

LongBool(0)

整数转换为10进制pascal型字符串

caption:=intToStr(15)

整数转换为16进制pascal型4位字符串

caption:=intToHex(15,4)

地址转换为长整型数

Longint(@Buffer)

时间: 2024-11-02 12:42:42

Delphi的类型转换的相关文章

[Delphi]类型强制和转换

                                                              [Delphi]类型强制和转换     Delphi是一种强类型转换的语言.在VC中,赋值符用″=″,例如x=1;到了Delphi赋值符就变成了″:=″,例如x:=1. 从赋值时用符号″:=″而不用″=″,就隐约可见Delphi对类型匹配要求之严,即赋值符右边的类型一定要和左边一致.用惯了VB或VC的程序员,初用Delphi,稍不留神,就会出现类型不匹配的错误.对初学者而言

浅议Delphi中的Windows API调用

为了能在Windows下快速开发应用程序,Delphi对Windows的控件都进行了很好的封装,这样,我们就可以直接使用Delphi的控件来编写程序,而不用使用格式.调用控制复杂的API来进行开发,为我们节省了大量的开发时间. 可有时候这些控件解决不了我们的问题,这个时候我们就不得不使用API了,也就是Windows的应用程序接口.这样,问题也就随之而来了,API是用C++语言编写的,而Delphi的脚本语言是PASCAL,两者使用的数据类型是不兼容了.那么,如何在Delphi中调用数据类型不兼

EhLib 4.1在Delphi 2007下无法过滤和排序的问题

今天将一个程序升级到了 Delphi 2007,该程序是用Delphi7开发的,程序中用到了一个第三方组件EhLib. 原先的 EhLib 是v3.6,无法在Delphi2007下安装,所以安装了最新的 v4.1. 原先正常的程序,在升级后,发现 DBGridEh 无法进行排序和过滤,执行操作时无反应.后来发现,如果选择本地过滤和排序的话,一切都会正常:如果是服务器端排序和过滤,则无法正常执行,错误信息为类型转换错误. 跟踪EhLib代码发现,是DBUtilsEh.pas文件中的SetDataS

Delphi接口编程的两大陷阱

陷阱一.接口的类型转换陷阱 a) 不能把一个对象引用强制转换成这个引用的类型没有声明实现的接口,即使这个对象实际实现了这个接口(呵呵,优点拗口). b) 当把一个对象变量赋给一个接口变量,在把这个接口变量赋还给对象变量时,这个对象变量的地址已经变了,也就是不再是原来的对象了,而是指向一个错误的地址. 例如: I1 = interfacefunction Do: Boolean;end;TC1 = ClassATT1: Integer;end;TC2 = Class(TC1, I1)ATT2: I

基于Delphi的异常处理技术探究

引言 在程序运行过程中,往往出现一些意外错误状态而导致程序无法运行下去的情况.因此 在实现程序功能的同时,必须考虑如何处理程序运行过程中可能出现的各种异常情况.所谓异常是指打断程序正常流程的.非常见或意外的状态.打开文件时按路径找不到文件.不能分配所需的内存等.现本人结合实际就Delphi中异常的产生.来源以及实现异常处理的方法进行探讨. 异常的来源 异常可由一些不同的资源产生,用户的程序可以因为不正常状态产生异常,Delphi的组件可以因为不同的事件产生异常,把越界值赋给属性或尝试为不存在的数

018_《Delphi下深入Windows核心编程》

<Delphi下深入Windows核心编程> Delphi 教程 系列书籍 (018) <Delphi下深入Windows核心编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3     书名: Delphi下深入Windows核心编程 作者: 飞思科技产品研发中心 出版社: 电子工业出版社 书号: 7505384023 出版日期:2003年1月 开本: 787*1092 1/16 页码: 525 版次: 2003年1

022_《Delphi模式编程》

<Delphi模式编程> Delphi 教程 系列书籍 (022) <Delphi模式编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf   作者: 刘艺 丛书名: Borland/Inprise核心技术丛书 出版社:机械工业出版社 ISBN:7111149491 上架时间:2004-9-11 出版日期:2004 年9月 开本:16开 页码:509 版次:1-1 内容简介 <delphi模式编程>是一本delphi程序员的模式入门和

Delphi记录类型

  学习结构[记录]类型(1) - 开始 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); proc

Delphi数组

  静态数组的定义方法 //1. 标准方法: var MyArr: array[0..10] of Integer; //定义静态数组 //2. 可以使用非0下标: var MyArr: array[9..10] of Integer; //不能提倡,这样不容易与系统函数沟通 //3. 根据预定义类型来声明数组: type TMyArr = array[0..10] of Integer; //先定义一个数组类型 var MyArr: TMyArr; //再定义静态数组 //4. 在非过程区可以