社区
Delphi
帖子详情
delphi里面怎么打印?
bhut
2003-08-30 11:08:37
一个stringgrid,有滚动条,窗口上只能显示一部分数据
想把整个表的数据打印出来,该怎么处理?
能否整个表格作为一个整体打印?(stringgrid类好像没有print方法)
...全文
51
5
打赏
收藏
delphi里面怎么打印?
一个stringgrid,有滚动条,窗口上只能显示一部分数据 想把整个表的数据打印出来,该怎么处理? 能否整个表格作为一个整体打印?(stringgrid类好像没有print方法)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yk_xiong
2003-08-30
打赏
举报
回复
当年用BCB写的,看看
void TFQuickRep::ShowForm(TStringGrid* StringGrid)
{
TList *ShapeList ;
TList *ShapeList2 ;
TList *LabelList ;
TList *QRTextList ;
TQRShape *NewShape ;
TQRShape *OneShape ;
TQRLabel *NewLabel ;
TQRDBText *NewQRText;
int iTemp1,iTemp2 ;
AnsiString sSQL;
ShapeList = new TList ;
ShapeList2 = new TList;
LabelList = new TList ;
QRTextList = new TList;
QRTitleShape->Width = StringGrid->ColWidths[0] ;
QRDetailShape->Width = StringGrid->ColWidths[0];
QRTitleLabel->Caption = StringGrid->Cells[0][0];
for(int m=0;m<StringGrid->FixedRows;m++)
{
ShapeList->Clear();
LabelList->Clear();
LabelList->Add(QRTitleLabel) ;
ShapeList->Add(QRTitleShape) ;
if(m>0)
{
QRBand1->Height = QRBand1->Height+QRTitleShape->Height;
NewShape = new TQRShape(this);
NewShape->Parent = QRBand1;
NewShape->Height = QRTitleShape->Height;
NewShape->Width = StringGrid->ColWidths[0];
NewShape->Left = QRTitleShape->Left;
NewShape->Top=QRTitleShape->Top+m*(NewShape->Height);
NewLabel = new TQRLabel(this);
NewLabel->Parent = QRBand1;
NewLabel->Caption = StringGrid->Cells[0][m];
NewLabel->Left = iTemp1+5;
NewLabel->Top=NewShape->Top + 3;
NewLabel->AutoSize = true;
NewLabel->BringToFront();
}
for(int i=1;i<StringGrid->ColCount;i++)
{
iTemp1 = QRTitleShape->Left;
NewShape = new TQRShape(this);
NewShape->Parent = QRBand1;
NewShape->Height = QRTitleShape->Height;
NewShape->Width = StringGrid->ColWidths[i];
for(int j=0;j<ShapeList->Count;j++)
{
iTemp1 = iTemp1+((TQRShape *)(ShapeList->Items[j]))->Width-1;
}
NewShape->Left = iTemp1;
NewShape->Top=QRTitleShape->Top+m*(NewShape->Height);
ShapeList->Add(NewShape);
NewLabel = new TQRLabel(this);
NewLabel->Parent = QRBand1;
NewLabel->Caption = StringGrid->Cells[i][m];
NewLabel->Left = iTemp1+5;
NewLabel->Top=NewShape->Top + 3;
NewLabel->AutoSize = true;
NewLabel->BringToFront();
}
}
ShapeList2->Add(QRDetailShape);
QRTextList->Add(QRDBDetailText);
for(int i=1;i<StringGrid->ColCount;i++)
{
iTemp1 = QRDetailShape->Left;
OneShape = new TQRShape(this);
OneShape->Parent = QRBand2;
OneShape->Height = QRDetailShape->Height;
OneShape->Width = StringGrid->ColWidths[i];
for(int j=0;j<ShapeList2->Count;j++)
{
iTemp1 = iTemp1+((TQRShape *)(ShapeList2->Items[j]))->Width-1;
}
OneShape->Left = iTemp1;
OneShape->Top=QRDetailShape->Top;
ShapeList2->Add(OneShape);
NewQRText = new TQRDBText(this);
NewQRText->Parent = QRBand2;
NewQRText->Left = iTemp1+5;
NewQRText->Top=QRDBDetailText->Top;
NewQRText->AutoSize = true;
NewQRText->BringToFront();
QRTextList->Add(NewQRText);
}
sSQL = "select * from tReport_tmp";
if(OpenSQL(DMMain->qryCall,sSQL))
{
for(int i=0;i<QRTextList->Count;i++)
{
((TQRDBText *)(QRTextList->Items[i]))->DataSet=DMMain->qryCall;
((TQRDBText *)(QRTextList->Items[i]))->DataField="F"+IntToStr(i);
}
}
QuickRep1->Preview();
}
雨后阳光2000
2003-08-30
打赏
举报
回复
数据库里有和stringgrid中数据结构相同下表吗,有直接用表相连在quickrep中实现;
没有就用临时表把stringgrid中的数据存进去,再在stringgrid中实现。
wooden954
2003-08-30
打赏
举报
回复
要么自己写,要么用QuickRep控件,要么第三方
popnew
2003-08-30
打赏
举报
回复
用QUICKREP控件
bhut
2003-08-30
打赏
举报
回复
跟数据库没有关系,就是一个stringgrid控件显示一些数据
不是数据库的表
Delphi
万能
打印
控件含源码实例.rar
Delphi
万能
打印
控件含源码实例,可以传入N多表格进行
打印
,基于win2k
delphi
7 开发,导出文件为:zyPrintcrt.dll。 zyprint.mdb为本地
打印
方案,你也可以保存在SQLSERVER
里面
。 zyprint.pas是调用文件 zyprintcrt.dll是
打印
控件 parameter目录是保存一些参数文件(ini)用的.现在暂时只有一个printcfg.ini文件
Delphi
动态支票
打印
自定义实例.rar
Delphi
竖向报表设计和自定义的动态支票
打印
程序,用到Fastreport3.15,FlatStyle和Ehlib3.5控件,在网上可以找到。程序特点是要把支票
打印
做成竖向的,于是另外做了一个竖向的Fr报表,Memo的Rotation都设为270,文字都竖向了,然后再点击“竖向支票”的时候,读取横向时的坐标,经过X和Y的对换换算,得到竖向时 Fr报表里各个Memo的坐标,相应的在动态调整时修改坐标,在预览报表前重新读取和换算坐标,这样就实现的竖向的支票
打印
了。
delphi
10.1调用BarTender2016R5文件
打印
标签例子程序
压缩包里文件说明 1.bartender_package.rar -----------我创建的bartender的package项目,这里引入了bartender,并打包了 2.bartender_test.rar ---测试项目源码,就一个Form,一个Button,一个TBtApplication(bartender的类) 3.BarTender_unit.rar ---从bartender提取出的组件,存放的位置。【我本机所在位置:D:\Program Files (x86)\BarTender_unit\】 4.BarTenderPackage.bpl ---安装好bartender包后生成的文件(BPL可以理解为
Delphi
特有的动态链接库,与DLL不同的是,它可以包含组件。) 【我本机的位置是:C:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl\BarTenderPackage.bpl】 5.test.btw ---测试
打印
标签的btw文件。
delphi
操作excel模块,图片,表格,读写删除
不需Excel也可讀寫xls檔的
Delphi
控件 用来读取Excel,Access的控件 读写任何单元值 数字型、字符型、布尔型以及错误型。但是你了解日期和时间型单元吗?在Excel中没有这样的单元。Excel是和
Delphi
一样的方式来存储日期和时间的,即浮点型。那是什么制造了日期或时间值啦,是格式化。 完全支持公式。你可以使用和Excel一样的函数,也支持对外部工作簿引用的公式,你甚至可以从外部引用读取结果。 与操作
Delphi
的TStringGrid一样的方式操作单元格,或则通过给单元格命名,比如:”D7” 根据单元格的规则以字符串格式读取单元值 根据你的需求格式化单元 格式化很简单。通过获取单元格,你就可以操作单元的格式属性。例如:XLSReadWriteII.Sheet[n].Cell[Col,Row].FontSize := 12; 你也可以对域进行格式化,比如设置边框。 支持所有的Excel格式选项 合并单元格 操作所有的
打印
选项 选择页面大小,设置边距 设置标题和页脚,包括格式码。 定义
打印
区域 设置分页符 XLSReadWriteII完全支持Unicode 所有的字符型都是宽字符型。你完全不必担心非英语字符。 控件 你可以插入控件以及定义他们的源和目的单元 绘图 插入所有种类的绘图,从简单的线条到AutoShapes 多行文本和文本框 创建和编辑文本框以及多行文本 图表 创建和Excel中一样选项的图表 复制/移动/删除 可以以Excel一样的行为复制、移动和删除单元 行列也可以像单元一样复制和移动 支持工作簿之间的复制和移动 可以复制整个工作簿 使用命名的域/单元 你可以在你想要的任何地方命名 通过命名访问单元格,例如:XLS.NameAsFloat['MyCell'] := 202.5; 支持指定、内置的名称 支持所有超链接类型 网页和E-mail地址 本地文件 服务器文件 工作薄引用 加密文档 你可以读写加密文件。条件是你需要知道文件的密码。 计算 可计算单元以及整个工作薄 计算引擎将依据单元进行计算。 可读取引用的外部工作薄。这通过一个特殊的快速查询程序进行执行 Rich Text单元 为了轻松地创建多字体格式的单元,单元可以以RTF格式读写 VBA宏 可以读写文件中的宏,使用XLSReadWriteII可以为控件比如:按钮、组合框等添加宏 导入及导出 从下列导入数据… Open Office Calc文档 CSV文件以及其他可以自动识别分隔符、小数分隔符和文本引用字符的文本文件 HTML表格(标签) 数据库 导出数据为… CSV文件 HTML文件 其他 自动过滤 单元验证 有条件的格式 合并单元 PaintCell方法:将单元内容渲染到TCanvas对象的 XLSReadWriteII包还包含下列组件: 从任何数据库中导入数据到工作薄 工作薄导出为HTML文件
Delphi
二维码、分组、批量
打印
笔记和例程
没有分的请发邮件给我:jacdfb@163.com,qq:505689211 一直也没接触到什么复杂的报表,都是一些简单的报表,在
DelphI
下使用QuickReport一般也就能满足需要了,由于公司现在需求的变化,对条码扫描提出了新的要求,主要是扫码要包含更多地内容,以前的一维码显然不能完全满足,再说二维码也是一种趋势,故而需要解决二维码的问题,网上搜了一下,方式有多种多样,我花了3天时间找了很多,也尝试了很多。也经历了很多失败!总结一下在
Delphi
下实现二维码主要有三种方法: 1、使用PtImageRW.dll和PtQREncode.dll动态连接库,使用uQRCode生成二维码图像,如此就可以在报表中予以
打印
了,具体如何用uQRCode实现绘制二维码,本人水平太低,无法参透;结合QuikReport就可以实现
打印
二维码了,但此种有一个问题就是不支持中文,如source1(整合到FastReport中也无法实现对中文的支持); 2、还有一种就是生成控件,利用ZINT制作的控件,如source2;此种有个问题就是无法在报表中使用(也许是我不会用),只可在窗体上显示,当然理论上说能在窗体上使用就完全可以用于
打印
报表了,可问题时我不会,哎,还是技术水平太低。还有一种叫Han-sof 2D Barcodes的控件,我可以安装,但却无法使用,无法生成二维码到图片。可上网搜索一下下载这个控件安装一下,有搞定的与我共享一下。 3、用ZINT整合到FastReport中,也是下面我要叙述的形式:source3。完全可以满足我的需求。 例子实现了对采购入库数据的分组批量
打印
,加入了二维码的使用,当然实际工作当中制作入库单基本上用不到批量
打印
的,一般都是一单一打,但在我这里没办法,必须设计这样的功能,历史遗留问题吧,这里也牢骚一下吧! 如做一些延伸,很多的
打印
都和这个有很多的类似之处,我说的是并不太复杂的应用,至于什么更复杂得我想FS也能搞的定,这里做一个总结是希望对和我一样水平的人提供一些帮助吧,也许现在很多人根本不用
Delphi
了,权且当作自己的一个笔记吧! *********压缩文件内容如下********************************* 1、fastreport for 2010是我用的,可以正常使用也是例子里用到的4.9版本 2、fastreport5 for
delphi
7,已经好久不用7了,故也没测试,这是下载到的!测试成功的告诉我一下! 3、fastreport5 for xe8,我朋友测试通过的,也是他发给我的,但在我的xe8下就是不行,可以看到控件,但一运行,就报错,还没时间研究,我记得在装XE8的时候是自带了fastreport5的,但并没有二维码的选项,我是卸载了自带的,然后再安装的,然后出现了一系列的问题,实在没时间,因为大部分程序是在2010下的,还没时间向XE8切换,不知道是不在安装的时候不能安装自带的FS5,我朋友在第一次安装的时候就没有选择,然后手动安装的,效果很好! 有知道fastreport5如何在2010下用的,麻烦指教一下! 4、source1-3,前面有说过了,主要是一些例子,我所总结的三种方法,也不知道对不对! 5、zinBarcode文件里也是一个例子,也是用fastreport,可以比较完美的显示中文fastreport,但二维码不能显示中文,设置成中文即报错。
Delphi
5,387
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章