一个dll实现:简单的将输入的数字转换为大写数字
function GetAmountInWords(b_para:byte):string;
begin
case b_para of
0:Result:='零';
1:Result:='壹';
2:Result:='贰';
3:Result:='叁';
4:Result:='肆';
5:Result:='伍';
6:Result:='陆';
7:Result:='柒';
8:Result:='捌';
9:Result:='玖';
end;
end;//将小写金额转换为大写金额的函数ToAmountInWords
procedure ToAmountInWords(strinput:string;out stroutput:string);stdcall;
var
i:byte;
begin
try
for i:=1 to length(strinput) do
begin
stroutput:=stroutput + GetAmountInWords(strtoint(strinput[i]));
end;
showmessage(stroutput);//关键在这句。如果我不写这句在调用dll后会有
“invalid pointer operation”错误提示;写
这句后就没有错误提示;
except
on E:Exception do
ShowMessage(E.Message);
end;
end;上面的问题请哪位大虾帮忙解答,万分感谢!
function GetAmountInWords(b_para:byte):string;
begin
case b_para of
0:Result:='零';
1:Result:='壹';
2:Result:='贰';
3:Result:='叁';
4:Result:='肆';
5:Result:='伍';
6:Result:='陆';
7:Result:='柒';
8:Result:='捌';
9:Result:='玖';
end;
end;//将小写金额转换为大写金额的函数ToAmountInWords
procedure ToAmountInWords(strinput:string;out stroutput:string);stdcall;
var
i:byte;
begin
try
for i:=1 to length(strinput) do
begin
stroutput:=stroutput + GetAmountInWords(strtoint(strinput[i]));
end;
showmessage(stroutput);//关键在这句。如果我不写这句在调用dll后会有
“invalid pointer operation”错误提示;写
这句后就没有错误提示;
except
on E:Exception do
ShowMessage(E.Message);
end;
end;上面的问题请哪位大虾帮忙解答,万分感谢!
都 uses ShareMem;