下面是用C写的一段程序,就是将一个数对应成相应的汉字。现在想将其换成Delphi程序,可没学过pascal语言,更不会用delphi。麻烦哪位帮忙翻译一下,要求如下:
1. 有两个Edit以及一个Button,在Edit1中输入数字,点击Button,在Edit2中显示出相应的汉字。
#include <stdio.h>
#include <string.h>
char CDigit[10][3] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
char CDegree[10][3] = {"拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰"};
void main(void)
{
char money[20] = "1234567890";
int len, i;
len = strlen(money);
for(i=0; i<len; i++)
{
printf("%s", CDigit[money[i]-0]);
if(len-i > 1)
printf("%s", CDegree[len-i-2]);
}
}
function xToD(const Num:Real):String;
//小写金额转大写金额
var aa,bb,cc:string;
bbb:array[1..16]of string;
uppna:array[0..9] of string;
i:integer;
begin
bbb[1]:=万;
bbb[2]:=仟;
bbb[3]:=佰;
bbb[4]:=拾;
bbb[5]:=亿;;
bbb[6]:=仟;;
bbb[7]:=佰;
bbb[8]:=拾;
bbb[9]:=万;
bbb[10]:=仟;
bbb[11]:=佰;
bbb[12]:=拾;
bbb[13]:=元;
bbb[14]:=.;
bbb[15]:=角;
bbb[16]:=分;
uppna[1]:=壹;
uppna[2]:=贰;
uppna[3]:=叁;
uppna[4]:=肆;
uppna[5]:=伍;
uppna[6]:=陆;
uppna[7]:=柒;
uppna[8]:=捌;
uppna[9]:=玖;
Str(num:16:2,aa);
cc:=;
bb:=;
result:=;
for i:=1 to 16 do
begin
cc:=aa[i];
if cc<> then
begin
bb:=bbb[i];
if cc=0 then
cc:=零
else
begin
if cc=. then
begin
cc:=;
bb:=;
end
else
begin
cc:=uppna[StrToInt(cc)];
end
end;
result:=result+(cc+bb)
end;
end;
//result:=result+正;
end;
可以啊
如
var
ASendTable:array[0..1] of string=(
sdfwe,
23423
);
bbb:array[1..16]of string=(
万,
仟,
...
);
const
bbb:array[1..16]of string=(万,仟,佰);