请问delphi里的as,is的功能是什么?他们有什么区别?谢谢各位了!

jsw0525 2002-02-20 04:29:22
请问delphi里的as,is的功能是什么?他们有什么区别?谢谢各位了!
对于这两个问题我我一直还没搞清楚,谢谢各位的帮助了
...全文
93 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsw0525 2002-02-20
  • 打赏
  • 举报
回复
分已经给了,谢谢了
jsw0525 2002-02-20
  • 打赏
  • 举报
回复
谢谢
bisc_sunny(分特中)
请收分,就当新年礼物。
不过我还想请问,好象有些类型不能转换呀?
是哪些呀,谢谢了
格兰特杨 2002-02-20
  • 打赏
  • 举报
回复
在有些时候Sender被声明成TWinControl或干脆就是TObject,
这时如果直接调用Sender.Text就会出现编译失败
因为TObject没有Text这个Property,就要使用(Sender as TEdit).Text。

在判断一个对象是不是某个类(或其子类)时可用is。
var
Edit1: TEdit;
这样,(Edit1 is TObject)和(Edit1 is TEdit)都返回True。
因为Edit1是TEdit类,而TEdit是TObject的子类。
jsw0525 2002-02-20
  • 打赏
  • 举报
回复


to :chechy(chechy

你不要急嘛,分肯定会给你的拉。
我还想请问你什么情况下需要用到他们,为什么要用到他们?
还有就是在哪些情况下可以转换?
jsw0525 2002-02-20
  • 打赏
  • 举报
回复
as是类型转化,如果转化失败可以抛出例外
是什么意思?
jsw0525 2002-02-20
  • 打赏
  • 举报
回复
to :chechy(chechy
在哪些情况下需要用到他们呢?
为什么要用他们?
谢谢了
chechy 2002-02-20
  • 打赏
  • 举报
回复
with Sender as TEdit do
if Sender is TEdit then
jsw0525 2002-02-20
  • 打赏
  • 举报
回复

谢谢chechy了。你可以再说清楚一点吗?
最好举个例子。
什么情况下要用到as ,is????,为什么要用他们???
分是一定会给的。谢谢了。:)
chechy 2002-02-20
  • 打赏
  • 举报
回复
as是类型转化,如果转化失败可以抛出例外
is是类型判断,返回boolean值
两者都是RTTI的概念。
jsw0525 2002-02-20
  • 打赏
  • 举报
回复
请各位开开口了。:)
我在线等待

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧