回 帖 发 新 帖 刷新版面

主题:请教关于用edit进行计算

我是一个初学者,现场需要用到一个计算器,已知字母a,b,c,d分别是常数2,3,4,5,当输入一个四位的编码(为四个字母或数字组成)后,计算出如下的结果:(2×第一位编码)+(3×第二位编码)+(4×第三位编码)+(5×第四位编码)。我设计了五个edit控件,和一个按纽,请高手指点,写一下代码。

回复列表 (共5个回复)

沙发

输入的是数字还是字母,五个edit控件分别的作用是什么?

板凳

有时输入数字,有时输入字母。前四个控件是用来输入编码的,最后一个用来得到结果的。

3 楼

对不起各位,我的问题没有说清,我所指四位编码只能包括a,b,c,d,及0至9中的任意四位,请大家帮忙!

4 楼

var
 Arrkey : array[0..3] of String;
 iCount : Integer;
begin
 Arrkey[0]:= Edit1.text; 
 Arrkey[1]:= Edit2.text; 
 Arrkey[2]:= Edit3.text; 
 Arrkey[3]:= Edit4.text;
 for iCount :=0 to 3 do
 begin
  if Arrkey[iCount]='a' then Arrkey[iCount]='2';
  if Arrkey[iCount]='b' then Arrkey[iCount]='3';
  if Arrkey[iCount]='c' then Arrkey[iCount]='4';
  if Arrkey[iCount]='d' then Arrkey[iCount]='5';
 end;
 Edit5.text:= IntToStr(StrToInt(Arrkey[0])+StrToInt(Arrkey[1])
              +StrToInt(Arrkey[2])+StrToInt(Arrkey[3]));
end;

5 楼

最后一步是否错了?
Edit5.text:= IntToStr(StrToInt(Arrkey[0])+StrToInt(Arrkey[1])
              +StrToInt(Arrkey[2])+StrToInt(Arrkey[3]));
应改为:
Edit5.text:= IntToStr(2*StrToInt(Arrkey[0])+3*StrToInt(Arrkey[1])
              +4*StrToInt(Arrkey[2])+5*StrToInt(Arrkey[3]));

我来回复

您尚未登录,请登录后再回复。点此登录或注册