delphi中,我想写一个多if判断函数,但是好像里面不能够把控件的值赋给变量或参数,那么...

delphi中,我想写一个多if判断函数,要用到控件的值,但是好像函数体里面不能够直接把控件的值赋给参数,那么我应该怎么处理?是不是设置参数,从参数里把控件的值传进去呢?... delphi中,我想写一个多if判断函数,要用到控件的值,但是好像函数体里面不能够直接把控件的值赋给参数,那么我应该怎么处理?是不是设置参数,从参数里把控件的值传进去呢?
我晕,原来还要加控件当前窗体的名字name属性,例如:form1.groupbox.text
展开
 我来答
wahtbo
2010-12-09 · TA获得超过122个赞
知道答主
回答量:186
采纳率:0%
帮助的人:124万
展开全部
这段SQL是什么?触发器吗?结构看上去好诡异啊

虽然通过你的解释我大概明白是怎么回事了 ,但是这段SQL。。。说实在话 我真不懂,可以麻烦你把部分代码放上来不?

用两个DBGRID简单的实现了你的要求
procedure TForm1.Button1Click(Sender: TObject);
Var SumResult:double;//计算总的金额
Temp:double;//获取当前记录的金额
TempID:Integer;//获取当前记录ID
TempDate:TDate;//获取当前记录日期
i:Integer;
begin
AdoQuery1.Open;
AdoQuery1.First;
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('Delete * from collectResult');
AdoQuery2.ExecSQL;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('Select * from collectResult');
AdoQuery2.Open;
AdoQuery2.First;
with AdoQuery2 do
begin
SumResult:=0;
DbGrid1.DataSource.DataSet.First;
TempID:= DbGrid1.Fields[0].Value;
for i:= 0 to AdoQuery1.RecordCount -1 do
begin
TempDate:=DbGrid1.Fields[2].AsDateTime;
Temp:=DbGrid1.Fields[1].AsFloat;
if TempDate < StrToDate('2007-1-1') then
begin
SumResult:=Temp+SumResult;
end
else
begin
SumResult:=Temp*0.6+SumResult;
end;
if TempID = DbGrid1.Fields[0].Value then
begin
Edit;
FieldByName('SumResult').Value := SumResult;
FieldByName('Id').Value:= TempID;
end
else
begin
SumResult:= Temp;
TempID:=DbGrid1.Fields[0].Value;
Insert;
FieldByName('SumResult').Value := SumResult;
FieldByName('Id').Value:= TempID;
end;
Post;
DbGrid1.DataSource.DataSet.Next;
end;
end;
end;
呵呵 才学 程序写的很难看 而且也不知道你要做的是什么 只是做了个你要的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
onysue
2010-12-09 · 超过24用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:62.2万
展开全部
把控件对象传递给函数就可以了;
如果不是写dll或服务没有限制的;
如果写dll或服务用activex需要初始化;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loloopop
2010-12-09 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
函数如果是自定义的请增加函数所在单元的窗体名字
fm_MAIN.CONTROLNAME.属性;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kcxnvbdbd
2010-12-09 · TA获得超过523个赞
知道小有建树答主
回答量:885
采纳率:50%
帮助的人:617万
展开全部
最好别这么用。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式