谁帮我把下面的代码转成VB的,200分就是他的! (我要一定能调试通过)
 function registBoth(softwareSerialNum: PChar; EntName: PChar; LinkMan: PChar; Phone: PChar; Mobile: PChar; Email: PChar; Fax: PChar; sAddress: PChar; Postcode: PChar):boolean; stdcall; external 'CustsmsAPI.dll';
  function sendSMS(mobileNums: array of PChar; softwareSerialNum: PChar; smsContent: PChar): boolean; stdcall; external 'CustsmsAPI.dll';
  function getBalance(softwareSerialNum: Pchar; out unitPrice: real): real; stdcall; external 'CustsmsAPI.dll';procedure TForm1.Button2Click(Sender: TObject);
var
  sPhone: array of PChar;
  sMSG, sSN: PChar;
  s1: string;
begin
  SetLength(sPhone, 1);  sPhone[0]:=PChar(Edit11.Text);  // 手机号码数组;
  sMSG:=PChar(Edit12.Text);       // 短信内容;
  sSN:=PChar(Edit10.Text);        // 软件序列号;  if sendSMS(sPhone,sSN,sMSG) then
     ShowMessage('发送成功')
  else ShowMessage('发送失败');
end;

解决方案 »

  1.   

    咦!这个莫非就是传说中的PASCAL的后代DELPHI不成?
    恩,看着象哦,又是BEGIN又是VAR的。转DELPHI区去看看吧。
      

  2.   

    Private Declare Function registBoth Lib "CustsmsAPI.dll" (softwareSerialNum As String, EntName As String, LinkMan As String, Phone As String, Mobile As String, Email As String, Fax As String, sAddress As String, Postcode As String) As Boolean
    Private Declare Function sendSMS Lib "CustsmsAPI.dll" (mobileNums() As String, softwareSerialNum As String, smsContent As String) As Boolean
    Private Declare Function getBalance Lib "CustsmsAPI.dll" (softwareSerialNum As String, unitPrice As Double) As DoublePrivate Sub Command1_Click()
        Dim sPhone() As String, sMSG, sSN As String, s1 As String
        ReDim sPhone(1)
        sPhone(0) = CStr(Text11.Text)  ' 手机号码数组
        sMSG = CStr(Text12.Text)       ' 短信内容
        sSN = CStr(Text10.Text)         ' 软件序列号    If sendSMS(sPhone, sSN, sMSG) Then
            Call ShowMessage("发送成功")
        Else
            Call ShowMessage("发送失败")
        End If
    End Sub
      

  3.   

    这个代码就是 delphi, 不过偶以前 只学过 pascal 可能翻译的不是很好
      

  4.   

    baoaya(点头) ,Text11.Text本身就是String,为什么还要CStr转换?
    ShowMessage在VB里是Msgbox呀
      

  5.   

    Call ShowMessage这个是调用了一个函数,没有直接用msgbox来提示哦。。.
    viena(维也纳nn)(实心木头人) 你的信誉也太高了吧?
      

  6.   

    因为Delphi里的String和微软的字符串是不兼容的,必须要转换为PChar(此种类型就是为了兼容WindowsAPI而存在的,其实也是指向以Null结尾的字符串的指针,只是不象String那样保存字符串本身的信息罢了),在VB里就不用转换了ShowMessage在Delphi里就相当于VB的Msgbox,不是自定义函数
      

  7.   

    delphi我没有学过呵呵,帮你顶就是了
      

  8.   

    Pchar就相当于C里面的 char*或lpstr//viena(维也纳nn)(实心木头人) 你的信誉也太高了吧?
    啥意思?
      

  9.   

    哈哈 小弟 只学了传说中的 delphi 第一重 pascal ,所以功力不到家 见笑了
      

  10.   

    谢谢 baoaya(点头) 我去试一下to :viena(维也纳nn)(实心木头人)
    你不要光说不练呀,也翻译一下!
      

  11.   

    杀羊不用宰牛刀,这个太简单了 ;-)如果是复杂一点的,或者VB翻译到Delphi的,我就想试试
      

  12.   

    关键他们翻译的不对,根本通不过呀!
    这两天开始做短信的,对方给了我们一个SDK包,不过那SB,DELPHI和VB给的是不一样的
    dll,更可笑的是,delphi里面可以群发短信,而VB不行呀,所以我想调用,他们给的DELPHI的dll这是VB
    Private Declare Function SendSMSVB Lib "CustComm" (ByVal sn As String, ByVal mn As String, ByVal ct As String) As String
    这是delphi的
    function sendSMS(mobileNums: array of PChar; softwareSerialNum: PChar; smsContent: PChar): boolean; stdcall; external 'CustsmsAPI.dll';delphi把手机号码定义成了数据,而VB就一字符串
      

  13.   

    copy,呵呵
     function registBoth(softwareSerialNum: PChar; EntName: PChar; LinkMan: PChar; Phone: PChar; Mobile: PChar; Email: PChar; Fax: PChar; sAddress: PChar; Postcode: PChar):boolean; stdcall; external 'CustsmsAPI.dll';
      function sendSMS(mobileNums: array of PChar; softwareSerialNum: PChar; smsContent: PChar): boolean; stdcall; external 'CustsmsAPI.dll';
      function getBalance(softwareSerialNum: Pchar; out unitPrice: real): real; stdcall; external 'CustsmsAPI.dll';procedure TForm1.Button2Click(Sender: TObject);
    var
      sPhone: array of PChar;
      sMSG, sSN: PChar;
      s1: string;
    begin
      SetLength(sPhone, 1);  sPhone[0]:=PChar(Edit11.Text);  // 手机号码数组;
      sMSG:=PChar(Edit12.Text);       // 短信内容;
      sSN:=PChar(Edit10.Text);        // 软件序列号;  if sendSMS(sPhone,sSN,sMSG) then
         ShowMessage('发送成功')
      else ShowMessage('发送失败');
    end;
      

  14.   

    呵呵,没人会~~ 帮你再up up!!
      

  15.   

    看来delphi和VB的对立性很强啊~
      

  16.   

    不是别人转换为VB不对,不能调试通过在于你其它的Function,例如sendSMS是否转换正确等等
      

  17.   

    也有同感,帮你顶,我也看不懂你的代码,没学过dephi语言
      

  18.   

    当然不能转化了,郁闷ing.....
    你说到    SDK不对,郁闷 里边的函数都是  D里边用的,你拿哪个给vb里的sendmsg 肯定不行了。
    越想越晕。!!!!!!
    你至少把不对的发出来,把程序出错的代码给发出来看看撒!!!
      

  19.   

    delphi东西?
    没学过~~就看在没见过的份上~顶顶吧~~