messagebox(0,messageWarning,'提示信息',mb_ok+mb_iconinformation);

解决方案 »

  1.   

    procedure showWarning(messageWarning:String);
    procedure 
    messagebox(0,messageWarning,'提示信息',mb_ok+mb_iconinformation);
    end;……
    messagewarning:=format('您输入的卡号:%d是无效的!',[cardid]);
    showwarning;
      

  2.   

    不行!!如果这样写的话编译器都通过不了!!!!!提示:'incompatible type :'string'
    and 'Pchar''!!正确的该怎么写!
      

  3.   

    MessageBox()函数中两个字符串参数是PChar型的,所以需要PChar(messageWarning)前置转换。
    即:
    MessageBox(0, PChar(messageWarning), PChar('提示消息'), MB_OK OR MB_ICONINFORMATION);
    应当用OR运算符。
      

  4.   

    var
      messagewarning: PChar;
      cardid: integer;
    begin
      cardid:=StrToInt(Edit1.Text);
    messagewarning:=PChar(format('您输入的卡号:%d是无效的!',[cardid]));
    messagebox(0,messageWarning,'提示信息',mb_ok+mb_iconinformation);以上调试通过。定义messagewarning为PChar类型,相当于C++中的char *类型,或者
    messageWarning: string;
    messagebox(0,PChar(messageWarning),'提示信息',mb_ok+mb_iconinformation);祝你好运,多学习!
      

  5.   

    procedure showWarning(messageWarning:String);
    procedure 
    messagebox(0,pchar(messageWarning),'提示信息',mb_ok+mb_iconinformation);
    end;……
    messagewarning:=format('您输入的卡号:%d是无效的!',[cardid]);
    showwarning; 
      

  6.   

    强制转换
     pchar(format());