CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  语言基础/算法/系统设计

c to pascal的转换数据类型的问题

楼主handsome1234(我太菜了,)2002-10-09 01:19:35 在 Delphi / 语言基础/算法/系统设计 提问

c中函数原形:  
  WORD   MCS_AutoTest(  
  BYTE   *_bCardType  
  );  
     
  我用dll静态调用,声明如下函数:  
  function       MCS_AutoTest(var   _bCardType   :   pchar   ):WORD;stdcall;external'MCS_SR.dll';  
  1   这样声明   参数类型不知对否?还有没有更好的方法?  
   
  2   如果函数调用成功_bCardType指向的是数字,  
  那我如何把它赋值给integer类型的变量呢?  
      我的方法:  
  var  
        bb,ReadData,ee:pchar;    
    begin      
        GetMem(bb,1);  
        myresult:=MCS_AutoTest(bb);//调用MCS_AutoTest函数,  
        cc:=StrToInt(bb^);   //这里有时运行时出错,有时没错,  
  问题点数:50、回复次数:3Top

1 楼copy_paste(木石三)回复于 2002-10-09 01:39:03 得分 20

还没睡,明天不用开工啊  
   
  WORD   MCS_AutoTest(  
  BYTE   *_bCardType  
  );  
   
  function   MCS_AutoTest(_bCardType:   PByte):   Word;  
   
  指针可以是Pointer,也可以是PChar,但一般我们转时,一般转对应的,如  
     
      BYTE   *   ==>   PByte;  
      char   *   ==>   PChar;  
      int   *   ==>   PInteger;  
   
  当然也可以是:var   b:   Byte;   var   c:   char;   var   i:   Integer;  
  但有时C里面的指针是数组来的,所以用var不太好,建立用PDataType这种,如果不知的话,可以声明为Pointer类型。  
   
  2:  
  var  
      W:   Word;  
      C:   PChar;  
  begin  
      GetMem(C,   1);  
      try  
          W   :=   MSC_AutoText(C);  
          ShowMessage(W);  
          ShowMessage(IntToStr(PByte(C)^));  
          ShowMessage(IntToStr(PInteger(C)^));  
      finally  
          FreeMem(C);  
      end;  
  end;  
   
  3:别再问我为什么了,我也不知道为什么这样写,大概delphi就是这样写的吧。Top

2 楼handsome1234(我太菜了,)回复于 2002-10-09 01:41:51 得分 0

先谢谢拉  
  Top

3 楼h_S2000(处理器)回复于 2002-10-09 01:51:23 得分 30

第一个问题可以使用LoadLibray也可以具体看Api;  
  第二个问题bb就是一个bb的值可能是字符比如'a'不是'1',于是有时候是出错,有时候不出错.另外,就是Delphi指针有时候不分的(看看Pchar的定义就可以)  
  代码如下写:"cc   :=   StrToInt(bb)"也是一样;Top

相关问题

  • C#类型转换
  • C++类型转换
  • c类型转换为c#
  • c类型转换为c#
  • 类型转换:《Thinking in C++》
  • C#类型转换问题!!!
  • C++数据类型转换
  • C#中的类型转换
  • 数据类型转换(C++/PB)
  • c中类型转换问题

关键词

  • 函数
  • 指针
  • word
  • autotest
  • bcardtype
  • mcs
  • 类型
  • pchar
  • 调用
  • 出错

得分解答快速导航

  • 帖主:handsome1234
  • copy_paste
  • h_S2000

相关链接

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

广告也精彩

反馈

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