全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1048
推到 Plurk!
推到 Facebook!

为何TCrpeTextObjectsItem.Lines只能得到第一个字符?

答題得分者是:hahalin
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-06 16:35:30 IP:218.1.xxx.xxx 未訂閱
我安装的Crystal Report是9.2.0.448版本, 用它的/samples/MDI32/Mdiapp.dpr 我在ChildWin.pas的Crpe1元件的OnJobOpend事件写上如下代码:
procedure TMDIChild.Crpe1JobOpened(Sender: TObject; const JobNum: Word);
var
  i:integer;
begin
  for i:=0 to Crpe1.TextObjects.Count-1 do   //add by wxh
  begin
    showmessage('A' Crpe1.TextObjects.Items[i].Lines.Text);
  end;
end;
用Design工具作了个最简单的报表wxh1.rpt,就3个"文本物件",如: Hello &File Acroprise mdiapp.exe运行后,载入wxh1.rpt,正确找到了那3个物件,但显示出来的却都只有第一个字符,如 H & A 但报表预览结果也是正确的。各位看看你的Crystal会这样吗? 到底咋回事? 如果对
------
江上何人初见月,江月何年初照人
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-15 10:41:01 IP:210.243.xxx.xxx 未訂閱
procedure TMDIChild.Crpe1JobOpened(Sender: TObject; const JobNum: Word); var i:integer; begin for i:=0 to Crpe1.TextObjects.Count-1 do //add by wxh begin showmessage(''''A'''' Crpe1.TextObjects.Items[i].Lines.Text); end; end; 抱歉,小弟實在不了解上面這一段程式碼的目的,請問您是要動態修改報表的 顯示文字嗎... 以crystal report的設計方式,似乎是另外做一張報表檔是比較可行的方式. Fear is the path to the dark side. Fear leads to anger.Anger leads to hate.Hate leads to suffering....
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-16 09:04:09 IP:218.1.xxx.xxx 未訂閱
首先,谢谢你的回复。 是的,我要動態修改報表的顯示文字, 即:先读出报表中文本物件的文字,再到字典里找,找到后再换成别的文字,以达到一个报表支持多种语言的目的。不用为每种语言写一个报表。 现在,读出的结果不对,可能是它提供的vcl8.5与实际报表不配套吧? 我用import type library的方式,通过com使用Crystal Report 9.2,是可以正确读出和修改的。 =============== 久病成良医-多试
------
江上何人初见月,江月何年初照人
系統時間:2024-05-04 6:17:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!