中文用qreport字型@型態可轉直式但數字要如何轉? |
答題得分者是:Justmade
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
數字要全形數字才會轉 90度 我剛寫了個將一段文字中半形數字轉全形數字的程序給你 :
function FullSizeNum(Text : String) : String; var i : integer; begin result := ''; for i := 1 to length(Text) do begin Case Ord(Text[i]) of 46 : result := result '.'; 48 : result := result '0'; 49 : result := result '1'; 50 : result := result '2'; 51 : result := result '3'; 52 : result := result '4'; 53 : result := result '5'; 54 : result := result '6'; 55 : result := result '7'; 56 : result := result '8'; 57 : result := result '9'; else result := result Text[i]; end; end; end; 例子 : procedure TForm1.Button1Click(Sender: TObject); begin showmessage(FullSizeNum('中文 English 123')); // 中文 English 123 end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage(FullSizeNum('中文 English 123')); // 中文 English 123 end; procedure TForm1.Button2Click(Sender: TObject); begin showmessage(FullSizeNum(FloatToStr(123.45))); // 123.45 end;若你的是數字欄位請用 AsString。 因於文字要經過處理,所要你那些要處理的欄位便不可用 TQRDBText 要轉回一般的 TQRLabel , 然後在 Band.BeforePrint 事件給與數值 : QRLabel1.Caption := FullSizeNum(Table1.FieldByName('Tel').AsString); 〔修改〕之前 Copy and Paste 全形數字變亂碼,現修正。 發表人 - Justmade 於 2003/03/24 07:51:20 |
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |