说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Windows环境下实时列表输出的实现方法-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
Windows环境下实时列表输出的实现方法-Delphi资料

Windows环境下的实时采集越来越多

但如何实现一台计算机控制下的两台打印机或多台打印机分时输出却困难重重

这主要是由于Windows的页式输出方式造成的。

左图所示是一个基本的数据采集系统的模型

各种信号通过信号电缆送入数据采集计算机

计算机对这些信号进行处理后派生出其它一些参数

同时在显示器上显示出相应的数字及曲线。左侧的打印机EPSON LQ1600设为LPT1

右侧的打印机BJ600C为LPT2

通过下面的DLL(用Delphi写成则可以轻松地实现任一打印机的实时数字输出。

LIBRARY MYDLL;

VAR CHARAL

PORTDX:BYTE;

FUNCTION PRINTCHAR(CHARAL

PORTDX:BYTE):INTEGER;EXPORT;

BEGIN;

ASM;

MOV AL

CHARAL

MOV DL

PORTDX

MOV AH

00H

INT 17H

MOV CHARAL

AH

END;

PRINTCHAR:=CHARAL;

END;

FUNCTION PRINTINIT (PORTDX:BYTE):INTEGER;EXPORT;

BEGIN;

ASM;

MOV DL

PORTDX

MOV AH

01H

INT 17H

MOV AH

CHARAL

END;

PRINTINIT:=CHARAL;

END;

EXPORTS

PRINTCHAR INDEX 1;

PRINTINIT INDEX 2;

BEGIN

END.

上面的DLL包括了PRINTCHAR和PRINTINT两个函数

分别用于字符输出和打印机初始化。我们给它起个名字为MYDLL.DPR

在Delphi下编译后便可生产MYDLL.DLL

将其拷入Windows的SYSTEM子目录之下就可以为其它程序所调用了。

在VB环境下调用此DLL非常容易

按VB的要求

首先在MODULE中定义这两个函数:

DECLARE FUNCTION PRINTCHAR LIB"MYDLL.DLL"(BYVAL PORT_ASCII AS INTEGER

BYVAL PORT_ADD AS INTEGER) AS INTEGERDECLARE FUNCTION PRINTINIT LIB"MYDLL.DLL"(BYVAL PORT_ADD AS INTEGER) AS INTEGER在VB的COMMAND或其它按钮的CLICK过程中运行下面的D elphi代码(假定Windows的DEFAULT打印机定义在LPT2上

纸张为A4):

DIM PRINTER1

PRINTER2 AS INTEGER

DIM OUTSTRING AS STRING

PRINTER1=0:PRINTER2=1

OUTSTRING="打印机直接输出测试程序"

PRINTER.SCALEMODE=6

PRINTER.FONTNAME="SYSTEM"

PRINTER.FONTSIZE=9.75

FOR I=1 TO 50

PRINTER.PRINT FORMAT$(I

####.##

)

FOR J=1 TO LEN(OUTSTRING)

OUTCHAR%=ASC(MID$(OUTSTRING

J

1))

OUTPORT%=PRINTER1

R%=PRINTCHAR(OUTCHAR%

OUTPORT%)

NEXT J

OUTCHAR%=&HOD

OUTPORT%=PRINTER1

R%=PRINTCHAR(OUTCHAR%

OUTPORT%)

NEXT I

PRINTER.ENDDOC

在PRINTER1上可以见到连续的输出

由于打印机具有汉字库

因此

可以实现中英文混合输出。而PRINTER2因未遇到PRINTER.ENDDOC

所以不能打印输出。

上面的程序适合于所有打印机端口

完全符合17号中断的要求

因此可以较好地完成打印工作。

巧用VISUAL BASIC的RND()函数 让你的程序不在任务栏中显示 -VB资料 VB如何不用API使文本框属性只读? VB如何从文件中提取图标 VB如何关闭/重新启动计算机? VB如何建立快捷方式? VB如何让窗口始终在最前面? VB如何使你的程序同文件扩展名建立关联? VB如何提高调用WINDOWS API函数编程技巧 VB如何为你的应用程序设置热键? VB如何隐藏鼠标指针 VB如何用api检查任务栏中有多少种输入法 VB如何在函数中传递数量不定的参数? VB使用 kb_event 函数模拟键盘操作 VB使用API获取颜色 VB使用标签控件调出浏览器 VB使用调用外部程序函数实现API函数高级功能 未公开API函数揭秘——通用对话框-VB资料 显示文件属性对话框-VB资料 VB用 API 打开打印对话框 VB用API函数改进ListView控件的显示效果 VB用API函数控制光驱的开关 VB用注册表保存数据(VB函数篇) 有关Tray系统盒的VB API函数 在VB中调用API函数动态改变及恢复屏幕设置 在VB中控制Ctrl+Del+Alt键 在VB中使用API函数 (之二) 在VB中使用API函数 (之三) 在VB中使用API函数 (之四) 在VB中使用API函数 (之五) 在VB中使用API函数 (之一) 请问在win2000server中对于ftp设置... Promise真的是混蛋!B死他!(驱动高手帮忙) 客户端怎么封装数据库? 谢谢 杀不出毒,机子还很慢,请大家看看 急啊!系统有问题! 请问怎样知道自己程序的某个DLL是否已经加载? 将数据导出到excel,同名文件自动覆盖应该怎么做? 求教高手! 制作发邮件程序出错,高手请教! 求助高手:在JavaScript中如何赋值给父窗体上的某一ASPX控件? 菜鸟的问题 怎么web页面控制打印范围? 推箱子的每一关是用算法算的,还是人编的? 为什么北京的高程准考证到现在还没有发呀??? 谁有类似万网的域名查询系统??高分相送! 我想搞软件开发,学点网络知识,请问有多大用处? 在ASP.Net中,用VB.net写代码,怎么取得到的记录集中的记录个数啊? 请教双网隔离方案 重装系统以后,如何对Microsoft Outlook里的各种参数、选项进行设置? 求OA设计方案 请 ychuiming(飞天),hkbarton(宁静至远||淡泊明志) 进来接分 在ASP.Net中,用VB.net写代码,怎么取得到的记录集中的记录个数啊? pb中有没有与或操作符?就象VB中的Xor这类操作符? 如何从一个单一的JSP程序员迈进J2EE的世界--请高手指点迷津 第一次来csdn,请各位多多关照。随便问一个巨傻的关于BDE的问题。 离职,却被原来公司经理阴了一下 求AutoResize控件(分不够可加) 谁做过远程代理的程序(急,100分求助,不够再给) mm不让我去接她 树形菜单的问题 如何限制对SQLSERVER的请求访问数? 各位,跪谢了!不能见死不救啊! session 问题 我的服务器 无法更改 session值了 有没有好的远程服务器监控软件 主细表类型的报表问题,希望有人帮我!先谢谢了!(急) 大家救救我得机子吧~~ 极度深奥的问题!!有没有谁知道“xp_logattach ”这个存储过程的实际作用与用法。 ADO 错误代码 (能否置顶啊..斑主) ini文件的保存 智能卡读写设备(成熟技术)== 想借鉴请进 提问?关于用DreamweaverMX处理网页参数问题? ping命令的奇怪问题,你遇到过没? 有谁知道windows一共出了多少版本(包括不同语言,不同版本) 有谁知道windows一共出了多少版本(包括不同语言,不同版本) 初学者,请教小问题~~~ 用opengl写的一个屏保,有些问题想和大家讨论 帮我看看 有谁知道windows一共出了多少版本(包括不同语言,不同版本) 想暴力解决点问题,大家给点意见! 熟悉J2EE和Web,但是英语四级没过,郁闷呀!散分讨论 怎样使用一个窗体总是显示在最后面和怎样在windows桌面上写上文字。 饿不会解的数学题^^^^^^^^^十一:一个长方体,它的前面、上面、左面面积分别为18平方厘米、12平方厘米以及24平方厘米,已知它的宽、长、高都是整数厘米,这个长方体的体积是多少立方厘米? 由于自己没有上到高中,感觉三角形正弦定理不能用在直角三角形中, Don't do it,We won't( )with you don't do it.we won‘t a____ with you. 有人知道吗,关于圆的这道题的图是把过程写清楚啊,否则看不懂 we are with stupid 含有“走”意思的四字成语 含有“走”的意思的成语有哪些? 含有走的意思的成语 the registrar of the company &and business 的意思registrar 是注册主任的意思 我觉的说不通 我觉的能不能翻译问登记局全句是I believe that this is a proper case for the registrar of the company &and business to consider . 饿!不会做的数学题平行四边形的底和高有什么关系? 美国无人机再次出手清除巴塔首领 和谈巴基斯坦塔利班头目死于美无人机空袭 中朝俄荣膺第14届中国吴桥国际杂技艺古巴宣布取缔私营电影放映厅报告称中国超越日本 成韩国材料零部件中国珠算备选“非遗”报告称中国超越日本成韩国材料零部件最美无人机再次出手 巴基斯坦塔利班首领日媒:日俄防长会议谈及钓鱼岛 集体自中国珠算备选“非遗”俄一少年足球队大巴撞车致一名教练死亡AX7,只因为在车群中多看了你一眼盘点2015年CES大会:24个酷炫欧盟通过电信法,2017年起取消漫游【风向】鸡动人心:高端土鸡品牌“丘处赏图丨马丁·斯科塞斯最爱的电影海报麦当劳为何被90后快速抛弃?因为老人七月热门美剧播出时间表丨剧集中国各省市首富一览表,看看都是谁?聚焦华语丨《鬼吹灯之九层妖塔》首曝预那么美,却匆匆走过。神啊,救救我!希腊人破产生活6件事网游众神因果九碑创世神网游异界美女部落诸子百家由我做主大科幻帝兽法则君山魂不灭丹魂小兵的崛起大宋私家侦探宜宾旅游盘锦旅游凯里旅游安昌旅游安阳旅游晋中旅游昆山旅游潮州旅游喀什旅游蓟县旅游山西旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘