delphi 7 自定义函数的参数设置

高原山顶的大风车 2008-07-02 02:24:52
我发现别人的自定义函数没有指定参数类型,而我建立的必须写上参数类型

functoin cardpay(cardid,paymoney)
var fun_sql : string;
begin
fun_sql='update card set cardmoney=cardmoney-'+paymoney+' where cardid='+cardid+''
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(fun_sql);
ADOQuery1.Open;
end

上面代码总是报错。
...全文
236 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢。

试了多遍,发觉这样可以通过:

 functoin cardpay(var cardid,paymoney):integer;

没有var 就不行,但在前面定义过cardid的

喝口水 2008-07-02
  • 打赏
  • 举报
回复
看你的函数没有返回值,所以还不如直接定义成过程
procedure cardpay(cardid,paymoney:integer);
喝口水 2008-07-02
  • 打赏
  • 举报
回复
又忽略了
functoin cardpay(cardid,paymoney:integer):integer;
喝口水 2008-07-02
  • 打赏
  • 举报
回复
functoin cardpay(cardid,paymoney)
才发现你这儿还有错误
functoin cardpay(cardid,paymoney:integer);
  • 打赏
  • 举报
回复
fun_sql:='update perusercard set cashSmoney =cashSmoney-'+IntToStr(Smoney)+', cashSmoney=cashLmoney-'+IntToStr(Lmoney)+'';

怎么有提示:
undeclared identifier: 'inttostr'

inttostr是delhpi 自带函数呀?
  • 打赏
  • 举报
回复
functoin cardpay(cardid,paymoney)

提示:
[Error] uPulicFun.pas(11):missing parameter type


另:
paymoney 就整数
喝口水 2008-07-02
  • 打赏
  • 举报
回复
fun_sql='update card set cardmoney=cardmoney-'+paymoney+' where cardid='+cardid+''
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(fun_sql);
ADOQuery1.Open;
红色部分:
第一,要检查类型是否错误
第二,最好加个括号
蓝色部分:
改成ADOQuery1.ExecSQL;
踢踏 2008-07-02
  • 打赏
  • 举报
回复
带上参数类型有什么困难吗?
另:执行Update语句,没有返回值,应用ExecSql代替Open

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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