关于小写转大写的问题!!
以下是我写的一个小写转大写的过程,因为要输出大写还要在前面加上那个带圆圈的符号,我用EINDOWS画图画了一个,但输出的时候却在大写字母和圆圈之间空了一个圆圈不能输出,不知为什么,哪位大虾能帮我看看这程序有什么问题,有不合理的地方敬请指出!!!
.
.
.
procedure tform1.smalltobig(small:real);
var
dje,smallmonth:string;
wei1:string;
dianweizhi,qian,n,i,j:integer;
Bitmap:TBitmap;
xje:real;
begin
pixx:=159*8;
smallmonth:=formatfloat('0.00',k);
//xje:=k*100;
//dje:=formatfloat(' ',xje);
dianweizhi:=pos('.',smallmonth);//小数点位置
//qian:=length(smallmonth);
for qian:=length(smallmonth) downto 1 do //循环小写货币的每一位,从小写的右边位置到左边
begin
if qian<>dianweizhi then
begin
case strtoint(copy(smallmonth,qian,1)) of //位置上的数转换成大写
1:wei1:='壹'; 2:wei1:='贰';
3:wei1:='叁'; 4:wei1:='肆';
5:wei1:='伍'; 6:wei1:='陆';
7:wei1:='柒'; 8:wei1:='捌';
9:wei1:='玖'; 0:wei1:='零';
end;
printer.Canvas.TextOut(pixx,page*81*8+63*8,wei1);
pixx:=pixx-13*8;
end;
end;
if length(smallmonth)<10 then
begin
n:=10-length(smallmonth);
for i:=1 to n+1 do
begin
Bitmap:=TBitmap.Create;
Bitmap.LoadfromFile('a.bmp');
printer.Canvas.draw(pixx,page*81*8+63*8,bitmap);
//printer.Canvas.TextOut(pixx,page*81*8+63*8,'');
pixx:=pixx-13*8;
end;
end;
.
.
.