请帮忙找出下面代码的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;
解决方案 »
- Delphi 中Excel导入问题
- TreeView读取Data问题
- 关于DELPHI的文件创立覆盖问题
- 讨论:Delphi2006中内存管理器的问题
- 求:从一table向另一table插入语句!
- 如何改变delphi程序的火炬图标为器它图标,
- 为什么前一段时间编的程序,现在不能跟踪调试了,设断点一运行就变为x.
- 用delphi编程如何能将图片保存到Access数据库中?急!!!!!再现等待!!!!!!!
- 一个关于AdoQuery的问题!
- 删除一个文件用filedelete,删除一个目录用什么?
- 请问在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