有关打印memo中文本的问题

guitarheaven 2003-08-19 10:19:37
我通过下面的办法打印
var
lines:integer;
prntext:system.text;
begin
assignprn(prntext); //将PRNTEST分配给打印机
rewrite(prntext); //调用REWRITE函数,为输出打开已分配的文件
printer.canvas.font:=memo1.font;
//把当前MEMO1的字体指定给打印对象的CANVAS的字体属性
for lines:=0 to memo1.lines.count-1 do
writeln(prntext,memo1.lines[lines]);
//把MEMO的内容写到打印机对象
system.close(prntext); //关闭打印文件
end;
可却只能从纸张的最左边、最顶部开始打印
无法设置页边距等等

如果采用这种办法
var
richedit:TRichEdit;
begin
richedit := TRichEdit.Create(self);
richedit.Visible := false;
richedit.Parent := self;
richedit.Left := memo5.Left;
richedit.Top := memo5.Top;
richedit.Height := memo5.Height;
richedit.Width := memo5.Width;
richedit.Text := memo5.Text;
richedit.Font := memo5.Font;
richedit.Print('test');
richedit.Free;
richedit := nil;
end;
打印出来的效果仍然一样 都是很难看

请问各位有没有好的办法能够设置页边距等参数
让我不从纸张的左上脚开始打印

谢谢~
同时我也不想用form.print
再次表示感谢
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
g58521547 2004-02-18
  • 打赏
  • 举报
回复
好像
form1.memo1.print('your string');
就可以了
yangzhb 2003-08-25
  • 打赏
  • 举报
回复
各位大侠:如何将字符串直接发送到LPT1打印?
d983074 2003-08-22
  • 打赏
  • 举报
回复
注意这两句:
Printer.Canvas.TextOut(0,Printer.Canvas.TextHeight('注释:'),'注释:');
Printer.Canvas.TextOut(0,(i+2)*Printer.Canvas.TextHeight

只要改成
Printer.Canvas.TextOut(X,Y+Printer.Canvas.TextHeight('注释:'),'注释:');
Printer.Canvas.TextOut(X,Y+(i+2)*Printer.Canvas.TextHeight
既可以写在任何点(X,Y)处
guitarheaven 2003-08-21
  • 打赏
  • 举报
回复
打印出来的效果仍然是在左上角~
d983074 2003-08-21
  • 打赏
  • 举报
回复
var
h,w,i:Integer;
begin
Screen.Cursor := crHourGlass; { <-- nice detail }
try
Printer.PrinterIndex:=PrinterCB.ItemIndex;
Printer.Orientation:=TPrinterOrientation(LandscapeRB.Checked);
Printer.BeginDoc;

Printer.Canvas.Font.Name:='Arial';
Printer.Canvas.Font.Size:=12; { <-- set the font size }
Printer.Canvas.Font.Style:=[];
Printer.Canvas.TextOut(0,Printer.Canvas.TextHeight('注释:'),'注释:');
for i:=0 to Memo.Lines.Count-1 do
Printer.Canvas.TextOut(0,(i+2)*Printer.Canvas.TextHeight(Memo.Lines.Strings[i]),Memo.Lines.Strings[i]); { <-- print some text }

Printer.EndDoc;
except
on Exception do { just in case an error happens... }
begin
Printer.Abort;
Printer.EndDoc;
raise; { <-- raise up the exception !!! }
end;
end;
Screen.Cursor:=crDefault; { <-- restore cursor }
guitarheaven 2003-08-21
  • 打赏
  • 举报
回复
顶一下
MIP2000XP是什么? (1)MIP2000XP是一套数据库软件 (2)MIP2000XP是一套“傻瓜型”MIS开发工具 (3)MIP2000XP是一套开放的数据库管理平台 (4)MIP2000XP是一套面向最终用户的管理信息系统解决方案 MIP2000XP是一套运行在Win9X/ME/NT/2K/XP上的通用数据库管理平台,她以数据为处理心,实现在统一平台下对关系型数据库的数据进行全面管理。面向管理人员设计、无须编程的特点,是小企事业单位信息化建设的一个理想工具。 MIP2000XP特点: “傻瓜”性 面向业务人员,无须学习复杂的程序设计语言,无须关心程序设计细节,无需要专业的编程知识,只需仔细分析需求,以简单的定义即可快速生成满足用户自己需要的管理信息系统。 多平台 系统可以运行在流行的多种操作系统平台上,如Windows 9X/NT/ME/2000/XP等。 开放性 系统对数据库管理系统具有彻底的开放性,即不再针对某个特定的数据库,不是基于某个特定的数据库开发的,而是满足各种用户使用各种数据库的需求。可与已有的管理系统进行集成,来解决信息系统建设面临的“信息孤岛”问题。 实用性 系统围绕数据处理为核心,实现了如录入、删除、复制、移动、查询、定位、替换、排序、统计、汇总、查重、输出、打印报表、修改更新等数据库管理功能,最大限度地满足用户对数据处理的各种要求。 安全性 系统提供良好的安全可靠性策略,提供的用户管理、数据窗体的使用授权,以及记录级和字段级数据使用授权机制,保证数据的共享及安全。 灵活性 (1)数据字典:系统提高了一个开放的数据字典,用户可根据需求对数据字典的字段内容定义,实现对数据窗体数据的约束。 (2)动态数据报表:用户可自定义多种格式的数据报表进行打印预览和打印输出。 (3)Word、Excel模板:系统提供的与Word和Excel模板的访问接口,实现用户处理特殊报表和格式文件的需求,如公文、发票、信封等特殊输出格式的套打。 易用性 系统具有简单、直观、方便的用户界面,给管理者、一般工作人员提供了一个易学、易懂、易用的系统。图形界面和多文挡的MDI窗口,对用户更友好。 -------------------------------------------------------------------------------- MIP2000XP主要功能: 人性化的录入界面设计:功能强大的数据窗体设计功能可以设计出人性化的数据窗体录入界面。 丰富的字段类型:支持包括自动、字符、整数、实数、日期、逻辑、货币、文本(Memo)、图像和OLE等多种类型字段。 强大的数据管理:数据窗体包括对数据库主要操作有添加、更新、删除、导入、导出、复制、定位、替换、移动、查询、报表、统计和打印等等。 多级用户及权限管理:提供了三级用户管理机制,即系统用户、普通用户和共享用户。根据需要,系统可实现对数据窗体使用(允许访问、允许读、允许写)权限的动态分配。用户对记录的授权访问可定义到用户或用户组。 万能的数据查询:根据用户定义的检索条件(单条件和复合条件),实现精确、模糊、包含、非包含等多种查询。 动态的数据统计:动态数据统计功能,统计范围可以是求最大值、最小值、求和、平均值和计数,能对分类字段进行汇总统计,汇总的结果以直方图、饼图 、点、快速线、和甘特图等11种显示风格表现出来,同时支持对图形的打印输出。 灵活的报表打印:动态数据报表。支持自定义的数据窗体的打印打印预览,实现对数据表格打印字段的定义,并支持多种风格的报表输出。 方便的Word和Excel接口:提供与Word和Excel的访问接口,通过Word模板和Excel模板定义,来生成一些指定的报表格式文件。实现如公文、发票、信封等格式文件的套打功能。 强大的数据导出:支持数据到Word、Excel、文本、表格文本、.DBF、HTML等多种形式的数据格式文件转换。 完善的系统日志:记录用户对系统的一些主要操作,如登录和退出系统的时间,建立和删除数据窗体,更改口令,定义数据字典等主要操作。 友好的在线用户显示:显示系统当前在线用户和离线的用户情况,显示内容包括在线用户名称,登录机器的用户名,登录时间,登录次数, 离线的用户以及最后一次访问系统的时间等信息。 实用的数据查重:从数据表(单个或两个)找出重复的数据记录。 灵活的数据转换:实现不同关系型数据库间数据表的移植和数据表之间的数据转换。 快速的数据到Web发布:将数据表内容生成HTML文件或将生成到特定的Web模板。 个性化定义:用户可以在管理平台上设置自己喜欢的显示风格。设置的内容包括窗体分类、启动界面、登录风格、系统风格、系统背景等信息。 灵活方便的数据字典:开放的数据字典,体现系统的灵活性。用户可根据需求对数据字典的内容定义,实现对数据窗体数据的约束。可定义的内容包括字段的文解释、能否为空、是否是唯一值、自动赋值、字段取值范围设置等进行设置。 详细内容请访问:www.mip200xp.net
第一部分 界面设计 实例001 如何实现程序闪屏效果 实例002 如何实现程序窗口闪烁 实例003 如何制作吸附窗口程序 实例004 如何制作透明程序窗口 实例005 如何制作半透明程序窗口 实例006 如何制作不规则程序窗口 实例007 如何制作程序渐变背景 实例008 如何设置程序背景图像 实例009 如何设置MDI程序背景图像 实例010 如何动态关闭MDI程序所有子窗口 实例011 如何去掉MDI程序子窗口标题栏 实例012 如何拖动非标题栏区域移动窗口 实例013 如何控制程序最小化窗口 实例014 如何限制程序最大最小化窗口 实例015 如何控制程序窗口自动隐藏或显示 实例016 如何隐藏应用程序 实例017 如何控制程序在任务栏上是否出现 实例018 如何使一个程序在任务栏同时出现多个标题 实例019 如何使程序窗口总在最前面显示 实例020 如何隐藏应用程序标题栏 实例021 如何设置程序主标题 实例022 如何设置程序图标 实例023 如何在程序改变菜单位置 实例024 如何删除程序系统关闭菜单 实例025 如何拷贝当前程序界面 实例026 如何动态创建程序表单 实例027 如何遍历窗体所有组件 实例028 如何保证组件位置相对固定 实例029 如何在窗体动态增加组件 实例030 如何使组件在程序运行时可以移动 实例031 如何使用组件创建托盘程序 实例032 如何使用动画组件播放动画 实例033 如何在状态栏上加载进度条 实例034 如何在编辑框内显示图像 实例035 如何在列表框增加水平滚动条 实例036 如何在列表框同时显示图像和文字 实例037 如何设置属性表组件标签图像 实例038 如何控制Memo组件的文字边界 实例039 如何使用代码控制文字滚动 实例040 如何纵向显示字符串 实例041 如何旋转显示字符串 实例042 如何设置显示文字分辨率 第二部分 程序设置 实例043 如何使用消息框 实例044 如何显示简单关于对话框 实例045 如何在程序增加热键 实例046 如何在程序自定义消息 实例047 如何在程序自定义系统菜单 实例048 如何在执行程序间进行数据通信 实例049 如何使用OLE技术启动画图 实例050 如何在程序添加Word文档表格 实例051 如何在程序设置Word文档的字体风格 实例052 如何使用Onldle事件 实例053 如何使程序在循环时响应外界事件 实例054 如何设置程序在系统启动时自动运行 实例055 如何创建多线程程序 实例056 如何创建可独立执行程序 实例057 如何编写单文档应用程序 实例058 如何编写多文档应用程序 实例059 如何编写COM服务器程序 实例060 如何编写COM客户端程序 实例061 如何编写DDE服务器程序 实例062 如何编写DDE客户端程序 实例063 如何编写DLL服务器程序 实例064 如何编写DLL客户端程序 实例065 如何注册DLL服务器程序 实例066 如何制作聊天服务器程序 实例067 如何制作聊天客户端程序 实例068 如何获取程序名称和路径 实例069 如何获取程序命令行参数 实例070 如何析取动态链接库的图标 实例071 如何设置Edit组件的文本选择范围 实例072 如何将小写金额转换成大写金额 实例073 如何将全角字符串转换成半角字符串 实例074 如何按照指定的有效位数转换数字 实例075 如何获取汉字的拼音索引 实例076 如何设置输入方法 实例077 如何控制数据输入格式 实例078 如何控制编辑框的输入法 实例079 如何设置回车键后的焦点 实例080 如何将项目保存到对象库 实例081 如何检测鼠标信息 实例082 如何读取鼠标信息 实例083 如何实现鼠标拖动操作 实例084 如何限制鼠标活动范围 实例085 如何读取键盘信息 第三部分 文件操作 实例086 如何复制文件 实例087 如何定制文件复制操作 实例088 如何更名文件 实例089 如何更改文件扩展名 实例090 如何删除文件 实例091 如何删除文件夹 实例092 如何选择文件夹 实例093 如何创建多层文件夹 实例094 如何自动获取文件夹和文件 实例095 如何搜索指定目录下的文件 实例096 如何搜索指定目录下的隐藏文件 实例097 如何搜索文本文件的字符串 实例098 如何替换文本文件的字符串 实例099 如何将长文件名转换为短文件名 实例100 如何在文件打开对话框选择多个文件 实例101 如何定制文件打开和关闭对话框 实例102 如何修改文件打开对话框的按钮标题 实例103 如何使用查找与替换对话框 实例104 如何获取和设置当前目录 实例105 如何判断文件类型 实例106 如何获取系统所有文件类型 实例107 如何获取和设置文件属性 实例108 如何获取和设置文件时间属性 实例109 如何对文件名函数进行操作 实例110 如何读写文本文件 实例111 如何打印文本文件 实例112 如何创建特大型文件 实例113 如何制作临时文件 实例114 如何启动帮助文件 实例115 如何使用组件在主机问传送文件 实例116 如何对文件进行编码和解码 实例117 如何设置RichEdit组件的存盘格式 实例118 如何在WIN.INI文件保存程序信息 实例119 如何将数据转换成Word文档格式 实例120 如何直接从Excel文件导入数据 实例121 如何直接将数据导入到Excel文件 实例122 如何发送电子邮件(一) 实例123 如何发送电子邮件(二) 第四部分 图像处理 实例124 如何浏览图像 实例125 如何滚动浏览大图像 实例126 如何拖动图像 实例127 如何动态显示图像 实例128 如何维护多个图像 实例129 如何绘制图形 实例130 如何以不规则方式裁剪图像 实例131 如何以任意角度旋转显示图像 实例132 如何在桌面上显示图像 实例133 如何拷贝当前屏幕 实例134 如何打印图像文件 实例135 如何制作马赛克图像 实例136 如何实现图像心扩散效果 实例137 如何实现图像百叶窗效果 实例138 如何实现图像底片化效果 实例139 如何实现图像翻页效果 实例140 如何实现图像镜像效果 实例141 如何柔化处理图像 实例142 如何锐化处理图像 实例143 如何雾化处理图像 实例144 如何将彩色图像转换成黑白图像 实例145 如何将BMP图像文件转换为JPG图像文件 实例146 如何全屏播放AVI文件 实例147 如何制作媒体播放器 第五部分 系统编程 实例148 如何获取键盘类型 实例149 如何获取声卡配置 实例150 如何获取处理器信息 实例151 如何获取系统元素颜色 实例152 如何获取显示元素信息 实例153 如何获取系统支持的显示模式 实例154 如何动态设置系统的显示模式 实例155 如何获取内存空间信息 实例156 如何获取磁盘类型 实例157 如何获取磁盘卷信息 实例158 如何获取磁盘空间信息 实例159 如何在我的电脑隐藏磁盘 实例160 如何隐藏系统任务栏 实例161 如何隐藏桌面图标 实例162 如何在桌面上创建快捷方式 实例163 如何获取和设置桌面墙纸 实例164 如何设置桌面墙纸显示方式 实例165 如何进行系统桌面切换 实例166 如何禁止系统屏幕保护程序 实例167 如何在程序启动系统屏幕保护程序 实例168 如何在开始右键菜单添加菜单项 实例169 如何清空系统回收站 实例170 如何删除文件到回收站 实例171 如何启动控制面板程序 实例172 如何在系统控制面板添加项目 实例173 如何为计算机增加启动日志 实例174 如何获取操作系统的启动模式 实例175 如何变暗屏幕颜色 实例176 如何关闭计算机 实例177 如何禁止关闭Windows操作系统 实例178 如何修改IE浏览器的背景 实例179 如何在程序控制IE窗口 实例180 如何使用默认浏览器打开指定网页 实例181 如何获取当前正在运行的程序 实例182 如何监视系统剪贴板变化 实例183 如何获取系统剪贴板的数据格式 实例184 如何设置系统日期 实例185 如何获取操作系统的产品序列号和产品名称 实例186 如何获取和设置鼠标双击响应速度 实例187 如何弹出和关闭光驱 实例188 如何检测网络连接 实例189 如何创建拨号网络 第六部分 数据库应用 实例190 如何创建不写代码的数据库程序 实例191 如何添加TDBNavigator组件的按钮功能 实例192 如何对数据库记录求和 实例193 如何对数据库记录求平均值 实例194 如何使用Locate方法查询数据库记录 实例195 如何查询固定范围的数据库记录 实例196 如何提高数据库应用程序查询效果 实例197 如何使用数据集的书签 实例198 如何浏览数据库的图像 实例199 如何在删除数据库记录前给予提示 实例200 如何取得数据集的当前状态 实例201 如何创建主从关系的数据集 实例202 如何在一个数据集浏览另一个数据集的数据 实例203 如何在数据库更新过程增加事务操作 实例204 如何在程序实现查找字段 实例205 如何在程序实现自定义字段 实例206 如何使用字段拖放功能 实例207 如何为程序添加报表打印功能 实例208 如何使用向导创建打印报表 实例209 如何设置一对多数据库表 实例210 如何设置一对多报表打印功能 实例211 如何根据一对多数据库表绘制图形 实例212 如何根据数据库表显示饼图 实例213 如何根据数据库表绘制条形图 实例214 如何动态绘制数据库图表 实例215 如何设置多重群组的打印报表 实例216 如何编写商业决策分析程序 实例217 如何导出对象库的商业决策分析程序 实例218 如何打印含有图像字段的数据库表 实例219 如何实现数据库表整表复制 实例220 如何实现数据库记录的批量删除 实例221 如何实现数据库记录的批量修改 实例222 如何使用SQL Builder工具创建SQL语句 实例223 如何在程序运行时指定SQL语句 实例224 如何在程序创建并使用数据库 实例225 如何在程序控制与数据库的连接 实例226 如何在程序创建Access数据库ODBC数据源 实例227 如何在程序运行时创建数据库BDE别名 实例228 如何在安装程序设置BDE引擎 实例229 如何消除MS-SQL Server数据库连接的登录框 实例230 如何连接MS-SQL Server数据库 实例231 如何连接MS-Access数据库 实例232 如何连接dBase数据库 实例233 如何使用ODBC连接Excel表 实例234 如何使用ADO操作Access数据库 实例235 如何定制DBGrid组件的列表头 实例236 如何统计DBGrid组件多选单元格 实例237 如何设置DBGrid组件指定单元格的颜色值 实例238 如何在DBGrid组件单元格增加下拉菜单 实例239 如何定制StringGrid组件指定单元格的颜色 实例240 如何获取StringGrid组件鼠标指定单元格的值 实例241 如何使用StringGrid组件显示数据库查询结果 实例242 如何禁止数据控制组件与数据集组件同步刷新 实例243 如何把数据库表转换成文本文件 实例244 如何把数据库的数据写入Word文档 实例245 如何设置数据库字段的输入显示格式 实例246 如何管理数据库程序的错误信息 实例247 如何获取数据库BDE别名 实例248 如何获取数据库BDE别名参数信息 实例249 如何获取数据库的工作目录 实例250 如何获取数据库驱动程序名称

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧