请帮忙找出下面代码的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.   

    http://borland.mblogger.cn/aiirii/posts/4690.aspx
      

  2.   

    function TForm1.xTOd(i:Real):string; 
    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;
      

  3.   

    现在电脑上没有delphi
    无法调试
    楼主自己编译自己修改一下啊
    你能搞定的
    这样看代码不是个办法
      

  4.   

    http://blog.csdn.net/hanlin2004/archive/2005/02/03/278897.aspx
      

  5.   

    11. N没有定义  //[Error]  Undeclared identifier: 'N'
       1ength(M) //改为length 不是123 de 1