我用fastreport列印stringgrid表格內容,代碼如下:
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: Integer;
begin
for i := 1 to 16 do
for j := 1 to 16 do
StringGrid1.Cells[i - 1, j - 1] := IntToStr(i * j);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
frxReport1.ShowReport;
end;
procedure TForm1.frxReport1BeforePrint(c: TfrxReportComponent);
var
Cross: TfrxCrossView;
i, j: Integer;
begin
if c is TfrxCrossView then
begin
Cross := TfrxCrossView(c);
for i := 1 to 16 do
for j := 1 to 16 do
Cross.AddValue([i], [j], [StringGrid1.Cells[i - 1, j - 1]]);
end;
end;
當將formCreate中的這行代碼:
StringGrid1.Cells[i - 1, j - 1] := IntToStr(i * j);中的IntToStr(i * j)換成字符(如'abc')時,會報錯,提示string和double不能轉換,是什么原因?如果我要實作列印stringgrid中字符或者讓漢字,怎么實作?如何改代碼?謝謝
uj5u.com熱心網友回復:
頂起來,沒人回答嗎uj5u.com熱心網友回復:
到底有沒有人碰到過類似問題啊uj5u.com熱心網友回復:
不可能啊,i*j就是int。。。uj5u.com熱心網友回復:
IntToStr(i * j); i*j是integer,所以用 IntToStr正確.換成IntToStr('abc') ,里面是string,故不用轉換,用IntToStr錯誤.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/140817.html
標籤:VCL組件開發及應用
