var
vari1,vari2,vari3,vari4:currency;
begin
vari1:=strtofloat(edit1.text);
vari2:=strtofloat(edit2.text);
vari3:=strtofloat(edit3.text);
vari4:=strtofloat(edit4.text);
edit1和edit2肯定会填写的,edit3 and edit4不一定会填写的,想要它们都以:x1/x2/x3这种格式显示在edit5中,但x1+x2+x3刚好为10,且x1,x2,x3都为integer;
如果只填写了edit1,and edit2那么会以x1/x2的形式显示在edit5中,此时的x1+x2为10,
且vari1/vari2/vari3/vari4约等于x1/x2/x3/x4,四舍五入进行计算的。我来举个例吧:我在edit1.edit4,edit5中分别填入23, 38, 39,那么在button1 单击后会有2/4/4显示在edit5中.不知明白了我的意思了没有。
我想求在button1的onclick中的代码。明晚22:00一定给分!
多谢啦!
vari1,vari2,vari3,vari4:currency;
begin
vari1:=strtofloat(edit1.text);
vari2:=strtofloat(edit2.text);
vari3:=strtofloat(edit3.text);
vari4:=strtofloat(edit4.text);
edit1和edit2肯定会填写的,edit3 and edit4不一定会填写的,想要它们都以:x1/x2/x3这种格式显示在edit5中,但x1+x2+x3刚好为10,且x1,x2,x3都为integer;
如果只填写了edit1,and edit2那么会以x1/x2的形式显示在edit5中,此时的x1+x2为10,
且vari1/vari2/vari3/vari4约等于x1/x2/x3/x4,四舍五入进行计算的。我来举个例吧:我在edit1.edit4,edit5中分别填入23, 38, 39,那么在button1 单击后会有2/4/4显示在edit5中.不知明白了我的意思了没有。
我想求在button1的onclick中的代码。明晚22:00一定给分!
多谢啦!
解决方案 »
- delphi 如何去掉dbctrlgrid的滚动条
- 用文件系统(过滤)驱动程序开发(IFS) 动态加解密的方法(1000分)答谢,来者有分
- ClientSocket掉包,在線急
- 问题:fastreport 为何[TOTALPAGES]打印预览时,页数为何为0(不能正确显示总页数)??
- 我怎样调用另一段程序???
- 请问::如何连续往数据库中插入多条记录???
- 如何用SPCOMM使串口暂停接受数据,而不是关闭串口?
- 一个很简单的问题,如何指定TChart的数据源(不从数据库取数)?
- 请问在DELPHI里怎么调用ocx控件,很急。
- 帮我提供两道题!!谢谢
- 如何查看动态链接库中的函数声明??
- ShellListView问题
begin
result:= (i + 5)/10;
end;
edit5.text = inttostr(inttoint(strtoint(edit1.text))) + '/' + inttostr(inttoint(strtoint(edit2.text))) + '/' + inttostr(inttoint(strtoint(edit3.text)))
不难,还有整整一天,算了,留给楼下的吧:)
firetoucher(风焱) 兄,你还没有考虑x1+x2+x3或x1+x2+x3+x4等于10的问题呀!
(如果在edit1,edit2,edit3中输入了值就会有x1/x2/x3,如果在edit1.edit2中输入了数值,就会有x1/x2,具相加都是等于10的)
谢过firetoucher(风焱)兄啦!
如果只输入edit1 edit2但相加不等于10怎么办?
如果输入edit4但没有edit3怎么办?
如果所有的加起来都不等于10 怎么办?
但是 firetoucher(风焱) 能回答上来我就有些佩服他的理解能力.
不过我估计你的问题不难, firetoucher(风焱) 肯定能搞定的.放心好了.
要是言语有什么不对的地方还请谅解,粗人不善言辞.
2.如果只输入了edit4没有输入edit3会提示它重新输入数据,同时清空edit1,edit2,edit3,edit4中的数据;
3.没有要求加起来等于10呀!只是要看每一个数据大约占总输入数据的十分之几呀!
不知明白了没有!没有明白的话,再问吧!
多谢!
hammer_shi(@农业专家@) 说自已是粗人,太谦虚啦!哈哈!(有可能是个高人)
x:array[1..4] of integer;
total,i:int;
begin
if edit1.text<>'' then x[1]:= strtoint(edit1.text) else x[1]:=0;
if edit2.text<>'' then x[2]:= strtoint(edit2.text) else x[2]:=0;
if edit3.text<>'' then x[3]:= strtoint(edit3.text) else x[3]:=0;
if edit4.text<>'' then x[4]:= strtoint(edit4.text) else x[4]:=0;
total:= x[1]+x[2]+x[3]+x[4];
fori:= 1 to 4 do
x[i]:= (x[i]/total)*10 + 0.5;
edit5.text := '';
if x[1]<>0 then edit5.text := inttostr(x[1]);
if x[2]<>0 then edit5.text := edit5.text + '/' + inttostr(x[2]);
if x[3]<>0 then edit5.text := edit5.text + '/' + inttostr(x[3]);
if x[4]<>0 then edit5.text := edit5.text + '/' + inttostr(x[4]);
x:array[1..4] of integer;
total,i:int;
这个声明有一点儿错误,导到后面的。。
edit1或edit2,或edit3都应是currency类型的呀!