CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

[考题]如何修改函数中常量参数的值

楼主zswang(伴水清清)(专家门诊清洁工)2006-11-16 11:06:18 在 Delphi / VCL组件开发及应用 提问

function   f(const   Param:   Integer):   Integer;  
  begin  
      {   TODO   :   实现   Param   =   1234   }  
   
      Result   :=   Param;  
  end;  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      Caption   :=   IntToStr(f(1000));   //   1234  
  end;  
  问题点数:17、回复次数:9Top

1 楼vividw(vividw)回复于 2006-11-16 11:12:46 得分 7

var  
      p:PInteger;  
   
      p:=   @Param;  
      p^:=1234;Top

2 楼do2008(aiGooo·闲来吹吹牛,不亦乐乎)回复于 2006-11-16 11:15:50 得分 7

function   f(const   Param:   Integer):   Integer;  
  var  
      P:^integer;  
  begin  
  {   TODO   :   实现   Param   =   1234   }  
      P   :=   @Param;  
      P^   :=   1234;  
      Result   :=   Param;  
  end;Top

3 楼zswang(伴水清清)(专家门诊清洁工)回复于 2006-11-16 11:26:01 得分 0

1楼、2楼正确  
  function   f(const   Param:   Integer):   Integer;  
  begin  
      {   TODO   :   实现   Param   =   1234   }  
      PInteger(@Param)^   :=   1234;  
   
      Result   :=   Param;  
  end;  
   
  总结:语法是可以驾驭的,别被语法限制了思维  
   
  不同高级语言编译后都是一样的机器指令,语法只是编译器和程序员交互用Top

4 楼zswang(伴水清清)(专家门诊清洁工)回复于 2006-11-16 11:40:51 得分 0

//再看一招:  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      PPointer(@Self)^   :=   Button1;  
      Caption   :=   'Zswang';  
  end;Top

5 楼vividw(vividw)回复于 2006-11-16 11:42:13 得分 1

似乎再哪里看过...Top

6 楼ccrun(老妖)(www.ccrun.com)回复于 2006-11-16 11:43:56 得分 1

好。支持一哈。Top

7 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2006-11-16 11:46:36 得分 1

玩得下哦~Top

8 楼kjiwu(阿磊)回复于 2006-11-16 15:09:32 得分 0

各位高人,新手向大家请教,看看我理解的对不对,指针我不太会;  
  P^   :=   123;就是直接更改的PARAM的内存地址中的值对吧,所以以后不论赋什么值都是"123"对吧!  
  谢谢高手赐教先!  
  Top

9 楼zswang(伴水清清)(专家门诊清洁工)回复于 2006-11-16 15:35:17 得分 0

to   kjiwu:你理解对,就是修改指针指向的地址中存储的值  
  var  
      A:   Char;  
      B:   Byte;  
  begin  
      A   :=   Char(B);   //   计算机里是没有语法中所谓的类型,对于计算机来说就是0和1  
                                  //   如果两个变量的存储空间相同,那就可以互相直接转换了  
  end;Top

相关问题

关键词

得分解答快速导航

  • 帖主:zswang
  • vividw
  • do2008
  • vividw
  • ccrun
  • ly_liuyang

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo