请帮忙找出下面代码的6处错误
1. procedure TForm1.Button1Click(Sender: TObject);
2. var SL,JE,M,DXJE:string;
3. I,J,W:integer;
4. begin
5. SL := '零壹贰叁肆伍陆柒捌玖';
6. JE := '分角元拾佰万拾佰仟亿';
7. M:=trim(Edit1.Text);
8. if pos('.',M)=0 then
9. M:=trim(Edit1.Text)+'.00';
10. M:=stringreplace(M,'.','',[rfReplaceAll]); //去掉小数点
11. N:= 1ength(M); //字符串长度
12. J := N;
13. DXJE := '0'; //置初值
14. For I := 1 To N do
15. begin
16. W := StrToInt(midstr(M, I, 1)); //取出一位数值
17.
18. If W > 0 Then
19. begin
20. DXJE := DXJE + midstr(SL, W +1, 1); //数值
21. DXJE := DXJE + midstr(JE, J, 1); //单位
22. end
23. else
24. If W = 0 Then
25. begin
26. If midstr(JE, J, 1) = '万' Then
27. DXJE := DXJE + midstr(JE, J, 2) //万位必保
28. else
29. If midstr(JE, J, 1) = '元' Then
30. begin
31. If Length(M) = 3 Then
32. DXJE := DXJE + '零'; //元前零
33. DXJE := DXJE + '元'; //元位必保
34. If (StrToInt(midstr(M, I + 1, 1)) > 0)
35. And (length(M) > 3) Then
36. DXJE := DXJE + midstr(SL, W + 1, 1) //元后零
37. else
38. If StrToInt(midstr(M, I + 1, 1)) > 0 Then //有效零
39. DXJE := DXJE + midstr(SL, W + 1, 1)
40. else
41. If StrToInt(midstr(M, I,length(M))) = 0 Then //后继全零
42. begin
43. If J >= 7 Then DXJE := DXJE + '万';
44. If J >= 3 Then DXJE := DXJE + '元';
45. DXJE := DXJE + '整';
46. Exit ;
47. end;
48. end;
49. end;
50. J := J - 1;
51. end;
52. end;
1. procedure TForm1.Button1Click(Sender: TObject);
2. var SL,JE,M,DXJE:string;
3. I,J,W:integer;
4. begin
5. SL := '零壹贰叁肆伍陆柒捌玖';
6. JE := '分角元拾佰万拾佰仟亿';
7. M:=trim(Edit1.Text);
8. if pos('.',M)=0 then
9. M:=trim(Edit1.Text)+'.00';
10. M:=stringreplace(M,'.','',[rfReplaceAll]); //去掉小数点
11. N:= 1ength(M); //字符串长度
12. J := N;
13. DXJE := '0'; //置初值
14. For I := 1 To N do
15. begin
16. W := StrToInt(midstr(M, I, 1)); //取出一位数值
17.
18. If W > 0 Then
19. begin
20. DXJE := DXJE + midstr(SL, W +1, 1); //数值
21. DXJE := DXJE + midstr(JE, J, 1); //单位
22. end
23. else
24. If W = 0 Then
25. begin
26. If midstr(JE, J, 1) = '万' Then
27. DXJE := DXJE + midstr(JE, J, 2) //万位必保
28. else
29. If midstr(JE, J, 1) = '元' Then
30. begin
31. If Length(M) = 3 Then
32. DXJE := DXJE + '零'; //元前零
33. DXJE := DXJE + '元'; //元位必保
34. If (StrToInt(midstr(M, I + 1, 1)) > 0)
35. And (length(M) > 3) Then
36. DXJE := DXJE + midstr(SL, W + 1, 1) //元后零
37. else
38. If StrToInt(midstr(M, I + 1, 1)) > 0 Then //有效零
39. DXJE := DXJE + midstr(SL, W + 1, 1)
40. else
41. If StrToInt(midstr(M, I,length(M))) = 0 Then //后继全零
42. begin
43. If J >= 7 Then DXJE := DXJE + '万';
44. If J >= 3 Then DXJE := DXJE + '元';
45. DXJE := DXJE + '整';
46. Exit ;
47. end;
48. end;
49. end;
50. J := J - 1;
51. end;
52. end;
解决方案 »
- 谁知道怎么开发思迅那样的界面控件或者QQ麻将桌的界面
- CreateOleObject()的参数有好多,比如'word.basic','word.application','excel.application'等,这些参数在哪里定义,哪里有说明?
- rave 报表如何控制每页DATABAND 的行数?
- Delphi中有没有可以自动屏蔽不合法输入的控件?
- 最新发现,一个可以免费下载视频教程的网站
- 如何制作弹出汽泡式帮助?
- 如何得到时间
- 小问题!listbox怎么模拟下拉菜单,怎么知道选中哪个数据啊?
- 我通过数据库复制来传送数据,我想在有新数据到来时让DELPHI程序能自动接收道。不知怎样实现?
- 高手挑战: 寻求TStream类及其派生类的功能说明及应用
- 请问在Delphi程序中调用DOS命令net use,如何在程序中取得net use执行后返回的信息
- 求中文MSDN For virtual studio 6
const
d='零壹贰叁肆伍陆柒捌玖分角元拾佰仟万拾佰仟亿';
var
m,k:string;
j:integer;
begin
k:='';
m:=floattostr(int(i*100));
for j:=length(m) downto 1 do
k:=k+d[(strtoint(m[Length(m)-j+1])+1)*2-1]+
d[(strtoint(m[Length(m)-j+1])+1)*2]+d[(10+j)*2-1]+d[(10+j)*2];
xTOd:=k;
end; 调用:
procedure TForm1.Button1Click(Sender: TObject);
var
Sum:real;
begin
sum:=12.34;
showmessage('人民币大写:'+xTOd(Sum));
end;
无法调试
楼主自己编译自己修改一下啊
你能搞定的
这样看代码不是个办法
1ength(M) //改为length 不是123 de 1